forked from easybuilders/easybuild-easyconfigs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
adding easyconfigs: muParser-2.3.4-GCCcore-13.2.0.eb, R-INLA-24.10.07…
…-2-foss-2023b.eb, Rmath-4.4.1-foss-2023b.eb, SuiteSparse-7.7.0-foss-2023b.eb and patches: R-INLA-24.10.07_remove-hardcoding.patch, R-INLA-24.10.07-2_fix-hardcoded-deps.patch
- Loading branch information
sassy
committed
Oct 14, 2024
1 parent
4872376
commit a136c4e
Showing
6 changed files
with
338 additions
and
0 deletions.
There are no files selected for viewing
32 changes: 32 additions & 0 deletions
32
easybuild/easyconfigs/m/muParser/muParser-2.3.4-GCCcore-13.2.0.eb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
easyblock = 'CMakeMake' | ||
|
||
name = 'muParser' | ||
version = '2.3.4' | ||
|
||
homepage = 'https://beltoforion.de/article.php?a=muparser' | ||
description = """ | ||
muParser is an extensible high performance math expression parser library | ||
written in C++. It works by transforming a mathematical expression into | ||
bytecode and precalculating constant parts of the expression. | ||
""" | ||
|
||
toolchain = {'name': 'GCCcore', 'version': '13.2.0'} | ||
toolchainopts = {'pic': True} | ||
|
||
source_urls = ['https://github.com/beltoforion/muparser/archive/'] | ||
sources = ['v%(version)s.tar.gz'] | ||
checksums = ['0c3fa54a3ebf36dda0ed3e7cd5451c964afbb15102bdbcba08aafb359a290121'] | ||
|
||
builddependencies = [ | ||
('binutils', '2.40'), | ||
('CMake', '3.27.6'), | ||
] | ||
|
||
configopts = "-DENABLE_SAMPLES=OFF -DBUILD_SHARED_LIBS=ON" | ||
|
||
sanity_check_paths = { | ||
'files': ['include/%(name)s.h', 'lib/libmuparser.%s' % SHLIB_EXT], | ||
'dirs': [], | ||
} | ||
|
||
moduleclass = 'math' |
108 changes: 108 additions & 0 deletions
108
easybuild/easyconfigs/r/R-INLA/R-INLA-24.10.07-2-foss-2023b.eb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,108 @@ | ||
# Updated to 24.10.07-2 | ||
# Author: J. Sassmannshausen (Imperial College London/UK) | ||
|
||
easyblock = 'Bundle' | ||
|
||
name = 'R-INLA' | ||
version = '24.10.07-2' | ||
|
||
homepage = 'https://www.r-inla.org' | ||
description = "R-INLA is a package in R that do approximate Bayesian inference for Latent Gaussian Models." | ||
|
||
toolchain = {'name': 'foss', 'version': '2023b'} | ||
toolchainopts = {'openmp': True} | ||
|
||
dependencies = [ | ||
('R', '4.4.1'), | ||
('R-bundle-CRAN', '2024.06'), | ||
('GSL', '2.7'), | ||
('zlib', '1.2.13'), | ||
('SuiteSparse', '7.7.0'), | ||
('METIS', '5.1.0'), | ||
('muParser', '2.3.4'), | ||
('Rmath', '%(rver)s'), | ||
('X11', '20231019'), | ||
('libtool', '2.4.7'), # provides libltdl | ||
] | ||
|
||
default_easyblock = 'ConfigureMake' | ||
# all components are installed from the same source tarball | ||
default_component_specs = { | ||
'source_urls': ['https://github.com/hrue/r-inla/archive/refs/tags/'], | ||
'sources': [{'download_filename': 'Version_%s.tar.gz' % version, 'filename': 'R-INLA-%s.tar.gz' % version}], | ||
'skipsteps': ['configure'], | ||
'checksums': ['6e3bf7fd403290928ce5f9bd89092a750f8b9faf40bb99a3b3265116143260db'] | ||
} | ||
|
||
local_gmrflib_prebuildopts = ' cd r-inla-Version_%(version)s && ln -s gmrflib GMRFLib && cd - && ' | ||
local_gmrflib_buildopts = ' -C r-inla-*/gmrflib PREFIX=%(installdir)s CC="$CC" FC="$FC" ' | ||
local_gmrflib_buildopts += ' FLAGS="$CXXFLAGS -DINLA_LINK_WITH_OPENBLAS " ' | ||
|
||
local_rinla_prebuildopts = "export CPATH=$EBROOTR/lib64/R/include/:$CPATH && " | ||
local_rinla_prebuildopts += "cp r-inla-Version_%(version)s/gmrflib/sha.h %(installdir)s/include/GMRFLib/ && " | ||
|
||
local_inla_buildopts = '-C r-inla-*/inlaprog PREFIX=%(installdir)s ' | ||
local_inla_buildopts += ' CC="$CC" CXX="$CXX" FC="$FC" LD="$CXX -lltdl" ' | ||
local_inla_buildopts += ' FLAGS="$CXXFLAGS -DINLA_LINK_WITH_OPENBLAS"' | ||
|
||
components = [ | ||
('taucs', version, { | ||
'easyblock': 'MakeCp', | ||
'prebuildopts': "cd r-inla-*/extlibs && tar xvfz taucs-2.2--my-fix.tgz && cd taucs-2.2--my-fix && ", | ||
'buildopts': 'CC="$CC" CFLAGS="$CFLAGS" FC="$FC" FFLAGS="$FFLAGS" LIBBLAS="$LIBBLAS" LIBLAPACK="$LIBLAPACK"', | ||
'files_to_copy': [(['r-inla-*/extlibs/taucs-2.2--my-fix/lib/linux/libtaucs.a'], 'lib')], | ||
}), | ||
('fmesher-R-INLA', version, { | ||
'patches': ['R-INLA-24.10.07-2_fix-hardcoded-deps.patch'], | ||
'checksums': default_component_specs['checksums'] + [ | ||
'2e81c16c06eb1a9355e50dfac5f92477c093d94137ee49ae35e78e75d67a853d', | ||
], | ||
'buildopts': '-C r-inla-*/fmesher PREFIX=%(installdir)s CC="$CC" CXX="$CXX" LD="$CXX" FLAGS="$CXXFLAGS"', | ||
'installopts': '-C r-inla-*/fmesher PREFIX=%(installdir)s', | ||
}), | ||
('GMRFLib', version, { | ||
'prebuildopts': local_gmrflib_prebuildopts, | ||
'buildopts': local_gmrflib_buildopts, | ||
'installopts': '-C r-inla-*/gmrflib PREFIX=%(installdir)s', | ||
}), | ||
('fmesher', '0.1.7', { | ||
'easyblock': 'RPackage', | ||
'source_urls': [ | ||
'https://cran.r-project.org/src/contrib/Archive/fmesher', # package archive | ||
'https://cran.r-project.org/src/contrib/', # current version of packages | ||
], | ||
'sources': ['fmesher_%(version)s.tar.gz'], | ||
'checksums': ['b59af73ac4e30e5d4287fb6ddfc0b6e21b007243bd94a652f3725ea431019ecf'], | ||
'start_dir': 'fmesher', | ||
}), | ||
('rinla', version, { | ||
'patches': ['R-INLA-24.10.07_remove-hardcoding.patch'], | ||
'checksums': default_component_specs['checksums'] + [ | ||
'8a1fd63611e1ad64ed8702b5ba07b5f3969afcaf0454605074c1d717590ca603', | ||
], | ||
'easyblock': 'RPackage', | ||
'start_dir': 'r-inla-Version_%(version)s/rinla', | ||
'preinstallopts': "export R_LIBS_SITE=%(installdir)s:$R_LIBS_SITE && ", | ||
}), | ||
(name, version, { | ||
'prebuildopts': local_rinla_prebuildopts, | ||
'buildopts': local_inla_buildopts, | ||
'installopts': '-C r-inla-*/inlaprog PREFIX=%(installdir)s', | ||
}), | ||
] | ||
|
||
local_bins = ['inla', 'fmesher'] | ||
|
||
postinstallcmds = ['ln -s %%(installdir)s/bin/%s %%(installdir)s/INLA/bin/linux/64bit/%s' % (x, x) for x in local_bins] | ||
|
||
sanity_check_paths = { | ||
'files': ['%s/%s' % (p, x) for p in ['bin', 'INLA/bin/linux/64bit'] for x in local_bins] + | ||
['lib/libGMRFLib.a', 'lib/libtaucs.a'], | ||
'dirs': ['doc', 'include/GMRFLib'], | ||
} | ||
|
||
sanity_check_commands = ["Rscript -e 'library(INLA)'"] + ["%s -h" % x for x in local_bins] | ||
|
||
modextrapaths = {'R_LIBS_SITE': ''} | ||
|
||
moduleclass = 'math' |
77 changes: 77 additions & 0 deletions
77
easybuild/easyconfigs/r/R-INLA/R-INLA-24.10.07-2_fix-hardcoded-deps.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,77 @@ | ||
use dependencies provided by EasyBuild | ||
authors: Denis Kristak (INUITS), Kenneth Hoste (HPC-UGent) | ||
updated to 24.10.07-2: J. Sassmannshausen (Imperial College London/UK) | ||
diff --git a/r-inla-Version_24.10.07-2.orig/gmrflib/old-stuff/smtp-taucs.c b/r-inla-Version_24.10.07-2/gmrflib/old-stuff/smtp-taucs.c | ||
index 07d3b13..d2964c6 100644 | ||
--- a/r-inla-Version_24.10.07-2.orig/gmrflib/old-stuff/smtp-taucs.c | ||
+++ b/r-inla-Version_24.10.07-2/gmrflib/old-stuff/smtp-taucs.c | ||
@@ -43,7 +43,7 @@ | ||
|
||
#include "GMRFLib/GMRFLib.h" | ||
#include "GMRFLib/GMRFLibP.h" | ||
-#include "amd.h" | ||
+#include "suitesparse/amd.h" | ||
#include "metis.h" | ||
|
||
GMRFLib_taucs_cache_tp *GMRFLib_taucs_cache_duplicate(GMRFLib_taucs_cache_tp *cache) | ||
diff --git a/r-inla-Version_24.10.07-2.orig/gmrflib/smtp-taucs.c b/r-inla-Version_24.10.07-2/gmrflib/smtp-taucs.c | ||
index ba7331f..dc09aba 100644 | ||
--- a/r-inla-Version_24.10.07-2.orig/gmrflib/smtp-taucs.c | ||
+++ b/r-inla-Version_24.10.07-2/gmrflib/smtp-taucs.c | ||
@@ -43,7 +43,7 @@ | ||
|
||
#include "GMRFLib/GMRFLib.h" | ||
#include "GMRFLib/GMRFLibP.h" | ||
-#include "amd.h" | ||
+#include "suitesparse/amd.h" | ||
#include "metis.h" | ||
|
||
#define TIME_FUNCTIONS 0 | ||
diff --git a/r-inla-Version_24.10.07-2.orig/inlaprog/Makefile b/r-inla-Version_24.10.07-2/inlaprog/Makefile | ||
index c2a5bc3..64e9ede 100644 | ||
--- a/r-inla-Version_24.10.07-2.orig/inlaprog/Makefile | ||
+++ b/r-inla-Version_24.10.07-2/inlaprog/Makefile | ||
@@ -2,8 +2,8 @@ | ||
|
||
PREFIX = /usr/local | ||
|
||
-RLIB_INC = -DINLA_WITH_LIBR -I/usr/include/R -I/usr/share/R/include | ||
-RLIB_LIB = -L/usr/lib -lRmath -L/usr/lib/R/lib -lR | ||
+RLIB_INC = -DINLA_WITH_LIBR | ||
+RLIB_LIB = -lRmath -lR | ||
|
||
# select compilers and optimized compiler-options, add -fopenmp or similar to use OpenMP | ||
CC = gcc | ||
@@ -19,7 +19,7 @@ LEXTPREFIX = $(PREFIX) | ||
|
||
# The external libraries to link with | ||
EXTLIBS1 = -L$(PREFIX)/lib -lGMRFLib -L$(LEXTPREFIX)/lib | ||
-EXTLIBS2 = -lgsl -ltaucs -lmetis -llapack -lblas -lgslcblas -lamd -lmuparser -lz -lgfortran -lcrypto | ||
+EXTLIBS2 = -lgsl -ltaucs -lmetis -lscalapack -lflexiblas -lgslcblas -lamd -lmuparser -lz -lgfortran -lcrypto | ||
EXTLIBS3 = -Wl,--whole-archive -lpthread -Wl,--no-whole-archive -lm | ||
|
||
################################################################################ | ||
@@ -55,8 +55,8 @@ install: $(INLA) | ||
done; \ | ||
install -m755 $(INLA) $(PREFIX)/bin/$(INLA);\ | ||
install -m755 $(INLA) $(PREFIX)/bin/$(INLA);\ | ||
- rsync -auv --no-p --no-o --no-g --chmod=ugo=rwX --delete doc/* $(PREFIX)/doc/inla; \ | ||
- rsync -auv --no-p --no-o --no-g --chmod=ugo=rwX --delete examples/* $(PREFIX)/doc/inla/examples; | ||
+ # rsync -auv --no-p --no-o --no-g --chmod=ugo=rwX --delete doc/* $(PREFIX)/doc/inla; \ | ||
+ # rsync -auv --no-p --no-o --no-g --chmod=ugo=rwX --delete examples/* $(PREFIX)/doc/inla/examples; | ||
|
||
clean:; -$(RM) $(OBJ) $(INLA) | ||
|
||
diff --git a/r-inla-Version_24.10.07-2.orig/inlaprog/src/eval.c b/r-inla-Version_24.10.07-2/inlaprog/src/eval.c | ||
index bc9819b..c352fca 100644 | ||
--- a/r-inla-Version_24.10.07-2.orig/inlaprog/src/eval.c | ||
+++ b/r-inla-Version_24.10.07-2/inlaprog/src/eval.c | ||
@@ -35,7 +35,7 @@ | ||
#include <stdio.h> | ||
|
||
#if defined(INLA_WITH_MUPARSER) | ||
-#include <muParser/muParserDLL.h> | ||
+#include <muParserDLL.h> | ||
#endif | ||
|
||
#include "GMRFLib/GMRFLib.h" |
48 changes: 48 additions & 0 deletions
48
easybuild/easyconfigs/r/R-INLA/R-INLA-24.10.07_remove-hardcoding.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
remove hardcoded paths from scripts | ||
authors: Denis Kristak (INUITS), Kenneth Hoste (HPC-UGent) | ||
Updated to 24.10.07: J. Sassmannshausen (Imperial College London/UK) | ||
diff --git a/r-inla-Version_24.10.07.orig/rinla/inst/bin/linux/64bit/fmesher.run b/r-inla-Version_24.10.07/rinla/inst/bin/linux/64bit/fmesher.run | ||
index 5a273e9..3195d02 100755 | ||
--- a/r-inla-Version_24.10.07.orig/rinla/inst/bin/linux/64bit/fmesher.run | ||
+++ b/r-inla-Version_24.10.07/rinla/inst/bin/linux/64bit/fmesher.run | ||
@@ -4,18 +4,6 @@ tmp=$(basename "$cmd") | ||
prog=${tmp%%.run} | ||
DIR=$(dirname "$cmd") | ||
|
||
-D="" | ||
-for d in {,/usr}/lib64 /usr/lib64/R/lib {,/usr}/lib/x86_64-linux-gnu {,/usr}/lib; do | ||
- if [ -d "$d" ]; then | ||
- if [ -z "$D" ]; then | ||
- D="$d" | ||
- else | ||
- D="$D:$d" | ||
- fi | ||
- fi | ||
-done | ||
-export LD_LIBRARY_PATH="$DIR/first:$D:$DIR:$LD_LIBRARY_PATH" | ||
- | ||
if [ "${INLA_DEBUG}XX" != "XX" ]; then | ||
echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" | ||
ldd -r "$DIR/$prog" | ||
diff --git a/r-inla-Version_24.10.07.orig/rinla/inst/bin/linux/64bit/inla.run b/r-inla-Version_24.10.07/rinla/inst/bin/linux/64bit/inla.run | ||
index 49a6424..555d007 100755 | ||
--- a/r-inla-Version_24.10.07.orig/rinla/inst/bin/linux/64bit/inla.run | ||
+++ b/r-inla-Version_24.10.07/rinla/inst/bin/linux/64bit/inla.run | ||
@@ -13,17 +13,6 @@ if [ ! -z ${R_HOME+x} ]; then | ||
fi | ||
fi | ||
|
||
-D="" | ||
-for d in {,/usr}/lib64 /usr/lib64/R/lib {,/usr}/lib/x86_64-linux-gnu {,/usr}/lib; do | ||
- if [ -d "$d" ]; then | ||
- if [ -z "$D" ]; then | ||
- D="$d" | ||
- else | ||
- D="$D:$d" | ||
- fi | ||
- fi | ||
-done | ||
- | ||
if [ -n "${INLA_NATIVE_LD_LIBRARY_PATH}" ]; then | ||
## so we can revert back to old behaviour | ||
export LD_LIBRARY_PATH="$DIR/first:$D:$DIR:$LD_LIBRARY_PATH" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
# Easyconfig for Rmath | ||
# Author: Caspar van Leeuwen | ||
# SURFsara, Amsterdam, The Netherlands | ||
# Updated to 4.4.1: J. Sassmannshausen (Imperial College London/UK) | ||
|
||
easyblock = 'ConfigureMake' | ||
|
||
name = 'Rmath' | ||
version = '4.4.1' | ||
|
||
homepage = "https://www.r-project.org/" | ||
description = """Rmath is the standalone version of the R math library. | ||
Rmath can be used in your own C/C++ routines.""" | ||
|
||
toolchain = {'name': 'foss', 'version': '2023b'} | ||
|
||
source_urls = ['http://cran.us.r-project.org/src/base/R-%(version_major)s/'] | ||
sources = ['R-%(version)s.tar.gz'] | ||
checksums = ['b4cb675deaaeb7299d3b265d218cde43f192951ce5b89b7bb1a5148a36b2d94d'] | ||
|
||
dependencies = [ | ||
('bzip2', '1.0.8'), | ||
('cURL', '8.3.0'), | ||
('libreadline', '8.2'), | ||
('PCRE2', '10.42'), | ||
('XZ', '5.4.4'), | ||
('zlib', '1.2.13') | ||
] | ||
|
||
# Copied from R-3.3.1-intel-2016b.eb. | ||
# Again, unsure if these affect R-math: R documentation doesn't specify. | ||
configopts = "--with-pic --enable-threads --with-x=no --with-pcre2" | ||
|
||
# Since we're only installing Rmath anyway, we don't care about R packages. | ||
configopts += " --with-recommended-packages=no" | ||
|
||
# To build Rmath, docs say you need to execute 'make' in src/nmath/standalone | ||
# https://cran.r-project.org/doc/manuals/r-devel/R-admin.html#Configuration-options | ||
prebuildopts = 'cd src/nmath/standalone;' | ||
preinstallopts = prebuildopts | ||
|
||
sanity_check_paths = { | ||
'files': ['lib/libRmath.a', 'lib/libRmath.%s' % SHLIB_EXT, 'include/Rmath.h'], | ||
'dirs': [] | ||
} | ||
|
||
moduleclass = 'numlib' |
26 changes: 26 additions & 0 deletions
26
easybuild/easyconfigs/s/SuiteSparse/SuiteSparse-7.7.0-foss-2023b.eb
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
name = 'SuiteSparse' | ||
version = '7.7.0' | ||
|
||
homepage = 'https://faculty.cse.tamu.edu/davis/suitesparse.html' | ||
description = """SuiteSparse is a collection of libraries to manipulate sparse matrices.""" | ||
|
||
toolchain = {'name': 'foss', 'version': '2023b'} | ||
toolchainopts = {'unroll': True, 'pic': True} | ||
|
||
source_urls = ['https://github.com/DrTimothyAldenDavis/SuiteSparse/archive'] | ||
sources = ['v%(version)s.tar.gz'] | ||
checksums = ['529b067f5d80981f45ddf6766627b8fc5af619822f068f342aab776e683df4f3'] | ||
|
||
builddependencies = [ | ||
('CMake', '3.27.6'), | ||
('pkgconf', '2.0.3'), | ||
] | ||
|
||
dependencies = [ | ||
('MPFR', '4.2.1'), | ||
] | ||
|
||
# uncomment the next row if need customization | ||
# cmake_options = '' | ||
|
||
moduleclass = 'numlib' |