aboutsummaryrefslogtreecommitdiff
path: root/math/cocoalib
diff options
context:
space:
mode:
authorLorenzo Salvadore <salvadore@FreeBSD.org>2020-06-11 20:22:23 +0000
committerLorenzo Salvadore <salvadore@FreeBSD.org>2020-06-11 20:22:23 +0000
commit0b69618b648a5f56a59f6a26900819169e945fa2 (patch)
tree934a53cd96d8dd36e2a74585301e1674aab9bcd6 /math/cocoalib
parentf27703212a358eec25bc16d265d26aede2eb7880 (diff)
downloadports-0b69618b648a5f56a59f6a26900819169e945fa2.tar.gz
ports-0b69618b648a5f56a59f6a26900819169e945fa2.zip
math/cocoalib: Update to 0.99710
Also: - build the port by patching existing Makefiles instead of copying a new one from ${FILESDIR} in the hope that this eases maintainance; - change the SMALLDEG option so that it now applies a patch conditionally instead of using ${REINPLACE_CMD}. Approved by: gerald (mentor) Differential Revision: https://reviews.freebsd.org/D25234
Notes
Notes: svn path=/head/; revision=538535
Diffstat (limited to 'math/cocoalib')
-rw-r--r--math/cocoalib/Makefile19
-rw-r--r--math/cocoalib/distinfo6
-rw-r--r--math/cocoalib/files/Makefile.AlgebraicCore11
-rw-r--r--math/cocoalib/files/Makefile.tests6
-rw-r--r--math/cocoalib/files/PREPROCESSOR_DEFNS.H14
-rw-r--r--math/cocoalib/files/extra-patch-include-CoCoA_config.H11
-rw-r--r--math/cocoalib/files/patch-src_AlgebraicCore_Makefile148
-rw-r--r--math/cocoalib/files/patch-src_AlgebraicCore_TmpFactorDir_Makefile99
-rw-r--r--math/cocoalib/files/patch-src_AlgebraicCore_TmpFactorDir_linalg_Makefile81
-rw-r--r--math/cocoalib/files/patch-src_AlgebraicCore_TmpFactorDir_multivariate_Makefile82
-rw-r--r--math/cocoalib/files/patch-src_AlgebraicCore_TmpHilbertDir_Makefile80
-rw-r--r--math/cocoalib/files/patch-src_AlgebraicCore_TmpLDP.C10
-rw-r--r--math/cocoalib/files/patch-src_tests_Makefile129
-rw-r--r--math/cocoalib/pkg-plist28
14 files changed, 656 insertions, 68 deletions
diff --git a/math/cocoalib/Makefile b/math/cocoalib/Makefile
index 56ed2227d82f..0f9b957106f7 100644
--- a/math/cocoalib/Makefile
+++ b/math/cocoalib/Makefile
@@ -1,8 +1,7 @@
# $FreeBSD$
PORTNAME= cocoalib
-DISTVERSION= 0.99601
-PORTREVISION= 1
+DISTVERSION= 0.99710
CATEGORIES= math
MASTER_SITES= http://cocoa.dima.unige.it/cocoalib/tgz/
DISTNAME= CoCoALib-${DISTVERSION}
@@ -26,7 +25,8 @@ CXXFLAGS+= -I${WRKSRC}/include \
-I${WRKSRC}/src/AlgebraicCore/TmpFactorDir \
-I${WRKSRC}/src/AlgebraicCore/TmpFactorDir/multivariate \
-I${WRKSRC}/src/AlgebraicCore/TmpFactorDir/linalg \
- -I${LOCALBASE}/include
+ -I${LOCALBASE}/include \
+ -DCoCoA_ULONG2LONG=1
LDFLAGS+= -L${LOCALBASE}/lib -L${BUILD_WRKSRC} -lcocoa -lgmp
BUILD_WRKSRC= ${WRKSRC}/src/AlgebraicCore
@@ -51,16 +51,10 @@ FROBBY_BUILD_DEPENDS= ${LOCALBASE}/lib/libfrobby.a:math/frobby
GFAN_BUILD_DEPENDS= ${LOCALBASE}/lib/libgfan.a:math/gfanlib
GSL_BUILD_DEPENDS= ${LOCALBASE}/lib/libgsl.a:math/gsl
NORMALIZ_BUILD_DEPENDS= ${LOCALBASE}/lib/libnormaliz.a:math/libnormaliz
+SMALLDEG_EXTRA_PATCHES= ${FILESDIR}/extra-patch-include-CoCoA_config.H
post-patch:
- ${CP} ${FILESDIR}/Makefile.AlgebraicCore ${BUILD_WRKSRC}/Makefile
- ${CP} ${FILESDIR}/${PREPROCESSOR_DEFNS:T} ${PREPROCESSOR_DEFNS}
-
-post-patch-SMALLDEG-on:
- ${REINPLACE_CMD} 's,int SmallExponent_t,short SmallExponent_t,' ${WRKSRC}/include/CoCoA/config.H
-
-post-patch-TEST-on:
- ${CP} ${FILESDIR}/Makefile.tests ${TEST_WRKSRC}/Makefile
+ ${REINPLACE_CMD} "s,%%DISTVERSION%%,${DISTVERSION},g" ${BUILD_WRKSRC}/Makefile
do-configure-BOOST-on:
${ECHO_CMD} "#define COCOA_WITH_BOOST" >> ${PREPROCESSOR_DEFNS}
@@ -92,9 +86,6 @@ do-configure-NORMALIZ-on:
do-configure-NORMALIZ-off:
${ECHO_CMD} "#undef COCOA_WITH_NORMALIZ" >> ${PREPROCESSOR_DEFNS}
-post-configure:
- ${ECHO_CMD} "#endif" >> ${PREPROCESSOR_DEFNS}
-
pre-build:
cd ${WRKSRC}/include/CoCoA && ./MakeUnifiedHeader.sh --check
diff --git a/math/cocoalib/distinfo b/math/cocoalib/distinfo
index 7536234ab8ef..ed751a8f609f 100644
--- a/math/cocoalib/distinfo
+++ b/math/cocoalib/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1571752917
-SHA256 (CoCoALib-0.99601.tgz) = caf37f71398b9715be262e434f04a218db05cfa58e08bce954626d7f4ffd6b75
-SIZE (CoCoALib-0.99601.tgz) = 5432276
+TIMESTAMP = 1591142116
+SHA256 (CoCoALib-0.99710.tgz) = 80d472fd74c7972f8f2a239679e7ad8ae8a43676e3c259c2218ae2480a6267a8
+SIZE (CoCoALib-0.99710.tgz) = 5433119
diff --git a/math/cocoalib/files/Makefile.AlgebraicCore b/math/cocoalib/files/Makefile.AlgebraicCore
deleted file mode 100644
index 3a28196be6c0..000000000000
--- a/math/cocoalib/files/Makefile.AlgebraicCore
+++ /dev/null
@@ -1,11 +0,0 @@
-# $FreeBSD$
-all: BuildInfo.o ApproxPts.o ApproxPts2.o BenchmarkToolkit.o BigInt.o BigIntOps.o BigRat.o BigRatInterval.o BigRatOps.o CanonicalHom.o CpuTimeLimit.o DUPFp.o DenseMatrix.o DenseUPolyClean.o DenseUPolyRing.o DistrMPolyClean.o DistrMPolyInlFpPP.o DistrMPolyInlPP.o DivMask.o DynamicBitset.o ExternalLibs-Frobby.o ExternalLibs-GFan.o ExternalLibs-GSL.o ExternalLibs-MathSAT.o ExternalLibs-Normaliz.o ExternalLibs.o FGModule.o FieldIdeal.o FloatApprox.o FractionField.o FreeModule.o GBEnv.o GCDFreeBasis.o GlobalManager.o HomomorphismOps.o LinDepMill.o LogStream.o MachineInt.o MatrixForOrdering.o MatrixFp.o MatrixOps.o MatrixSpecial.o MatrixView.o MemPool.o ModuleOrdering.o NumTheory-GCDFreeBasis.o NumTheory-prime.o NumTheory.o OpenMath.o OpenMathXML.o OrdvArith.o OrthogonalPolys.o PPMonoid.o PPMonoidEv.o PPMonoidEvOv.o PPMonoidHom.o PPMonoidOv.o PPMonoidSparse.o PPOrdering.o PPWithMask.o PolyRing.o ProgressReporter.o QBGenerator.o QuasiPoly.o QuotientModule.o QuotientRing.o RandomSparseNonSing01Mat.o ReductionCog.o RingDenseUPolyClean.o RingDistrMPolyClean.o RingDistrMPolyInlFpPP.o RingDistrMPolyInlPP.o RingElemInput.o RingExtAlg.o RingFp.o RingFpDouble.o RingFpLog.o RingFqLog.o RingFqVec.o RingHom.o RingQQ.o RingTwinFloat.o RingWeyl.o RingZZ.o RootBound.o SignalWatcher.o SmallFpDoubleImpl.o SmallFpImpl.o SmallFpLogImpl.o SmallFqLogImpl.o SmallFqUtils.o SmallFqVecImpl.o SparsePolyOps-EvalInterval.o SparsePolyOps-IdealOfPoints.o SparsePolyOps-IdealZeroDim.o SparsePolyOps-MinPoly.o SparsePolyOps-MonomialIdeal.o SparsePolyOps-RadicalMembership.o SparsePolyOps-RealRadical.o SparsePolyOps-RingElem.o SparsePolyOps-RingHom.o SparsePolyOps-SturmSeq.o SparsePolyOps-hilbert.o SparsePolyOps-ideal.o SparsePolyOps-implicit.o SparsePolyOps-involutive.o SparsePolyOps-reduce.o SparsePolyRing.o SugarDegree.o ThreadsafeCounter.o TmpF5.o TmpF5Mat.o TmpFactorDir/BM.o TmpFactorDir/DUPFF.o TmpFactorDir/DUPFFddf.o TmpFactorDir/DUPFFderiv.o TmpFactorDir/DUPFFfactor.o TmpFactorDir/DUPFFlist.o TmpFactorDir/DUPFFmod.o TmpFactorDir/DUPFFprint.o TmpFactorDir/DUPFFsqfrd.o TmpFactorDir/DUPZ.o TmpFactorDir/DUPZ_DUPFF.o TmpFactorDir/DUPZcontent.o TmpFactorDir/DUPZcra.o TmpFactorDir/DUPZevaluate.o TmpFactorDir/DUPZfactor.o TmpFactorDir/DUPZfactor_bound.o TmpFactorDir/DUPZfactor_combine.o TmpFactorDir/DUPZfactor_info.o TmpFactorDir/DUPZfactor_liftq.o TmpFactorDir/DUPZfactor_prime.o TmpFactorDir/DUPZfactor_refine_fds.o TmpFactorDir/DUPZfactors.o TmpFactorDir/DUPZformal_deriv.o TmpFactorDir/DUPZgcd.o TmpFactorDir/DUPZlist.o TmpFactorDir/DUPZprint.o TmpFactorDir/DUPZroot_bound.o TmpFactorDir/DUPZsqfrd.o TmpFactorDir/FF.o TmpFactorDir/FindPrimRoot.o TmpFactorDir/PPstream.o TmpFactorDir/WGD.o TmpFactorDir/add_logs.o TmpFactorDir/berlekamp.o TmpFactorDir/debug_malloc.o TmpFactorDir/jaaerror.o TmpFactorDir/jalloc.o TmpFactorDir/linalg/FFdet.o TmpFactorDir/linalg/FFfind_block.o TmpFactorDir/linalg/FFkernel.o TmpFactorDir/linalg/FFmat.o TmpFactorDir/linalg/FFsolve.o TmpFactorDir/linalg/Qmat.o TmpFactorDir/linalg/Qsolve.o TmpFactorDir/linalg/Zdet.o TmpFactorDir/linalg/Zkernel.o TmpFactorDir/linalg/Zmat.o TmpFactorDir/linalg/Zmat_det_bound.o TmpFactorDir/linalg/Zsolve.o TmpFactorDir/linalg/mpz_from_padic.o TmpFactorDir/logi.o TmpFactorDir/mpq_to_FFelem.o TmpFactorDir/mpz_cmp_abs.o TmpFactorDir/mpz_cra_ui.o TmpFactorDir/mpz_lift_recip.o TmpFactorDir/mpz_log.o TmpFactorDir/multivariate/DMPZ.o TmpFactorDir/multivariate/DMPZ_to_DUPFF.o TmpFactorDir/multivariate/DMPZ_to_DUPZ.o TmpFactorDir/multivariate/DMPZeval.o TmpFactorDir/multivariate/DMPZevalQ.o TmpFactorDir/multivariate/DMPZfactor.o TmpFactorDir/multivariate/DMPZfactor_modp.o TmpFactorDir/multivariate/DMPZfactors.o TmpFactorDir/multivariate/DMPZgcd.o TmpFactorDir/multivariate/DMPZinteger_content.o TmpFactorDir/multivariate/DMPZinterp.o TmpFactorDir/multivariate/DMPZlift.o TmpFactorDir/multivariate/DMPZlist.o TmpFactorDir/multivariate/DMPZmap_to_univariate.o TmpFactorDir/multivariate/DUPZbivariate_lift.o TmpFactorDir/multivariate/DUPZexgcd.o TmpFactorDir/multivariate/DUPZgcd_free_basis.o TmpFactorDir/multivariate/DUPZinterp.o TmpFactorDir/primes.o TmpGOperations.o TmpGPair.o TmpGPoly.o TmpGRStats.o TmpGReductor.o TmpHilbertDir/AnnaUtils.o TmpHilbertDir/IVectors.o TmpHilbertDir/TermList.o TmpHilbertDir/TmpPoincareCPP.o TmpHilbertDir/eterms.o TmpHilbertDir/poincare.o TmpHilbertDir/rum.o TmpHilbertDir/toric.o TmpHilbertDir/unipoly.o TmpIsTree.o TmpJBAlgorithm.o TmpJBDatastructure.o TmpJBMill.o TmpJBSets.o TmpLDP.o TmpMayerVietorisTree.o TmpMonomialFunctions.o TmpMorseBetti.o TmpMorseElement.o TmpMorseGraph.o TmpMorsePaths.o TmpMorseResolution.o TmpPBMill.o TmpPPVector.o TmpPartialMorseBetti.o TmpResolutionMinimization.o TmpStabilityAlgorithm.o TmpToric.o TmpUniversalInvolutiveBasisContainer.o ToString.o UPoly.o VectorOps.o VerificationLevel.o apply.o assert.o bool3.o combinatorics.o convert.o degree.o error.o exception.o factor-AlgExtn.o factor.o geobucket.o ideal.o interrupt.o matrix.o module.o obsolescent.o random.o ring.o submodule.o subresultant.o symbol.o time.o utils-gmp.o utils.o verbose.o
- ar rcs libcocoa.a ${.ALLSRC}
-
-.SUFFIXES:.o
-.c.o:
- ${CXX} ${CXXFLAGS} -o ${.TARGET} -c ${.IMPSRC}
-.C.o:
- ${CXX} ${CXXFLAGS} -o ${.TARGET} -c ${.IMPSRC}
-BuildInfo.o:
- ${CXX} ${CXXFLAGS} -DCOCOA_VERSION="\"0.99600\"" -DCOCOA_CXX="\"${CXX}\"" -DCOCOA_CXXFLAGS="\"${CXXFLAGS}\"" -DCOCOA_CXXFLAGS_DEFINES="\"\"" -o BuildInfo.o -c BuildInfo.C
diff --git a/math/cocoalib/files/Makefile.tests b/math/cocoalib/files/Makefile.tests
deleted file mode 100644
index edfe0e7e7d6b..000000000000
--- a/math/cocoalib/files/Makefile.tests
+++ /dev/null
@@ -1,6 +0,0 @@
-# $FreeBSD$
-all: test-BigInt1 test-BigInt2 test-BigInt3 test-BigRat1 test-BigRat2 test-BigRat3 test-BigRat4 test-DenseUPolyRing1 test-DynamicBitset1 test-FloatApprox1 test-FractionField1 test-FreeModule1 test-FreeModule2 test-GFan1 test-GMPAllocator test-GOperations1 test-GOperations2 test-GReductor1 test-HomomorphismOps1 test-IdealOfPoints1 test-IntOperations1 test-IntOperations2 test-IntOperations3 test-IsInteger1 test-MachineInt1 test-MachineInt2 test-MatrixForOrdering1 test-MatrixForOrdering2 test-MatrixSpecial1 test-MatrixSpecial2 test-MinPoly1 test-MinPoly2 test-MonomialIdeal1 test-NumTheory1 test-NumTheory2 test-NumTheory3 test-NumTheory4 test-NumTheory5 test-NumTheory6 test-NumTheory7 test-NumTheory8 test-OpenMath1 test-OrderedDomain1 test-OrderedDomain2 test-PPMonoid1 test-PPMonoid2 test-PPMonoidHom1 test-PPMonoidSparse1 test-PPVector test-QBGenerator1 test-QuotientRing1 test-RadicalMembership1 test-RandomBigInt1 test-RandomLong1 test-RandomSource1 test-RandomSource2 test-RandomSource3 test-RingAssign1 test-RingElem1 test-RingElem2 test-RingElem3 test-RingElem4 test-RingElem5 test-RingElem6 test-RingFp1 test-RingFq1 test-RingHom1 test-RingHom2 test-RingHom3 test-RingHom4 test-RingQQ1 test-RingTwinFloat1 test-RingTwinFloat2 test-RingTwinFloat4 test-RingTwinFloat5 test-RingWeyl1 test-RingZZ1 test-RingZZ2 test-RingZZmodN1 test-RootBound1 test-RootBound2 test-SmallFp1 test-SmallFp2 test-SparsePolyRing1 test-SparsePolyRing2 test-SparsePolyRing3 test-SparsePolyRing4 test-SparsePolyRing5 test-SparsePolyRing6 test-SqFreeFactor1 test-SturmSeq1 test-TmpIsTree test-TmpMorseElement test-TmpMorseGraph test-TmpMorsePath test-TmpResolutionMinimization test-bool3 test-bug1 test-bug2 test-bug3 test-bug4 test-bug5 test-bug6 test-bug7 test-bug8 test-bug9 test-convert1 test-empty test-factor1 test-frobby1 test-gsl1 test-hilbert1 test-ideal1 test-ideal2 test-matrix1 test-matrix2 test-matrix3 test-matrix4 test-module1 test-normaliz1 test-normaliz2 test-obsolescent test-output test-symbol1 test-symbol2 test-toric1 test-utils1 test-utils2
- bash RunTests.sh ${.ALLSRC}
-
-.C:
- ${CXX} ${CXXFLAGS} -o ${.TARGET} ${.IMPSRC} ${LDFLAGS}
diff --git a/math/cocoalib/files/PREPROCESSOR_DEFNS.H b/math/cocoalib/files/PREPROCESSOR_DEFNS.H
deleted file mode 100644
index aa1919b36a8a..000000000000
--- a/math/cocoalib/files/PREPROCESSOR_DEFNS.H
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef CoCoA_PREPROCESSOR_DEFNS_H
-#define CoCoA_PREPROCESSOR_DEFNS_H
-
-// To enable debugging, reconfigure with option "--debug"
-#undef CoCoA_DEBUG
-
-// define CoCoA_MEMPOOL_DEBUG if you have memory problems
-#undef CoCoA_MEMPOOL_DEBUG
-
-
-#undef CoCoA_THREADSAFE_HACK
-#undef CoCoA_WITH_MATHSAT
-
-#define CoCoA_ULONG2LONG 1
diff --git a/math/cocoalib/files/extra-patch-include-CoCoA_config.H b/math/cocoalib/files/extra-patch-include-CoCoA_config.H
new file mode 100644
index 000000000000..b15f13fc0911
--- /dev/null
+++ b/math/cocoalib/files/extra-patch-include-CoCoA_config.H
@@ -0,0 +1,11 @@
+--- include/CoCoA/config.H.orig 2020-06-09 22:18:10 UTC
++++ include/CoCoA/config.H
+@@ -25,7 +25,7 @@ namespace CoCoA
+ // This is the type used internally for "small" exponents in some PPMonoids
+ // (PPMonoidEv, PPMonoidEvOv). Also implies the number of bits used for a
+ // "compressed entry" in an order vector (see OrdvArith).
+- typedef unsigned int SmallExponent_t;
++ typedef unsigned short SmallExponent_t;
+
+ // **ROUNDING**
+ // The way CoCoALib rounds halves is determined by the fns RoundDiv in
diff --git a/math/cocoalib/files/patch-src_AlgebraicCore_Makefile b/math/cocoalib/files/patch-src_AlgebraicCore_Makefile
new file mode 100644
index 000000000000..b44336052c65
--- /dev/null
+++ b/math/cocoalib/files/patch-src_AlgebraicCore_Makefile
@@ -0,0 +1,148 @@
+--- src/AlgebraicCore/Makefile.orig 2020-03-11 17:00:26 UTC
++++ src/AlgebraicCore/Makefile
+@@ -1,10 +1,5 @@
+ # Makefile for CoCoALib/src/AlgebraicCore/ directory.
+
+-COCOA_ROOT=../..
+-include $(COCOA_ROOT)/configuration/autoconf.mk
+-CWD=src/AlgebraicCore/
+-DEPEND_FILE=Makefile_dependencies
+-
+ SUBDIRS=TmpFactorDir TmpHilbertDir
+
+ FROBBY_FILES=ExternalLibs-Frobby.C
+@@ -72,126 +67,17 @@ SRCS=time.C assert.C utils.C utils-gmp.C VectorOps.C
+ $(FROBBY_FILES) $(GFAN_FILES) $(GSL_FILES) \
+ $(MATHSAT_FILES) $(NORMALIZ_FILES)
+
+-# (see below) OBJS depend on $(COCOA_ROOT)/configuration/autoconf.mk
+-OBJS=$(SRCS:.C=.o)
++all: ${SRCS:.C=.o}
++ for x in ${SUBDIRS}; do make -C $$x; done
++ ar rcs libcocoa.a ${.ALLSRC}
+
+-# The default target compiles debug_new.C and leak_checker.C as
+-# well as all the files listed in SRCS.
+-default:
+- @echo "*** $(CWD)Makefile: default target ***"
+- @cd $(COCOA_ROOT); $(MAKE) library
++.SUFFIXES:.o
+
+-.PHONY: all
+-all: check-source-files $(COCOA_LIB) debug_new.o leak_checker
++.C.o:
++ ${CXX} ${CXXFLAGS} -o ${.TARGET} -c ${.IMPSRC}
+
+-$(COCOA_LIB): $(OBJS) $(SUBDIRS)
+- mkdir -p `dirname $(COCOA_LIB)`
+- for subdir in $(SUBDIRS); \
+- do \
+- echo "Compiling directory $(CWD)$$subdir/"; \
+- touch "$$subdir"; \
+- ( cd "$$subdir"; $(MAKE) -s ); \
+- if [ $$? -ne 0 ]; then echo "***** Compilation of $(CWD)$$subdir/ FAILED *****"; exit 1; fi; \
+- done
+- echo "doing ar for AlgebraicCore"
+- ar $(ARFLAGS) $(COCOA_LIB) $(OBJS)
+-
+-$(OBJS): $(COCOA_ROOT)/configuration/autoconf.mk
+-
+-.PHONY: check-source-files
+-check-source-files:
+- @./CheckSourceFiles.sh $(SRCS)
+-
+-
+-#######################################################
+-# Special compilation targets with extra CPP symbols.
+-BuildInfo.o: BuildInfo.C $(COCOA_ROOT)/include/CoCoA/BuildInfo.H
+- @echo "Compiling BuildInfo.o (with special preprocessor flags)"
+- $(COMPILE) -c -DCOCOA_VERSION="\"$(COCOALIB_VERSION)\"" -DCOCOA_CXX="\"$(CXX)\"" -DCOCOA_CXXFLAGS="\"$(CXXFLAGS)\"" -DCOCOA_CXXFLAGS_DEFINES="\"$(CXXFLAGS_DEFINES)\"" -o BuildInfo.o BuildInfo.C
+-
+-IdealOfPoints.o: IdealOfPoints.C $(COCOA_ROOT)/include/CoCoA/IdealOfPoints.H
+- @echo "Compiling IdealOfPoints -- keep your fingers crossed"
+- $(COMPILE) -ITmpFactorDir/ -c IdealOfPoints.C
+-
+-factor.o: factor.C $(COCOA_ROOT)/include/CoCoA/factor.H
+- @echo "Compiling factor -- keep your fingers crossed"
+- $(COMPILE) -ITmpFactorDir/ -ITmpFactorDir/multivariate/ -c factor.C
+-
+-TmpHilbert.o: TmpHilbert.C $(COCOA_ROOT)/include/CoCoA/TmpHilbert.H
+- @echo "Compiling TmpHilbert -- keep your fingers crossed"
+- $(COMPILE) -ITmpHilbertDir/ -c TmpHilbert.C
+-
+-debug_new.o: debug_new.C $(COCOA_ROOT)/include/CoCoA/debug_new.H
+- @echo "Compiling debug_new.o (not part of CoCoALib)"
+- $(COMPILE) -c -o debug_new.o debug_new.C
+-
+-leak_checker: leak_checker.C
+- @echo "Compiling leak_checker (not part of CoCoALib)"
+- $(COMPILE) -o leak_checker leak_checker.C
+- /bin/rm -rf leak_checker.dSYM
+-
+-
+-.PHONY: clean clean-local clean-subdirs
+-clean: clean-local clean-subdirs
+- @echo "Cleaned CoCoALib/$(CWD)"
+-
+-clean-local:
+- @/bin/rm -f $(OBJS) a.out core "$(DEPEND_FILE).old" "$(DEPEND_FILE).new" leak_checker debug_new.o
+- @/bin/rm -f ./*~ ./.*~ ./.\#*
+- @/bin/rm -rf ./*.dSYM
+-
+-clean-subdirs:
+- for subdir in $(SUBDIRS); do ( cd $$subdir; $(MAKE) -s clean ); done
+-
+-.PHONY: veryclean veryclean-subdirs
+-veryclean: clean-local veryclean-subdirs
+- @/bin/rm -f "$(DEPEND_FILE)"
+- @true >| "$(DEPEND_FILE)" # Empties $(DEPEND_FILE)
+- @echo "Verycleaned CoCoALib/$(CWD)"
+-
+-veryclean-subdirs:
+- for subdir in $(SUBDIRS); do ( cd $$subdir; $(MAKE) -s veryclean ); done
+-
+-
+-# This target checks whether we should really build DEPEND_FILE...
+-# (only if COCOA_HDR is newer than DEPEND_FILE).
+-.PHONY: dependencies
+-dependencies:
+- @if [ \! -s "$(DEPEND_FILE)" -o \! "$(DEPEND_FILE)" -nt "$(COCOA_HDR)" ] ; \
+- then \
+- $(MAKE) create-dependencies; \
+- fi
+- for subdir in $(SUBDIRS); do ( cd $$subdir; $(MAKE) -s dependencies ); done
+-
+-# This is the target which really does rebuild the DEPEND_FILE
+-.PHONY: create-dependencies
+-create-dependencies:
+- @/bin/rm -rf $(DEPEND_FILE).new
+- @echo "Rebuilding dependencies in <CoCoALib>/$(CWD)"
+- @echo "##################################################################" >> $(DEPEND_FILE).new
+- @echo "# --- CoCoALib version $(COCOALIB_VERSION) ---" >> $(DEPEND_FILE).new
+- @echo "# Dependencies for directory $(CWD)" >> $(DEPEND_FILE).new
+- @echo "# DO NOT EDIT: this file is automatically generated; to regenerate" >> $(DEPEND_FILE).new
+- @echo "# run \`make dependencies' in the CoCoALib root directory." >> $(DEPEND_FILE).new
+- @echo "##################################################################" >> $(DEPEND_FILE).new
+- @echo >> $(DEPEND_FILE).new
+- @for srcfile in $(SRCS); \
+- do \
+- objfile=`basename $$srcfile .C`.o; \
+- $(CXX) $(CXXFLAGS) $(CXXFLAGS_DEFINES) $(INCLUDE) -ITmpFactorDir -ITmpFactorDir/linalg -ITmpFactorDir/multivariate -MM "$$srcfile" -MQ "$$objfile" >> $(DEPEND_FILE).new; \
+- echo >> $(DEPEND_FILE).new; \
+- done
+- @if [ -s "$(DEPEND_FILE)" ] ; \
+- then \
+- /bin/mv -f "$(DEPEND_FILE)" "$(DEPEND_FILE).old" ; \
+- fi
+- @/bin/mv -f $(DEPEND_FILE).new $(DEPEND_FILE)
+-
+-
+-$(DEPEND_FILE):
+- @touch "$(DEPEND_FILE)"
+-
+-include $(DEPEND_FILE)
++BuildInfo.o:
++ ${CXX} ${CXXFLAGS} -DCOCOA_VERSION="\"%%DISTVERSION%%\"" -DCOCOA_CXX="\"${CXX}\"" -DCOCOA_CXXFLAGS="\"${CXXFLAGS}\"" -DCOCOA_CXXFLAGS_DEFINES="\"\"" -o BuildInfo.o -c BuildInfo.C
+
+ # Next few lines are for RCS header/log
+ # $Header: /Volumes/Home_1/cocoa/cvs-repository/CoCoALib-0.99/src/AlgebraicCore/Makefile,v 1.169 2020/03/11 17:00:26 abbott Exp $
diff --git a/math/cocoalib/files/patch-src_AlgebraicCore_TmpFactorDir_Makefile b/math/cocoalib/files/patch-src_AlgebraicCore_TmpFactorDir_Makefile
new file mode 100644
index 000000000000..e2a9d31888dc
--- /dev/null
+++ b/math/cocoalib/files/patch-src_AlgebraicCore_TmpFactorDir_Makefile
@@ -0,0 +1,99 @@
+--- src/AlgebraicCore/TmpFactorDir/Makefile.orig 2020-03-06 20:35:15 UTC
++++ src/AlgebraicCore/TmpFactorDir/Makefile
+@@ -1,10 +1,5 @@
+ # Makefile for CoCoALib/src/AlgebraicCore/TmpFactorDir/ directory
+
+-COCOA_ROOT=../../..
+-include $(COCOA_ROOT)/configuration/autoconf.mk
+-CWD=src/AlgebraicCore/TmpFactorDir/
+-DEPEND_FILE=Makefile_dependencies
+-
+ SUBDIRS=linalg multivariate
+
+ SRCS=primes.c DUPFF.c FF.c FindPrimRoot.c DUPFFsqfrd.c DUPFFderiv.c \
+@@ -19,79 +14,11 @@ SRCS=primes.c DUPFF.c FF.c FindPrimRoot.c DUPFFsqfrd.c
+ jalloc.c add_logs.c jaaerror.c debug_malloc.c \
+ DUPZfactor_liftq.c mpz_lift_recip.c mpq_to_FFelem.c
+
+-OBJS=$(SRCS:.c=.o)
++all: ${SRCS:.c=.o}
++ for x in ${SUBDIRS}; do make -C $$x; done
++ ar rcs ../libcocoa.a ${.ALLSRC}
+
+-%.o: %.c
+- $(COMPILE) -I. -Ilinalg -c -o $@ $<
++.SUFFIXES:.o
+
+-.PHONY: default
+-default: $(OBJS)
+- ar $(ARFLAGS) $(COCOA_LIB) $(OBJS)
+- for subdir in $(SUBDIRS); \
+- do \
+- echo "Compiling directory $(CWD)$$subdir/"; \
+- (cd "$$subdir"; $(MAKE) -s); \
+- done
+-
+-
+-.PHONY: clean clean-local clean-subdirs
+-clean: clean-local clean-subdirs
+- @echo "Cleaned CoCoALib/$(CWD)";
+-
+-clean-local:
+- @/bin/rm -f $(OBJS) "$(DEPEND_FILE).old" "$(DEPEND_FILE).new" ./*~ ./.*~ ./.\#*
+- @/bin/rm -rf ./*.dSYM
+-
+-clean-subdirs:
+- for subdir in $(SUBDIRS); do ( cd "$$subdir"; $(MAKE) -s clean ); done
+-
+-.PHONY: veryclean veryclean-subdirs
+-veryclean: clean-local veryclean-subdirs
+- @true >| "$(DEPEND_FILE)" # Empties $(DEPEND_FILE)
+- echo "Verycleaned CoCoALib/$(CWD)"
+-
+-veryclean-subdirs:
+- for subdir in $(SUBDIRS); do ( cd "$$subdir"; $(MAKE) -s veryclean ); done
+-
+-
+-
+-# This target checks whether we should really build DEPEND_FILE
+-.PHONY: dependencies
+-dependencies:
+- @if [ \! -s "$(DEPEND_FILE)" -o \! "$(DEPEND_FILE)" -nt "$(COCOA_HDR)" ] ; \
+- then \
+- $(MAKE) create-dependencies; \
+- fi
+- for subdir in $(SUBDIRS); do ( cd $$subdir; $(MAKE) -s dependencies ); done
+-
+-# This is the target which really does rebuild the DEPEND_FILE
+-.PHONY: create-dependencies
+-create-dependencies:
+- @/bin/rm -rf $(DEPEND_FILE).new
+- @echo "Rebuilding dependencies in <CoCoALib>/$(CWD)"
+- @echo "##################################################################" >> $(DEPEND_FILE).new
+- @echo "# --- CoCoALib version $(COCOALIB_VERSION) ---" >> $(DEPEND_FILE).new
+- @echo "# Dependencies for directory $(CWD)" >> $(DEPEND_FILE).new
+- @echo "# DO NOT EDIT: this file is automatically generated; to regenerate" >> $(DEPEND_FILE).new
+- @echo "# run \`make dependencies' in the CoCoALib root directory." >> $(DEPEND_FILE).new
+- @echo "##################################################################" >> $(DEPEND_FILE).new
+- @echo >> $(DEPEND_FILE).new
+- for srcfile in $(SRCS); \
+- do \
+- objfile=`basename $$srcfile .c`.o; \
+- $(CXX) $(INCLUDE) -I. -Ilinalg -Imultivariate -MM "$$srcfile" -MQ "$$objfile" >> $(DEPEND_FILE).new; \
+- echo >> $(DEPEND_FILE).new; \
+- done
+- @if [ -s "$(DEPEND_FILE)" ] ; \
+- then \
+- /bin/mv -f "$(DEPEND_FILE)" "$(DEPEND_FILE).old" ; \
+- fi
+- @/bin/mv $(DEPEND_FILE).new $(DEPEND_FILE)
+-
+-
+-$(DEPEND_FILE):
+- @touch "$(DEPEND_FILE)"
+-
+-include $(DEPEND_FILE)
+-
+-$(OBJS): $(COCOA_ROOT)/configuration/autoconf.mk
++.c.o:
++ ${CXX} ${CXXFLAGS} -o ${.TARGET} -c ${.IMPSRC}
diff --git a/math/cocoalib/files/patch-src_AlgebraicCore_TmpFactorDir_linalg_Makefile b/math/cocoalib/files/patch-src_AlgebraicCore_TmpFactorDir_linalg_Makefile
new file mode 100644
index 000000000000..467fa0c65b0a
--- /dev/null
+++ b/math/cocoalib/files/patch-src_AlgebraicCore_TmpFactorDir_linalg_Makefile
@@ -0,0 +1,81 @@
+--- src/AlgebraicCore/TmpFactorDir/linalg/Makefile.orig 2020-03-06 20:35:15 UTC
++++ src/AlgebraicCore/TmpFactorDir/linalg/Makefile
+@@ -1,73 +1,13 @@
+ # Makefile for CoCoALib/src/AlgebraicCore/TmpFactorDir/linalg/ directory
+
+-COCOA_ROOT=../../../..
+-include $(COCOA_ROOT)/configuration/autoconf.mk
+-CWD=src/AlgebraicCore/TmpFactorDir/linalg/
+-DEPEND_FILE=Makefile_dependencies
+-
+ SRCS=FFfind_block.c FFdet.c FFsolve.c FFkernel.c Zkernel.c \
+ Zdet.c Zsolve.c FFmat.c Zmat.c mpz_from_padic.c Zmat_det_bound.c \
+ Qmat.c Qsolve.c
+
+-OBJS=$(SRCS:.c=.o)
++all: ${SRCS:.c=.o}
++ ar rcs ../../libcocoa.a ${.ALLSRC}
+
+-%.o: %.c
+- $(COMPILE) -I. -I.. -c -o $@ $<
++.SUFFIXES:.o
+
+-.PHONY: default
+-default: $(OBJS)
+- ar $(ARFLAGS) $(COCOA_LIB) $(OBJS)
+-
+-.PHONY: clean clean-local
+-clean: clean-local
+- echo "Cleaned CoCoALib/$(CWD)"
+-
+-clean-local:
+- @/bin/rm -f $(OBJS) "$(DEPEND_FILE).old" "$(DEPEND_FILE).new" ./*~ ./.*~ ./.\#*
+- @/bin/rm -rf ./*.dSYM
+-
+-.PHONY: veryclean
+-veryclean: clean-local
+- @true >| "$(DEPEND_FILE)" # Empties $(DEPEND_FILE)
+- echo "Verycleaned CoCoALib/$(CWD)"
+-
+-
+-# This target checks whether we should really build DEPEND_FILE
+-.PHONY: dependencies
+-dependencies:
+- @if [ \! -s "$(DEPEND_FILE)" -o \! "$(DEPEND_FILE)" -nt "$(COCOA_HDR)" ] ; \
+- then \
+- $(MAKE) create-dependencies; \
+- fi
+-
+-# This is the target which really does rebuild the DEPEND_FILE
+-.PHONY: create-dependencies
+-create-dependencies:
+- @/bin/rm -rf $(DEPEND_FILE).new
+- @echo "Rebuilding dependencies in <CoCoALib>/$(CWD)"
+- @echo "##################################################################" >> $(DEPEND_FILE).new
+- @echo "# --- CoCoALib version $(COCOALIB_VERSION) ---" >> $(DEPEND_FILE).new
+- @echo "# Dependencies for directory $(CWD)" >> $(DEPEND_FILE).new
+- @echo "# DO NOT EDIT: this file is automatically generated; to regenerate" >> $(DEPEND_FILE).new
+- @echo "# run \`make dependencies' in the CoCoALib root directory." >> $(DEPEND_FILE).new
+- @echo "##################################################################" >> $(DEPEND_FILE).new
+- @echo >> $(DEPEND_FILE).new
+- for srcfile in $(SRCS); \
+- do \
+- objfile=`basename $$srcfile .C`.o; \
+- $(CXX) $(INCLUDE) -I. -I.. -MM "$$srcfile" -MQ "$$objfile" >> $(DEPEND_FILE).new; \
+- echo >> $(DEPEND_FILE).new; \
+- done
+- @if [ -s "$(DEPEND_FILE)" ] ; \
+- then \
+- /bin/mv -f "$(DEPEND_FILE)" "$(DEPEND_FILE).old" ; \
+- fi
+- @/bin/mv $(DEPEND_FILE).new $(DEPEND_FILE)
+-
+-
+-$(DEPEND_FILE):
+- @touch "$(DEPEND_FILE)"
+-
+-include $(DEPEND_FILE)
+-
+-$(OBJS): $(COCOA_ROOT)/configuration/autoconf.mk
++.c.o:
++ ${CXX} ${CXXFLAGS} -o ${.TARGET} -c ${.IMPSRC}
diff --git a/math/cocoalib/files/patch-src_AlgebraicCore_TmpFactorDir_multivariate_Makefile b/math/cocoalib/files/patch-src_AlgebraicCore_TmpFactorDir_multivariate_Makefile
new file mode 100644
index 000000000000..5127b3183d38
--- /dev/null
+++ b/math/cocoalib/files/patch-src_AlgebraicCore_TmpFactorDir_multivariate_Makefile
@@ -0,0 +1,82 @@
+--- src/AlgebraicCore/TmpFactorDir/multivariate/Makefile.orig 2020-03-06 20:35:15 UTC
++++ src/AlgebraicCore/TmpFactorDir/multivariate/Makefile
+@@ -1,74 +1,15 @@
+ # Makefile for CoCoALib/src/AlgebraicCore/TmpFactorDir/multivariate/ directory.
+
+-COCOA_ROOT=../../../..
+-include $(COCOA_ROOT)/configuration/autoconf.mk
+-CWD=src/AlgebraicCore/TmpFactorDir/multivariate/
+-DEPEND_FILE=Makefile_dependencies
+-
+ SRCS=DUPZgcd_free_basis.c DUPZexgcd.c DUPZbivariate_lift.c DMPZfactors.c \
+ DMPZfactor.c DMPZlist.c DMPZeval.c DMPZ.c DUPZinterp.c DMPZinterp.c \
+ DMPZevalQ.c DMPZfactor_modp.c DMPZgcd.c DMPZ_to_DUPZ.c \
+ DMPZlift.c DMPZ_to_DUPFF.c DMPZinteger_content.c DMPZmap_to_univariate.c
+ #DUPFFbivariate_lift3.c
+
+-OBJS=$(SRCS:.c=.o)
++all: ${SRCS:.c=.o}
++ ar rcs ../../libcocoa.a ${.ALLSRC}
+
+-%.o: %.c
+- $(COMPILE) -I. -I.. -I../linalg -c -o $@ $<
++.SUFFIXES:.o
+
+-default: $(OBJS)
+- ar $(ARFLAGS) $(COCOA_LIB) $(OBJS)
+-
+-.PHONY: clean clean-local
+-clean: clean-local
+- @echo "Cleaned CoCoALib/$(CWD)"
+-
+-clean-local:
+- @/bin/rm -f $(OBJS) "$(DEPEND_FILE).old" "$(DEPEND_FILE).new" ./*~ ./.*~ ./.\#*
+- @/bin/rm -rf ./*.dSYM
+-
+-.PHONY: veryclean
+-veryclean: clean-local
+- @true >| "$(DEPEND_FILE)" # Empties $(DEPEND_FILE)
+- @echo "Verycleaned CoCoALib/$(CWD)"
+-
+-
+-# This target checks whether we should really build DEPEND_FILE
+-.PHONY: dependencies
+-dependencies:
+- @if [ \! -s "$(DEPEND_FILE)" -o \! "$(DEPEND_FILE)" -nt "$(COCOA_HDR)" ] ; \
+- then \
+- $(MAKE) create-dependencies; \
+- fi
+-
+-# This is the target which really does rebuild the DEPEND_FILE
+-.PHONY: create-dependencies
+-create-dependencies:
+- @/bin/rm -rf $(DEPEND_FILE).new
+- @echo "Rebuilding dependencies in <CoCoALib>/$(CWD)"
+- @echo "##################################################################" >> $(DEPEND_FILE).new
+- @echo "# --- CoCoALib version $(COCOALIB_VERSION) ---" >> $(DEPEND_FILE).new
+- @echo "# Dependencies for directory $(CWD)" >> $(DEPEND_FILE).new
+- @echo "# DO NOT EDIT: this file is automatically generated; to regenerate" >> $(DEPEND_FILE).new
+- @echo "# run \`make dependencies' in the CoCoALib root directory." >> $(DEPEND_FILE).new
+- @echo "##################################################################" >> $(DEPEND_FILE).new
+- @echo >> $(DEPEND_FILE).new
+- for srcfile in $(SRCS); \
+- do \
+- objfile=`basename $$srcfile .c`.o; \
+- $(CXX) $(INCLUDE) -I. -I.. -I../linalg -MM "$$srcfile" -MQ "$$objfile" >> $(DEPEND_FILE).new; \
+- echo >> $(DEPEND_FILE).new; \
+- done
+- @if [ -s "$(DEPEND_FILE)" ] ; \
+- then \
+- /bin/mv -f "$(DEPEND_FILE)" "$(DEPEND_FILE).old" ; \
+- fi
+- @/bin/mv $(DEPEND_FILE).new $(DEPEND_FILE)
+-
+-
+-$(DEPEND_FILE):
+- @touch "$(DEPEND_FILE)"
+-
+-include $(DEPEND_FILE)
+-
+-$(OBJS): $(COCOA_ROOT)/configuration/autoconf.mk
++.c.o:
++ ${CXX} ${CXXFLAGS} -o ${.TARGET} -c ${.IMPSRC}
diff --git a/math/cocoalib/files/patch-src_AlgebraicCore_TmpHilbertDir_Makefile b/math/cocoalib/files/patch-src_AlgebraicCore_TmpHilbertDir_Makefile
new file mode 100644
index 000000000000..154f63697883
--- /dev/null
+++ b/math/cocoalib/files/patch-src_AlgebraicCore_TmpHilbertDir_Makefile
@@ -0,0 +1,80 @@
+--- src/AlgebraicCore/TmpHilbertDir/Makefile.orig 2020-03-06 20:35:15 UTC
++++ src/AlgebraicCore/TmpHilbertDir/Makefile
+@@ -1,72 +1,13 @@
+ # Makefile for CoCoALib/src/AlgebraicCore/TmpHilbertDir/ directory
+
+-COCOA_ROOT=../../..
+-include $(COCOA_ROOT)/configuration/autoconf.mk
+-CWD=src/AlgebraicCore/TmpHilbertDir/
+-DEPEND_FILE=Makefile_dependencies
+-
+ SRCS=AnnaUtils.C IVectors.C eterms.C poincare.C rum.C unipoly.C TermList.C \
+ toric.C \
+ TmpPoincareCPP.C
+
+-OBJS=$(SRCS:.C=.o)
++all: ${SRCS:.C=.o}
++ ar rcs ../libcocoa.a ${.ALLSRC}
+
+-# Default target, must be the first one!
+-.PHONY: default
+-default: $(OBJS)
+- ar $(ARFLAGS) $(COCOA_LIB) $(OBJS)
++.SUFFIXES:.o
+
+-.PHONY: clean clean-local
+-clean: clean-local
+- @echo "Cleaned CoCoALib/$(CWD)"
+-
+-clean-local:
+- @/bin/rm -f $(OBJS) "$(DEPEND_FILE).old" "$(DEPEND_FILE).new" ./*~ ./.*~ ./.\#*
+- @/bin/rm -rf ./*.dSYM
+-
+-
+-.PHONY: veryclean
+-veryclean: clean-local
+- @true >| "$(DEPEND_FILE)" # Empties $(DEPEND_FILE)
+- @echo "Verycleaned CoCoALib/$(CWD)"
+-
+-
+-# This target checks whether we should really build DEPEND_FILE
+-.PHONY: dependencies
+-dependencies:
+- @if [ \! -s "$(DEPEND_FILE)" -o \! "$(DEPEND_FILE)" -nt "$(COCOA_HDR)" ] ; \
+- then \
+- $(MAKE) create-dependencies; \
+- fi
+-
+-# This is the target which really does rebuild the DEPEND_FILE
+-.PHONY: create-dependencies
+-create-dependencies:
+- @/bin/rm -rf $(DEPEND_FILE).new
+- @echo "Rebuilding dependencies in <CoCoALib>/$(CWD)"
+- @echo "##################################################################" >> $(DEPEND_FILE).new
+- @echo "# --- CoCoALib version $(COCOALIB_VERSION) ---" >> $(DEPEND_FILE).new
+- @echo "# Dependencies for directory $(CWD)" >> $(DEPEND_FILE).new
+- @echo "# DO NOT EDIT: this file is automatically generated; to regenerate" >> $(DEPEND_FILE).new
+- @echo "# run \`make dependencies' in the CoCoALib root directory." >> $(DEPEND_FILE).new
+- @echo "##################################################################" >> $(DEPEND_FILE).new
+- @echo >> $(DEPEND_FILE).new
+- for srcfile in $(SRCS); \
+- do \
+- objfile=`basename $$srcfile .c`.o; \
+- $(CXX) $(INCLUDE) -I. -MM "$$srcfile" -MQ "$$objfile" >> $(DEPEND_FILE).new; \
+- echo >> $(DEPEND_FILE).new; \
+- done
+- @if [ -s "$(DEPEND_FILE)" ] ; \
+- then \
+- /bin/mv -f "$(DEPEND_FILE)" "$(DEPEND_FILE).old" ; \
+- fi
+- @/bin/mv $(DEPEND_FILE).new $(DEPEND_FILE)
+-
+-
+-$(DEPEND_FILE):
+- @touch "$(DEPEND_FILE)"
+-
+-include $(DEPEND_FILE)
+-
+-$(OBJS): $(COCOA_ROOT)/configuration/autoconf.mk
++.C.o:
++ ${CXX} ${CXXFLAGS} -o ${.TARGET} -c ${.IMPSRC}
diff --git a/math/cocoalib/files/patch-src_AlgebraicCore_TmpLDP.C b/math/cocoalib/files/patch-src_AlgebraicCore_TmpLDP.C
deleted file mode 100644
index e042bac78fc9..000000000000
--- a/math/cocoalib/files/patch-src_AlgebraicCore_TmpLDP.C
+++ /dev/null
@@ -1,10 +0,0 @@
---- src/AlgebraicCore/TmpLDP.C.orig 2018-08-28 05:34:27 UTC
-+++ src/AlgebraicCore/TmpLDP.C
-@@ -11,6 +11,7 @@
- #include "CoCoA/QBGenerator.H"
- #include "CoCoA/RingHom.H"
- #include "CoCoA/SparsePolyRing.H"
-+#include "CoCoA/SparsePolyOps-RingElem.H"
- #include "CoCoA/convert.H"
- #include "CoCoA/matrix.H"
- #include "CoCoA/ring.H"
diff --git a/math/cocoalib/files/patch-src_tests_Makefile b/math/cocoalib/files/patch-src_tests_Makefile
new file mode 100644
index 000000000000..063bd5ffe2be
--- /dev/null
+++ b/math/cocoalib/files/patch-src_tests_Makefile
@@ -0,0 +1,129 @@
+--- src/tests/Makefile.orig 2020-06-11 13:17:06 UTC
++++ src/tests/Makefile
+@@ -1,11 +1,5 @@
+ # Makefile for CoCoALib/src/tests/ directory
+
+-COCOA_ROOT=../..
+-include $(COCOA_ROOT)/configuration/autoconf.mk
+-CWD=src/tests/
+-
+-DEPEND_FILE=Makefile_dependencies
+-
+ TESTS=test-empty.C \
+ test-BigInt1.C test-BigInt2.C test-BigInt3.C \
+ test-BigRat1.C test-BigRat2.C test-BigRat3.C test-BigRat4.C \
+@@ -66,110 +60,11 @@ TESTS=test-empty.C \
+ test-utils1.C test-utils2.C
+ # test-RingTwinFloat3.C test-OpenMath2.C -- skip these tests for the moment
+
++all: ${TESTS:.C=}
++ bash RunTests.sh ${.ALLSRC}
+
+-EXECS=$(TESTS:.C=)
+-
+-
+-default:
+- @echo "*** src/tests/Makefile: default target ***"
+- @(cd $(COCOA_ROOT); $(MAKE) check)
+-
+-$(COCOA_LIB):
+- @echo "Compiling CoCoALib..."
+- @(cd $(COCOA_ROOT); $(MAKE) library)
+-
+-.PHONY: lib
+-lib: $(COCOA_LIB)
+-
+-.PHONY: library
+-library: $(COCOA_LIB)
+-
+-
+-# This target should be made only after the CoCoA library has been compiled;
+-# normally it would be called by the command "make check" in the CoCoALib root
+-# directory.
+-.PHONY: executables
+-executables: $(EXECS)
+-
+-$(EXECS): $(COCOA_LIB)
+-
+-
+-# This target should be made only after the CoCoA library has been compiled;
+-# normally it would be called by the command "make RunTests" in the CoCoALib root
+-# directory. Most of the work is done by the RunTests.sh script.
+-.PHONY: check
+-check: $(EXECS)
+- @./RunTests.sh $(EXECS) 2> /dev/null # discard err mesgs from the shell script
+-
+-
+-.PHONY: valgrind
+-valgrind: executables
+- @./ValgrindTests.sh $(EXECS)
+-
+-
+-.PHONY: clean clean-local
+-clean: clean-local
+- @echo "Cleaned CoCoALib/$(CWD)"
+-
+-clean-local:
+- @/bin/rm -f ./*.o gmon.out core a.out ./*~ ./.*~ ./.\#*
+- @/bin/rm -f $(EXECS) "$(DEPEND_FILE).new" "$(DEPEND_FILE).old" ./*.cout ./*.cerr
+- @/bin/rm -rf ./*.dSYM
+-
+-.PHONY: veryclean
+-veryclean: clean-local
+- @true >| "$(DEPEND_FILE)" # Empties $(DEPEND_FILE)
+- @echo "Verycleaned CoCoALib/$(CWD)"
+-
+-
+-# Morally the DEPEND_FILE depends on $(TESTS), but I do not tell make
+-# this as it tends to rebuild it too often.
+-
+-# This target checks whether we should really build DEPEND_FILE
+-.PHONY: dependencies
+-dependencies:
+- @if [ \! -s "$(DEPEND_FILE)" -o \! "$(DEPEND_FILE)" -nt "$(COCOA_HDR)" ] ; \
+- then \
+- $(MAKE) create-dependencies; \
+- fi
+-
+-# This is the target which really does rebuild the DEPEND_FILE
+-.PHONY: create-dependencies
+-create-dependencies:
+- @/bin/rm -rf $(DEPEND_FILE).new
+- @echo "Rebuilding dependencies in <CoCoALib>/$(CWD)"
+- @echo "##################################################################" >> $(DEPEND_FILE).new
+- @echo "# --- CoCoALib version $(COCOALIB_VERSION) ---" >> $(DEPEND_FILE).new
+- @echo "# Dependencies for directory CoCoALib/src/tests/" >> $(DEPEND_FILE).new
+- @echo "# DO NOT EDIT: this file is automatically generated; to regenerate" >> $(DEPEND_FILE).new
+- @echo "# run \`make dependencies' in the CoCoALib root directory." >> $(DEPEND_FILE).new
+- @echo "##################################################################" >> $(DEPEND_FILE).new
+- @echo >> $(DEPEND_FILE).new
+- @echo "#----------------------------------------------------------" >> $(DEPEND_FILE).new
+- @echo "# all executables also depend on libcocoa.a -- see Makefile" >> $(DEPEND_FILE).new
+- @echo "#----------------------------------------------------------" >> $(DEPEND_FILE).new
+- @echo >> $(DEPEND_FILE).new
+- @for srcfile in $(TESTS); \
+- do \
+- execfile=`basename $$srcfile .C`; \
+- echo "$$execfile: $$srcfile" >> $(DEPEND_FILE).new; \
+- echo >> $(DEPEND_FILE).new; \
+- done
+- @if [ -s "$(DEPEND_FILE)" ] ; \
+- then \
+- /bin/mv -f "$(DEPEND_FILE)" "$(DEPEND_FILE).old" ; \
+- fi
+- @/bin/mv $(DEPEND_FILE).new $(DEPEND_FILE)
+-
+-
+-# Tests using external libs depend on those libs
+-test-frobby1: $(FROBBY_LIBS)
+-test-normaliz1: $(NORMALIZ_LIBS)
+-
+-$(DEPEND_FILE):
+- @touch "$(DEPEND_FILE)"
+-
+-include $(DEPEND_FILE)
++.C:
++ ${CXX} ${CXXFLAGS} -o ${.TARGET} ${.IMPSRC} ${LDFLAGS}
+
+ #############################################################################
+ # Next few lines are for RCS header/log
diff --git a/math/cocoalib/pkg-plist b/math/cocoalib/pkg-plist
index 6ebaa934a94e..3390a10a1675 100644
--- a/math/cocoalib/pkg-plist
+++ b/math/cocoalib/pkg-plist
@@ -30,7 +30,6 @@ include/CoCoA/FloatApprox.H
include/CoCoA/FractionField.H
include/CoCoA/FreeModule.H
include/CoCoA/GBEnv.H
-include/CoCoA/GCDFreeBasis.H
include/CoCoA/GlobalManager.H
include/CoCoA/HomomorphismOps.H
include/CoCoA/LinDepMill.H
@@ -43,13 +42,19 @@ include/CoCoA/MatrixSpecial.H
include/CoCoA/MatrixView.H
include/CoCoA/MemPool.H
include/CoCoA/ModuleOrdering.H
-include/CoCoA/NumTheory-GCDFreeBasis.H
+include/CoCoA/NumTheory-CRT.H
+include/CoCoA/NumTheory-ContFrac.H
+include/CoCoA/NumTheory-CoprimeFactorBasis.H
+include/CoCoA/NumTheory-RatReconstruct.H
+include/CoCoA/NumTheory-SimplestRat.H
+include/CoCoA/NumTheory-factor.H
+include/CoCoA/NumTheory-gcd.H
+include/CoCoA/NumTheory-misc.H
+include/CoCoA/NumTheory-modular.H
include/CoCoA/NumTheory-prime.H
-include/CoCoA/NumTheory.H
include/CoCoA/OpenMath.H
include/CoCoA/OpenMathXML.H
include/CoCoA/OrdvArith.H
-include/CoCoA/OrthogonalPolys.H
include/CoCoA/PPMonoid.H
include/CoCoA/PPMonoidEv.H
include/CoCoA/PPMonoidEvOv.H
@@ -59,6 +64,7 @@ include/CoCoA/PPMonoidSparse.H
include/CoCoA/PPOrdering.H
include/CoCoA/PPWithMask.H
include/CoCoA/PREPROCESSOR_DEFNS.H
+include/CoCoA/PolyFamilies.H
include/CoCoA/PolyRing.H
include/CoCoA/ProgressReporter.H
include/CoCoA/QBGenerator.H
@@ -72,6 +78,7 @@ include/CoCoA/RingDistrMPolyClean.H
include/CoCoA/RingDistrMPolyInlFpPP.H
include/CoCoA/RingDistrMPolyInlPP.H
include/CoCoA/RingElemInput.H
+include/CoCoA/RingElemOps-CoprimeFactorBasis.H
include/CoCoA/RingExtAlg.H
include/CoCoA/RingFp.H
include/CoCoA/RingFpDouble.H
@@ -94,20 +101,20 @@ include/CoCoA/SmallFqVecImpl.H
include/CoCoA/SmartPtrIRC.H
include/CoCoA/SparsePolyIter.H
include/CoCoA/SparsePolyOps-EvalInterval.H
-include/CoCoA/SparsePolyOps-IdealOfPoints.H
include/CoCoA/SparsePolyOps-MinPoly.H
-include/CoCoA/SparsePolyOps-MonomialIdeal.H
include/CoCoA/SparsePolyOps-RadicalMembership.H
include/CoCoA/SparsePolyOps-RealRadical.H
include/CoCoA/SparsePolyOps-RingElem.H
include/CoCoA/SparsePolyOps-SturmSeq.H
include/CoCoA/SparsePolyOps-hilbert.H
+include/CoCoA/SparsePolyOps-ideal-monomial.H
+include/CoCoA/SparsePolyOps-ideal-points.H
include/CoCoA/SparsePolyOps-ideal.H
include/CoCoA/SparsePolyOps-implicit.H
include/CoCoA/SparsePolyOps-involutive.H
+include/CoCoA/SparsePolyOps-resultant.H
include/CoCoA/SparsePolyRing.H
include/CoCoA/SugarDegree.H
-include/CoCoA/ThreadsafeCounter.H
include/CoCoA/TmpF5.H
include/CoCoA/TmpGOperations.H
include/CoCoA/TmpGPair.H
@@ -161,7 +168,6 @@ include/CoCoA/obsolescent.H
include/CoCoA/random.H
include/CoCoA/ring.H
include/CoCoA/submodule.H
-include/CoCoA/subresultant.H
include/CoCoA/symbol.H
include/CoCoA/time.H
include/CoCoA/utils-gmp.H
@@ -259,10 +265,10 @@ lib/libcocoa.a
%%PORTDOCS%%%%DOCSDIR%%/html/SparsePolyOps-MinPoly.html
%%PORTDOCS%%%%DOCSDIR%%/html/SparsePolyOps-RealRadical.html
%%PORTDOCS%%%%DOCSDIR%%/html/SparsePolyOps-SturmSeq.html
+%%PORTDOCS%%%%DOCSDIR%%/html/SparsePolyOps-resultant.html
%%PORTDOCS%%%%DOCSDIR%%/html/SparsePolyOps.html
%%PORTDOCS%%%%DOCSDIR%%/html/SparsePolyRing.html
%%PORTDOCS%%%%DOCSDIR%%/html/SugarDegree.html
-%%PORTDOCS%%%%DOCSDIR%%/html/ThreadsafeCounter.html
%%PORTDOCS%%%%DOCSDIR%%/html/ToString.html
%%PORTDOCS%%%%DOCSDIR%%/html/ULong2Long.html
%%PORTDOCS%%%%DOCSDIR%%/html/UniversalInvolutiveBasisContainer.html
@@ -309,6 +315,7 @@ lib/libcocoa.a
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ex-BigRat1.C
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ex-BigRatInterval1.C
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ex-BuildInfo.C
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ex-CoprimeFactorBasis1.C
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ex-CpuTimeLimit1.C
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ex-CpuTimeLimit2.C
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ex-DivMask1.C
@@ -317,7 +324,6 @@ lib/libcocoa.a
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ex-DynamicBitset2.C
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ex-ExternalLibs1.C
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ex-FloatApprox1.C
-%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ex-GCDFreeBasis1.C
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ex-GFan1.C
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ex-GMPAllocator1.C
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ex-GMPAllocator2.C
@@ -327,6 +333,7 @@ lib/libcocoa.a
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ex-Janet1.C
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ex-Janet2.C
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ex-LogStream1.C
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ex-MVT-Simplicial.C
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ex-MVT-SqFr.C
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ex-MVT-edge.C
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ex-MVT.C
@@ -431,5 +438,6 @@ lib/libcocoa.a
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ex-ring2.C
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ex-symbol1.C
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ex-symbol2.C
+%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ex-c++-vector2.C
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/ex-verbose1.C
%%PORTEXAMPLES%%%%EXAMPLESDIR%%/index.html