summaryrefslogtreecommitdiff
path: root/sci-libs/lrslib
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs/lrslib')
-rw-r--r--sci-libs/lrslib/Manifest5
-rw-r--r--sci-libs/lrslib/files/lrslib-071b-makefile-cflags.patch100
-rw-r--r--sci-libs/lrslib/files/lrslib-071b-makefile-ldflags.patch184
-rw-r--r--sci-libs/lrslib/lrslib-071b-r1.ebuild61
-rw-r--r--sci-libs/lrslib/lrslib-071b.ebuild58
5 files changed, 408 insertions, 0 deletions
diff --git a/sci-libs/lrslib/Manifest b/sci-libs/lrslib/Manifest
index d23a3cfb22d4..5a426568d667 100644
--- a/sci-libs/lrslib/Manifest
+++ b/sci-libs/lrslib/Manifest
@@ -1,5 +1,10 @@
+AUX lrslib-071b-makefile-cflags.patch 7312 BLAKE2B 1866059b3dfe59221f9448a9025186fce190a547b2ba5c01fc872e8ea4cac497c21c7bcc3dfceea70df7ae7b7d39dec6115e1945b497f9987ef2baa4783bad75 SHA512 460cd8ac278e02c2580581ecfc79d208b18fda77b55a4709076b31579a4533810d5d157c96c96375ed021c373d67d7bd0e3cad3758e0d09d47c3e239b479a888
+AUX lrslib-071b-makefile-ldflags.patch 11708 BLAKE2B 669a6194a3c7ae966bfa0660671a59fa16be6dc5770e0743a27274a6bd2e42f7bd5caa59476ab4bb9d128f2f48ad7d704cd85301f0507235d7f1d711f257f9f1 SHA512 c863e8c30df9b2cd608453430c6a484c94cbd9200ada9161c9a2a8e7994ffaffad125b874318ebd74b4c66e57347f7687db85b461abc75f47b7ebba8b0db2537
DIST lrslib-062.tar.gz 292745 BLAKE2B 1a2c0e264d590c38d83ee35616b1ec36d8a093b5c7f08179019261d8b321d5b95d8889ca6555ae69853f919d6d66358a865a8a2002516dfd560bec6658f3913d SHA512 1d644a7798580457ff266730f42f6fac317ec8cdf2509ad6028e7a838e5c4c948bd0f9499b840c227bad4269f7144ff72b87fe3a19bdb9ad0925ebe4a7bc4f9f
DIST lrslib-071.tar.gz 460165 BLAKE2B 67be1ffac1c09a94773c69fc2215db19623bc8bc78be74342a1eda497b70eed2d8cb8e9b34ce269177154a4aed6f7bde02f632a536999b24f3116b3e69be456e SHA512 451aa5dada106516aeed1688c1e939a2e216ac760addb483f9cc1d5d4ac62e88af2772a6fa589b217b544621d041d94386a79502483db2eeaf04e90c4a3fd78e
+DIST lrslib-071b.tar.gz 466789 BLAKE2B 57a8abd9d203b1cdc62d6848afa77aa6912d9d720a0dedfbe72ca602ad8ba36d13160f7da7d719e3fa140ba2cb6432d20590ae9ea9b1f66bc2e24c393d9fe1bd SHA512 feafc5726e66c977e917f0b59ae950cdb98dbd84639885b487930aab2a89a7f067a3f39c381acc3eae7206b91255e1befa5551488d8816afc0f8054d801eb539
EBUILD lrslib-062.ebuild 1102 BLAKE2B 28715334971ebcdf529cb1454259b91fe7b4f08f5adfbb6a69e7f26e77b3a75409e59c3bdad04ec3401eaccee1d058d18c7923d50f2c10ebf954b11400316266 SHA512 fbbe152ec18650aa38811ee467f04e1698baf8e5070258c7d69e2b80a543164ed24ef85f6a22b790c12f8782e56b11371e470637d12f771301c050bb9516b27f
EBUILD lrslib-071.ebuild 1039 BLAKE2B 4a94c591406d9e4eb5f64476327e09baf8653434bd836b8c95592c6179399d8231f3ecabb0b342e6770fecf886ef20f3bb534b0fa79501fe34a4f6e5b5749727 SHA512 c904206d02dac52865e156d08871e21b4f7cd91aef7e1d21aa7b76ec1cad4d34e06798b4d2983566e1e0acc5db9e2fe0fd29f6de535e7b29af9d211efb88458b
+EBUILD lrslib-071b-r1.ebuild 1349 BLAKE2B 41f7bc2fb58761ab49d6ab888142e9272b16ff3dbe291f2ed64dcb0bef1514e967706b080b559eea4ebc322716048346fbebae5d1cce8a960f39373d26187e5b SHA512 1b93a3e7b399519d1ccc30e141002e5c9049dd509cbe489558063dfee40925aa76457c63e7a40943897d2685657949edb0c15a68a619a65c74acc52e42237584
+EBUILD lrslib-071b.ebuild 1328 BLAKE2B 2583df67a90104c442f382c1a7b3baab92ad7294dd36552fb1fc0fc7c5eee575a1f3d221faf8efea8c6ff35efb7495ae7b72d56aafe1f8821758b2ebe62a61d8 SHA512 f0cf668e6181fcab7887afd6bdfd7757bb2d6dba4c94c980bf132128b070ecdf9aa12e2d1342bd8baf66040e5ff0ef8a18ac9e2999335ec7530e3397b8aed194
MISC metadata.xml 770 BLAKE2B 79a7016f0c9de246e2873db9026c26f360432b238fd8d380d75830ae7560d56743981f053fef60a2516befef7d9aa6947cb0a3cdb9de077bd6a65a8faa4879d7 SHA512 007d258279f5d48fdc108176f4230958c683cbfaca08a9f16c194b5bccd3d622a6049e7aea0ee7fec65643a0959f948371d0b228501acf9ebbe58ecabf904171
diff --git a/sci-libs/lrslib/files/lrslib-071b-makefile-cflags.patch b/sci-libs/lrslib/files/lrslib-071b-makefile-cflags.patch
new file mode 100644
index 000000000000..1cc8303f616a
--- /dev/null
+++ b/sci-libs/lrslib/files/lrslib-071b-makefile-cflags.patch
@@ -0,0 +1,100 @@
+From 8a99af08a479c413d54c1a8def7479c778e55703 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sat, 23 Oct 2021 07:53:22 -0400
+Subject: [PATCH 2/2] makefile: replace remaining "-O3" with $(CFLAGS).
+
+Some time in the past, $CFLAGS was inserted into most of the build
+rules, and defaulted to "-O3 -Wall" if the user does not override
+that. However a few lingering "-O3" and "-O3 -Wall" remain hard-
+coded in the makefile. Here we fix that.
+---
+ makefile | 48 ++++++++++++++++++++++++------------------------
+ 1 file changed, 24 insertions(+), 24 deletions(-)
+
+diff --git a/makefile b/makefile
+index fd8a613..c14b93e 100644
+--- a/makefile
++++ b/makefile
+@@ -64,12 +64,12 @@ MPLRSOBJ64=lrslong1-mplrs.o lrslib1-mplrs.o lrslibgmp-mplrs.o lrsgmp-mplrs.o lrs
+
+ lrs: ${LRSOBJ}
+ $(CC) ${CFLAGS} -DMA ${BITS} -L${LIBDIR} $(LDFLAGS) -o lrs ${LRSOBJ} -lgmp
+- $(CC) -O3 hvref.c $(LDFLAGS) -o hvref
++ $(CC) $(CFLAGS) hvref.c $(LDFLAGS) -o hvref
+ ln -s -f lrs redund
+
+ lrsmp: ${LRSOBJMP}
+ $(CC) ${CFLAGS} -DMA ${BITS} $(LDFLAGS) -o lrsmp ${LRSOBJMP}
+- $(CC) -O3 hvref.c $(LDFLAGS) -o hvref
++ $(CC) $(CFLAGS) hvref.c $(LDFLAGS) -o hvref
+ ln -s -f lrs redund
+
+ lrs64: ${LRSOBJ64}
+@@ -157,8 +157,8 @@ singlemplrs: mplrsgmp mplrs1 mplrs2
+
+ flint: lrs.c lrslib.c lrslib.h lrsgmp.c lrsgmp.h
+ @test -d ${INCLUDEDIR}/flint || { echo ${INCLUDEDIR}/flint not found; exit 1; }
+- $(CC) -O3 -DFLINT -I/usr/local/include/flint lrs.c lrslib.c lrsgmp.c lrsdriver.c -L/usr/local/lib -Wl,-rpath=/usr/local/lib -lflint $(LDFLAGS) -o lrsflint -lgmp
+-# $(CC) -O3 -DFLINT -I${INCLUDEDIR} -I${INCLUDEDIR}/flint lrs.c lrsdriver.c lrslib.c lrsgmp.c -L${LIBDIR} -lflint -o lrsflint -lgmp
++ $(CC) $(CFLAGS) -DFLINT -I/usr/local/include/flint lrs.c lrslib.c lrsgmp.c lrsdriver.c -L/usr/local/lib -Wl,-rpath=/usr/local/lib -lflint $(LDFLAGS) -o lrsflint -lgmp
++# $(CC) $(CFLAGS) -DFLINT -I${INCLUDEDIR} -I${INCLUDEDIR}/flint lrs.c lrsdriver.c lrslib.c lrsgmp.c -L${LIBDIR} -lflint -o lrsflint -lgmp
+
+ mplrsflint: mplrs.c mplrs.h lrslib.c lrslib.h lrsgmp.c lrsgmp.h lrsdriver.c lrsdriver.h
+ ${mpicxx} ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DFLINT -I${INCLUDEDIR}/flint -DPLRS $(LDFLAGS) -o mplrsflint mplrs.c lrsdriver.c lrslib.c lrsgmp.c -L${LIBDIR} -lflint -lgmp
+@@ -176,33 +176,33 @@ single: lrs.c lrslong.c lrslong.h lrslib.c lrslib.h lrsgmp.c lrsgmp.h lrsdriver
+ ln -s -f lrs2 redund2
+
+ allmp: lrs.c lrslib.c lrslib.h lrsmp.c lrsmp.h lrsdriver.h lrsdriver.c
+- $(CC) -Wall -O3 $(LDFLAGS) -o lrs lrs.c lrslib.c lrsdriver.c lrsmp.c
+- $(CC) -Wall -O3 -DSAFE -DLRSLONG $(LDFLAGS) -o lrs1 lrs.c lrslib.c lrsdriver.c lrslong.c
+- $(CC) -Wall -O3 -DSAFE -DLRSLONG ${BITS} $(LDFLAGS) -o lrs2 lrs.c lrslib.c lrsdriver.c lrslong.c
+- $(CC) -O3 -DLRS_QUIET $(LDFLAGS) -o lrsnash lrsnash.c lrsnashlib.c lrslib.c lrsdriver.c lrsmp.c -static
+- $(CC) -O3 $(LDFLAGS) -o setnash setupnash.c lrslib.c lrsdriver.c lrsmp.c
+- $(CC) -O3 $(LDFLAGS) -o setnash2 setupnash2.c lrslib.c lrsdriver.c lrsmp.c
+- $(CC) -O3 $(LDFLAGS) -o 2nash 2nash.c
++ $(CC) -Wall $(CFLAGS) $(LDFLAGS) -o lrs lrs.c lrslib.c lrsdriver.c lrsmp.c
++ $(CC) -Wall $(CFLAGS) -DSAFE -DLRSLONG $(LDFLAGS) -o lrs1 lrs.c lrslib.c lrsdriver.c lrslong.c
++ $(CC) -Wall $(CFLAGS) -DSAFE -DLRSLONG ${BITS} $(LDFLAGS) -o lrs2 lrs.c lrslib.c lrsdriver.c lrslong.c
++ $(CC) $(CFLAGS) -DLRS_QUIET $(LDFLAGS) -o lrsnash lrsnash.c lrsnashlib.c lrslib.c lrsdriver.c lrsmp.c -static
++ $(CC) $(CFLAGS) $(LDFLAGS) -o setnash setupnash.c lrslib.c lrsdriver.c lrsmp.c
++ $(CC) $(CFLAGS) $(LDFLAGS) -o setnash2 setupnash2.c lrslib.c lrsdriver.c lrsmp.c
++ $(CC) $(CFLAGS) $(LDFLAGS) -o 2nash 2nash.c
+
+ demo: lpdemo1.c lrslib.c lrsdriver.c lrslib.h lrsgmp.c lrsgmp.h
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lpdemo1 lpdemo1.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lpdemo lpdemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lpdemo2 lpdemo2.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o vedemo vedemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o chdemo chdemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
++ $(CC) $(CFLAGS) -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lpdemo1 lpdemo1.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
++ $(CC) $(CFLAGS) -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lpdemo lpdemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
++ $(CC) $(CFLAGS) -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lpdemo2 lpdemo2.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
++ $(CC) $(CFLAGS) -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o vedemo vedemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
++ $(CC) $(CFLAGS) -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o chdemo chdemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
+
+ lrsnash: lrsnash.c nashdemo.c lrsnashlib.c lrslib.c lrsnashlib.h lrslib.h lrsgmp.c lrsgmp.h lrslong.h lrsdriver.h lrsdriver.c
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lrsnashgmp lrsnash.c lrsnashlib.c lrslib.c lrsgmp.c lrsdriver.c -lgmp -DGMP
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lrsnash1 lrsnash.c lrsnashlib.c lrslib.c lrslong.c lrsdriver.c -DLRSLONG -DSAFE
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lrsnash2 lrsnash.c lrsnashlib.c lrslib.c lrslong.c lrsdriver.c -DLRSLONG -DSAFE ${BITS}
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o nashdemo nashdemo.c lrsnashlib.c lrslib.c lrsgmp.c lrsdriver.c -lgmp -DGMP
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o 2nash 2nash.c
++ $(CC) $(CFLAGS) -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lrsnashgmp lrsnash.c lrsnashlib.c lrslib.c lrsgmp.c lrsdriver.c -lgmp -DGMP
++ $(CC) $(CFLAGS) -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lrsnash1 lrsnash.c lrsnashlib.c lrslib.c lrslong.c lrsdriver.c -DLRSLONG -DSAFE
++ $(CC) $(CFLAGS) -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lrsnash2 lrsnash.c lrsnashlib.c lrslib.c lrslong.c lrsdriver.c -DLRSLONG -DSAFE ${BITS}
++ $(CC) $(CFLAGS) -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o nashdemo nashdemo.c lrsnashlib.c lrslib.c lrsgmp.c lrsdriver.c -lgmp -DGMP
++ $(CC) $(CFLAGS) -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o 2nash 2nash.c
+ cp lrsnashgmp lrsnash
+
+ fel: fel.c lrslib.h lrslib.c lrsgmp.h lrsgmp.c lrslong.c
+- $(CC) -O3 -Wall -DGMP -I${INCLUDEDIR} fel.c lrslib.c lrsdriver.c lrsgmp.c -L${LIBDIR} -lgmp $(LDFLAGS) -o felgmp
+- $(CC) -O3 -Wall -I${INCLUDEDIR} fel.c lrslib.c lrsdriver.c lrslong.c -L${LIBDIR} -DLRSLONG -DSAFE $(LDFLAGS) -o fel1
+- $(CC) -O3 -Wall -I${INCLUDEDIR} fel.c lrslib.c lrsdriver.c lrslong.c -L${LIBDIR} -DLRSLONG -DSAFE ${BITS} $(LDFLAGS) -o fel2
++ $(CC) $(CFLAGS) -DGMP -I${INCLUDEDIR} fel.c lrslib.c lrsdriver.c lrsgmp.c -L${LIBDIR} -lgmp $(LDFLAGS) -o felgmp
++ $(CC) $(CFLAGS) -I${INCLUDEDIR} fel.c lrslib.c lrsdriver.c lrslong.c -L${LIBDIR} -DLRSLONG -DSAFE $(LDFLAGS) -o fel1
++ $(CC) $(CFLAGS) -I${INCLUDEDIR} fel.c lrslib.c lrsdriver.c lrslong.c -L${LIBDIR} -DLRSLONG -DSAFE ${BITS} $(LDFLAGS) -o fel2
+
+ ######################################################################
+ # From here on the author is David Bremner <bremner@unb.ca> to whom you should turn for help
+--
+2.32.0
+
diff --git a/sci-libs/lrslib/files/lrslib-071b-makefile-ldflags.patch b/sci-libs/lrslib/files/lrslib-071b-makefile-ldflags.patch
new file mode 100644
index 000000000000..c8c9bc1e8206
--- /dev/null
+++ b/sci-libs/lrslib/files/lrslib-071b-makefile-ldflags.patch
@@ -0,0 +1,184 @@
+From f9a97514196eb35de1cdae1c1fc622c8aff5fb04 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Sat, 23 Oct 2021 07:37:57 -0400
+Subject: [PATCH 1/2] makefile: add $(LDFLAGS) to commands that induce linkage.
+
+Like the more-familiar CFLAGS, there is a standard variable called
+LDFLAGS that should be used while linking libraries and executables.
+The default compilation rules for POSIX make include it,
+
+ https://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html
+
+This commit adds LDFLAGS to the custom makefile commands that link
+either an executable or a shared library.
+---
+ makefile | 80 ++++++++++++++++++++++++++++----------------------------
+ 1 file changed, 40 insertions(+), 40 deletions(-)
+
+diff --git a/makefile b/makefile
+index 32e6b52..fd8a613 100644
+--- a/makefile
++++ b/makefile
+@@ -63,17 +63,17 @@ LRSOBJ64=lrs64.o lrslong1.o lrslib1.o lrslibgmp.o lrsgmp.o lrsdriver.o
+ MPLRSOBJ64=lrslong1-mplrs.o lrslib1-mplrs.o lrslibgmp-mplrs.o lrsgmp-mplrs.o lrsdriver-mplrs.o mplrs64.o
+
+ lrs: ${LRSOBJ}
+- $(CC) ${CFLAGS} -DMA ${BITS} -L${LIBDIR} -o lrs ${LRSOBJ} -lgmp
+- $(CC) -O3 hvref.c -o hvref
++ $(CC) ${CFLAGS} -DMA ${BITS} -L${LIBDIR} $(LDFLAGS) -o lrs ${LRSOBJ} -lgmp
++ $(CC) -O3 hvref.c $(LDFLAGS) -o hvref
+ ln -s -f lrs redund
+
+ lrsmp: ${LRSOBJMP}
+- $(CC) ${CFLAGS} -DMA ${BITS} -o lrsmp ${LRSOBJMP}
+- $(CC) -O3 hvref.c -o hvref
++ $(CC) ${CFLAGS} -DMA ${BITS} $(LDFLAGS) -o lrsmp ${LRSOBJMP}
++ $(CC) -O3 hvref.c $(LDFLAGS) -o hvref
+ ln -s -f lrs redund
+
+ lrs64: ${LRSOBJ64}
+- $(CC) ${CFLAGS} -DMA -L${LIBDIR} -o lrs ${LRSOBJ64} -lgmp
++ $(CC) ${CFLAGS} -DMA -L${LIBDIR} $(LDFLAGS) -o lrs ${LRSOBJ64} -lgmp
+
+ lrs.o: lrs.c
+ $(CC) ${CFLAGS} -DMA ${BITS} -c -o lrs.o lrs.c
+@@ -106,7 +106,7 @@ lrsmp.o: lrsmp.c lrsmp.h
+ $(CC) ${CFLAGS} -DMA -DMP -c -o lrsmp.o lrsmp.c
+
+ checkpred: checkpred.c lrsgmp.h lrsgmp.c
+- $(CC) $(CFLAGS) -DGMP -lgmp -o checkpred checkpred.c lrsgmp.c
++ $(CC) $(CFLAGS) -DGMP -lgmp $(LDFLAGS) -o checkpred checkpred.c lrsgmp.c
+
+ lrslong1-mplrs.o: lrslong.c lrslong.h
+ $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -DMA -DSAFE -DLRSLONG -DPLRS -c -o lrslong1-mplrs.o lrslong.c
+@@ -136,73 +136,73 @@ mplrs64.o: mplrs.c mplrs.h lrslib.h lrsgmp.h
+ $(mpicxx) ${CFLAGS} -I${INCLUDEDIR} -DMA -DPLRS -DTIMES -DSIGNALS -D_WITH_GETLINE -c -o mplrs64.o mplrs.c
+
+ mplrs: ${MPLRSOBJ} mplrsgmp
+- $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DMA ${BITS} -L${LIBDIR} -o mplrs ${MPLRSOBJ} -lgmp
++ $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DMA ${BITS} -L${LIBDIR} $(LDFLAGS) -o mplrs ${MPLRSOBJ} -lgmp
+
+ mplrs64: ${MPLRSOBJ64} mplrsgmp
+- $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DMA -L${LIBDIR} -o mplrs ${MPLRSOBJ64} -lgmp
++ $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DMA -L${LIBDIR} $(LDFLAGS) -o mplrs ${MPLRSOBJ64} -lgmp
+
+ mplrsgmp: mplrs.c mplrs.h lrslib.c lrslib.h lrsgmp.c lrsgmp.h lrsdriver.h lrsdriver.c
+- $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DGMP -I${INCLUDEDIR} mplrs.c lrslib.c lrsgmp.c lrsdriver.c -L${LIBDIR} -o mplrsgmp -lgmp
++ $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DGMP -I${INCLUDEDIR} mplrs.c lrslib.c lrsgmp.c lrsdriver.c -L${LIBDIR} $(LDFLAGS) -o mplrsgmp -lgmp
+
+ mplrs1: mplrs.c mplrs.h lrslib.c lrslib.h lrslong.c lrslong.h lrsdriver.h lrsdriver.c
+- $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DLRSLONG mplrs.c lrslib.c lrslong.c lrsdriver.c -o mplrs1
++ $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DLRSLONG mplrs.c lrslib.c lrslong.c lrsdriver.c $(LDFLAGS) -o mplrs1
+
+ mplrs2: mplrs.c mplrs.h lrslib.c lrslib.h lrslong.c lrslong.h lrsdriver.h lrsdriver.c
+- $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DSAFE -DLRSLONG ${BITS} mplrs.c lrslib.c lrslong.c lrsdriver.c -o mplrs2
++ $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS -DSAFE -DLRSLONG ${BITS} mplrs.c lrslib.c lrslong.c lrsdriver.c $(LDFLAGS) -o mplrs2
+
+ mplrsmp: mplrs.c mplrs.h lrslib.c lrslib.h lrsmp.c lrsmp.h lrsdriver.h lrsdriver.c
+- $(mpicxx) ${CFLAGS} -DMP -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS mplrs.c lrslib.c lrsmp.c lrsdriver.c -o mplrsmp
++ $(mpicxx) ${CFLAGS} -DMP -DTIMES -DSIGNALS -D_WITH_GETLINE -DPLRS mplrs.c lrslib.c lrsmp.c lrsdriver.c $(LDFLAGS) -o mplrsmp
+
+ singlemplrs: mplrsgmp mplrs1 mplrs2
+
+ flint: lrs.c lrslib.c lrslib.h lrsgmp.c lrsgmp.h
+ @test -d ${INCLUDEDIR}/flint || { echo ${INCLUDEDIR}/flint not found; exit 1; }
+- $(CC) -O3 -DFLINT -I/usr/local/include/flint lrs.c lrslib.c lrsgmp.c lrsdriver.c -L/usr/local/lib -Wl,-rpath=/usr/local/lib -lflint -o lrsflint -lgmp
++ $(CC) -O3 -DFLINT -I/usr/local/include/flint lrs.c lrslib.c lrsgmp.c lrsdriver.c -L/usr/local/lib -Wl,-rpath=/usr/local/lib -lflint $(LDFLAGS) -o lrsflint -lgmp
+ # $(CC) -O3 -DFLINT -I${INCLUDEDIR} -I${INCLUDEDIR}/flint lrs.c lrsdriver.c lrslib.c lrsgmp.c -L${LIBDIR} -lflint -o lrsflint -lgmp
+
+ mplrsflint: mplrs.c mplrs.h lrslib.c lrslib.h lrsgmp.c lrsgmp.h lrsdriver.c lrsdriver.h
+- ${mpicxx} ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DFLINT -I${INCLUDEDIR}/flint -DPLRS -o mplrsflint mplrs.c lrsdriver.c lrslib.c lrsgmp.c -L${LIBDIR} -lflint -lgmp
++ ${mpicxx} ${CFLAGS} -DTIMES -DSIGNALS -D_WITH_GETLINE -DFLINT -I${INCLUDEDIR}/flint -DPLRS $(LDFLAGS) -o mplrsflint mplrs.c lrsdriver.c lrslib.c lrsgmp.c -L${LIBDIR} -lflint -lgmp
+
+ #comment out lines with ${BITS} if __int128 not supported by your C compiler
+
+ lrsgmp: lrs.c lrslib.c lrslib.h lrsgmp.c lrsgmp.h lrsdriver.h lrsdriver.c
+- $(CC) ${CFLAGS} -DGMP -I${INCLUDEDIR} -o lrsgmp lrs.c lrslib.c lrsgmp.c lrsdriver.c -L${LIBDIR} -lgmp
++ $(CC) ${CFLAGS} -DGMP -I${INCLUDEDIR} $(LDFLAGS) -o lrsgmp lrs.c lrslib.c lrsgmp.c lrsdriver.c -L${LIBDIR} -lgmp
+ ln -s -f lrsgmp redundgmp
+
+ single: lrs.c lrslong.c lrslong.h lrslib.c lrslib.h lrsgmp.c lrsgmp.h lrsdriver.h lrsdriver.c
+- $(CC) ${CFLAGS} -DSAFE -DLRSLONG -o lrs1 lrs.c lrslib.c lrslong.c lrsdriver.c
+- $(CC) ${CFLAGS} ${BITS} -DSAFE -DLRSLONG -o lrs2 lrs.c lrslib.c lrslong.c lrsdriver.c
++ $(CC) ${CFLAGS} -DSAFE -DLRSLONG $(LDFLAGS) -o lrs1 lrs.c lrslib.c lrslong.c lrsdriver.c
++ $(CC) ${CFLAGS} ${BITS} -DSAFE -DLRSLONG $(LDFLAGS) -o lrs2 lrs.c lrslib.c lrslong.c lrsdriver.c
+ ln -s -f lrs1 redund1
+ ln -s -f lrs2 redund2
+
+ allmp: lrs.c lrslib.c lrslib.h lrsmp.c lrsmp.h lrsdriver.h lrsdriver.c
+- $(CC) -Wall -O3 -o lrs lrs.c lrslib.c lrsdriver.c lrsmp.c
+- $(CC) -Wall -O3 -DSAFE -DLRSLONG -o lrs1 lrs.c lrslib.c lrsdriver.c lrslong.c
+- $(CC) -Wall -O3 -DSAFE -DLRSLONG ${BITS} -o lrs2 lrs.c lrslib.c lrsdriver.c lrslong.c
+- $(CC) -O3 -DLRS_QUIET -o lrsnash lrsnash.c lrsnashlib.c lrslib.c lrsdriver.c lrsmp.c -static
+- $(CC) -O3 -o setnash setupnash.c lrslib.c lrsdriver.c lrsmp.c
+- $(CC) -O3 -o setnash2 setupnash2.c lrslib.c lrsdriver.c lrsmp.c
+- $(CC) -O3 -o 2nash 2nash.c
++ $(CC) -Wall -O3 $(LDFLAGS) -o lrs lrs.c lrslib.c lrsdriver.c lrsmp.c
++ $(CC) -Wall -O3 -DSAFE -DLRSLONG $(LDFLAGS) -o lrs1 lrs.c lrslib.c lrsdriver.c lrslong.c
++ $(CC) -Wall -O3 -DSAFE -DLRSLONG ${BITS} $(LDFLAGS) -o lrs2 lrs.c lrslib.c lrsdriver.c lrslong.c
++ $(CC) -O3 -DLRS_QUIET $(LDFLAGS) -o lrsnash lrsnash.c lrsnashlib.c lrslib.c lrsdriver.c lrsmp.c -static
++ $(CC) -O3 $(LDFLAGS) -o setnash setupnash.c lrslib.c lrsdriver.c lrsmp.c
++ $(CC) -O3 $(LDFLAGS) -o setnash2 setupnash2.c lrslib.c lrsdriver.c lrsmp.c
++ $(CC) -O3 $(LDFLAGS) -o 2nash 2nash.c
+
+ demo: lpdemo1.c lrslib.c lrsdriver.c lrslib.h lrsgmp.c lrsgmp.h
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o lpdemo1 lpdemo1.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o lpdemo lpdemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o lpdemo2 lpdemo2.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o vedemo vedemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o chdemo chdemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
++ $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lpdemo1 lpdemo1.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
++ $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lpdemo lpdemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
++ $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lpdemo2 lpdemo2.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
++ $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o vedemo vedemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
++ $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o chdemo chdemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP
+
+ lrsnash: lrsnash.c nashdemo.c lrsnashlib.c lrslib.c lrsnashlib.h lrslib.h lrsgmp.c lrsgmp.h lrslong.h lrsdriver.h lrsdriver.c
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o lrsnashgmp lrsnash.c lrsnashlib.c lrslib.c lrsgmp.c lrsdriver.c -lgmp -DGMP
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o lrsnash1 lrsnash.c lrsnashlib.c lrslib.c lrslong.c lrsdriver.c -DLRSLONG -DSAFE
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o lrsnash2 lrsnash.c lrsnashlib.c lrslib.c lrslong.c lrsdriver.c -DLRSLONG -DSAFE ${BITS}
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o nashdemo nashdemo.c lrsnashlib.c lrslib.c lrsgmp.c lrsdriver.c -lgmp -DGMP
+- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o 2nash 2nash.c
++ $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lrsnashgmp lrsnash.c lrsnashlib.c lrslib.c lrsgmp.c lrsdriver.c -lgmp -DGMP
++ $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lrsnash1 lrsnash.c lrsnashlib.c lrslib.c lrslong.c lrsdriver.c -DLRSLONG -DSAFE
++ $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o lrsnash2 lrsnash.c lrsnashlib.c lrslib.c lrslong.c lrsdriver.c -DLRSLONG -DSAFE ${BITS}
++ $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o nashdemo nashdemo.c lrsnashlib.c lrslib.c lrsgmp.c lrsdriver.c -lgmp -DGMP
++ $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} $(LDFLAGS) -o 2nash 2nash.c
+ cp lrsnashgmp lrsnash
+
+ fel: fel.c lrslib.h lrslib.c lrsgmp.h lrsgmp.c lrslong.c
+- $(CC) -O3 -Wall -DGMP -I${INCLUDEDIR} fel.c lrslib.c lrsdriver.c lrsgmp.c -L${LIBDIR} -lgmp -o felgmp
+- $(CC) -O3 -Wall -I${INCLUDEDIR} fel.c lrslib.c lrsdriver.c lrslong.c -L${LIBDIR} -DLRSLONG -DSAFE -o fel1
+- $(CC) -O3 -Wall -I${INCLUDEDIR} fel.c lrslib.c lrsdriver.c lrslong.c -L${LIBDIR} -DLRSLONG -DSAFE ${BITS} -o fel2
++ $(CC) -O3 -Wall -DGMP -I${INCLUDEDIR} fel.c lrslib.c lrsdriver.c lrsgmp.c -L${LIBDIR} -lgmp $(LDFLAGS) -o felgmp
++ $(CC) -O3 -Wall -I${INCLUDEDIR} fel.c lrslib.c lrsdriver.c lrslong.c -L${LIBDIR} -DLRSLONG -DSAFE $(LDFLAGS) -o fel1
++ $(CC) -O3 -Wall -I${INCLUDEDIR} fel.c lrslib.c lrsdriver.c lrslong.c -L${LIBDIR} -DLRSLONG -DSAFE ${BITS} $(LDFLAGS) -o fel2
+
+ ######################################################################
+ # From here on the author is David Bremner <bremner@unb.ca> to whom you should turn for help
+@@ -228,7 +228,7 @@ SHLIBBIN=lrs-shared lrsnash-shared
+ # Building (linking) the shared library, and relevant symlinks.
+
+ ${SHLIB}: ${SHLIBOBJ}
+- $(CC) -shared -Wl,-soname=$(SONAME) $(SHLIBFLAGS) -o $@ ${SHLIBOBJ} -lgmp
++ $(CC) -shared -Wl,-soname=$(SONAME) $(SHLIBFLAGS) $(LDFLAGS) -o $@ ${SHLIBOBJ} -lgmp
+
+ ${SONAME}: ${SHLIB}
+ ln -sf ${SHLIB} ${SONAME}
+@@ -241,11 +241,11 @@ ${SHLINK}: ${SONAME}
+ all-shared: ${SHLIBBIN}
+
+ lrs-shared: ${SHLINK} lrs-shared.o
+- $(CC) $^ -o $@ -L . -llrs
++ $(CC) $^ $(LDFLAGS) -o $@ -L . -llrs
+
+
+ lrsnash-shared: ${SHLINK} lrsnash.c
+- $(CC) ${CFLAGS} -DGMP -DMA lrsnash.c lrsnashlib.c -I${INCLUDEDIR} -o $@ -L . -llrs -lgmp
++ $(CC) ${CFLAGS} -DGMP -DMA lrsnash.c lrsnashlib.c -I${INCLUDEDIR} $(LDFLAGS) -o $@ -L . -llrs -lgmp
+
+ # driver object files
+
+--
+2.32.0
+
diff --git a/sci-libs/lrslib/lrslib-071b-r1.ebuild b/sci-libs/lrslib/lrslib-071b-r1.ebuild
new file mode 100644
index 000000000000..b252998413f4
--- /dev/null
+++ b/sci-libs/lrslib/lrslib-071b-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Reverse-search algorithm for vertex enumeration problems"
+HOMEPAGE="http://cgm.cs.mcgill.ca/~avis/C/lrs.html"
+SRC_URI="http://cgm.cs.mcgill.ca/~avis/C/lrslib/archive/${P}.tar.gz"
+
+# COPYING is GPL-2, but e.g. lrslib.h says "or ... any later version."
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+IUSE="gmp mpi"
+
+BDEPEND=""
+RDEPEND="
+ gmp? (
+ dev-libs/gmp:0=
+ mpi? ( virtual/mpi )
+ )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-makefile-ldflags.patch"
+ "${FILESDIR}/${P}-makefile-cflags.patch"
+)
+
+src_prepare() {
+ default
+ tc-export CC
+
+ # The "makefile" sort-of supports CFLAGS as of lrslib-071b, but
+ # "-O3" is still included verbatim in many targets. Likewise, a
+ # LIBDIR variable exists but "lib" remains hard-coded in the install
+ # targets.
+ sed -e "s,/usr/local,${EPREFIX}/usr,g" \
+ -e "s,/lib,/$(get_libdir),g" \
+ -i makefile || die
+}
+
+src_compile() {
+ if use gmp ; then
+ emake
+ emake all-shared
+ use mpi && emake mplrs
+ else
+ emake allmp
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" prefix="${EPREFIX}/usr" install-common
+ if use gmp; then
+ emake DESTDIR="${D}" prefix="${EPREFIX}/usr" install
+ use mpi && dobin mplrs
+ fi
+ dodoc README
+}
diff --git a/sci-libs/lrslib/lrslib-071b.ebuild b/sci-libs/lrslib/lrslib-071b.ebuild
new file mode 100644
index 000000000000..dce7bc19ece6
--- /dev/null
+++ b/sci-libs/lrslib/lrslib-071b.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Reverse-search algorithm for vertex enumeration problems"
+HOMEPAGE="http://cgm.cs.mcgill.ca/~avis/C/lrs.html"
+SRC_URI="http://cgm.cs.mcgill.ca/~avis/C/lrslib/archive/${P}.tar.gz"
+
+# COPYING is GPL-2, but e.g. lrslib.h says "or ... any later version."
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+IUSE="gmp mpi"
+
+BDEPEND=""
+RDEPEND="
+ gmp? (
+ dev-libs/gmp:0=
+ mpi? ( virtual/mpi )
+ )"
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+ tc-export CC
+
+ # The "makefile" sort-of supports CFLAGS as of lrslib-071b, but
+ # "-O3" is still included verbatim in many targets. Likewise, a
+ # LIBDIR variable exists but "lib" remains hard-coded in the install
+ # targets.
+ sed -e "s/-O3/${CFLAGS}/g" \
+ -e 's/$(CC) -shared/$(CC) $(LDFLAGS) -shared/' \
+ -e "s,/usr/local,${EPREFIX}/usr,g" \
+ -e "s,/lib,/$(get_libdir),g" \
+ -i makefile || die
+}
+
+src_compile() {
+ if use gmp ; then
+ emake
+ emake all-shared
+ use mpi && emake mplrs
+ else
+ emake allmp
+ fi
+}
+
+src_install() {
+ emake DESTDIR="${D}" prefix="${EPREFIX}/usr" install-common
+ if use gmp; then
+ emake DESTDIR="${D}" prefix="${EPREFIX}/usr" install
+ use mpi && dobin mplrs
+ fi
+ dodoc README
+}