diff options
author | Michael Orlitzky <mjo@gentoo.org> | 2020-04-20 21:26:55 -0400 |
---|---|---|
committer | Michael Orlitzky <mjo@gentoo.org> | 2020-04-20 22:46:21 -0400 |
commit | 8827e0c526c4dc5d6382cd91d1547f64f85b1ace (patch) | |
tree | c7e9044b023a4e6d8f075bbf7ca104473a57c77e /dev-libs/ppl | |
parent | dev-db/mariadb: prepare for stabilization (diff) | |
download | gentoo-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>
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 +} |