Boost updated to 1.58.0 in rawhide and f23

Jonathan Wakely jwakely at redhat.com
Mon Jul 27 12:31:42 UTC 2015


On 23/07/15 14:33 +0200, David Tardon wrote:
>Hi,
>
>On Thu, Jul 23, 2015 at 02:27:33PM +0200, David Tardon wrote:
>> Hi,
>>
>> On Sat, Jul 18, 2015 at 12:46:51PM +0100, Jonathan Wakely wrote:
>> > Any problems rebuilding either open a bug or feel free to email me or
>> > ping me on IRC (my freenode nick is 'redi') and I'll be happy to help.
>>
>> This is a work-in-progress list of FTBFS packages:
>>
>> * Build failures:
>>
>> - F23 + Rawhide
>>
>> ledger

This patch is needed to make Ledger compile with Boost 1.58.0

-------------- next part --------------
commit ff32007cc80c489f516bc6ec03009e9b9c56017b
Author: Jonathan Wakely <jwakely at redhat.com>
Date:   Mon Jul 27 12:23:02 2015 +0100

    Add patch to fix build failure with Boost 1.58.0.

diff --git a/ledger-3.1-0010-boost-optional-none.patch b/ledger-3.1-0010-boost-optional-none.patch
new file mode 100644
index 0000000..1549827
--- /dev/null
+++ b/ledger-3.1-0010-boost-optional-none.patch
@@ -0,0 +1,133 @@
+From 48aec0f093ff6494a3e4f7cd5166cb4a27c16814 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Johann=20Kl=C3=A4hn?= <kljohann at gmail.com>
+Date: Sun, 10 May 2015 12:45:28 +0200
+Subject: [PATCH 1/2] boost::none_t no longer convertible from literal 0 in
+ 1.58
+
+Instead we use boost::none, which has been documented since boost 1.34.0.
+---
+ src/account.h | 6 +-----
+ src/item.h    | 6 +-----
+ src/parser.h  | 2 +-
+ src/post.h    | 6 +-----
+ src/times.h   | 6 +-----
+ 5 files changed, 5 insertions(+), 21 deletions(-)
+
+diff --git a/src/account.h b/src/account.h
+index 7fae93e..8d0fb1d 100644
+--- a/src/account.h
++++ b/src/account.h
+@@ -261,11 +261,7 @@ class account_t : public supports_flags<>, public scope_t
+   mutable optional<xdata_t> xdata_;
+ 
+   bool has_xdata() const {
+-#if BOOST_VERSION >= 105600
+-    return xdata_ != NULL;
+-#else
+-    return xdata_;
+-#endif
++    return xdata_ != boost::none;
+   }
+   void clear_xdata();
+   xdata_t& xdata() {
+diff --git a/src/item.h b/src/item.h
+index ba81217..2c349bd 100644
+--- a/src/item.h
++++ b/src/item.h
+@@ -174,11 +174,7 @@ class item_t : public supports_flags<uint_least16_t>, public scope_t
+   static bool use_aux_date;
+ 
+   virtual bool has_date() const {
+-#if BOOST_VERSION >= 105600
+-    return _date != NULL;
+-#else
+-    return _date;
+-#endif
++    return _date != boost::none;
+   }
+ 
+   virtual date_t date() const {
+diff --git a/src/parser.h b/src/parser.h
+index e46fc71..25c4a7e 100644
+--- a/src/parser.h
++++ b/src/parser.h
+@@ -118,7 +118,7 @@ class expr_t::parser_t : public noncopyable
+ 
+   ptr_op_t parse(std::istream&           in,
+                  const parse_flags_t&    flags           = PARSE_DEFAULT,
+-                 const optional<string>& original_string = NULL);
++                 const optional<string>& original_string = boost::none);
+ };
+ 
+ } // namespace ledger
+diff --git a/src/post.h b/src/post.h
+index 0fb45e9..3fa67e5 100644
+--- a/src/post.h
++++ b/src/post.h
+@@ -205,11 +205,7 @@ class post_t : public item_t
+   mutable optional<xdata_t> xdata_;
+ 
+   bool has_xdata() const {
+-#if BOOST_VERSION >= 105600
+-    return xdata_ != NULL;
+-#else
+-    return xdata_;
+-#endif
++    return xdata_ != boost::none;
+   }
+   void clear_xdata() {
+     xdata_ = none;
+diff --git a/src/times.h b/src/times.h
+index 421d146..cc98085 100644
+--- a/src/times.h
++++ b/src/times.h
+@@ -500,11 +500,7 @@ class date_interval_t : public equality_comparable<date_interval_t>
+   void   stabilize(const optional<date_t>& date = none);
+ 
+   bool   is_valid() const {
+-#if BOOST_VERSION >= 105600
+-    return start != NULL;
+-#else
+-    return start;
+-#endif
++    return start != boost::none;
+   }
+ 
+   /** Find the current or next period containing date.  Returns false if
+
+From 68c9d649caa2c7c7f222613efe86576c379a5a7a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Johann=20Kl=C3=A4hn?= <kljohann at gmail.com>
+Date: Sun, 10 May 2015 13:41:26 +0200
+Subject: [PATCH 2/2] fix build for boost 1.58
+
+---
+ src/filters.cc   | 2 +-
+ src/iterators.cc | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/filters.cc b/src/filters.cc
+index 2f97a0e..b6530c0 100644
+--- a/src/filters.cc
++++ b/src/filters.cc
+@@ -707,7 +707,7 @@ namespace {
+     insert_prices_in_map(price_map_t& _all_prices)
+       : all_prices(_all_prices) {}
+ 
+-    void operator()(datetime_t& date, const amount_t& price) {
++    void operator()(const datetime_t& date, const amount_t& price) {
+       all_prices.insert(price_map_t::value_type(date, price));
+     }
+   };
+diff --git a/src/iterators.cc b/src/iterators.cc
+index 21bec5d..0225e21 100644
+--- a/src/iterators.cc
++++ b/src/iterators.cc
+@@ -96,7 +96,7 @@ namespace {
+       TRACE_DTOR(create_price_xact);
+     }
+ 
+-    void operator()(datetime_t& date, const amount_t& price) {
++    void operator()(const datetime_t& date, const amount_t& price) {
+       xact_t * xact;
+       string   symbol = price.commodity().symbol();
+ 
diff --git a/ledger.spec b/ledger.spec
index 64be657..a3ab0ec 100644
--- a/ledger.spec
+++ b/ledger.spec
@@ -4,7 +4,7 @@
 
 Name:             ledger
 Version:          3.1
-Release:          7%{?dist}
+Release:          8%{?dist}
 Summary:          A powerful command-line double-entry accounting system
 Group:            Applications/Productivity
 License:          BSD
@@ -22,6 +22,8 @@ Patch6:           %{name}-3.1-0006-Fix-numbers-from-example.patch
 Patch7:           %{name}-3.1-0007-Update-ledger3.texi.patch
 Patch8:           %{name}-3.1-0008-Update-ledger3.texi.patch
 Patch9:           %{name}-3.1-0009-Some-minor-changes.patch
+# https://github.com/ledger/ledger/pull/417
+Patch10:          %{name}-3.1-0010-boost-optional-none.patch
 
 BuildRequires:    boost-devel
 BuildRequires:    cmake
@@ -97,6 +99,7 @@ emacs-%{name} instead.
 %patch7 -p1
 %patch8 -p1
 %patch9 -p1
+%patch10 -p1
 
 
 %build
@@ -196,6 +199,9 @@ fi
 
 
 %changelog
+* Mon Jul 27 2015 Jonathan Wakely <jwakely at redhat.com> 3.1-8
+- Add patch to fix build failure with Boost 1.58.0.
+
 * Wed Jul 22 2015 David Tardon <dtardon at redhat.com> - 3.1-7
 - rebuild for Boost 1.58
 


More information about the devel mailing list