commit:     9e74d08669eae0d59cb658e049aa3008a80de3cd
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 18 19:03:54 2018 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Tue Sep 18 19:04:25 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9e74d086

dev-libs/liborcus: Fix build with boost-1.67

Thanks-to: Yuriy Ilinykh <yurark96 <AT> gmail.com>
Closes: https://bugs.gentoo.org/663218
Package-Manager: Portage-2.3.49, Repoman-2.3.10

 .../files/liborcus-0.13.4-boost-1.67.patch         | 50 ++++++++++++++++++++++
 dev-libs/liborcus/liborcus-0.13.4.ebuild           |  6 ++-
 2 files changed, 54 insertions(+), 2 deletions(-)

diff --git a/dev-libs/liborcus/files/liborcus-0.13.4-boost-1.67.patch 
b/dev-libs/liborcus/files/liborcus-0.13.4-boost-1.67.patch
new file mode 100644
index 00000000000..b1d44b8db4c
--- /dev/null
+++ b/dev-libs/liborcus/files/liborcus-0.13.4-boost-1.67.patch
@@ -0,0 +1,50 @@
+From f7485813af8e50f88c77312fb29b7bb489a0a17d Mon Sep 17 00:00:00 2001
+From: Adam Majer <ama...@suse.de>
+Date: Wed, 23 May 2018 10:45:56 +0200
+Subject: [PATCH] Fix build with Boost 1.67
+
+Boost:DateTime that no longer accepts non-integer types.
+In the past, these types were implicitly cast down to integer
+values. Now this requires explicit cast.
+
+https://svn.boost.org/trac10/ticket/11168
+
+This fixes #60
+---
+ src/spreadsheet/sheet.cpp | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/spreadsheet/sheet.cpp b/src/spreadsheet/sheet.cpp
+index 7df1aedb..33b372ad 100644
+--- a/src/spreadsheet/sheet.cpp
++++ b/src/spreadsheet/sheet.cpp
+@@ -289,7 +289,7 @@ void sheet::set_date_time(row_t row, col_t col, int year, 
int month, int day, in
+ 
+     double days_since_epoch = (d - origin).days();
+ 
+-    double ms = second * 1000000.0;
++    long ms = second * 1000000.0;
+ 
+     posix_time::time_duration t(
+         posix_time::hours(hour) +
+@@ -606,7 +606,7 @@ date_time_t sheet::get_date_time(row_t row, col_t col) 
const
+     if (time_fraction)
+     {
+         // Convert a fraction day to microseconds.
+-        double ms = time_fraction * 24.0 * 60.0 * 60.0 * 1000000.0;
++        long ms = time_fraction * 24.0 * 60.0 * 60.0 * 1000000.0;
+         posix_time::time_duration td = posix_time::microsec(ms);
+ 
+         hours = td.hours();
+@@ -615,7 +615,7 @@ date_time_t sheet::get_date_time(row_t row, col_t col) 
const
+ 
+         td -= posix_time::hours(hours);
+         td -= posix_time::minutes(minutes);
+-        td -= posix_time::seconds(seconds);
++        td -= posix_time::seconds((long)seconds);
+ 
+         ms = td.total_microseconds(); // remaining microseconds.
+ 
+-- 
+2.18.0
+

diff --git a/dev-libs/liborcus/liborcus-0.13.4.ebuild 
b/dev-libs/liborcus/liborcus-0.13.4.ebuild
index 2f74b321685..c3a85e9f2fa 100644
--- a/dev-libs/liborcus/liborcus-0.13.4.ebuild
+++ b/dev-libs/liborcus/liborcus-0.13.4.ebuild
@@ -23,9 +23,9 @@ IUSE="python +spreadsheet-model static-libs tools"
 
 RDEPEND="
        dev-libs/boost:=
-       sys-libs/zlib:=
+       sys-libs/zlib
        python? ( ${PYTHON_DEPS} )
-       spreadsheet-model? ( >=dev-libs/libixion-0.13.0:= )
+       spreadsheet-model? ( =dev-libs/libixion-0.13*:= )
 "
 DEPEND="${RDEPEND}
        =dev-util/mdds-1.3*:1
@@ -33,6 +33,8 @@ DEPEND="${RDEPEND}
 
 REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
 
+PATCHES=( "${FILESDIR}/${P}-boost-1.67.patch" )
+
 pkg_setup() {
        use python && python-single-r1_pkg_setup
 }

Reply via email to