commit ff32007cc80c489f516bc6ec03009e9b9c56017b Author: Jonathan Wakely 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?= +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_; + + 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, 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& original_string = NULL); ++ const optional& 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_; + + 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 + void stabilize(const optional& 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?= +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 3.1-8 +- Add patch to fix build failure with Boost 1.58.0. + * Wed Jul 22 2015 David Tardon - 3.1-7 - rebuild for Boost 1.58