From 7cb58a043a4fe8c6323feb153517f6dfad6347d7 Mon Sep 17 00:00:00 2001 From: Simon Branford Date: Tue, 4 Jul 2023 09:40:58 +0100 Subject: [PATCH 1/3] gap and deps --- .../c/cddlib/cddlib-0.94m-GCCcore-11.3.0.eb | 38 ++++ easyconfigs/g/gap/gap-4.12.2-foss-2022a.eb | 55 +++++ .../l/lrslib/lrslib-7.2-gompi-2022a.eb | 38 ++++ .../l/lrslib/lrslib-7.2_use-EB-values.patch | 211 ++++++++++++++++++ .../s/Singular/Singular-4.3.2-gfbf-2022a.eb | 47 ++++ 5 files changed, 389 insertions(+) create mode 100644 easyconfigs/c/cddlib/cddlib-0.94m-GCCcore-11.3.0.eb create mode 100644 easyconfigs/g/gap/gap-4.12.2-foss-2022a.eb create mode 100644 easyconfigs/l/lrslib/lrslib-7.2-gompi-2022a.eb create mode 100644 easyconfigs/l/lrslib/lrslib-7.2_use-EB-values.patch create mode 100644 easyconfigs/s/Singular/Singular-4.3.2-gfbf-2022a.eb diff --git a/easyconfigs/c/cddlib/cddlib-0.94m-GCCcore-11.3.0.eb b/easyconfigs/c/cddlib/cddlib-0.94m-GCCcore-11.3.0.eb new file mode 100644 index 00000000..d5ef7861 --- /dev/null +++ b/easyconfigs/c/cddlib/cddlib-0.94m-GCCcore-11.3.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'cddlib' +version = '0.94m' + +homepage = 'https://github.com/cddlib/cddlib' +description = "An efficient implementation of the Double Description Method" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +github_account = 'cddlib' +source_urls = [GITHUB_SOURCE] +sources = ['%(version)s.tar.gz'] +checksums = ['766d8ec2135989830748e5e2fe57f307ed0706431c135541c3c081cbec0bc34f'] + +builddependencies = [ + ('Autotools', '20220317'), + ('binutils', '2.38'), +] + +dependencies = [('GMP', '6.2.1')] + +preconfigopts = "autoreconf -f -i && " + +buildopts = "SUBDIRS='lib-src src'" # build sources but spare the documentation in latex +installopts = buildopts + +local_exes = ['adjacency', 'allfaces', 'cddexec', 'fourier', 'lcdd', 'projection', 'redcheck', 'scdd', 'testcdd1', + 'testcdd2', 'testlp1', 'testlp2', 'testlp3', 'testshoot'] +sanity_check_paths = { + 'files': ['bin/%s' % x for x in local_exes] + ['bin/%s_gmp' % x for x in local_exes] + + ['lib/%s.%s' % (l, e) for l in ['libcdd', 'libcddgmp'] for e in ['a', SHLIB_EXT]] + + ['include/cddlib/%s.h' % h for h in ['cdd', 'cddmp', 'cddtypes', 'setoper', 'splitmix64']], + 'dirs': ['share/doc'] +} + +moduleclass = 'math' diff --git a/easyconfigs/g/gap/gap-4.12.2-foss-2022a.eb b/easyconfigs/g/gap/gap-4.12.2-foss-2022a.eb new file mode 100644 index 00000000..a8627592 --- /dev/null +++ b/easyconfigs/g/gap/gap-4.12.2-foss-2022a.eb @@ -0,0 +1,55 @@ +easyblock = 'ConfigureMake' + +name = 'gap' +version = '4.12.2' + +homepage = 'https://www.gap-system.org' +description = """GAP is a system for computational discrete algebra, +with particular emphasis on Computational Group Theory.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.gap-system.org/pub/gap/gap-%(version_major_minor)s/tar.gz/'] +sources = [SOURCE_TAR_GZ] +checksums = ['672308745eb78a222494ee8dd6786edd5bc331456fcc6456ac064bdb28d587a8'] + +unpack_options = '--strip-components=1' + +builddependencies = [ + ('Autotools', '20220317'), + ('Perl', '5.34.1'), # needed to install NormalizInterface +] + +dependencies = [ + ('GMP', '6.2.1'), + ('libreadline', '8.1.2'), + ('zlib', '1.2.12'), + ('4ti2', '1.6.10'), # needed by 4ti2Interface, HeLP + ('cddlib', '0.94m'), # needed by CddInterface + ('cURL', '7.83.0'), # needed by curlInterface + ('lrslib', '7.2'), # needed by HeLP + ('ncurses', '6.3'), # needed by Browse + ('Singular', '4.3.2'), # needed by singular + ('ZeroMQ', '4.3.4'), # needed by ZeroMQInterface +] + +# It doesn't have a working make install and hardcodes the build path +buildininstalldir = True +skipsteps = ['install'] + +# BuildPackages.sh tries to build any GAP packages that require compilation +# If one fails due to missing dependencies, it's skipped automatically +# We'll not add a Normaliz dep, and allow gap to build it itself +buildopts = ' && cd pkg && ../bin/BuildPackages.sh' + +runtest = "testinstall" + +postinstallcmds = ["cd bin && ln -s gap.sh gap"] + +sanity_check_paths = { + 'files': ['bin/gap.sh', 'bin/gap', 'gap', 'gac'], + 'dirs': ['pkg'] +} + +moduleclass = 'math' diff --git a/easyconfigs/l/lrslib/lrslib-7.2-gompi-2022a.eb b/easyconfigs/l/lrslib/lrslib-7.2-gompi-2022a.eb new file mode 100644 index 00000000..cb8b51b2 --- /dev/null +++ b/easyconfigs/l/lrslib/lrslib-7.2-gompi-2022a.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'lrslib' +version = '7.2' + +homepage = 'http://cgm.cs.mcgill.ca/~avis/C/lrs.html' +description = """lrslib is a self-contained ANSI C implementation of the +reverse search algorithm for vertex enumeration/convex hull problems""" + +toolchain = {'name': 'gompi', 'version': '2022a'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['http://cgm.cs.mcgill.ca/~avis/C/lrslib/archive/'] +sources = ['lrslib-0%(version_major)s%(version_minor)s.tar.gz'] +patches = ['lrslib-%(version)s_use-EB-values.patch'] +checksums = [ + {'lrslib-072.tar.gz': 'fc48754a1ded1d8445d40ecfbe3546e4f27d53aaee95dc2c8c0c79fb9cd532f0'}, + {'lrslib-7.2_use-EB-values.patch': '063a305f3ee681378fe935244632ddbd4934dd977060b76f553424fd850ca199'}, +] + +dependencies = [ + ('GMP', '6.2.1'), +] + +skipsteps = ['configure'] + +# Default build plus mplrs +buildopts = 'lrs lrsgmp mplrs CFLAGS="$CFLAGS"' + +installopts = 'prefix=%(installdir)s' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['lrs', 'lrsgmp', 'lrsnash', 'mplrs', 'mplrsgmp', 'redund', 'redundgmp']] + + ['lib/liblrs.%s' % SHLIB_EXT], + 'dirs': ['include'] +} + +moduleclass = 'math' diff --git a/easyconfigs/l/lrslib/lrslib-7.2_use-EB-values.patch b/easyconfigs/l/lrslib/lrslib-7.2_use-EB-values.patch new file mode 100644 index 00000000..ca93e471 --- /dev/null +++ b/easyconfigs/l/lrslib/lrslib-7.2_use-EB-values.patch @@ -0,0 +1,211 @@ +Fix makefile to use EB environment +Simon Branford (University of Birmingham) +Based off previous patches by Ward Poelmans, Alex Domingo (Vrije Universiteit Brussel) +--- makefile.orig 2023-07-03 15:23:43.054817000 +0100 ++++ makefile 2023-07-03 15:47:59.181095277 +0100 +@@ -33,11 +33,11 @@ + INCLUDEDIR = /usr/local/include + LIBDIR = /usr/local/lib + +-CFLAGS ?= -O3 -Wall ++CFLAGS ?= $(OPTFLAGS) -Wall + #CFLAGS = -g -Wall + + #use this if you want only output file contain data between begin/end lines +-#CFLAGS = -O3 -Wall -DLRS_QUIET ++#CFLAGS = $(OPTFLAGS) -Wall -DLRS_QUIET + + SHLIB_CFLAGS = -fPIC + mpicxx=mpicc +@@ -61,17 +61,17 @@ + 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} $(LDFLAGS) -o lrs ${LRSOBJ} -lgmp ++ $(CC) $(OPTFLAGS) hvref.c -o hvref + ln -s -f lrs redund + + lrsMP: ${LRSOBJMP} + $(CC) ${CFLAGS} -DMA ${BITS} -o lrsMP ${LRSOBJMP} +- $(CC) -O3 hvref.c -o hvref ++ $(CC) $(OPTFLAGS) hvref.c -o hvref + ln -s -f lrs redund + + lrs64: ${LRSOBJ64} +- $(CC) ${CFLAGS} -DMA -L${LIBDIR} -o lrs ${LRSOBJ64} -lgmp ++ $(CC) ${CFLAGS} -DMA $(LDFLAGS) -o lrs ${LRSOBJ64} -lgmp + + lrs.o: lrs.c + $(CC) ${CFLAGS} -DMA ${BITS} -c -o lrs.o lrs.c +@@ -92,22 +92,22 @@ + $(CC) ${CFLAGS} -DMA -DSAFE ${BITS} -DLRSLONG -c -o lrslib2.o lrslib.c + + lrslibgmp.o: lrslib.c lrslib.h +- $(CC) ${CFLAGS} -DMA -DGMP -I${INCLUDEDIR} -c -o lrslibgmp.o lrslib.c ++ $(CC) ${CFLAGS} -DMA -DGMP $(CPPFLAGS) -c -o lrslibgmp.o lrslib.c + + lrslibmp.o: lrslib.c lrslib.h + $(CC) ${CFLAGS} -DMA -DMP -c -o lrslibmp.o lrslib.c + + lrsgmp.o: lrsgmp.c lrsgmp.h +- $(CC) ${CFLAGS} -DMA -DGMP -I${INCLUDEDIR} -c -o lrsgmp.o lrsgmp.c ++ $(CC) ${CFLAGS} -DMA -DGMP $(CPPFLAGS) -c -o lrsgmp.o lrsgmp.c + + lrsmp.o: lrsmp.c lrsmp.h + $(CC) ${CFLAGS} -DMA -DMP -c -o lrsmp.o lrsmp.c + + inedel: inedel.c lrsgmp.h lrsgmp.c +- $(CC) ${CFLAGS} -I${INCLUDEDIR} -L${LIBDIR} -DGMP -o inedel inedel.c lrsgmp.c -lgmp ++ $(CC) ${CFLAGS} $(CPPFLAGS) $(LDFLAGS) -DGMP -o inedel inedel.c lrsgmp.c -lgmp + + checkpred: checkpred.c lrsgmp.h lrsgmp.c +- $(CC) $(CFLAGS) -I${INCLUDEDIR} -L${LIBDIR} -DGMP -o checkpred checkpred.c lrsgmp.c -lgmp ++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -DGMP -o checkpred checkpred.c lrsgmp.c -lgmp + + lrslong1-mplrs.o: lrslong.c lrslong.h + $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -DMA -DSAFE -DLRSLONG -DPLRS -c -o lrslong1-mplrs.o lrslong.c +@@ -122,28 +122,28 @@ + $(mpicxx) ${CFLAGS} -DTIMES -DSIGNALS -DMA -DSAFE ${BITS} -DLRSLONG -DPLRS -c -o lrslib2-mplrs.o lrslib.c + + lrslibgmp-mplrs.o: lrslib.c lrslib.h +- $(mpicxx) ${CFLAGS} -DMA -DTIMES -DSIGNALS -DGMP -DPLRS -I${INCLUDEDIR} -c -o lrslibgmp-mplrs.o lrslib.c ++ $(mpicxx) ${CFLAGS} -DMA -DTIMES -DSIGNALS -DGMP -DPLRS $(CPPFLAGS) -c -o lrslibgmp-mplrs.o lrslib.c + + lrsgmp-mplrs.o: lrsgmp.c lrsgmp.h +- $(mpicxx) ${CFLAGS} -DMA -DTIMES -DSIGNALS -DGMP -DPLRS -I${INCLUDEDIR} -c -o lrsgmp-mplrs.o lrsgmp.c ++ $(mpicxx) ${CFLAGS} -DMA -DTIMES -DSIGNALS -DGMP -DPLRS $(CPPFLAGS) -c -o lrsgmp-mplrs.o lrsgmp.c + + lrsdriver-mplrs.o: lrsdriver.c lrsdriver.h lrslib.h + $(mpicxx) $(CFLAGS) -c -o lrsdriver-mplrs.o lrsdriver.c + + mplrs.o: mplrs.c mplrs.h lrslib.h lrsgmp.h +- $(mpicxx) ${CFLAGS} -I${INCLUDEDIR} -DMA -DPLRS -DTIMES ${BITS} -DSIGNALS -D_WITH_GETLINE -c -o mplrs.o mplrs.c ++ $(mpicxx) ${CFLAGS} $(CPPFLAGS) -DMA -DPLRS -DTIMES ${BITS} -DSIGNALS -D_WITH_GETLINE -c -o mplrs.o mplrs.c + + 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 ++ $(mpicxx) ${CFLAGS} $(CPPFLAGS) -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} $(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 $(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 $(CPPFLAGS) mplrs.c lrslib.c lrsgmp.c lrsdriver.c $(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 -DSAFE -DLRSLONG mplrs.c lrslib.c lrslong.c lrsdriver.c -o mplrs1 +@@ -158,16 +158,16 @@ + + 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${INCLUDEDIR} -I${INCLUDEDIR}/flint lrs.c lrsdriver.c lrslib.c lrsgmp.c -L${LIBDIR} -lflint -o lrsflint -lgmp ++ $(CC) $(OPTFLAGS) -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) $(OPTFLAGS) -DFLINT $(CPPFLAGS) $(CPPFLAGS)/flint lrs.c lrsdriver.c lrslib.c lrsgmp.c $(LDFLAGS) -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 $(CPPFLAGS)/flint -DPLRS -o mplrsflint mplrs.c lrsdriver.c lrslib.c lrsgmp.c $(LDFLAGS) -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 $(CPPFLAGS) -o lrsgmp lrs.c lrslib.c lrsgmp.c lrsdriver.c $(LDFLAGS) -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 +@@ -179,32 +179,32 @@ + ln -s -f lrs2 redund2 + + allmp: lrs.c lrslib.c lrslib.h lrsmp.c lrsmp.h lrsdriver.h lrsdriver.c +- $(CC) -Wall -O3 -DMP -o lrsmp 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 -DMP -DLRS_QUIET -o lrsnash lrsnash.c lrsnashlib.c lrslib.c lrsdriver.c lrsmp.c -static +- $(CC) -O3 -DMP -o setupnash setupnash.c lrslib.c lrsdriver.c lrsmp.c +- $(CC) -O3 -DMP -o setupnash2 setupnash2.c lrslib.c lrsdriver.c lrsmp.c +- $(CC) -O3 -o 2nash 2nash.c ++ $(CC) -Wall $(OPTFLAGS) -DMP -o lrsmp lrs.c lrslib.c lrsdriver.c lrsmp.c ++ $(CC) -Wall $(OPTFLAGS) -DSAFE -DLRSLONG -o lrs1 lrs.c lrslib.c lrsdriver.c lrslong.c ++ $(CC) -Wall $(OPTFLAGS) -DSAFE -DLRSLONG ${BITS} -o lrs2 lrs.c lrslib.c lrsdriver.c lrslong.c ++ $(CC) $(OPTFLAGS) -DMP -DLRS_QUIET -o lrsnash lrsnash.c lrsnashlib.c lrslib.c lrsdriver.c lrsmp.c -static ++ $(CC) $(OPTFLAGS) -DMP -o setupnash setupnash.c lrslib.c lrsdriver.c lrsmp.c ++ $(CC) $(OPTFLAGS) -DMP -o setupnash2 setupnash2.c lrslib.c lrsdriver.c lrsmp.c ++ $(CC) $(OPTFLAGS) -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) $(OPTFLAGS) $(CPPFLAGS) $(LDFLAGS) -o lpdemo1 lpdemo1.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP ++ $(CC) $(OPTFLAGS) $(CPPFLAGS) $(LDFLAGS) -o lpdemo lpdemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP ++ $(CC) $(OPTFLAGS) $(CPPFLAGS) $(LDFLAGS) -o lpdemo2 lpdemo2.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP ++ $(CC) $(OPTFLAGS) $(CPPFLAGS) $(LDFLAGS) -o vedemo vedemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP ++ $(CC) $(OPTFLAGS) $(CPPFLAGS) $(LDFLAGS) -o chdemo chdemo.c lrslib.c lrsdriver.c lrsgmp.c -lgmp -DGMP + + lrsnash: lrsnash.c lrsnashlib.c lrslib.c lrsnashlib.h lrslib.h lrsgmp.c lrsgmp.h lrsdriver.h lrsdriver.c +- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o lrsnash lrsnash.c lrsnashlib.c lrslib.c lrsgmp.c lrsdriver.c -lgmp -DGMP ++ $(CC) $(OPTFLAGS) $(CPPFLAGS) $(LDFLAGS) -o lrsnash lrsnash.c lrsnashlib.c lrslib.c lrsgmp.c lrsdriver.c -lgmp -DGMP + + alllrsnash: 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 -DMP -o setupnash setupnash.c lrslib.c lrsdriver.c lrsmp.c +- $(CC) -O3 -DMP -o setupnash2 setupnash2.c lrslib.c lrsdriver.c lrsmp.c +- $(CC) -O3 -I${INCLUDEDIR} -L${LIBDIR} -o 2nash 2nash.c ++ $(CC) $(OPTFLAGS) $(CPPFLAGS) $(LDFLAGS) -o lrsnashgmp lrsnash.c lrsnashlib.c lrslib.c lrsgmp.c lrsdriver.c -lgmp -DGMP ++ $(CC) $(OPTFLAGS) $(CPPFLAGS) $(LDFLAGS) -o lrsnash1 lrsnash.c lrsnashlib.c lrslib.c lrslong.c lrsdriver.c -DLRSLONG -DSAFE ++ $(CC) $(OPTFLAGS) $(CPPFLAGS) $(LDFLAGS) -o lrsnash2 lrsnash.c lrsnashlib.c lrslib.c lrslong.c lrsdriver.c -DLRSLONG -DSAFE ${BITS} ++ $(CC) $(OPTFLAGS) $(CPPFLAGS) $(LDFLAGS) -o nashdemo nashdemo.c lrsnashlib.c lrslib.c lrsgmp.c lrsdriver.c -lgmp -DGMP ++ $(CC) $(OPTFLAGS) -DMP -o setupnash setupnash.c lrslib.c lrsdriver.c lrsmp.c ++ $(CC) $(OPTFLAGS) -DMP -o setupnash2 setupnash2.c lrslib.c lrsdriver.c lrsmp.c ++ $(CC) $(OPTFLAGS) $(CPPFLAGS) $(LDFLAGS) -o 2nash 2nash.c + cp lrsnashgmp lrsnash + + ###################################################################### +@@ -226,7 +226,7 @@ + lrslibgmp-shr.o lrsgmp-shr.o lrsdriver-shr.o \ + ${SHLIBOBJ2} + +-SHLIBBIN=lrs-shared lrsnash-shared ++SHLIBBIN=lrs-shared lrsnash-shared lrsgmp mplrs mplrsgmp + + # Building (linking) the shared library, and relevant symlinks. + +@@ -248,12 +248,12 @@ + + + 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 $(CPPFLAGS) -o $@ -L . -llrs -lgmp + + # driver object files + + lrs-shared.o: lrs.c +- $(CC) ${CFLAGS} -DMA ${BITS} -L${LIBDIR} -c -o $@ lrs.c ++ $(CC) ${CFLAGS} -DMA ${BITS} $(LDFLAGS) -c -o $@ lrs.c + + # build object files for the shared library + +@@ -291,6 +291,8 @@ + install -t $(DESTDIR)${prefix}/lib $(SHLIB) + cd $(DESTDIR)${prefix}/lib && ln -sf $(SHLIB) $(SHLINK) + cd $(DESTDIR)${prefix}/lib && ln -sf $(SHLIB) $(SONAME) ++ cd $(DESTDIR)${prefix}/bin && ln -sf lrs redund ++ cd $(DESTDIR)${prefix}/bin && ln -sf lrsgmp redundgmp + + install-common: + mkdir -p $(DESTDIR)${prefix}/include/lrslib diff --git a/easyconfigs/s/Singular/Singular-4.3.2-gfbf-2022a.eb b/easyconfigs/s/Singular/Singular-4.3.2-gfbf-2022a.eb new file mode 100644 index 00000000..222e09be --- /dev/null +++ b/easyconfigs/s/Singular/Singular-4.3.2-gfbf-2022a.eb @@ -0,0 +1,47 @@ +easyblock = 'ConfigureMake' + +name = 'Singular' +version = '4.3.2' + +homepage = 'https://www.singular.uni-kl.de/' +description = """Singular is a computer algebra system for polynomial computations, +with special emphasis on commutative and non-commutative algebra, algebraic geometry, +and singularity theory.""" + +toolchain = {'name': 'gfbf', 'version': '2022a'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Singular/Sources/archive'] +sources = ['Release-%s.tar.gz' % version.replace('.', '-')] +checksums = ['d74da6aa27b92ed5e099a15d2959fc9cbc325b989ddacb9096b473c6e8395278'] + +builddependencies = [ + ('Autotools', '20220317'), + ('Doxygen', '1.9.4'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('libreadline', '8.1.2'), + ('GMP', '6.2.1'), + ('MPFR', '4.1.0'), + ('FLINT', '2.9.0'), + ('NTL', '11.5.1'), + ('cddlib', '0.94m'), + ('4ti2', '1.6.10'), +] + +preconfigopts = "./autogen.sh && " +configopts = "--with-gmp=$EBROOTGMP --with-flint=$EBROOTFLINT --with-ntl=$EBROOTNTL" + +runtest = 'check' + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ['ESingular', 'Singular', 'TSingular', 'libpolys-config', 'libsingular-config']] + + ['lib/lib%s.%s' % (l, e) for l in ['Singular', 'factory', 'omalloc', 'polys', 'singular_resources'] + for e in ['a', SHLIB_EXT]], + 'dirs': ['include/%s' % h for h in ['factory', 'omalloc', 'resources', 'singular']] + + ['libexec/singular', 'share'], +} + +moduleclass = 'math' From fd44ad7e50dbe6280a2017cf5ba6d1bb7f02e9ce Mon Sep 17 00:00:00 2001 From: Simon Branford Date: Tue, 4 Jul 2023 09:43:47 +0100 Subject: [PATCH 2/3] flake8 --- easyconfigs/c/cddlib/cddlib-0.94m-GCCcore-11.3.0.eb | 2 +- easyconfigs/s/Singular/Singular-4.3.2-gfbf-2022a.eb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/easyconfigs/c/cddlib/cddlib-0.94m-GCCcore-11.3.0.eb b/easyconfigs/c/cddlib/cddlib-0.94m-GCCcore-11.3.0.eb index d5ef7861..f13336da 100644 --- a/easyconfigs/c/cddlib/cddlib-0.94m-GCCcore-11.3.0.eb +++ b/easyconfigs/c/cddlib/cddlib-0.94m-GCCcore-11.3.0.eb @@ -30,7 +30,7 @@ local_exes = ['adjacency', 'allfaces', 'cddexec', 'fourier', 'lcdd', 'projection 'testcdd2', 'testlp1', 'testlp2', 'testlp3', 'testshoot'] sanity_check_paths = { 'files': ['bin/%s' % x for x in local_exes] + ['bin/%s_gmp' % x for x in local_exes] + - ['lib/%s.%s' % (l, e) for l in ['libcdd', 'libcddgmp'] for e in ['a', SHLIB_EXT]] + + ['lib/%s.%s' % (lib, e) for lib in ['libcdd', 'libcddgmp'] for e in ['a', SHLIB_EXT]] + ['include/cddlib/%s.h' % h for h in ['cdd', 'cddmp', 'cddtypes', 'setoper', 'splitmix64']], 'dirs': ['share/doc'] } diff --git a/easyconfigs/s/Singular/Singular-4.3.2-gfbf-2022a.eb b/easyconfigs/s/Singular/Singular-4.3.2-gfbf-2022a.eb index 222e09be..f1c27d64 100644 --- a/easyconfigs/s/Singular/Singular-4.3.2-gfbf-2022a.eb +++ b/easyconfigs/s/Singular/Singular-4.3.2-gfbf-2022a.eb @@ -38,7 +38,7 @@ runtest = 'check' sanity_check_paths = { 'files': ['bin/%s' % x for x in ['ESingular', 'Singular', 'TSingular', 'libpolys-config', 'libsingular-config']] + - ['lib/lib%s.%s' % (l, e) for l in ['Singular', 'factory', 'omalloc', 'polys', 'singular_resources'] + ['lib/lib%s.%s' % (lib, e) for lib in ['Singular', 'factory', 'omalloc', 'polys', 'singular_resources'] for e in ['a', SHLIB_EXT]], 'dirs': ['include/%s' % h for h in ['factory', 'omalloc', 'resources', 'singular']] + ['libexec/singular', 'share'], From 4531efceccfca5a34a8dc5cf72e6e00b9c2f2c73 Mon Sep 17 00:00:00 2001 From: Simon Branford Date: Tue, 4 Jul 2023 13:07:41 +0100 Subject: [PATCH 3/3] patch build to pick up cddlib --- easyconfigs/g/gap/gap-4.12.2-foss-2022a.eb | 8 ++++++-- easyconfigs/g/gap/gap-4.12.2_cddlib.patch | 15 +++++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 easyconfigs/g/gap/gap-4.12.2_cddlib.patch diff --git a/easyconfigs/g/gap/gap-4.12.2-foss-2022a.eb b/easyconfigs/g/gap/gap-4.12.2-foss-2022a.eb index a8627592..e3de88e7 100644 --- a/easyconfigs/g/gap/gap-4.12.2-foss-2022a.eb +++ b/easyconfigs/g/gap/gap-4.12.2-foss-2022a.eb @@ -12,13 +12,16 @@ toolchainopts = {'pic': True} source_urls = ['https://www.gap-system.org/pub/gap/gap-%(version_major_minor)s/tar.gz/'] sources = [SOURCE_TAR_GZ] -checksums = ['672308745eb78a222494ee8dd6786edd5bc331456fcc6456ac064bdb28d587a8'] +patches = ['gap-4.12.2_cddlib.patch'] +checksums = [ + {'gap-4.12.2.tar.gz': '672308745eb78a222494ee8dd6786edd5bc331456fcc6456ac064bdb28d587a8'}, + {'gap-4.12.2_cddlib.patch': '21d74f7fd9798d7668b5416711032e4ce413c227a2263cd79beaf1b87a79dc0e'}, +] unpack_options = '--strip-components=1' builddependencies = [ ('Autotools', '20220317'), - ('Perl', '5.34.1'), # needed to install NormalizInterface ] dependencies = [ @@ -32,6 +35,7 @@ dependencies = [ ('ncurses', '6.3'), # needed by Browse ('Singular', '4.3.2'), # needed by singular ('ZeroMQ', '4.3.4'), # needed by ZeroMQInterface + ('polymake', '4.8'), # polymake has Perl dep ] # It doesn't have a working make install and hardcodes the build path diff --git a/easyconfigs/g/gap/gap-4.12.2_cddlib.patch b/easyconfigs/g/gap/gap-4.12.2_cddlib.patch new file mode 100644 index 00000000..d276e8cc --- /dev/null +++ b/easyconfigs/g/gap/gap-4.12.2_cddlib.patch @@ -0,0 +1,15 @@ +--- bin/BuildPackages.sh.orig 2023-07-04 10:29:29.612512000 +0100 ++++ bin/BuildPackages.sh 2023-07-04 11:40:09.993228568 +0100 +@@ -200,7 +200,11 @@ + GAPInput + ) + local CONFIG_ARGS_FLAG_NAME="PACKAGE_CONFIG_ARGS_${PKG_NAME}" +- echo_run ./configure --with-gaproot="$GAPROOT" $CONFIGFLAGS ${!CONFIG_ARGS_FLAG_NAME} ++ if [[ "$PKG_NAME" == "CddInterface" ]]; then ++ echo_run ./configure --with-gaproot="$GAPROOT" --with-cddlib=$EBROOTCDDLIB $CONFIGFLAGS ${!CONFIG_ARGS_FLAG_NAME} ++ else ++ echo_run ./configure --with-gaproot="$GAPROOT" $CONFIGFLAGS ${!CONFIG_ARGS_FLAG_NAME} ++ fi + echo_run "$MAKE" clean + else + echo_run ./configure "$GAPROOT"