summaryrefslogtreecommitdiff
path: root/sci-mathematics/gfan
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-04-12 03:41:30 +0100
committerV3n3RiX <venerix@redcorelinux.org>2020-04-12 03:41:30 +0100
commit623ee73d661e5ed8475cb264511f683407d87365 (patch)
tree993eb27c93ec7a2d2d19550300d888fc1fed9e69 /sci-mathematics/gfan
parentceeeb463cc1eef97fd62eaee8bf2196ba04bc384 (diff)
gentoo Easter resync : 12.04.2020
Diffstat (limited to 'sci-mathematics/gfan')
-rw-r--r--sci-mathematics/gfan/Manifest7
-rw-r--r--sci-mathematics/gfan/files/gfan-0.6.2-Makefile.patch155
-rw-r--r--sci-mathematics/gfan/files/gfan-0.6.2-testsuite.patch222
-rw-r--r--sci-mathematics/gfan/files/gfan-0.6.2-xcode9.3_compat.patch13
-rw-r--r--sci-mathematics/gfan/gfan-0.6.2.ebuild56
-rw-r--r--sci-mathematics/gfan/metadata.xml17
6 files changed, 468 insertions, 2 deletions
diff --git a/sci-mathematics/gfan/Manifest b/sci-mathematics/gfan/Manifest
index d94f1b5885bc..a0e9b343e7d3 100644
--- a/sci-mathematics/gfan/Manifest
+++ b/sci-mathematics/gfan/Manifest
@@ -2,6 +2,11 @@ AUX gfan-0.5-double-declare-fix.patch 470 BLAKE2B e5d12f62b2efe9781f616825dce16c
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
+AUX gfan-0.6.2-Makefile.patch 6603 BLAKE2B 48f9b4280418aef41d502d770c070ec1dcef947a39c6263d991be0f6f41147d06b78a4b07ca76e0fb4bc9780cb9469c98c637473789d857925df8d546ad35e92 SHA512 e1eef6f01c9942b38780f19b774fa3e99df4dbdba738cc2c6c69e2f1858e5e6294db72d7b679c5ff1313a76143bd611077731d360479f9375d6506e33a4a620a
+AUX gfan-0.6.2-testsuite.patch 3223 BLAKE2B ddb94775a13bd503df5c9563750a6b4b68c9e72e1a19aaa0415c5484e07765dfd28ba02b3a0fab65a0b9cd5c61afafbc6a3d862a1de68ece57ef9d8bb2835c16 SHA512 d62e765a39ee1a8cb149fcae8afb538b19a91206dd0b8cf0ac2b681b28569e44f492b770b9e61d7573f2d52f265ad4cf25671197c204238a89075709753a83e6
+AUX gfan-0.6.2-xcode9.3_compat.patch 367 BLAKE2B fb7c685a4dd811fed83e2734a16507b1792e3a97c666d0e7de1d2ed53a7b9b43c5319517f9eef829f47147dc725f2c4ead38968fa3868baa1d16630a8b844636 SHA512 129d2c35777f82bf2a1581450ecb12dd6811fb72b583748b30665c0f9b20d39646233d9b40fb64a3c7790360514a51b30e49c53d83c34d259f664bf820ae1ce2
DIST gfan0.5.tar.gz 1134987 BLAKE2B 73ea793f5dbceb76a9f143a258ee3e38e1466e4e15ed96dbabb58f33d3a091a885479dd00f8179d3bf2c85cf275605823f63aa33272f1f9984e0fc5841ab35e9 SHA512 11a9657adcd5b39f73244450c09b132d8cd19474d0f9151c0127682bc16847537e4096d39e8a0a63b5c6aef6720e54a72bfd361a5271808d5a5595fd2df494fa
+DIST gfan0.6.2.tar.gz 1321059 BLAKE2B 1ed61e1e084a1ceb65dd21848440bc3a90486c0ce4012b3b64c8029e89636696d2b0e5446ea156d2cf050b5db179c7c2f25c97e683cecf6e9616e8553d8513bf SHA512 5961820750af2522fdc1a86c0254742c3b003607a8707df5d6cd5f0bc6461e4d3db3b1d3cb537979d57eb9dff387974a58aeb91d0b5246d7c701cadc5a2cf4cf
EBUILD gfan-0.5-r1.ebuild 803 BLAKE2B efaa6db36e8f2c593ef82779cbbd9806197198d4150d785e7df5d5605e167fe11f172703723a89357fc23697f00c5ffd642be1a3dbac412b8b67f175cb524427 SHA512 c47d99455abbd85d48909d59a23408271015a3a1b9f6a79b2b26aa390769c41e32ae6ab2f89e29f9cddc0b5db217c619f2eee0cddfe5a9bab670196ac3ac10fa
-MISC metadata.xml 398 BLAKE2B 3c18380c694b7ac7114c6d83f65b9334a85c6afa5936bb5af9cb5eca2052b416eca08dfd5085d381589976d2ac1e3bbdf09a28757810cf54beb351b89dbcc46b SHA512 ac0668f6b8af01557b5a29a5aab5f6064f77eaed62e3fc080a5c808a62310dedd935271f58035e7c9b340df582922d2a960f67f148d61779a9a64fc1fbf7457e
+EBUILD gfan-0.6.2.ebuild 1355 BLAKE2B 1b1429fa29232e3bde6892547fcff912595bef83ab2a5c44e6ef763da65f678fde3bee193ed7efaad74bfd75389512367c69688d4e54918e08542571c6ae1ea0 SHA512 502b4c7a5619a09d3897b975cdf24834e5592ead0c61f9775ca5627e7bd1fd0eb558b18c25a7721aa5294dd3fa826f4c87ea841c55fb424a47bb2dfd25c87c9a
+MISC metadata.xml 1343 BLAKE2B 1e3385eaf888fa6a69e1e3f761bd5a1037e5a5308878664e604ba5efd096747f84a0a3343d8de7f6eb5dd3ce726d94bdb933e17b9eaf8e345b02fd071fbf821b SHA512 ca914de593af1279439f35fdcc812924b831c30bfa86366443f16cb720acd3e38267f25057f59e76a6b8ff1aa48a33ecfa72c093419aab95c92ed82c3308cd94
diff --git a/sci-mathematics/gfan/files/gfan-0.6.2-Makefile.patch b/sci-mathematics/gfan/files/gfan-0.6.2-Makefile.patch
new file mode 100644
index 000000000000..8e8db53bc911
--- /dev/null
+++ b/sci-mathematics/gfan/files/gfan-0.6.2-Makefile.patch
@@ -0,0 +1,155 @@
+diff --git a/Makefile b/Makefile
+index 2c9f949..a49a590 100644
+--- a/Makefile
++++ b/Makefile
+@@ -2,8 +2,8 @@ ALL: default
+
+ # When -g is used, it seems that stackdump does not work.
+ # GPROFFLAG = -pg
+-GPROFFLAG = -g
+-#GPROFFLAG =
++#GPROFFLAG = -g
++GPROFFLAG =
+
+ PREFIX?=/usr/local
+
+@@ -22,20 +22,8 @@ STACTDUMP_OPTIONS = -DSTACKDUMP_ENABLED -D__assert_fail=__assert_fail2
+ endif
+
+
+-ifeq ($(sagepath),)
+-SAGE_LINKOPTIONS =
+-SAGE_INCLUDEOPTIONS =
+-else
+-SAGE_LINKOPTIONS = -L$(sagepath)/ -lpython2.6 -lcsage -lsingular
+-SAGE_INCLUDEOPTIONS = -I $(sagepath)/
+-SAGE_OBJECTS = sage.o sage_link.so
+-
+-sage_link.so: sage_link.pyx setup.py
+- python setup.py build_ext --inplace --pyrex-include-dirs=$(SAGE_ROOT)/devel/sage/
+-endif
+-
+ ifeq ($(gmppath),)
+-GMP_LINKOPTIONS = -lgmp
++GMP_LINKOPTIONS = -lgmp -lm
+ GMP_INCLUDEOPTIONS =
+ else
+ GMP_LINKOPTIONS = $(gmppath)/lib/libgmp.a
+@@ -49,7 +37,7 @@ CDDDEFINE_PREFIX = -DNOCDDPREFIX
+ endif
+
+ ifeq ($(cddpath),)
+-CDD_LINKOPTIONS = -L/usr/local -lcddgmp
++CDD_LINKOPTIONS = -lcddgmp
+ CDD_INCLUDEOPTIONS =
+ else
+ CDD_LINKOPTIONS = $(cddpath)/lib/libcddgmp.a
+@@ -71,37 +59,8 @@ SOPLEX_OBJECTS = lp_soplexcdd.o
+ endif
+
+
+-# rememember to adjust USEFACTORY in field_rationalfunctions2
+-ifeq ($(singular),)
+-ifeq ($(factory),)
+-SINGULAR_PATH =
+-SINGULAR_LINKOPTIONS =
+-SINGULAR_INCLUDEOPTIONS =
+-SINGULAR_OBJECTS = src/polynomialgcd.o
+-else
+-SINGULAR_PATH =
+-SINGULAR_LINKOPTIONS = -lcf -lcfmem
+-SINGULAR_INCLUDEOPTIONS = -I /usr/local/include/factory/
+-SINGULAR_OBJECTS = src/polynomialgcd.o src/ftmpl_inst.o
+-endif
+-else
+-#SINGULAR_PATH = $(HOME)/math/software/Singular-3-1-0
+-#SINGULAR_LINKOPTIONS = -L$(SINGULAR_PATH)/Singular -lsingular -lncurses -lreadline
+-#SINGULAR_INCLUDEOPTIONS = -I $(SINGULAR_PATH)/kernel -I $(SINGULAR_PATH)/omalloc
+-#SINGULAR_OBJECTS = src/singular.o src/singularconversion.o
+-SINGULAR_PATH = $(HOME)/math/software/Singular-svn/trunk/x86_64-Linux
+-SINGULAR_LINKOPTIONS = -L$(SINGULAR_PATH)/lib -lsingular -lncurses -lreadline -lcf -lcfmem
+-SINGULAR_INCLUDEOPTIONS = -I $(SINGULAR_PATH)/include -I $(SINGULAR_PATH)/include/omalloc
+-SINGULAR_OBJECTS = src/ftmpl_inst.o src/singular.o src/singularconversion.o
+-#Run the following line before running gfan
+-#export LD_LIBRARY_PATH="/home/anders/math/software/Singular-svn/trunk/x86_64-Linux/lib/:${LD_LIBRARY_PATH}"
+-endif
+-
+-# To produce factory templates:
+-#g++ -c /home/anders/math/software/factory-3-1-7/ftmpl_inst.cc -fno-implicit-templates -I /usr/local/include/factory/ -I/home/anders/math/software/factory-3-1-7/ -O2 -fomit-frame-pointer -o ftmpl_inst.o
+-
+-ADDITIONALLINKOPTIONS = $(CDD_LINKOPTIONS) $(GMP_LINKOPTIONS) $(SOPLEX_LINKOPTIONS) $(SINGULAR_LINKOPTIONS) $(SAGE_LINKOPTIONS)
+-ADDITIONALINCLUDEOPTIONS = $(CDD_INCLUDEOPTIONS) $(GMP_INCLUDEOPTIONS) $(SOPLEX_INCLUDEOPTIONS) $(SINGULAR_INCLUDEOPTIONS) $(SAGE_INCLUDEOPTIONS)
++ADDITIONALLINKOPTIONS = $(CDD_LINKOPTIONS) $(GMP_LINKOPTIONS) $(SOPLEX_LINKOPTIONS)
++ADDITIONALINCLUDEOPTIONS = $(CDD_INCLUDEOPTIONS) $(GMP_INCLUDEOPTIONS) $(SOPLEX_INCLUDEOPTIONS)
+
+
+ MKDIR=mkdir -p
+@@ -110,13 +69,11 @@ MKDIR=mkdir -p
+ PREFIX =
+ SHELL = /bin/sh
+ #ARCH = LINUX
+-CC = $(PREFIX)gcc
+-CLINKER = $(CC)
+-CXX = $(PREFIX)g++
+-CCLINKER = $(CXX)
++CC ?= $(PREFIX)gcc
++CXX ?= $(PREFIX)g++
+ #OPTFLAGS = -O2 -DGMPRATIONAL -DNDEBUG
+ # Note that gcc produces wrong code with -O3
+-OPTFLAGS = -DGMPRATIONAL -Wuninitialized -fno-omit-frame-pointer -O2 #-O3 -fno-guess-branch-probability #-DNDEBUG
++OPTFLAGS = -DGMPRATIONAL -Wuninitialized
+ #OPTFLAGS = -DGMPRATIONAL -Wuninitialized -fno-omit-frame-pointer -O3 -mavx -msse2 -finline-limit=1000 -ffast-math -Wuninitialized # -fno-guess-branch-probability #-DNDEBUG -ftree-vectorizer-verbose=2
+ #OPTFLAGS = -DGMPRATIONAL -Wuninitialized -fno-omit-frame-pointer -O1 -fno-guess-branch-probability
+ #-DNDEBUG
+@@ -125,10 +82,10 @@ OPTFLAGS = -DGMPRATIONAL -Wuninitialized -fno-omit-frame-pointer -O2 #-O3 -
+ #OPTFLAGS = -DGMPRATIONAL -Wuninitialized -fno-omit-frame-pointer -O3 -msse2 -ftree-vectorizer-verbose=2 -ffast-math #-DNDEBUG
+ #OPTFLAGS = -DGMPRATIONAL -Wuninitialized -fno-omit-frame-pointer -O3 -mavx -msse2 -ftree-vectorizer-verbose=2 -ffast-math #-DNDEBUG
+
+-CFLAGS = $(OPTFLAGS) $(GPROFFLAG) $(STACTDUMP_OPTIONS) $(ADDITIONALINCLUDEOPTIONS) -std=c++0x -g $(CDDDEFINE_PREFIX) #-pedantic
+-#CFLAGS = $(OPTFLAGS) $(GPROFFLAG) $(STACTDUMP_OPTIONS) $(ADDITIONALINCLUDEOPTIONS) -D_GLIBCXX_DEBUG -std=c++0x -g $(CDDDEFINE_PREFIX) #-pedantic
+-CCFLAGS = $(CFLAGS)
+-FFLAGS = $(OPTFLAGS)
++CFLAGS := $(CFLAGS) $(OPTFLAGS) $(GPROFFLAG) $(ADDITIONALINCLUDEOPTIONS) #-pedantic
++CXXFLAGS := $(CXXFLAGS) $(OPTFLAGS) $(GPROFFLAG) $(ADDITIONALINCLUDEOPTIONS) #-pedantic
++
++SINGULAR_OBJECTS = src/polynomialgcd.o
+
+ CATSOBJECTS = lp_cdd.o \
+ parser.o \
+@@ -394,16 +351,15 @@ EXECS = $(MAIN)
+ # (compiling with gcc version 4.7.2 and running gfan _tropicaltraverse on a starting cone for Grassmann3_7)
+ # Either this is a bug in the code or in the compiler. The bug disappears by compiling with -fno-guess-branch-probability
+ src/symmetrictraversal.o: src/symmetrictraversal.cpp
+- $(CXX) $(CFLAGS) -fno-guess-branch-probability -c src/symmetrictraversal.cpp -o src/symmetrictraversal.o
++ $(CXX) $(CXXFLAGS) -c src/symmetrictraversal.cpp -o src/symmetrictraversal.o
+ # If compiling with clang, use the line below instead:
+-# $(CXX) $(CFLAGS) -c src/symmetrictraversal.cpp -o src/symmetrictraversal.o
++# $(CXX) $(CXXFLAGS) -c src/symmetrictraversal.cpp -o src/symmetrictraversal.o
+
+ # Define suffixes to make the program compile on legolas.imf.au.dk :
+ .SUFFIXES: .o .cpp .c
+
+ OBJECTS = $(addprefix src/,$(SOPLEX_OBJECTS)) \
+ $(SINGULAR_OBJECTS) \
+- $(SAGE_OBJECTS) \
+ $(addprefix src/,$(CATSOBJECTS)) \
+ $(addprefix src/,$(APPOBJECTS)) \
+ src/symmetrictraversal.o
+@@ -420,7 +376,7 @@ default: $(OBJECTS) $(ADDITIONALOBJECTS) $(EXECS)
+
+ $(MAIN): $(OBJECTS)
+ # $(CCLINKER) $(OBJECTS) $(ADDITIONALLINKOPTIONS) $(GPROFFLAG) -lpthread -o $(MAIN)
+- $(CCLINKER) $(OBJECTS) $(ADDITIONALLINKOPTIONS) $(GPROFFLAG) -lpthread -rdynamic -o $(MAIN)
++ $(CXX) $(CXXFLAGS) -pthread -o $(MAIN) $(LDFLAGS) $(OBJECTS) -lpthread $(ADDITIONALLINKOPTIONS) $(GPROFFLAG)
+
+ release:
+ rm -f -r $(RELEASEDIR)/*
+@@ -546,7 +502,7 @@ check:
+ .c.o:
+ $(CC) $(CFLAGS) -c $< -o $(patsubst %.c,%.o,$<)
+ .cpp.o:
+- $(CXX) $(CFLAGS) -c $< -o $(patsubst %.cpp,%.o,$<)
++ $(CXX) $(CXXFLAGS) -c $< -o $(patsubst %.cpp,%.o,$<)
+
+ # wget http://ftp.sunet.se/pub/gnu/gmp/gmp-4.2.2.tar.gz
+ # tar -xzvf gmp-4.2.2.tar.gz
diff --git a/sci-mathematics/gfan/files/gfan-0.6.2-testsuite.patch b/sci-mathematics/gfan/files/gfan-0.6.2-testsuite.patch
new file mode 100644
index 000000000000..920646e486e4
--- /dev/null
+++ b/sci-mathematics/gfan/files/gfan-0.6.2-testsuite.patch
@@ -0,0 +1,222 @@
+diff --git a/src/app_test.cpp b/src/app_test.cpp
+index 755bfe6..183c735 100644
+--- a/src/app_test.cpp
++++ b/src/app_test.cpp
+@@ -562,6 +562,9 @@ int testIntegers()
+ failed.push_back(i->folder);
+ }
+ cout<<"\n";
++ cout<<"Number of succesful tests "<<good<<endl;
++ cout<<"Number of failed tests "<<bad<<endl;
++
+ if(!failed.empty())
+ {
+ cout<<"Failed tests:\n-------------\n";
+@@ -569,11 +572,9 @@ int testIntegers()
+ {
+ cout<<*i<<" FAILED!\n";
+ }
++ return 1;
+ }
+
+- cout<<"Number of succesful tests "<<good<<endl;
+- cout<<"Number of failed tests "<<bad<<endl;
+-
+ return 0;
+ }
+ };
+diff --git a/testsuite/0008PolynomialSetUnion/command b/testsuite/0008PolynomialSetUnion/command
+index cbb23d6..d61cb71 100644
+--- a/testsuite/0008PolynomialSetUnion/command
++++ b/testsuite/0008PolynomialSetUnion/command
+@@ -1 +1 @@
+-%s _bases | %s _polynomialsetunion |sort
++%s _bases | %s _polynomialsetunion |LC_ALL=C sort|tail -n +2 | sed -e '$ d'
+diff --git a/testsuite/0008PolynomialSetUnion/output b/testsuite/0008PolynomialSetUnion/output
+index 38dfb6f..12a65c7 100644
+--- a/testsuite/0008PolynomialSetUnion/output
++++ b/testsuite/0008PolynomialSetUnion/output
+@@ -1,62 +1,60 @@
+-{
++a*b-c^6,
++a*b^2-c^3,
++a*b^4-b,
++a*c-b^6,
++a*c^2-b,
++a*c^6-c,
++a-b^11,
++a-b^2*c,
++a-c^9,
+ a^11-c,
+ a^15-a,
++a^2*b-c,
+ a^2*b^3-a,
++a^2*c-b^3,
+ a^2-b^8,
+-a^2*b-c,
+ a^2-c^4,
+-a^2*c-b^3,
+-a^3-b^5,
+-a^3-b*c^2,
+ a^3*c^2-c}
+-a^4-b^2,
++a^3-b*c^2,
++a^3-b^5,
+ a^4*c-a,
++a^4-b^2,
+ a^5-c^3,
+ a^6*b-a,
+ a^6-b*c,
+ a^8-c^2,
+ a^9-b,
+-a-b^11,
+-a-b^2*c,
+-a*b^2-c^3,
+-a*b^4-b,
+-a*b-c^6,
+-a*c^2-b,
+-a*c^6-c,
+-a-c^9,
+-a*c-b^6,
++b*c-a^6,
++b*c^2-a^3,
++b*c^4-c,
++b-a*c^2,
++b-a^9,
++b-c^11,
+ b^11-a,
+ b^15-b,
+-b^2-a^4,
++b^2*c-a,
+ b^2*c^3-b,
++b^2-a^4,
+ b^2-c^8,
+-b^2*c-a,
+ b^3-a^2*c,
+ b^3-c^5,
+ b^4-c^2,
+ b^5-a^3,
+-b^6-a*c,
+ b^6*c-b,
++b^6-a*c,
+ b^8-a^2,
+ b^9-c,
+-b-a^9,
+-b-a*c^2,
+-b-c^11,
+-b*c^2-a^3,
+-b*c^4-c,
+-b*c-a^6,
++c-a^11,
++c-a^2*b,
++c-b^9,
+ c^11-b,
+ c^15-c,
+ c^2-a^8,
+ c^2-b^4,
+-c^3-a^5,
+ c^3-a*b^2,
++c^3-a^5,
+ c^4-a^2,
+ c^5-b^3,
+ c^6-a*b,
+ c^8-b^2,
+ c^9-a,
+-c-a^11,
+-c-a^2*b,
+-c-b^9,
+-Q[a,b,c]
+diff --git a/testsuite/0008PolynomialSetUnion/outputNew b/testsuite/0008PolynomialSetUnion/outputNew
+index 38dfb6f..12a65c7 100644
+--- a/testsuite/0008PolynomialSetUnion/outputNew
++++ b/testsuite/0008PolynomialSetUnion/outputNew
+@@ -1,62 +1,60 @@
+-{
++a*b-c^6,
++a*b^2-c^3,
++a*b^4-b,
++a*c-b^6,
++a*c^2-b,
++a*c^6-c,
++a-b^11,
++a-b^2*c,
++a-c^9,
+ a^11-c,
+ a^15-a,
++a^2*b-c,
+ a^2*b^3-a,
++a^2*c-b^3,
+ a^2-b^8,
+-a^2*b-c,
+ a^2-c^4,
+-a^2*c-b^3,
+-a^3-b^5,
+-a^3-b*c^2,
+ a^3*c^2-c}
+-a^4-b^2,
++a^3-b*c^2,
++a^3-b^5,
+ a^4*c-a,
++a^4-b^2,
+ a^5-c^3,
+ a^6*b-a,
+ a^6-b*c,
+ a^8-c^2,
+ a^9-b,
+-a-b^11,
+-a-b^2*c,
+-a*b^2-c^3,
+-a*b^4-b,
+-a*b-c^6,
+-a*c^2-b,
+-a*c^6-c,
+-a-c^9,
+-a*c-b^6,
++b*c-a^6,
++b*c^2-a^3,
++b*c^4-c,
++b-a*c^2,
++b-a^9,
++b-c^11,
+ b^11-a,
+ b^15-b,
+-b^2-a^4,
++b^2*c-a,
+ b^2*c^3-b,
++b^2-a^4,
+ b^2-c^8,
+-b^2*c-a,
+ b^3-a^2*c,
+ b^3-c^5,
+ b^4-c^2,
+ b^5-a^3,
+-b^6-a*c,
+ b^6*c-b,
++b^6-a*c,
+ b^8-a^2,
+ b^9-c,
+-b-a^9,
+-b-a*c^2,
+-b-c^11,
+-b*c^2-a^3,
+-b*c^4-c,
+-b*c-a^6,
++c-a^11,
++c-a^2*b,
++c-b^9,
+ c^11-b,
+ c^15-c,
+ c^2-a^8,
+ c^2-b^4,
+-c^3-a^5,
+ c^3-a*b^2,
++c^3-a^5,
+ c^4-a^2,
+ c^5-b^3,
+ c^6-a*b,
+ c^8-b^2,
+ c^9-a,
+-c-a^11,
+-c-a^2*b,
+-c-b^9,
+-Q[a,b,c]
diff --git a/sci-mathematics/gfan/files/gfan-0.6.2-xcode9.3_compat.patch b/sci-mathematics/gfan/files/gfan-0.6.2-xcode9.3_compat.patch
new file mode 100644
index 000000000000..83f4b66f8239
--- /dev/null
+++ b/sci-mathematics/gfan/files/gfan-0.6.2-xcode9.3_compat.patch
@@ -0,0 +1,13 @@
+diff --git a/src/app_main.cpp b/src/app_main.cpp
+index a33c042..e7ade81 100644
+--- a/src/app_main.cpp
++++ b/src/app_main.cpp
+@@ -205,7 +205,7 @@ public:
+ }
+
+ ep->close();
+- delete ep;//<--- In next release, make the class virtual
++// delete ep;//<--- In next release, make the class virtual # this is miscompiled clang@xcode-6.3
+
+ printf("\n");
+
diff --git a/sci-mathematics/gfan/gfan-0.6.2.ebuild b/sci-mathematics/gfan/gfan-0.6.2.ebuild
new file mode 100644
index 000000000000..a75c9f76f0f7
--- /dev/null
+++ b/sci-mathematics/gfan/gfan-0.6.2.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Compute Groebner fans and tropical varieties"
+HOMEPAGE="https://users-math.au.dk/~jensen/software/gfan/gfan.html"
+SRC_URI="https://users-math.au.dk/~jensen/software/${PN}/${PN}${PV}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+BDEPEND="doc? ( virtual/latex-base )"
+DEPEND="dev-libs/gmp:0=[cxx]
+ sci-libs/cddlib:0="
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${PN}${PV}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.6.2-xcode9.3_compat.patch"
+ "${FILESDIR}/${PN}-0.6.2-testsuite.patch"
+ "${FILESDIR}/${PN}-0.6.2-Makefile.patch"
+ )
+
+pkg_setup() {
+ tc-export CC CXX
+ append-cxxflags -DNOCDDPREFIX
+}
+
+src_configure() {
+ # The upstream Makefile says that GCC produces bad code with -O3.
+ replace-flags "-O3" "-O2"
+ default
+}
+
+src_compile() {
+ default
+ if use doc; then
+ pushd doc > /dev/null || die
+ # The LaTeX build commands need to be repeated until the
+ # document "stops changing," which is not as easy as it
+ # sounds to detect. Running it twice seems to work here.
+ pdflatex manual.tex && bibtex manual && pdflatex manual.tex || die
+ popd > /dev/null || die
+ fi
+}
+
+src_install() {
+ emake PREFIX="${ED}/usr" install
+ use doc && dodoc doc/manual.pdf
+}
diff --git a/sci-mathematics/gfan/metadata.xml b/sci-mathematics/gfan/metadata.xml
index abc08ece6082..c9e1ddd54b35 100644
--- a/sci-mathematics/gfan/metadata.xml
+++ b/sci-mathematics/gfan/metadata.xml
@@ -6,6 +6,21 @@
<name>Gentoo Mathematics Project</name>
</maintainer>
<longdescription lang="en">
- gfan is a computer algebra tool to compute Groebner fans and tropical varieties.
+ Gfan is a software package for computing Gröbner fans and tropical
+ varieties. These are polyhedral fans associated to polynomial
+ ideals. The maximal cones of a Gröbner fan are in bijection with the
+ marked reduced Gröbner bases of its defining ideal. The software
+ computes all marked reduced Gröbner bases of an ideal. Their union
+ is a universal Gröbner basis. The tropical variety of a polynomial
+ ideal is a certain subcomplex of the Gröbner fan. Gfan contains
+ algorithms for computing this complex for general ideals and
+ specialized algorithms for tropical curves, tropical hypersurfaces
+ and tropical varieties of prime ideals. In addition to the above
+ core functions the package contains many tools which are useful in
+ the study of Gröbner bases, initial ideals and tropical
+ geometry. The full list of commands can be found in Appendix B of
+ the manual. For ordinary Gröbner basis computations Gfan is not
+ competitive in speed compared to programs such as CoCoA, Singular
+ and Macaulay2.
</longdescription>
</pkgmetadata>