New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
{math} [intel/2018b] gap/4.9.3 #7040
Changes from 8 commits
e5b19e8
4f2825d
8fe5cfa
9e99a31
0fcf287
a892c2f
b783b38
00eff08
5e2be09
fa3e141
f3d4c42
ca37e97
d446617
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
easyblock = 'ConfigureMake' | ||
|
||
name = '4ti2' | ||
version = '1.6.9' | ||
|
||
homepage = 'https://4ti2.github.io/' | ||
description = """A software package for algebraic, geometric and combinatorial problems on linear spaces""" | ||
|
||
toolchain = {'name': 'intel', 'version': '2018b'} | ||
|
||
source_urls = ['https://github.com/4ti2/4ti2/archive/'] | ||
sources = ['Release_%s.tar.gz' % '_'.join(version.split('.'))] | ||
checksums = ['7b1015718102d8cd4dc2de64f69094fdba0bc69a1878ada5960979b171ff89e4'] | ||
|
||
dependencies = [ | ||
('GMP', '6.1.2'), | ||
('GLPK', '4.65'), | ||
] | ||
|
||
builddependencies = [('Autotools', '20180311')] | ||
|
||
preconfigopts = './autogen.sh && ' | ||
|
||
sanity_check_paths = { | ||
'files': ['bin/%s' % x for x in ['4ti2gmp', '4ti2int32', '4ti2int64']], | ||
'dirs': ['include/4ti2', 'lib', 'share/4ti2'] | ||
} | ||
|
||
moduleclass = 'math' |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
name = 'Boost' | ||
version = '1.67.0' | ||
|
||
homepage = 'http://www.boost.org/' | ||
description = """Boost provides free peer-reviewed portable C++ source libraries.""" | ||
|
||
toolchain = {'name': 'intel', 'version': '2018b'} | ||
toolchainopts = {'pic': True, 'usempi': True} | ||
|
||
source_urls = [SOURCEFORGE_SOURCE] | ||
sources = ['%%(namelower)s_%s.tar.gz' % '_'.join(version.split('.'))] | ||
checksums = ['8aa4e330c870ef50a896634c931adf468b21f8a69b77007e45c444151229f665'] | ||
|
||
dependencies = [ | ||
('bzip2', '1.0.6'), | ||
('zlib', '1.2.11'), | ||
] | ||
|
||
configopts = '--without-libraries=python' | ||
|
||
# also build boost_mpi | ||
boost_mpi = True | ||
|
||
moduleclass = 'devel' |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
easyblock = 'ConfigureMake' | ||
|
||
name = 'gap' | ||
version = '4.9.3' | ||
|
||
homepage = 'https://www.gap-system.org' | ||
description = """GAP is a system for computational discrete algebra, | ||
with particular emphasis on Computational Group Theory.""" | ||
|
||
toolchain = {'name': 'intel', 'version': '2018b'} | ||
|
||
source_urls = ['https://www.gap-system.org/pub/gap/gap-%(version_major_minor)s/tar.gz/'] | ||
sources = [SOURCE_TAR_GZ] | ||
patches = ['%(name)s-%(version)s-use-EB-deps.patch'] | ||
checksums = [ | ||
'e502941e52352285e87faaf11e7f0e810eab8e38849d869fc6b9714d6cf7fe7c', # gap-4.9.3.tar.gz | ||
'997e49f35e5c6df43fdc52ac5d856e906790289108de7fbc22413eb8544aa30c', # gap-4.9.3-use-EB-deps.patch | ||
] | ||
|
||
unpack_options = '--strip-components=1' | ||
|
||
dependencies = [ | ||
('GMP', '6.1.2'), | ||
('libreadline', '7.0'), | ||
('4ti2', '1.6.9'), | ||
('Normaliz', '3.6.3'), | ||
('lrslib', '6.2'), | ||
] | ||
|
||
# It doesn't have a working make install and hardcodes | ||
# the build path | ||
buildininstalldir = True | ||
|
||
# This tries to install all of the GAP packages. If one fails because | ||
# of missing dependencies, it's skipped automatically | ||
preinstallopts = 'cd pkg && ../bin/BuildPackages.sh && cd .. #' | ||
|
||
postinstallcmds = ["cd bin && ln -s gap.sh gap && cd -"] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You can drop the |
||
|
||
sanity_check_paths = { | ||
'files': ['bin/gap.sh', 'gap', 'gac'], | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. this should be There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. no, the real file is There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If you check for |
||
'dirs': ['pkg'] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No more specific checks for particular packages? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. it's a very long list and I don't know if any are more important then others. And this comes directly from the tarball. It's not because it's there that it will work There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. OK, fine then :) |
||
} | ||
|
||
moduleclass = 'math' |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
# Don't let gap build it's own Normaliz, use the EB version instead | ||
# wpoely86@gmail.com | ||
diff -ur 4.9.3-intel-2018b.orig/pkg/NormalizInterface-1.0.2/build-normaliz.sh 4.9.3-intel-2018b/pkg/NormalizInterface-1.0.2/build-normaliz.sh | ||
--- 4.9.3-intel-2018b.orig/pkg/NormalizInterface-1.0.2/build-normaliz.sh 2018-10-16 15:26:01.350316915 +0200 | ||
+++ 4.9.3-intel-2018b/pkg/NormalizInterface-1.0.2/build-normaliz.sh 2018-10-16 15:24:30.353651528 +0200 | ||
@@ -12,6 +12,8 @@ | ||
# make | ||
# | ||
|
||
+exit 0 | ||
+ | ||
if [ "$#" -ge 1 ]; then | ||
GAPDIR=$1 | ||
shift |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,135 @@ | ||
# Fix incorrect compare to NULL pointer. It will automically cast to bool | ||
# wpoely86@gmail.com | ||
diff -ur lrslib-062.orig/plrs.cpp lrslib-062/plrs.cpp | ||
--- lrslib-062.orig/plrs.cpp 2016-05-27 11:04:14.000000000 +0200 | ||
+++ lrslib-062/plrs.cpp 2018-10-17 11:56:44.344749250 +0200 | ||
@@ -189,12 +189,12 @@ | ||
while(consume_list){ | ||
|
||
if(consume_list->type == "vertex"){ | ||
- if (OUTSTREAM == NULL) | ||
+ if (!OUTSTREAM) | ||
printf("%s\n",consume_list->data.c_str()); | ||
else OUTSTREAM <<consume_list->data<<endl; | ||
|
||
}else if(consume_list->type == "ray"){ | ||
- if (OUTSTREAM == NULL) | ||
+ if (!OUTSTREAM) | ||
printf("%s\n",consume_list->data.c_str()); | ||
else OUTSTREAM <<consume_list->data<<endl; | ||
|
||
@@ -204,13 +204,13 @@ | ||
//Note that we will not be piping initial cobasis to output | ||
processCobasis(consume_list->data); | ||
}else{ | ||
- if (OUTSTREAM == NULL) | ||
+ if (!OUTSTREAM) | ||
printf("%s\n",consume_list->data.c_str()); | ||
else OUTSTREAM <<consume_list->data<<endl; | ||
} | ||
}else if(consume_list->type =="V cobasis"){ | ||
if(!initializing){ | ||
- if (OUTSTREAM == NULL) | ||
+ if (!OUTSTREAM) | ||
printf("%s\n",consume_list->data.c_str()); | ||
else OUTSTREAM <<consume_list->data<<endl; | ||
} | ||
@@ -243,20 +243,20 @@ | ||
}else if(consume_list->type == "options warning"){ | ||
//Only pipe warnings if initializing otherwise they are displayed multiple times | ||
if(initializing){ | ||
- if (OUTSTREAM == NULL) | ||
+ if (!OUTSTREAM) | ||
printf("%s\n", consume_list->data.c_str()); | ||
else OUTSTREAM <<consume_list->data<<endl; | ||
} | ||
}else if(consume_list->type == "header"){ | ||
//Only pipe headers if initializing otherwise they are displayed multiple times | ||
if(initializing){ | ||
- if (OUTSTREAM == NULL) | ||
+ if (!OUTSTREAM) | ||
printf("%s\n", consume_list->data.c_str()); | ||
else OUTSTREAM <<consume_list->data<<endl; | ||
} | ||
}else if(consume_list->type == "debug"){ | ||
//Print debug output if it's produced | ||
- if (OUTSTREAM == NULL) | ||
+ if (!OUTSTREAM) | ||
printf("%s\n", consume_list->data.c_str()); | ||
else OUTSTREAM << consume_list->data<<endl; | ||
} | ||
@@ -292,7 +292,7 @@ | ||
|
||
printf("*Max depth of %d to initialize starting cobasis list\n", | ||
INITDEPTH); | ||
- if(OUTSTREAM != NULL) | ||
+ if(OUTSTREAM) | ||
OUTSTREAM <<"*Max depth of "<<INITDEPTH<<" to initialize starting cobasis list"<<endl; | ||
|
||
//Copy contents of ine file to temporary file | ||
@@ -303,13 +303,13 @@ | ||
{ | ||
init_temp_file<<"estimates "<<ESTIMATES<<endl; | ||
printf("*Estimates %d\n",ESTIMATES); | ||
- if(OUTSTREAM != NULL) | ||
+ if(OUTSTREAM) | ||
OUTSTREAM <<"*Estimates "<<ESTIMATES<<endl; | ||
if (SUBTREESIZE<1) | ||
SUBTREESIZE=1000; | ||
printf("*Subtreesize %d\n",SUBTREESIZE); | ||
init_temp_file<<"subtreesize "<<SUBTREESIZE<<endl; | ||
- if(OUTSTREAM != NULL) | ||
+ if(OUTSTREAM) | ||
OUTSTREAM <<"*Subtreesize "<<SUBTREESIZE<<endl; | ||
} | ||
if (!ESTIMATES || PLRS_DEBUG) | ||
@@ -416,7 +416,7 @@ | ||
printf("*Output written to: %s\n",outputfile.c_str()); | ||
} | ||
|
||
- if(OUTSTREAM != NULL) | ||
+ if(OUTSTREAM) | ||
{ | ||
OUTSTREAM <<"*plrs:"<<TITLE<<VERSION<<"("<<ARITH<<")"<<MAXTHREADS<<" processes"<<endl<<AUTHOR<<endl; | ||
OUTSTREAM <<"*Input taken from "<<INPUTFILE<<endl; | ||
@@ -472,11 +472,11 @@ | ||
consumer_thread.join(); | ||
} | ||
|
||
- if (OUTSTREAM == NULL) | ||
+ if (!OUTSTREAM) | ||
printf("end\n"); | ||
else | ||
OUTSTREAM <<"end"<<endl;; | ||
- if(OUTSTREAM != NULL) | ||
+ if(OUTSTREAM) | ||
{ | ||
OUTSTREAM<<"*Finished initializing cobasis list with "<<cobasislistsize<<" starting cobases"<<endl; | ||
OUTSTREAM <<"*Starting "<<MAXTHREADS<<" producer thread(s) and 1 consumer thread"<<endl; | ||
@@ -484,22 +484,22 @@ | ||
if(FACETS > 0){ | ||
printf("%s\n", prat("*Volume=",Vnum,Vden).c_str()); | ||
printf("*Totals: facets=%ld bases=%ld\n",FACETS,BASIS); | ||
- if (OUTSTREAM != NULL) { | ||
+ if (OUTSTREAM) { | ||
OUTSTREAM <<prat("*Volume=",Vnum,Vden) << endl ; | ||
OUTSTREAM <<"*Totals: facets="<<FACETS<<" bases="<<BASIS<<endl; | ||
} | ||
}else{ | ||
printf("*Totals: vertices=%ld rays=%ld bases=%ld integer-vertices=%ld\n",VERTICES,RAYS,BASIS,INTVERTICES); | ||
- if (OUTSTREAM != NULL) | ||
+ if (OUTSTREAM) | ||
OUTSTREAM<<"*Totals: vertices="<<VERTICES<<" rays="<<RAYS<<" bases="<<BASIS<< " integer-vertices="<<INTVERTICES<<endl; | ||
} | ||
|
||
- if(OUTSTREAM != NULL) | ||
+ if(OUTSTREAM) | ||
OUTSTREAM<< "*Phase 1 time: "<< phase1time << | ||
" seconds"<<endl; | ||
gettimeofday(&end, NULL); | ||
printf("*Elapsed time: %ld seconds\n", end.tv_sec - start.tv_sec); | ||
- if (OUTSTREAM != NULL) | ||
+ if (OUTSTREAM) | ||
{ | ||
OUTSTREAM <<"*Elapsed time: "<<end.tv_sec - start.tv_sec<<" seconds."<<endl; | ||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
easyblock = 'ConfigureMake' | ||
|
||
name = 'lrslib' | ||
version = '6.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': 'intel', 'version': '2018b'} | ||
|
||
source_urls = ['http://cgm.cs.mcgill.ca/~avis/C/lrslib/archive/'] | ||
sources = ['%%(name)s-0%s.tar.gz' % version.replace('.', '')] | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Please use |
||
patches = [ | ||
'%(name)s-%(version)s-use-EB-values.patch', | ||
'%(name)s-%(version)s-fix-plrs.patch', | ||
] | ||
checksums = [ | ||
'adf92f9c7e70c001340b9c28f414208d49c581df46b550f56ab9a360348e4f09', # lrslib-062.tar.gz | ||
'00ad20f564a71af449d5bf720b9370522cc8189ec7b15a2e20688f6734c812a0', # lrslib-6.2-use-EB-values.patch | ||
'6f49ed9f6219e8bf9448799c5be5cf1752447f3cbd2c7a07db44bd85d48f3a62', # lrslib-6.2-fix-plrs.patch | ||
] | ||
|
||
dependencies = [ | ||
('Boost', '1.67.0'), | ||
('GMP', '6.1.2'), | ||
] | ||
|
||
skipsteps = ['configure'] | ||
buildopts = 'all plrs mplrs' | ||
installopts = 'prefix=%(installdir)s' | ||
|
||
sanity_check_paths = { | ||
'files': ['bin/%s' % x for x in ['lrs', 'lrs1', '2nash', 'plrs', 'mplrs']], | ||
'dirs': ['include', 'lib'] | ||
} | ||
|
||
moduleclass = 'math' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@wpoely86 Please use
skipsteps = ['install']
to skip the installation steps, and do the above viabuildopts
?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this should be run after the
build_step
is doneThere was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, yes, you can do that via
(the
cd ..
at the end is pointless)It's the trailing
#
that I don't like here, this falls in the "hacking" category for me. ;-)