diff options
Diffstat (limited to 'sci-libs/cddlib')
-rw-r--r-- | sci-libs/cddlib/Manifest | 1 | ||||
-rw-r--r-- | sci-libs/cddlib/cddlib-094h.ebuild | 45 | ||||
-rw-r--r-- | sci-libs/cddlib/files/cddlib-094h-add-cdd_both_reps-binary.patch | 43 | ||||
-rw-r--r-- | sci-libs/cddlib/files/cddlib-094h-enforce-no-gmp.patch | 37 | ||||
-rw-r--r-- | sci-libs/cddlib/metadata.xml | 39 |
5 files changed, 147 insertions, 18 deletions
diff --git a/sci-libs/cddlib/Manifest b/sci-libs/cddlib/Manifest index 47a43eccb909..1dc9cd9d3a3b 100644 --- a/sci-libs/cddlib/Manifest +++ b/sci-libs/cddlib/Manifest @@ -1 +1,2 @@ DIST cddlib-094g.tar.gz 1383388 SHA256 af1b81226514abf731800e2e104def8a7274817d7e645693f8b99fc2b1432155 SHA512 e1053c6e34f79add53b2880c7664f9c20c0a6de636aa5de4c6a9dfc4d1d241221601c37d15e1833bcd5b1162512c3fbaed4046f771bc0a1e5753b713d6840b77 WHIRLPOOL e10d7be9989fee69827c66075be3dea4ef6751c42b7cdd21b3b07b3904387b1609314844dca0395ee7fb0b1d1cdb4fc978b4ebd0ce778f91d526276dd8ab7117 +DIST cddlib-094h.tar.gz 1678116 SHA256 fe6d04d494683cd451be5f6fe785e147f24e8ce3ef7387f048e739ceb4565ab5 SHA512 22160c88832b78dd568b58c1e097e4c6006f82580f1114a3ef03fc10bde98132337d5b555306b58b65aac6fea1534d9e09725907808c969de16c2dfc75f80204 WHIRLPOOL 23058056b1d9d8250ccffb1040d4ab2306f88e00f1b790cd6e38fc7fc634816d0f552fdee88038080172a8f8212d41eefaede1cd00246c82e8a7b88aceb4df15 diff --git a/sci-libs/cddlib/cddlib-094h.ebuild b/sci-libs/cddlib/cddlib-094h.ebuild new file mode 100644 index 000000000000..d9dd28bdddb4 --- /dev/null +++ b/sci-libs/cddlib/cddlib-094h.ebuild @@ -0,0 +1,45 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools eutils + +DESCRIPTION="C implementation of the Double Description Method of Motzkin et al" +HOMEPAGE="https://www.inf.ethz.ch/personal/fukudak/cdd_home/" +SRC_URI="ftp://ftp.math.ethz.ch/users/fukudak/cdd/${P}.tar.gz" + +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="~amd64 ~arm ~ppc ~x86 ~amd64-linux ~x86-linux" +IUSE="doc static-libs tools" + +DEPEND="dev-libs/gmp:0=" +RDEPEND="${DEPEND}" + +DOCS=( ChangeLog README ) + +PATCHES=( + "${FILESDIR}"/${P}-add-cdd_both_reps-binary.patch + "${FILESDIR}"/${P}-enforce-no-gmp.patch +) + +src_prepare() { + default + sed -e 's|localdebug=dd_TRUE|localdebug=dd_FALSE|g' \ + -i lib-src/cddlp.c -i lib-src-gmp/cddlp.c -i lib-src-gmp/cddlp_f.c || die + cp "${FILESDIR}"/cdd_both_reps.c src || die + ln -s "${S}"/src/cdd_both_reps.c "${S}"/src-gmp/cdd_both_reps.c || die + eautoreconf +} + +src_configure() { + econf $(use_enable static-libs static) +} + +src_install() { + default + use tools || rm "${ED}"/usr/bin/* + use static-libs || prune_libtool_files --all + use doc && dodoc doc/cddlibman.pdf +} diff --git a/sci-libs/cddlib/files/cddlib-094h-add-cdd_both_reps-binary.patch b/sci-libs/cddlib/files/cddlib-094h-add-cdd_both_reps-binary.patch new file mode 100644 index 000000000000..ba9a909abb19 --- /dev/null +++ b/sci-libs/cddlib/files/cddlib-094h-add-cdd_both_reps-binary.patch @@ -0,0 +1,43 @@ +diff -up cddlib-094g/src-gmp/Makefile.am.orig cddlib-094g/src-gmp/Makefile.am +--- cddlib-094g/src-gmp/Makefile.am.orig 2012-07-05 13:30:30.982562213 -0400 ++++ cddlib-094g/src-gmp/Makefile.am 2012-07-05 13:31:14.576563881 -0400 +@@ -11,7 +11,8 @@ testcdd1_gmp \ + testcdd2_gmp \ + testlp1_gmp \ + testlp2_gmp \ +-testlp3_gmp ++testlp3_gmp \ ++cdd_both_reps_gmp + #cddmathlink + + scdd_gmp_SOURCES = simplecdd.c +@@ -27,6 +28,7 @@ testcdd2_gmp_SOURCES = tes + testlp1_gmp_SOURCES = testlp1.c + testlp2_gmp_SOURCES = testlp2.c + testlp3_gmp_SOURCES = testlp3.c ++cdd_both_reps_gmp_SOURCES = cdd_both_reps.c + # cddmathlink_SOURCES = cddmathlink.c cddmlio.h cddmlio.c + + LDADD = ../lib-src-gmp/libcddgmp.la +diff -up cddlib-094g/src-gmp/Makefile.in.orig cddlib-094g/src-gmp/Makefile.in +diff -up cddlib-094g/src/Makefile.am.orig cddlib-094g/src/Makefile.am +--- cddlib-094g/src/Makefile.am.orig 2012-07-05 13:34:07.449570501 -0400 ++++ cddlib-094g/src/Makefile.am 2012-07-05 13:34:32.128571446 -0400 +@@ -11,7 +11,8 @@ testshoot \ + testcdd2 \ + testlp1 \ + testlp2 \ +-testlp3 ++testlp3 \ ++cdd_both_reps + #cddmathlink + + scdd_SOURCES = simplecdd.c +@@ -27,6 +28,7 @@ testcdd2_SOURCES = testcdd + testlp1_SOURCES = testlp1.c + testlp2_SOURCES = testlp2.c + testlp3_SOURCES = testlp3.c ++cdd_both_reps_SOURCES = cdd_both_reps.c + # cddmathlink_SOURCES = cddmathlink.c cddmlio.h cddmlio.c + + LDADD = ../lib-src/libcdd.la diff --git a/sci-libs/cddlib/files/cddlib-094h-enforce-no-gmp.patch b/sci-libs/cddlib/files/cddlib-094h-enforce-no-gmp.patch new file mode 100644 index 000000000000..bab20025a793 --- /dev/null +++ b/sci-libs/cddlib/files/cddlib-094h-enforce-no-gmp.patch @@ -0,0 +1,37 @@ +Description: Don't link against gmp in the non-gmp version + Using AC_CHECK_LIB will add -lgmp to all children, but we don't want this + for the non-gmp variants. Instead, add -lgmp explicitly in gmp variants. +Author: Ximin Luo <infinity0@debian.org> +Forwarded: TBD +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/configure.in ++++ b/configure.in +@@ -14,8 +14,6 @@ + dnl AC_CHECK_LIB(g, main) + dnl Replace `main' with a function in -lstdc: + dnl AC_CHECK_LIB(stdc, main) +-dnl look for gmp: +-AC_CHECK_LIB(gmp, main) + + dnl Checks for header files. + AC_HEADER_STDC +--- a/lib-src-gmp/Makefile.am ++++ b/lib-src-gmp/Makefile.am +@@ -25,4 +25,4 @@ + setoper.h + + AM_CPPFLAGS = -I$(gmpincludedir) -DGMPRATIONAL +-AM_LDFLAGS = -version-info 0:0:0 ++AM_LDFLAGS = -lgmp -version-info 0:0:0 +--- a/src-gmp/Makefile.am ++++ b/src-gmp/Makefile.am +@@ -32,7 +32,7 @@ + # cddmathlink_SOURCES = cddmathlink.c cddmlio.h cddmlio.c + + LDADD = ../lib-src-gmp/libcddgmp.la +-AM_LDFLAGS = -L$(gmplibdir) ++AM_LDFLAGS = -lgmp -L$(gmplibdir) + INCLUDES = -I../lib-src-gmp + INCLUDES += -I$(gmpincludedir) + AM_CPPFLAGS = -DGMPRATIONAL diff --git a/sci-libs/cddlib/metadata.xml b/sci-libs/cddlib/metadata.xml index 816c168dca97..a93a12f9174f 100644 --- a/sci-libs/cddlib/metadata.xml +++ b/sci-libs/cddlib/metadata.xml @@ -2,25 +2,28 @@ <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="project"> - <email>sci@gentoo.org</email> - <name>Gentoo Science Project</name> + <email>sci-mathematics@gentoo.org</email> + <name>Gentoo Mathematics Project</name> </maintainer> <longdescription lang="en"> -The C-library cddlib is a C implementation of the Double Description -Method of Motzkin et al. for generating all vertices (i.e. extreme points) -and extreme rays of a general convex polyhedron in R^d given by a system -of linear inequalities: + The C-library cddlib is a C implementation of the Double Description + Method of Motzkin et al. for generating all vertices (i.e. extreme points) + and extreme rays of a general convex polyhedron in R^d given by a system + of linear inequalities: + + P = { x=(x1, ..., xd)^T : b - A x >= 0 } - P = { x=(x1, ..., xd)^T : b - A x >= 0 } - -where A is a given m x d real matrix, b is a given m-vector -and 0 is the m-vector of all zeros. - -The program can be used for the reverse operation (i.e. convex hull -computation). This means that one can move back and forth between -an inequality representation and a generator (i.e. vertex and ray) -representation of a polyhedron with cdd. Also, cdd can solve a linear -programming problem, i.e. a problem of maximizing and minimizing -a linear function over P. -</longdescription> + where A is a given m x d real matrix, b is a given m-vector + and 0 is the m-vector of all zeros. + + The program can be used for the reverse operation (i.e. convex hull + computation). This means that one can move back and forth between + an inequality representation and a generator (i.e. vertex and ray) + representation of a polyhedron with cdd. Also, cdd can solve a linear + programming problem, i.e. a problem of maximizing and minimizing + a linear function over P. + </longdescription> + <use> + <flag name="tools">Add a few executables and tests for cddlib</flag> + </use> </pkgmetadata> |