diff options
Diffstat (limited to 'dev-libs/ppl')
-rw-r--r-- | dev-libs/ppl/files/fix-clang-build.patch | 37 | ||||
-rw-r--r-- | dev-libs/ppl/ppl-1.2-r3.ebuild | 68 |
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 000000000000..648ff59aa307 --- /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 000000000000..91ea71b2109c --- /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 +} |