diff --git a/Golden_Repo/g/GDAL/GDAL-3.6.0-GCCcore-11.3.0.eb b/Golden_Repo/g/GDAL/GDAL-3.6.0-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..14185451aa515808a87076d57342a26cccb6eb0e --- /dev/null +++ b/Golden_Repo/g/GDAL/GDAL-3.6.0-GCCcore-11.3.0.eb @@ -0,0 +1,66 @@ +easyblock = 'ConfigureMake' + +name = 'GDAL' +version = '3.6.0' + +homepage = 'https://www.gdal.org' +description = """GDAL is a translator library for raster geospatial data formats that is released under an X/MIT style + Open Source license by the Open Source Geospatial Foundation. As a library, it presents a single abstract data model + to the calling application for all supported formats. It also comes with a variety of useful commandline utilities for + data translation and processing.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://download.osgeo.org/gdal/%(version)s/'] +sources = [SOURCELOWER_TAR_XZ] +patches = ['GDAL-3.0.0_fix-python-CC-CXX.patch'] +checksums = [ + '630e34141cf398c3078d7d8f08bb44e804c65bbf09807b3610dcbfbc37115cc3', # gdal-3.3.2.tar.xz + # GDAL-3.0.0_fix-python-CC-CXX.patch + '223a0ed1afb245527d546bb19e4f80c00f768516ab106d82e53cf36b5a1a2381', +] + +builddependencies = [ + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('binutils', '2.38'), + ('Python', '3.10.4'), + ('netCDF', '4.8.1', '-serial'), + ('expat', '2.4.1'), + ('GEOS', '3.11.1'), + ('SQLite', '3.36'), + ('libxml2', '2.9.10'), + ('libpng', '1.6.37'), + ('libjpeg-turbo', '2.1.1'), + ('JasPer', '2.0.33'), + ('LibTIFF', '4.3.0'), + ('zlib', '1.2.11'), + ('cURL', '7.78.0'), + ('PCRE', '8.45'), + ('PROJ', '8.1.0'), + ('libgeotiff', '1.7.0'), + ('SciPy-bundle', '2021.10', '', ('gcccoremkl', '11.2.0-2021.4.0')), + ('HDF5', '1.12.1', '-serial'), + ('HDF', '4.2.15'), +] + +preconfigopts = "sed -e 's/-llapack/\$LIBLAPACK/g' -i.eb configure && " +configopts = '--with-expat=$EBROOTEXPAT --with-libz=$EBROOTLIBZ' +configopts += ' --with-hdf5=$EBROOTHDF5 --with-netcdf=$EBROOTNETCDF' +configopts += ' --with-xml2=yes --with-geos=$EBROOTGEOS/bin/geos-config --with-jpeg=$EBROOTLIBJPEGMINTURBO' +configopts += ' --with-png=$EBROOTLIBPNG --with-sqlite3=$EBROOTSQLITE --with-jasper=$EBROOTJASPER' +configopts += ' --with-libtiff=$EBROOTLIBTIFF --with-pcre=$EBROOTPCRE --with-python=$EBROOTPYTHON/bin/python' +configopts += ' --with-geotiff=$EBROOTLIBGEOTIFF --with-hdf4=$EBROOTHDF' + +modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'} + +sanity_check_paths = { + 'files': ['lib/libgdal.a', 'lib/libgdal.%s' % SHLIB_EXT], + 'dirs': ['bin', 'include', 'lib/python%(pyshortver)s/site-packages'] +} + +sanity_check_commands = ["python -c 'import osgeo.gdal'"] + +moduleclass = 'data' diff --git a/Golden_Repo/g/GEOS/GEOS-3.11.1-GCCcore-11.3.0.eb b/Golden_Repo/g/GEOS/GEOS-3.11.1-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..1a18fbba369a10d598800bc1d233d9d8b1045ad0 --- /dev/null +++ b/Golden_Repo/g/GEOS/GEOS-3.11.1-GCCcore-11.3.0.eb @@ -0,0 +1,24 @@ +easyblock = 'ConfigureMake' + +name = 'GEOS' +version = '3.11.1' + +homepage = 'https://trac.osgeo.org/geos' +description = """GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS)""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://download.osgeo.org/geos/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['6d0eb3cfa9f92d947731cc75f1750356b3bdfc07ea020553daf6af1c768e0be2'] + +builddependencies = [('binutils', '2.38'), + ('CMake', '3.23.1'), + ] + +sanity_check_paths = { + 'files': ['bin/geos-config', 'lib/libgeos.%s' % SHLIB_EXT, 'lib/libgeos_c.so', 'include/geos.h'], + 'dirs': [], +} + +moduleclass = 'math' diff --git a/Golden_Repo/g/googletest/googletest-1.11.0-GCCcore-11.3.0.eb b/Golden_Repo/g/googletest/googletest-1.11.0-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..03e441dbae366ce56ee3f8502d1b366127acf266 --- /dev/null +++ b/Golden_Repo/g/googletest/googletest-1.11.0-GCCcore-11.3.0.eb @@ -0,0 +1,28 @@ +easyblock = 'CMakeMake' + +name = 'googletest' +version = '1.11.0' + +homepage = 'https://github.com/google/googletest' +description = "Google's framework for writing C++ tests on a variety of platforms" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/google/googletest/archive/'] +sources = ['release-%(version)s.tar.gz'] +checksums = ['b4870bf121ff7795ba20d20bcdd8627b8e088f2d1dab299a031c1034eddc93d5'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] +# build twice, once for static, once for shared libraries +configopts = ['', ' -DBUILD_SHARED_LIBS=ON '] + +sanity_check_paths = { + 'files': ['lib/lib%s.%s' % (local_lib, local_ext) for local_lib in ['gmock', 'gmock_main', 'gtest', 'gtest_main'] + for local_ext in ['a', SHLIB_EXT]], + 'dirs': ['include/gmock', 'include/gtest'], +} + +moduleclass = 'tools' diff --git a/Golden_Repo/h/HDF5/HDF5-1.12.2-GCCcore-11.3.0-serial.eb b/Golden_Repo/h/HDF5/HDF5-1.12.2-GCCcore-11.3.0-serial.eb new file mode 100644 index 0000000000000000000000000000000000000000..11228af032d16da6a57d72b82632f5f3a6ecc807 --- /dev/null +++ b/Golden_Repo/h/HDF5/HDF5-1.12.2-GCCcore-11.3.0-serial.eb @@ -0,0 +1,26 @@ +name = 'HDF5' +version = '1.12.2' +versionsuffix = '-serial' + +homepage = 'https://portal.hdfgroup.org/display/support' +description = """HDF5 is a data model, library, and file format for storing and managing data. + It supports an unlimited variety of datatypes, and is designed for flexible + and efficient I/O and for high volume and complex data.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-%(version_major_minor)s/hdf5-%(version)s/src'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['2a89af03d56ce7502dcae18232c241281ad1773561ec00c0f0e8ee2463910f14'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('zlib', '1.2.12'), + ('Szip', '2.1.1'), +] + +moduleclass = 'data' diff --git a/Golden_Repo/l/libgeotiff/libgeotiff-1.7.1-GCCcore-11.3.0.eb b/Golden_Repo/l/libgeotiff/libgeotiff-1.7.1-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..424658def7b70f4b0de1971ed04000598a790bfe --- /dev/null +++ b/Golden_Repo/l/libgeotiff/libgeotiff-1.7.1-GCCcore-11.3.0.eb @@ -0,0 +1,36 @@ +easyblock = 'ConfigureMake' + +name = 'libgeotiff' +version = '1.7.1' + +homepage = 'https://directory.fsf.org/wiki/Libgeotiff' +description = """Library for reading and writing coordinate system information from/to GeoTIFF files""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://download.osgeo.org/geotiff/libgeotiff'] +sources = [SOURCE_TAR_GZ] +checksums = ['05ab1347aaa471fc97347d8d4269ff0c00f30fa666d956baba37948ec87e55d6'] + +builddependencies = [ + ('binutils', '2.38'), +] + +dependencies = [ + ('PROJ', '9.0.0'), + ('libjpeg-turbo', '2.1.3'), + ('zlib', '1.2.12'), + ('SQLite', '3.38.3'), + ('LibTIFF', '4.3.0'), + ('cURL', '7.83.0'), +] + +configopts = ' --with-libtiff=$EBROOTLIBTIFF --with-proj=$EBROOTPROJ --with-zlib=$EBROOTZLIB' +configopts += ' --with-jpeg=$EBROOTLIBJPEGMINTURBO' + +sanity_check_paths = { + 'files': ['bin/listgeo', 'lib/libgeotiff.a', 'lib/libgeotiff.%s' % SHLIB_EXT], + 'dirs': ['include', 'share'], +} + +moduleclass = 'lib' diff --git a/Golden_Repo/n/netCDF/netCDF-4.9.0-GCCcore-11.3.0-serial.eb b/Golden_Repo/n/netCDF/netCDF-4.9.0-GCCcore-11.3.0-serial.eb new file mode 100644 index 0000000000000000000000000000000000000000..bf434f5f05c0e587fd42abdb6334d7a7a820433f --- /dev/null +++ b/Golden_Repo/n/netCDF/netCDF-4.9.0-GCCcore-11.3.0-serial.eb @@ -0,0 +1,51 @@ +name = 'netCDF' +version = '4.9.0' +versionsuffix = '-serial' + +homepage = 'https://www.unidata.ucar.edu/software/netcdf/' +description = """NetCDF (network Common Data Form) is a set of software libraries + and machine-independent data formats that support the creation, access, and sharing of array-oriented + scientific data.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/Unidata/netcdf-c/archive/'] +sources = ['v%(version)s.tar.gz'] +patches = [ + 'netCDF-%(version)s_fix-lib-name.patch', + 'netCDF-%(version)s_fix-linking-errors.patch', + 'netCDF-%(version)s_skip-nasa-test.patch', +] +checksums = [ + '9f4cb864f3ab54adb75409984c6202323d2fc66c003e5308f3cdf224ed41c0a6', # v4.9.0.tar.gz + 'ed45ae6c49cf8dcddaadef4c5cf403049bf3f761187413d7b03754d319345d6a', # netCDF-4.9.0_fix-lib-name.patch + '2b9579c149579d137eb16ae5d790787774033dcec49c0d4993d9859f224e7b15', # netCDF-4.9.0_fix-linking-errors.patch + '19d99e03c048b037dc01f03f5b8ddc910ebaceb076d0f050540d348f26dfcd2a', # netCDF-4.9.0_skip-nasa-test.patch +] + +builddependencies = [ + ('Autotools', '20220317'), + ('CMake', '3.23.1'), + ('Doxygen', '1.9.4'), +] + +dependencies = [ + ('HDF5', '1.12.2', '-serial'), + ('cURL', '7.83.0'), + ('Szip', '2.1.1'), + ('zstd', '1.5.2'), + ('bzip2', '1.0.8'), + ('libxml2', '2.9.13'), +] + +# make sure both static and shared libs are built +# and disable "remote" tests that access a unreliable external test server over internet +configopts = [ + "-DENABLE_DAP_REMOTE_TESTS=OFF -DBUILD_SHARED_LIBS=OFF", + "-DENABLE_DAP_REMOTE_TESTS=OFF -DBUILD_SHARED_LIBS=ON", +] + +runtest = 'test' + +moduleclass = 'data' diff --git a/Golden_Repo/n/netCDF/netCDF-4.9.0_fix-lib-name.patch b/Golden_Repo/n/netCDF/netCDF-4.9.0_fix-lib-name.patch new file mode 100644 index 0000000000000000000000000000000000000000..9c671776913d1e5e968e9bf29971adbe69acc341 --- /dev/null +++ b/Golden_Repo/n/netCDF/netCDF-4.9.0_fix-lib-name.patch @@ -0,0 +1,23 @@ +From 80a6611cfca98a5979c5ac69cba56a49af8c1e48 Mon Sep 17 00:00:00 2001 +From: Yuriy Chernyshov <thegeorg@yandex-team.com> +Date: Sun, 19 Jun 2022 19:29:20 +0300 +Subject: [PATCH] Fix typo in CMakeLists.txt + +At the time generated dynamic library is named `libnetcdf.so.19}` which looks like a typo. +--- + CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7bf8641bec..18366d24ad 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -39,7 +39,7 @@ SET(NC_VERSION ${netCDF_VERSION}) + SET(PACKAGE_VERSION ${VERSION}) + + # These values should match those in configure.ac +-SET(netCDF_LIB_VERSION 19}) ++SET(netCDF_LIB_VERSION 19) + SET(netCDF_SO_VERSION 19) + + # Version of the dispatch table. This must match the value in diff --git a/Golden_Repo/n/netCDF/netCDF-4.9.0_fix-linking-errors.patch b/Golden_Repo/n/netCDF/netCDF-4.9.0_fix-linking-errors.patch new file mode 100644 index 0000000000000000000000000000000000000000..a4a2ee7f88fdc55213a8e2f30c68216e03bfe073 --- /dev/null +++ b/Golden_Repo/n/netCDF/netCDF-4.9.0_fix-linking-errors.patch @@ -0,0 +1,99 @@ +fix "multiple definition" linking errors, +see also https://github.com/Unidata/netcdf-c/issues/2419 +author: Kenneth Hoste (HPC-UGent) + Lars Viklund (UmeƄ University) +--- netcdf-c-4.9.0/include/netcdf_json.h.orig 2022-06-23 08:35:33.345891769 +0200 ++++ netcdf-c-4.9.0/include/netcdf_json.h 2022-06-23 08:37:38.626339409 +0200 +@@ -57,25 +57,25 @@ + #endif + + /* Parse a JSON string */ +-DLLEXPORT int NCJparse(const char* text, unsigned flags, NCjson** jsonp); ++DLLEXPORT static int NCJparse(const char* text, unsigned flags, NCjson** jsonp); + + /* Reclaim a JSON tree */ +-DLLEXPORT extern void NCJreclaim(NCjson* json); ++DLLEXPORT static void NCJreclaim(NCjson* json); + + /* Create a new JSON node of a given sort */ +-DLLEXPORT extern int NCJnew(int sort, NCjson** objectp); ++DLLEXPORT static int NCJnew(int sort, NCjson** objectp); + + /* Create new json object with given string content */ +-DLLEXPORT extern int NCJnewstring(int sort, const char* value, NCjson** jsonp); ++DLLEXPORT static int NCJnewstring(int sort, const char* value, NCjson** jsonp); + + /* Create new json object with given counted string content */ +-DLLEXPORT extern int NCJnewstringn(int sort, size_t len, const char* value, NCjson** jsonp); ++DLLEXPORT static int NCJnewstringn(int sort, size_t len, const char* value, NCjson** jsonp); + + /* Get dict key value by name */ +-DLLEXPORT extern int NCJdictget(const NCjson* dict, const char* key, NCjson** valuep); ++DLLEXPORT static int NCJdictget(const NCjson* dict, const char* key, NCjson** valuep); + + /* Convert one json sort to value of another type; don't use union so we can know when to reclaim sval */ +-DLLEXPORT extern int NCJcvt(const NCjson* value, int outsort, struct NCJconst* output); ++DLLEXPORT static int NCJcvt(const NCjson* value, int outsort, struct NCJconst* output); + + #ifndef NETCDF_JSON_H + +@@ -230,7 +230,7 @@ + + /**************************************************/ + +-int ++static int + NCJparse(const char* text, unsigned flags, NCjson** jsonp) + { + int stat = NCJ_OK; +@@ -579,7 +579,7 @@ + + /**************************************************/ + +-void ++static void + NCJreclaim(NCjson* json) + { + if(json == NULL) return; +@@ -621,7 +621,7 @@ + /**************************************************/ + /* Build Functions */ + +-int ++static int + NCJnew(int sort, NCjson** objectp) + { + int stat = NCJ_OK; +@@ -651,13 +651,13 @@ + return NCJTHROW(stat); + } + +-int ++static int + NCJnewstring(int sort, const char* value, NCjson** jsonp) + { + return NCJTHROW(NCJnewstringn(sort,strlen(value),value,jsonp)); + } + +-int ++static int + NCJnewstringn(int sort, size_t len, const char* value, NCjson** jsonp) + { + int stat = NCJ_OK; +@@ -679,7 +679,7 @@ + return NCJTHROW(stat); + } + +-int ++static int + NCJdictget(const NCjson* dict, const char* key, NCjson** valuep) + { + int i,stat = NCJ_OK; +@@ -755,7 +755,7 @@ + #endif + + /* Convert a JSON value to an equivalent value of a specified sort */ +-int ++static int + NCJcvt(const NCjson* jvalue, int outsort, struct NCJconst* output) + { + int stat = NCJ_OK; diff --git a/Golden_Repo/n/netCDF/netCDF-4.9.0_skip-nasa-test.patch b/Golden_Repo/n/netCDF/netCDF-4.9.0_skip-nasa-test.patch new file mode 100644 index 0000000000000000000000000000000000000000..61bf1ffda4ad4ec3cf57c0992434a7a11bf5691e --- /dev/null +++ b/Golden_Repo/n/netCDF/netCDF-4.9.0_skip-nasa-test.patch @@ -0,0 +1,17 @@ +The NASA performance test is skipped becuase it is very sentitive to what filesystem is used, causing timeouts. +Author: micketeer@gmail.com +--- nc_test4/run_par_test.sh.in.orig 2022-08-17 11:14:21.827283219 +0200 ++++ nc_test4/run_par_test.sh.in 2022-08-17 11:12:49.547459608 +0200 +@@ -37,9 +37,9 @@ + echo "Testing collective writes with some 0 element writes..." + @MPIEXEC@ -n 4 ./tst_parallel5 + +-echo +-echo "Parallel Performance Test for NASA" +-@MPIEXEC@ -n 4 ./tst_nc4perf ++#echo ++#echo "Parallel Performance Test for NASA" ++#@MPIEXEC@ -n 4 ./tst_nc4perf + + echo + echo "Parallel I/O test for Collective I/O, contributed by HDF Group." diff --git a/Golden_Repo/n/nlohmann_json/nlohmann_json-3.10.5-GCCcore-11.3.0.eb b/Golden_Repo/n/nlohmann_json/nlohmann_json-3.10.5-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..7a6ed0fb3500a25a6bbf53e899b9d897f1d97320 --- /dev/null +++ b/Golden_Repo/n/nlohmann_json/nlohmann_json-3.10.5-GCCcore-11.3.0.eb @@ -0,0 +1,25 @@ +easyblock = 'CMakeMake' + +name = 'nlohmann_json' +version = '3.10.5' + +homepage = 'https://github.com/nlohmann/json' +description = """JSON for Modern C++""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/nlohmann/json/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['5daca6ca216495edf89d167f808d1d03c4a4d929cef7da5e10f135ae1540c7e4'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), +] + +sanity_check_paths = { + 'files': ['include/nlohmann/json.hpp'], + 'dirs': ['lib64/cmake', 'lib64/pkgconfig'], +} + +moduleclass = 'lib' diff --git a/Golden_Repo/p/PROJ/PROJ-9.0.0-GCCcore-11.3.0.eb b/Golden_Repo/p/PROJ/PROJ-9.0.0-GCCcore-11.3.0.eb new file mode 100644 index 0000000000000000000000000000000000000000..ab0f6a5bdbbcea7344352b8dff88731ac1c6baa7 --- /dev/null +++ b/Golden_Repo/p/PROJ/PROJ-9.0.0-GCCcore-11.3.0.eb @@ -0,0 +1,49 @@ +## +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# +# Copyright:: Copyright 2014-2015 The Cyprus Institute +# Authors:: Thekla Loizou <t.loizou@cyi.ac.cy> +# License:: MIT/GPL +# +## +easyblock = 'CMakeMake' + +name = 'PROJ' +version = '9.0.0' + +homepage = 'https://proj.org' +description = """Program proj is a standard Unix filter function which converts +geographic longitude and latitude coordinates into cartesian coordinates""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.osgeo.org/proj/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['0620aa01b812de00b54d6c23e7c5cc843ae2cd129b24fabe411800302172b989'] + +builddependencies = [ + ('pkgconf', '1.8.0'), + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('googletest', '1.11.0'), +] + +dependencies = [ + ('SQLite', '3.38.3'), + ('LibTIFF', '4.3.0'), + ('cURL', '7.83.0'), + ('XZ', '5.2.5'), + ('nlohmann_json', '3.10.5'), +] + +# build twice, once for static, once for shared libraries +configopts = ['', '-DBUILD_SHARED_LIBS=OFF'] + +sanity_check_paths = { + 'files': ['bin/cct', 'bin/cs2cs', 'bin/geod', 'bin/gie', 'bin/proj', 'bin/projinfo', + 'lib/libproj.a', 'lib/libproj.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +moduleclass = 'lib'