summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Lauer <patrick@gentoo.org>2013-01-08 05:48:00 +0000
committerPatrick Lauer <patrick@gentoo.org>2013-01-08 05:48:00 +0000
commitf1c5144b87fe9654f5ca1251d8cef60cde871ade (patch)
tree9b4ff35297608ead579d8ad331052c74049e46b8 /dev-libs/ppl
parentfix llvm deps (bug #450786), python dep, remove old (diff)
downloadgentoo-2-f1c5144b87fe9654f5ca1251d8cef60cde871ade.tar.gz
gentoo-2-f1c5144b87fe9654f5ca1251d8cef60cde871ade.tar.bz2
gentoo-2-f1c5144b87fe9654f5ca1251d8cef60cde871ade.zip
Adding patch to make things work with gmp-5.1, #447928
(Portage version: 2.2.0_alpha149/cvs/Linux x86_64, unsigned Manifest commit)
Diffstat (limited to 'dev-libs/ppl')
-rw-r--r--dev-libs/ppl/ChangeLog11
-rw-r--r--dev-libs/ppl/files/ppl-fix-gmp-5.1.0.patch41
-rw-r--r--dev-libs/ppl/ppl-0.12.1-r1.ebuild85
3 files changed, 134 insertions, 3 deletions
diff --git a/dev-libs/ppl/ChangeLog b/dev-libs/ppl/ChangeLog
index f89746166352..7adf4009f504 100644
--- a/dev-libs/ppl/ChangeLog
+++ b/dev-libs/ppl/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-libs/ppl
-# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/ppl/ChangeLog,v 1.51 2012/04/29 06:51:32 dirtyepic Exp $
+# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/ppl/ChangeLog,v 1.52 2013/01/08 05:48:00 patrick Exp $
+
+*ppl-0.12.1-r1 (08 Jan 2013)
+
+ 08 Jan 2013; Patrick Lauer <patrick@gentoo.org>
+ +files/ppl-fix-gmp-5.1.0.patch, +ppl-0.12.1-r1.ebuild:
+ Adding patch to make things work with gmp-5.1, #447928
*ppl-0.12.1 (29 Apr 2012)
@@ -199,4 +205,3 @@
21 Sep 2008; Mike Frysinger <vapier@gentoo.org> +ppl-0.10_pre27.ebuild:
Initial ebuild based on work from Zhang Le for gcc-4.4+.
-
diff --git a/dev-libs/ppl/files/ppl-fix-gmp-5.1.0.patch b/dev-libs/ppl/files/ppl-fix-gmp-5.1.0.patch
new file mode 100644
index 000000000000..ff2423e93c79
--- /dev/null
+++ b/dev-libs/ppl/files/ppl-fix-gmp-5.1.0.patch
@@ -0,0 +1,41 @@
+--- src/p_std_bits.cc.org 2012-12-30 00:37:03.033948083 +0100
++++ src/mp_std_bits.cc 2012-12-30 00:44:12.893019313 +0100
+@@ -25,6 +25,9 @@
+ #include "ppl-config.h"
+ #include "mp_std_bits.defs.hh"
+
++#if __GNU_MP_VERSION < 5 \
++ || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
++
+ const bool std::numeric_limits<mpz_class>::is_specialized;
+ const int std::numeric_limits<mpz_class>::digits;
+ const int std::numeric_limits<mpz_class>::digits10;
+@@ -70,3 +73,6 @@
+ const bool std::numeric_limits<mpq_class>::traps;
+ const bool std::numeric_limits<mpq_class>::tininess_before;
+ const std::float_round_style std::numeric_limits<mpq_class>::round_style;
++
++#endif // __GNU_MP_VERSION < 5
++ // || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
+--- src/mp_std_bits.defs.hh.org 2012-12-30 00:37:03.037948187 +0100
++++ src/mp_std_bits.defs.hh 2012-12-30 00:42:32.002424189 +0100
+@@ -38,6 +38,9 @@
+ #endif // defined(PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS)
+ void swap(mpq_class& x, mpq_class& y);
+
++#if __GNU_MP_VERSION < 5 \
++ || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
++
+ namespace std {
+
+ #ifdef PPL_DOXYGEN_INCLUDE_IMPLEMENTATION_DETAILS
+@@ -164,6 +167,9 @@
+
+ } // namespace std
+
++#endif // __GNU_MP_VERSION < 5
++ // || (__GNU_MP_VERSION == 5 && __GNU_MP_VERSION_MINOR < 1)
++
+ #include "mp_std_bits.inlines.hh"
+
+ #endif // !defined(PPL_mp_std_bits_defs_hh)
diff --git a/dev-libs/ppl/ppl-0.12.1-r1.ebuild b/dev-libs/ppl/ppl-0.12.1-r1.ebuild
new file mode 100644
index 000000000000..5e9f20c2c2a1
--- /dev/null
+++ b/dev-libs/ppl/ppl-0.12.1-r1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/ppl/ppl-0.12.1-r1.ebuild,v 1.1 2013/01/08 05:48:00 patrick Exp $
+
+EAPI="3"
+
+inherit eutils
+
+DESCRIPTION="The Parma Polyhedra Library provides numerical abstractions for analysis of complex systems"
+HOMEPAGE="http://bugseng.com/products/ppl"
+SRC_URI="http://bugseng.com/products/ppl/download/ftp/releases/${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~amd64-linux ~sparc-solaris"
+IUSE="doc lpsol pch static-libs test"
+
+RDEPEND=">=dev-libs/gmp-4.1.3[cxx]
+ lpsol? ( sci-mathematics/glpk )
+ !<dev-libs/cloog-ppl-0.15.10"
+DEPEND="${RDEPEND}
+ sys-devel/m4"
+
+pkg_setup() {
+ if use test; then
+ ewarn "The PPL testsuite will be run."
+ ewarn "Note that this can take several hours to complete on a fast machine."
+ epause 3
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}/ppl-fix-gmp-5.1.0.patch" || dir "Failed to patch"
+}
+
+src_configure() {
+ econf \
+ --docdir="${EPREFIX}"/usr/share/doc/${PF} \
+ --disable-debugging \
+ --disable-optimization \
+ $(use_enable doc documentation) \
+ $(use_enable lpsol ppl_lpsol) \
+ $(use_enable pch) \
+ $(use_enable static-libs static) \
+ --enable-interfaces="c cxx" \
+ $(use test && echo --enable-check=quick)
+}
+
+src_test() {
+ # default src_test runs with -j1, overriding it here saves about
+ # 30 minutes and is recommended by upstream
+ if emake -j1 check -n &> /dev/null; then
+ emake check || die "tests failed"
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die
+ use static-libs || rm -f "${D}"/usr/lib*/libppl*.la
+
+ local docsdir="${ED}/usr/share/doc/${PF}"
+ rm "${docsdir}"/gpl* "${docsdir}"/fdl* || die
+
+ if ! use doc; then
+ rm -r "${docsdir}"/*-html/ || die
+ fi
+
+ dodoc NEWS README* STANDARDS TODO
+}
+
+pkg_postinst() {
+ echo
+ ewarn "After an upgrade of PPL it is important that you rebuild"
+ ewarn "dev-libs/cloog-ppl."
+ ewarn
+ ewarn "If you use gcc-config to switch to an older compiler version than"
+ ewarn "the one PPL was built with, PPL must be rebuilt with that version."
+ ewarn
+ ewarn "In both cases failure to do this will get you this error when"
+ ewarn "graphite flags are used:"
+ ewarn
+ ewarn " sorry, unimplemented: Graphite loop optimizations cannot be used"
+ ewarn
+ echo
+}