summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Orlitzky <mjo@gentoo.org>2020-04-20 21:26:55 -0400
committerMichael Orlitzky <mjo@gentoo.org>2020-04-20 22:46:21 -0400
commit8827e0c526c4dc5d6382cd91d1547f64f85b1ace (patch)
treec7e9044b023a4e6d8f075bbf7ca104473a57c77e
parentdev-db/mariadb: prepare for stabilization (diff)
downloadgentoo-8827e0c526c4dc5d6382cd91d1547f64f85b1ace.tar.gz
gentoo-8827e0c526c4dc5d6382cd91d1547f64f85b1ace.tar.bz2
gentoo-8827e0c526c4dc5d6382cd91d1547f64f85b1ace.zip
dev-libs/ppl: new revision to fix the build with clang.
This new revision includes an upstream patch (from their git repository) to fix the build with clang by adding some missing keywords that should have been there all along. Thanks to Olivier Huber for the report and for tracking down the patch. When building with clang, the ./configure script spits out scary warnings about missing the GCC-specific -frounding-math flag. I wouldn't worry about it, but judge for yourself. Closes: https://bugs.gentoo.org/717768 Package-Manager: Portage-2.3.89, Repoman-2.3.20 Signed-off-by: Michael Orlitzky <mjo@gentoo.org>
-rw-r--r--dev-libs/ppl/files/fix-clang-build.patch37
-rw-r--r--dev-libs/ppl/ppl-1.2-r3.ebuild68
2 files changed, 105 insertions, 0 deletions
diff --git a/dev-libs/ppl/files/fix-clang-build.patch b/dev-libs/ppl/files/fix-clang-build.patch
new file mode 100644
index 00000000000..648ff59aa30
--- /dev/null
+++ b/dev-libs/ppl/files/fix-clang-build.patch
@@ -0,0 +1,37 @@
+From: Roberto Bagnara <bagnara@cs.unipr.it>
+Date: Sun, 11 Feb 2018 08:11:09 +0000 (+0100)
+Subject: Added missing "template" and "typename" keywords.
+X-Git-Url: http://www.cs.unipr.it/git/gitweb.cgi?p=ppl%2Fppl.git;a=commitdiff_plain;h=c39f6a07b51f89e365b05ba4147aa2aa448febd7;hp=3a5e1e20a94cffb830182f22132b153d6691b7c5
+
+Added missing "template" and "typename" keywords.
+(Thanks to Dmitrii Pasechnik.)
+---
+
+diff --git a/src/Determinate_inlines.hh b/src/Determinate_inlines.hh
+index 2749953..5b47275 100644
+--- a/src/Determinate_inlines.hh
++++ b/src/Determinate_inlines.hh
+@@ -289,8 +289,8 @@ operator()(Determinate& x, const Determinate& y) const {
+
+ template <typename PSET>
+ template <typename Binary_Operator_Assign>
+-inline
+-Determinate<PSET>::Binary_Operator_Assign_Lifter<Binary_Operator_Assign>
++inline typename
++Determinate<PSET>::template Binary_Operator_Assign_Lifter<Binary_Operator_Assign>
+ Determinate<PSET>::lift_op_assign(Binary_Operator_Assign op_assign) {
+ return Binary_Operator_Assign_Lifter<Binary_Operator_Assign>(op_assign);
+ }
+diff --git a/src/OR_Matrix_inlines.hh b/src/OR_Matrix_inlines.hh
+index b20b697..8124b7f 100644
+--- a/src/OR_Matrix_inlines.hh
++++ b/src/OR_Matrix_inlines.hh
+@@ -97,7 +97,7 @@ OR_Matrix<T>::Pseudo_Row<U>::Pseudo_Row(const Pseudo_Row<V>& y)
+
+ template <typename T>
+ template <typename U>
+-inline OR_Matrix<T>::Pseudo_Row<U>&
++inline typename OR_Matrix<T>::template Pseudo_Row<U>&
+ OR_Matrix<T>::Pseudo_Row<U>::operator=(const Pseudo_Row& y) {
+ first = y.first;
+ #if PPL_OR_MATRIX_EXTRA_DEBUG
diff --git a/dev-libs/ppl/ppl-1.2-r3.ebuild b/dev-libs/ppl/ppl-1.2-r3.ebuild
new file mode 100644
index 00000000000..91ea71b2109
--- /dev/null
+++ b/dev-libs/ppl/ppl-1.2-r3.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools
+
+DESCRIPTION="The Parma Polyhedra Library for numerical analysis of complex systems"
+HOMEPAGE="http://bugseng.com/products/ppl"
+SRC_URI="http://bugseng.com/products/ppl/download/ftp/releases/${PV}/${P}.tar.xz"
+
+LICENSE="GPL-3"
+SLOT="0/4.14" # SONAMEs
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~sparc-solaris"
+IUSE="cdd +cxx doc lpsol pch static-libs test"
+
+RDEPEND=">=dev-libs/gmp-6[cxx]
+ lpsol? ( sci-mathematics/glpk )"
+DEPEND="${RDEPEND}
+ app-arch/xz-utils
+ sys-devel/m4"
+
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${FILESDIR}/disable-mipproblem2.patch"
+ "${FILESDIR}/disable-containsintegerpoint1.patch"
+ "${FILESDIR}/disable-boeing-tests.patch"
+ "${FILESDIR}/fix-clang-build.patch"
+)
+
+src_prepare() {
+ default
+
+ # The patch should do this, but then the diff makes it run
+ # afoul of the Gentoo patch size limit.
+ rm demos/ppl_lpsol/examples/boeing[12].mps || die
+
+ eautoreconf
+}
+
+src_configure() {
+ local interfaces=( c )
+ use cxx && interfaces+=( cxx )
+ econf \
+ --disable-debugging \
+ --disable-optimization \
+ $(use_enable doc documentation) \
+ $(use_enable cdd ppl_lcdd) \
+ $(use_enable lpsol ppl_lpsol) \
+ $(use_enable pch) \
+ $(use_enable static-libs static) \
+ --enable-interfaces="${interfaces[*]}" \
+ $(use test && echo --enable-check=quick)
+}
+
+src_install() {
+ default
+ if ! use static-libs; then
+ find "${ED}"/usr -name 'libppl*.la' -delete || die
+ fi
+
+ pushd "${ED}/usr/share/doc/${PF}" >/dev/null || die
+ rm gpl* fdl* || die
+ if ! use doc ; then
+ rm -r *-html/ *.ps.gz *.pdf || die
+ fi
+}