summaryrefslogtreecommitdiff
path: root/sci-mathematics/gfan
diff options
context:
space:
mode:
Diffstat (limited to 'sci-mathematics/gfan')
-rw-r--r--sci-mathematics/gfan/Manifest4
-rw-r--r--sci-mathematics/gfan/files/gfan-0.5-fix-build-system.patch55
-rw-r--r--sci-mathematics/gfan/files/gfan-0.5-fix-gcc9.patch68
-rw-r--r--sci-mathematics/gfan/gfan-0.5-r1.ebuild33
4 files changed, 142 insertions, 18 deletions
diff --git a/sci-mathematics/gfan/Manifest b/sci-mathematics/gfan/Manifest
index 916b81f7701f..d94f1b5885bc 100644
--- a/sci-mathematics/gfan/Manifest
+++ b/sci-mathematics/gfan/Manifest
@@ -1,5 +1,7 @@
AUX gfan-0.5-double-declare-fix.patch 470 BLAKE2B e5d12f62b2efe9781f616825dce16cab9cf5181358c466945577ca2666e89d5f223572a0ef530644aaf1e1c345ce8942e7826f37134263ef2f83d0cf569dc6cd SHA512 25f340d5636c1cc719328a00561d9c4e5ab3a67633a9fb0ceb23ca0c771fe579f60678649affdf5be76d189f43a986eecd13a91d9681e847ed8b7c1c4c4ed118
+AUX gfan-0.5-fix-build-system.patch 1349 BLAKE2B bce148ee12c3fd720baeccc6a75b0b66ed76f1bb7d1b7ef92c3d67ab26a4743502169b0fbac87b24496f5319adc85dbed1c4efdc1dfb68ecaf795f2d7441d4f1 SHA512 e53e7ec77ef18fa05f14ab0aa011b524439d4c4bdad79d2e197bde1e136df1c2ca043287d17722140ea79351969d87df29eb845ac441f9703c7c786bd6ac582e
+AUX gfan-0.5-fix-gcc9.patch 3712 BLAKE2B fd8b89d8f3019db71ea9bba05a8652666ddef6d35dd75cc97510cf96267ce1cc651375cfb9e269ab765b5bc3c30c0b33cbf73d1a74eea8a564a3d5482c15af28 SHA512 6c1186c2a549191b4db31433ca006de7d916bb43b2a9176f83b0c6516ac757f693721c355aff8b1669987b6db862858b4f428cc372f6787a0f4503242bb5e035
AUX gfan-0.5-gcc6.1-compat.patch 2000 BLAKE2B 0ba13745140bb56d3398669e453cd245ee31c351ee3899dbded117ad48a238e99306c0c08b050168ddd204f4f30840ab8f04a609b135b782a06522cf65236995 SHA512 daf9527baf68299063ccdd82b53e92a63584fd5cf432b2d889c4aad08ccff0a31c0a75a7b6defd018021df4f46831ed7727a1bd6ea1b0da1fe9a924f9b208fe9
DIST gfan0.5.tar.gz 1134987 BLAKE2B 73ea793f5dbceb76a9f143a258ee3e38e1466e4e15ed96dbabb58f33d3a091a885479dd00f8179d3bf2c85cf275605823f63aa33272f1f9984e0fc5841ab35e9 SHA512 11a9657adcd5b39f73244450c09b132d8cd19474d0f9151c0127682bc16847537e4096d39e8a0a63b5c6aef6720e54a72bfd361a5271808d5a5595fd2df494fa
-EBUILD gfan-0.5-r1.ebuild 856 BLAKE2B a27799165dc58dad7860075ca4d686a1f25b91284bf54814c47f0b1fe96ee0b12c7f6edfe8b92f19a98541b9fe90b4a8d445a0dec258f9eb244ae750f79745bf SHA512 b44f8316297138a2d1c0570b1fbaaa2a26122c28746ddec3bef31319e8ce319bd75084d480dcad61b867988da43d4d632c13a71e3afd732ac7daf0daa3c5509c
+EBUILD gfan-0.5-r1.ebuild 803 BLAKE2B efaa6db36e8f2c593ef82779cbbd9806197198d4150d785e7df5d5605e167fe11f172703723a89357fc23697f00c5ffd642be1a3dbac412b8b67f175cb524427 SHA512 c47d99455abbd85d48909d59a23408271015a3a1b9f6a79b2b26aa390769c41e32ae6ab2f89e29f9cddc0b5db217c619f2eee0cddfe5a9bab670196ac3ac10fa
MISC metadata.xml 398 BLAKE2B 3c18380c694b7ac7114c6d83f65b9334a85c6afa5936bb5af9cb5eca2052b416eca08dfd5085d381589976d2ac1e3bbdf09a28757810cf54beb351b89dbcc46b SHA512 ac0668f6b8af01557b5a29a5aab5f6064f77eaed62e3fc080a5c808a62310dedd935271f58035e7c9b340df582922d2a960f67f148d61779a9a64fc1fbf7457e
diff --git a/sci-mathematics/gfan/files/gfan-0.5-fix-build-system.patch b/sci-mathematics/gfan/files/gfan-0.5-fix-build-system.patch
new file mode 100644
index 000000000000..3bf96ed088ce
--- /dev/null
+++ b/sci-mathematics/gfan/files/gfan-0.5-fix-build-system.patch
@@ -0,0 +1,55 @@
+--- a/Makefile
++++ b/Makefile
+@@ -1,7 +1,5 @@
+ ALL: default
+
+-# GPROFFLAG = -pg
+- GPROFFLAG = -g
+
+ PREFIX?=/usr/local
+
+@@ -77,16 +75,13 @@
+
+ SHELL = /bin/sh
+ #ARCH = LINUX
+-CC = gcc
+ CLINKER = $(CC)
+-CXX = g++
+ CCLINKER = $(CXX)
+-#OPTFLAGS = -O2 -DGMPRATIONAL -DNDEBUG
+-OPTFLAGS = -O2 -DGMPRATIONAL -Wuninitialized
+
+-CFLAGS = $(OPTFLAGS) $(GPROFFLAG) $(ADDITIONALINCLUDEOPTIONS) #-pedantic
+-CCFLAGS = $(CFLAGS)
+-FFLAGS = $(OPTFLAGS)
++
++CFLAGS += $(GPROFFLAG) $(ADDITIONALINCLUDEOPTIONS) -Wuninitialized
++CXXFLAGS += $(GPROFFLAG) $(ADDITIONALINCLUDEOPTIONS) -Wuninitialized
++CPPFLAGS += -DGMPRATIONAL -DNDEBUG
+
+ CATSOBJECTS = $(GCATSPATH)lp_cdd.o \
+ $(SOPLEX_OBJECTS) \
+@@ -317,7 +312,7 @@
+ default: $(OBJECTS) $(ADDITIONALOBJECTS) $(EXECS)
+
+ $(MAIN): $(OBJECTS)
+- $(CCLINKER) $(OBJECTS) $(ADDITIONALLINKOPTIONS) $(GPROFFLAG) -o $(MAIN)
++ $(CCLINKER) $(LDFLAGS) $(OBJECTS) $(ADDITIONALLINKOPTIONS) $(GPROFFLAG) -o $(MAIN)
+
+ release:
+ rm -f -r $(RELEASEDIR)/*
+@@ -430,14 +425,6 @@
+ cp gfanlib.h gfanlib/
+ cp gfanlib_* gfanlib/
+ tar zcf - gfanlib > gfanlib.tar.gz
+-.c.o:
+- $(CC) $(CFLAGS) -c $<
+-.cc.o:
+- $(CXX) -c $<
+-.cpp.o:
+- $(CXX) $(CFLAGS) -c $<
+-.C.o:
+- $(CXX) -c $<
+ # wget http://ftp.sunet.se/pub/gnu/gmp/gmp-4.2.2.tar.gz
+ # tar -xzvf gmp-4.2.2.tar.gz
+ # cd gmp-4.2.2
diff --git a/sci-mathematics/gfan/files/gfan-0.5-fix-gcc9.patch b/sci-mathematics/gfan/files/gfan-0.5-fix-gcc9.patch
new file mode 100644
index 000000000000..930baf9edcf2
--- /dev/null
+++ b/sci-mathematics/gfan/files/gfan-0.5-fix-gcc9.patch
@@ -0,0 +1,68 @@
+https://bugs.gentoo.org/686484
+
+polyhedralfan.h: At global scope:
+polyhedralfan.h:77:24: error: friend declaration of ‘PolyhedralFan refinement(const PolyhedralFan&, const PolyhedralFan&, int, bool)’ specifies default arguments and isn’t a definition [-fpermissive]
+ 77 | friend PolyhedralFan refinement(const PolyhedralFan &a, const PolyhedralFan &b, int cutOffDimension=-1, bool allowASingleConeOfCutOffDimension=false);
+ | ^~~~~~~~~~
+
+--- a/gfanlib_polyhedralfan.h
++++ b/gfanlib_polyhedralfan.h
+@@ -24,6 +24,8 @@
+ typedef std::map<int,IntVectorList> IncidenceList;
+
+
++class PolyhedralFan;
++PolyhedralFan refinement(const PolyhedralFan &a, const PolyhedralFan &b, int cutOffDimension=-1, bool allowASingleConeOfCutOffDimension=false);
+
+ /** A PolyhedralFan is simply a collection of canonicalized PolyhedralCones.
+ * It contains no combinatorial information in the sense of a polyhedral complex.
+@@ -52,7 +54,7 @@
+ int getAmbientDimension()const;
+ int getMaxDimension()const;
+ int getMinDimension()const;
+- friend PolyhedralFan refinement(const PolyhedralFan &a, const PolyhedralFan &b, int cutOffDimension=-1, bool allowASingleConeOfCutOffDimension=false);
++ friend PolyhedralFan refinement(const PolyhedralFan &a, const PolyhedralFan &b, int cutOffDimension, bool allowASingleConeOfCutOffDimension);
+ ZMatrix getRays(int dim=1);//This can be called for other dimensions than 1. The term "Rays" still makes sense modulo the common linearity space
+ ZMatrix getRelativeInteriorPoints();
+ void insert(ZCone const &c);
+--- a/halfopencone.h
++++ b/halfopencone.h
+@@ -6,6 +6,9 @@
+
+ #include "polyhedralfan.h"
+
++class HalfOpenCone;
++HalfOpenCone intersection(const HalfOpenCone &a, const HalfOpenCone &b, bool findFacets=false);
++
+ class HalfOpenCone{
+ static void appendList(IntegerVectorList &to, IntegerVectorList const &from, int appendValue);
+ int liftedDimension;//ambient
+@@ -18,7 +21,7 @@
+ HalfOpenCone(int dimension_, IntegerVectorList const &equations, IntegerVectorList const &nonstrict, IntegerVectorList const &strict, bool findFacets=false, bool canonicalize=false);
+ HalfOpenCone(int ambientDimension);//full space
+ bool isEmpty();
+- friend HalfOpenCone intersection(const HalfOpenCone &a, const HalfOpenCone &b, bool findFacets=false);
++ friend HalfOpenCone intersection(const HalfOpenCone &a, const HalfOpenCone &b, bool findFacets);
+ friend bool haveEmptyIntersection(const HalfOpenCone &a, const HalfOpenCone &b);
+ PolyhedralCone closure();
+ void splitIntoRelativelyOpenCones(list<HalfOpenCone> &l);
+--- a/polyhedralfan.h
++++ b/polyhedralfan.h
+@@ -30,6 +30,8 @@
+ FPF_default=2+4+8
+ };
+
++class PolyhedralFan;
++PolyhedralFan refinement(const PolyhedralFan &a, const PolyhedralFan &b, int cutOffDimension=-1, bool allowASingleConeOfCutOffDimension=false);
+
+ /** A PolyhedralFan is simply a collection of canonicalized PolyhedralCones.
+ * It contains no combinatorial information in the sense of a polyhedral complex.
+@@ -74,7 +76,7 @@
+ int getAmbientDimension()const;
+ int getMaxDimension()const;
+ int getMinDimension()const;
+- friend PolyhedralFan refinement(const PolyhedralFan &a, const PolyhedralFan &b, int cutOffDimension=-1, bool allowASingleConeOfCutOffDimension=false);
++ friend PolyhedralFan refinement(const PolyhedralFan &a, const PolyhedralFan &b, int cutOffDimension, bool allowASingleConeOfCutOffDimension);
+ friend PolyhedralFan product(const PolyhedralFan &a, const PolyhedralFan &b);
+ IntegerVectorList getRays(int dim=1);//This can be called for other dimensions than 1. The term "Rays" still makes sense modulo the common linearity space
+ IntegerVectorList getRelativeInteriorPoints();
diff --git a/sci-mathematics/gfan/gfan-0.5-r1.ebuild b/sci-mathematics/gfan/gfan-0.5-r1.ebuild
index ec591ee19578..1cd8c95fbecf 100644
--- a/sci-mathematics/gfan/gfan-0.5-r1.ebuild
+++ b/sci-mathematics/gfan/gfan-0.5-r1.ebuild
@@ -1,38 +1,37 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-inherit eutils toolchain-funcs
+inherit toolchain-funcs
-DESCRIPTION="computes Groebner fans and tropical varities"
+DESCRIPTION="Compute Groebner fans and tropical varities"
HOMEPAGE="http://www.math.tu-berlin.de/~jensen/software/gfan/gfan.html"
SRC_URI="http://www.math.tu-berlin.de/~jensen/software/gfan/${PN}${PV}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64 ~arm x86 ~amd64-linux ~x86-linux"
-IUSE=""
-DEPEND="dev-libs/gmp[cxx]
- sci-libs/cddlib"
+DEPEND="
+ dev-libs/gmp:0=[cxx]
+ sci-libs/cddlib:0="
RDEPEND="${DEPEND}"
S="${WORKDIR}/${PN}${PV}/"
PATCHES=(
- "${FILESDIR}/${P}-double-declare-fix.patch"
- "${FILESDIR}/${P}-gcc6.1-compat.patch"
- )
-
-src_prepare () {
- default
- sed -i -e "s/-O2/${CXXFLAGS}/" \
- -e "/GPROFFLAG =/d" \
- -e "s/g++/$(tc-getCXX)/" \
- -e "s/\$(CCLINKER)/& \$(LDFLAGS)/" Makefile || die
+ "${FILESDIR}"/${P}-double-declare-fix.patch
+ "${FILESDIR}"/${P}-gcc6.1-compat.patch
+ "${FILESDIR}"/${P}-fix-build-system.patch
+ "${FILESDIR}"/${P}-fix-gcc9.patch
+)
+
+src_configure() {
+ tc-export CXX
}
src_install() {
emake PREFIX="${ED}/usr" install
+ einstalldocs
}