summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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
+}