diff --git a/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-13.2.0.eb b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..82a7f9766df --- /dev/null +++ b/easybuild/easyconfigs/a/Autoconf/Autoconf-2.71-GCCcore-13.2.0.eb @@ -0,0 +1,48 @@ +easyblock = 'ConfigureMake' + +name = 'Autoconf' +version = '2.71' + +homepage = 'https://www.gnu.org/software/autoconf/' + +description = """ + Autoconf is an extensible package of M4 macros that produce shell scripts + to automatically configure software source code packages. These scripts can + adapt the packages to many kinds of UNIX-like systems without manual user + intervention. Autoconf creates a configuration script for a package from a + template file that lists the operating system features that the package can + use, in the form of M4 macro calls. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['431075ad0bf529ef13cb41e9042c542381103e80015686222b8a9d4abef42a1c'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('M4', '1.4.19'), + # non-standard Perl modules are required, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822 + ('Perl', '5.38.0'), +] + +preconfigopts = "export PERL='/usr/bin/env perl' && " + +sanity_check_paths = { + 'files': ["bin/%s" % x + for x in ["autoconf", "autoheader", "autom4te", "autoreconf", + "autoscan", "autoupdate", "ifnames"]], + 'dirs': [], +} + +sanity_check_commands = [ + "autoconf --help", + "autom4te --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..371c50f375d --- /dev/null +++ b/easybuild/easyconfigs/a/Automake/Automake-1.16.5-GCCcore-13.2.0.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'Automake' +version = '1.16.5' + +homepage = 'https://www.gnu.org/software/automake/automake.html' + +description = "Automake: GNU Standards-compliant Makefile generator" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['07bd24ad08a64bc17250ce09ec56e921d6343903943e99ccf63bbf0705e34605'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Autoconf', '2.71'), + # non-standard Perl modules are required, + # see https://github.com/easybuilders/easybuild-easyconfigs/issues/1822 + ('Perl', '5.38.0'), +] + +preconfigopts = "export PERL='/usr/bin/env perl' && " + +sanity_check_paths = { + 'files': ['bin/aclocal', 'bin/automake'], + 'dirs': [] +} + +sanity_check_commands = [ + "aclocal --help", + "automake --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/a/Autotools/Autotools-20220317-GCCcore-13.2.0.eb b/easybuild/easyconfigs/a/Autotools/Autotools-20220317-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..49a29016b9e --- /dev/null +++ b/easybuild/easyconfigs/a/Autotools/Autotools-20220317-GCCcore-13.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'Bundle' + +name = 'Autotools' +version = '20220317' # date of the most recent change + +homepage = 'https://autotools.io' + +description = """ + This bundle collect the standard GNU build tools: Autoconf, Automake + and libtool +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +dependencies = [ + ('Autoconf', '2.71'), # 20210128 + ('Automake', '1.16.5'), # 20211003 + ('libtool', '2.4.7'), # 20220317 +] + +# Pure bundle -- no need to specify 'binutils' used when building GCCcore +# toolchain as build dependency + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/b/Biopython/Biopython-1.76-foss-2021b-Python-2.7.18.eb b/easybuild/easyconfigs/b/Biopython/Biopython-1.76-foss-2021b-Python-2.7.18.eb new file mode 100644 index 00000000000..a669640f918 --- /dev/null +++ b/easybuild/easyconfigs/b/Biopython/Biopython-1.76-foss-2021b-Python-2.7.18.eb @@ -0,0 +1,43 @@ +easyblock = 'PythonPackage' + +name = 'Biopython' +version = '1.76' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://www.biopython.org' +description = """Biopython is a set of freely available tools for biological + computation written in Python by an international team of developers. It is + a distributed collaborative effort to develop Python libraries and + applications which address the needs of current and future work in + bioinformatics. """ + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://biopython.org/DIST'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['3873cb98dad5e28d5e3f2215a012565345a398d3d2c4eebf7cd701757b828c72'] + +dependencies = [ + ('Python', '2.7.18'), + ('SciPy-bundle', '2021.10', versionsuffix), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +# Run only tests that don't require internet connection +runtest = 'python setup.py test --offline' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/Bio', + 'lib/python%(pyshortver)s/site-packages/BioSQL'] +} + +# extra check to ensure numpy dependency is available +sanity_check_commands = ["python -c 'import Bio.MarkovModel'"] + +options = {'modulename': 'Bio'} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/c/CUDA/CUDA-12.2.2.eb b/easybuild/easyconfigs/c/CUDA/CUDA-12.2.2.eb new file mode 100644 index 00000000000..da8873e6d0c --- /dev/null +++ b/easybuild/easyconfigs/c/CUDA/CUDA-12.2.2.eb @@ -0,0 +1,24 @@ +name = 'CUDA' +version = '12.2.2' +local_nv_version = '535.104.05' + +homepage = 'https://developer.nvidia.com/cuda-toolkit' +description = """CUDA (formerly Compute Unified Device Architecture) is a parallel + computing platform and programming model created by NVIDIA and implemented by the + graphics processing units (GPUs) that they produce. CUDA gives developers access + to the virtual instruction set and memory of the parallel computational elements in CUDA GPUs.""" + +toolchain = SYSTEM + +source_urls = ['https://developer.download.nvidia.com/compute/cuda/%(version)s/local_installers/'] +sources = ['cuda_%%(version)s_%s_linux%%(cudaarch)s.run' % local_nv_version] +checksums = [{ + 'cuda_%%(version)s_%s_linux.run' % local_nv_version: + '2b39aae3e7618d9f59a3c8fa1f1bc61f29c0b0e0df75fb05076badb352952ef2', + 'cuda_%%(version)s_%s_linux_ppc64le.run' % local_nv_version: + '18848278e7f2bd4b4481f5665633d7e3d46e9a562d175d5ff278218188b01342', + 'cuda_%%(version)s_%s_linux_sbsa.run' % local_nv_version: + '4113a15e6b27a02638c72edeb5f89de4c9ea312febba12fc4cefff2edc882268' +}] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/c/CatBoost/CatBoost-1.2-gfbf-2023a.eb b/easybuild/easyconfigs/c/CatBoost/CatBoost-1.2-gfbf-2023a.eb new file mode 100644 index 00000000000..02aa893cd52 --- /dev/null +++ b/easybuild/easyconfigs/c/CatBoost/CatBoost-1.2-gfbf-2023a.eb @@ -0,0 +1,41 @@ +easyblock = 'PythonBundle' + +name = 'CatBoost' +version = '1.2' + +homepage = 'https://catboost.ai' +description = """CatBoost is a high-performance open source library for gradient boosting on decision trees""" + +toolchain = {'name': 'gfbf', 'version': '2023a'} + +builddependencies = [ + ('CMake', '3.26.3'), + ('conan', '1.60.2'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('Clang', '16.0.6'), + ('SciPy-bundle', '2023.07'), + ('matplotlib', '3.7.2'), + ('plotly.py', '5.16.0'), + ('graphviz-python', '0.20.1'), + ('Ninja', '1.11.1'), +] + +use_pip = True +sanity_pip_check = True + +exts_list = [ + (name, version, { + 'patches': ['%(name)s-%(version)s_disable-widget.patch'], + 'source_urls': ['https://pypi.python.org/packages/source/c/catboost'], + 'sources': ['catboost-%(version)s.tar.gz'], + 'checksums': [ + {'catboost-1.2.tar.gz': '39e53403727ecfbb48156773ef3006b4e71cc35ab49cc9a0cf044b474c34be0c'}, + {'CatBoost-1.2_disable-widget.patch': '468be5b5e9eaf655d407a342b786bb419d4ceaeb9df5c753c256a8bd6d69f9df'}, + ], + }), +] + +moduleclass = 'ai' diff --git a/easybuild/easyconfigs/c/CatBoost/CatBoost-1.2_disable-widget.patch b/easybuild/easyconfigs/c/CatBoost/CatBoost-1.2_disable-widget.patch new file mode 100644 index 00000000000..0f60fb8bac5 --- /dev/null +++ b/easybuild/easyconfigs/c/CatBoost/CatBoost-1.2_disable-widget.patch @@ -0,0 +1,14 @@ +Disabling optional widget, as it requires `yarn` +Author: Denis Kristak (Inuits) +diff -ruN catboost-1.2_pypi_orig/setup.py catboost-1.2_pypi/setup.py +--- catboost-1.2_pypi_orig/setup.py 2023-08-08 13:41:49.501481901 +0200 ++++ catboost-1.2_pypi/setup.py 2023-08-08 13:43:39.744105439 +0200 +@@ -245,7 +245,7 @@ + + @staticmethod + def initialize_options(command): +- command.no_widget = False ++ command.no_widget = True + command.prebuilt_widget = False + + @staticmethod diff --git a/easybuild/easyconfigs/c/ccache/ccache-4.8.3.eb b/easybuild/easyconfigs/c/ccache/ccache-4.8.3.eb new file mode 100644 index 00000000000..0bbc94a62ba --- /dev/null +++ b/easybuild/easyconfigs/c/ccache/ccache-4.8.3.eb @@ -0,0 +1,54 @@ +# Copyright:: Copyright 2012-2014 Uni.Lu/LCSB, NTUA +# Authors:: Fotis Georgatos +# License:: MIT/GPL + +easyblock = 'CMakeNinja' + +name = 'ccache' +version = '4.8.3' + +homepage = 'https://ccache.dev/' +description = """Ccache (or “ccache”) is a compiler cache. It speeds up recompilation by +caching previous compilations and detecting when the same compilation is being done again""" + +toolchain = SYSTEM + +source_urls = ['https://github.com/ccache/ccache/releases/download/v%(version)s/'] +sources = [SOURCE_TAR_GZ] +checksums = ['d59dd569ad2bbc826c0bc335c8ebd73e78ed0f2f40ba6b30069347e63585d9ef'] + +osdependencies = [('glibc-static', 'libc6-dev')] + +local_gccver = '12.3.0' +builddependencies = [ + ('GCC', local_gccver), + ('CMake', '3.26.3', '', ('GCCcore', local_gccver)), + ('Ninja', '1.11.1', '', ('GCCcore', local_gccver)), + ('hiredis', '1.2.0', '', ('GCCcore', local_gccver)), + ('zstd', '1.5.5', '', ('GCCcore', local_gccver)), +] + +# use BFD linker rather than default ld.gold (required on CentOS 8) +preconfigopts = 'LDFLAGS="-fuse-ld=bfd"' +configopts = ' '.join([ + '-DENABLE_DOCUMENTATION=OFF', + '-DENABLE_IPO=ON', + # Link dependencies and binary statically + '-DCMAKE_EXE_LINKER_FLAGS="-static"', + '-DZSTD_LIBRARY="$EBROOTZSTD/lib/libzstd.a"', + '-DHIREDIS_LIBRARY="$EBROOTHIREDIS/lib/libhiredis.a"', + # Disable downloading dependencies + '-DZSTD_FROM_INTERNET=OFF -DHIREDIS_FROM_INTERNET=OFF', +]) + +sanity_check_paths = { + 'files': ['bin/ccache'], + 'dirs': [] +} +sanity_check_commands = [ + 'ccache --help', + # Ensure that the binary does not depend on any shared library + 'LC_ALL=C ldd $(which ccache) | grep -q "not a dynamic executable"', +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/c/conan/conan-1.60.2-GCCcore-12.3.0.eb b/easybuild/easyconfigs/c/conan/conan-1.60.2-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..3c8de0638ed --- /dev/null +++ b/easybuild/easyconfigs/c/conan/conan-1.60.2-GCCcore-12.3.0.eb @@ -0,0 +1,64 @@ +easyblock = 'PythonBundle' + +name = 'conan' +version = '1.60.2' # have to stick to an older version because catboost is not compatible with newer one + +homepage = 'https://conan.io' +description = "Decentralized, open-source (MIT), C/C++ package manager." + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('Python', '3.11.3'), + ('PyYAML', '6.0'), + ('tqdm', '4.66.1'), + ('Python-bundle-PyPI', '2023.06'), +] + +use_pip = True + +exts_list = [ + ('bottle', '0.12.25', { + 'checksums': ['e1a9c94970ae6d710b3fb4526294dfeb86f2cb4a81eff3a4b98dc40fb0e5e021'], + }), + ('distro', '1.8.0', { + 'checksums': ['02e111d1dc6a50abb8eed6bf31c3e48ed8b0830d1ea2a1b78c61765c2513fdd8'], + }), + ('fasteners', '0.18', { + 'checksums': ['cb7c13ef91e0c7e4fe4af38ecaf6b904ec3f5ce0dda06d34924b6b74b869d953'], + }), + ('node-semver', '0.6.1', { + 'modulename': 'semver', + 'checksums': ['4016f7c1071b0493f18db69ea02d3763e98a633606d7c7beca811e53b5ac66b7'], + }), + ('patch-ng', '1.17.4', { + 'checksums': ['627abc5bd723c8b481e96849b9734b10065426224d4d22cd44137004ac0d4ace'], + }), + ('pluginbase', '1.0.1', { + 'checksums': ['ff6c33a98fce232e9c73841d787a643de574937069f0d18147028d70d7dee287'], + }), + ('PyJWT', '2.8.0', { + 'modulename': 'jwt', + 'checksums': ['57e28d156e3d5c10088e0c68abb90bfac3df82b40a71bd0daa20c65ccd5c23de'], + }), + (name, version, { + 'source_tmpl': '%(version)s.tar.gz', + 'source_urls': ['https://github.com/conan-io/conan/archive/'], + 'checksums': ['63dc6e92fc7f1d77fe08488bd78cd8a20fdddf454e55e1244107d1aec974377c'], + }), +] + +sanity_check_paths = { + 'files': ['bin/conan'], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_check_commands = ["conan --help"] + +sanity_pip_check = True + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/g/GAPPadder/GAPPadder-20170601-foss-2021b-Python-2.7.18.eb b/easybuild/easyconfigs/g/GAPPadder/GAPPadder-20170601-foss-2021b-Python-2.7.18.eb new file mode 100644 index 00000000000..1778ef1545b --- /dev/null +++ b/easybuild/easyconfigs/g/GAPPadder/GAPPadder-20170601-foss-2021b-Python-2.7.18.eb @@ -0,0 +1,44 @@ +easyblock = 'MakeCp' + +name = 'GAPPadder' +version = '20170601' +local_commit = 'a359750' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'https://github.com/simoncchu/GAPPadder' +description = "GAPPadder is tool for closing gaps on draft genomes with short sequencing data" + +toolchain = {'name': 'foss', 'version': '2021b'} + +source_urls = ['https://github.com/simoncchu/GAPPadder/archive'] +sources = [{'download_filename': '%s.tar.gz' % local_commit, 'filename': SOURCE_TAR_GZ}] +checksums = ['d255e863cc2627116d7cb1d112283a7cf794d349de28f673daf32ce68d8bba90'] + +dependencies = [ + ('Python', '2.7.18'), + ('Biopython', '1.76', versionsuffix), + ('KMC', '3.2.1', versionsuffix), + ('Velvet', '1.2.10', '-mt-kmer_191'), + ('BWA', '0.7.17'), + ('SAMtools', '1.14'), + ('BamTools', '2.5.2'), +] + +# remove prebuilt binaries +prebuildopts = "rm TERefiner_1 TERefiner/TERefiner_1 ContigsMerger ContigsCompactor-*/ContigsMerger/ContigsMerger && " +prebuildopts += "cd TERefiner && " +prebuildopts += "make BAMTOOLS=$EBROOTBAMTOOLS/include/bamtools BAMTOOLS_LD=$EBROOTNBAMTOOLS/lib && cd .. && " +prebuildopts += "cd ContigsCompactor-v0.2.0/ContigsMerger && " + +files_to_copy = [ + (['TERefiner/TERefiner_1', 'ContigsCompactor-v0.2.0/ContigsMerger/ContigsMerger'], 'bin'), + '*.py', + 'configuration.json', +] + +sanity_check_paths = { + 'files': ['bin/TERefiner_1', 'bin/ContigsMerger', 'configuration.json', 'main.py', 'pick_contigs.py'], + 'dirs': [], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.22-GCCcore-13.2.0.eb b/easybuild/easyconfigs/g/gettext/gettext-0.22-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..2f4d3b3096a --- /dev/null +++ b/easybuild/easyconfigs/g/gettext/gettext-0.22-GCCcore-13.2.0.eb @@ -0,0 +1,37 @@ +easyblock = 'ConfigureMake' + +name = 'gettext' +version = '0.22' + +homepage = 'https://www.gnu.org/software/gettext/' +description = """GNU 'gettext' is an important step for the GNU Translation Project, as it is an asset on which we may +build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools +and documentation""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['49f089be11b490170bbf09ed2f51e5f5177f55be4cc66504a5861820e0fb06ab'] + +builddependencies = [('binutils', '2.40')] + +dependencies = [ + ('libxml2', '2.11.5'), + ('ncurses', '6.4'), +] + +configopts = '--without-emacs --with-libxml2-prefix=$EBROOTLIBXML2' + +sanity_check_paths = { + 'files': ['bin/gettext', 'lib/libasprintf.a', 'lib/libasprintf.%s' % SHLIB_EXT, + 'lib/libgettextpo.a', 'lib/libgettextpo.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = [ + "gettext --help", + "msginit --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/g/gettext/gettext-0.22.eb b/easybuild/easyconfigs/g/gettext/gettext-0.22.eb new file mode 100644 index 00000000000..4212074dac6 --- /dev/null +++ b/easybuild/easyconfigs/g/gettext/gettext-0.22.eb @@ -0,0 +1,39 @@ +easyblock = 'ConfigureMake' + +name = 'gettext' +version = '0.22' + +homepage = 'https://www.gnu.org/software/gettext/' +description = """GNU 'gettext' is an important step for the GNU Translation Project, as it is an asset on which we may +build many other steps. This package offers to programmers, translators, and even users, a well integrated set of tools +and documentation""" + +# This is a basic stripped down version of gettext without any +# dependencies on other packages used as initial builddep for XZ +# It is the first step in the cyclic dependency chain of +# XZ -> libxml2 -> gettext -> XZ + +toolchain = SYSTEM + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['49f089be11b490170bbf09ed2f51e5f5177f55be4cc66504a5861820e0fb06ab'] + +dependencies = [ + ('ncurses', '6.4'), +] + +configopts = '--without-emacs --with-included-libxml --without-xz --without-bzip2' + +sanity_check_paths = { + 'files': ['bin/gettext', 'lib/libasprintf.a', 'lib/libasprintf.%s' % SHLIB_EXT, + 'lib/libgettextpo.a', 'lib/libgettextpo.%s' % SHLIB_EXT], + 'dirs': ['include'], +} + +sanity_check_commands = [ + "gettext --help", + "msginit --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/h/hwloc/hwloc-2.9.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/h/hwloc/hwloc-2.9.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..274d96ba85d --- /dev/null +++ b/easybuild/easyconfigs/h/hwloc/hwloc-2.9.2-GCCcore-13.2.0.eb @@ -0,0 +1,45 @@ +easyblock = 'ConfigureMake' + +name = 'hwloc' +version = '2.9.2' + +homepage = 'https://www.open-mpi.org/projects/hwloc/' + +description = """ + The Portable Hardware Locality (hwloc) software package provides a portable + abstraction (across OS, versions, architectures, ...) of the hierarchical + topology of modern architectures, including NUMA memory nodes, sockets, shared + caches, cores and simultaneous multithreading. It also gathers various system + attributes such as cache and memory information as well as the locality of I/O + devices such as network interfaces, InfiniBand HCAs or GPUs. It primarily + aims at helping applications with gathering information about modern computing + hardware so as to exploit it accordingly and efficiently. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://www.open-mpi.org/software/hwloc/v%(version_major_minor)s/downloads/'] +sources = [SOURCE_TAR_GZ] +checksums = ['ffb554d5735e0e0a19d1fd4b2b86e771d3b58b2d97f257eedacae67ade5054b3'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('numactl', '2.0.16'), + ('libxml2', '2.11.5'), + ('libpciaccess', '0.17'), +] + +configopts = "--enable-libnuma=$EBROOTNUMACTL " +configopts += "--disable-cairo --disable-opencl --disable-cuda --disable-nvml --disable-gl --disable-libudev " + +sanity_check_paths = { + 'files': ['bin/lstopo', 'include/hwloc/linux.h', + 'lib/libhwloc.%s' % SHLIB_EXT], + 'dirs': ['share/man/man3'], +} +sanity_check_commands = ['lstopo'] + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/k/KMC/KMC-3.2.1-GCC-11.2.0-Python-2.7.18.eb b/easybuild/easyconfigs/k/KMC/KMC-3.2.1-GCC-11.2.0-Python-2.7.18.eb new file mode 100644 index 00000000000..d69650ebbaa --- /dev/null +++ b/easybuild/easyconfigs/k/KMC/KMC-3.2.1-GCC-11.2.0-Python-2.7.18.eb @@ -0,0 +1,46 @@ +easyblock = 'MakeCp' + +name = 'KMC' +version = '3.2.1' +versionsuffix = '-Python-%(pyver)s' + +homepage = 'http://sun.aei.polsl.pl/kmc' +description = "KMC is a disk-based programm for counting k-mers from (possibly gzipped) FASTQ/FASTA files." + +toolchain = {'name': 'GCC', 'version': '11.2.0'} + +source_urls = ['https://github.com/refresh-bio/KMC/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['7db333091a754508163a097c41720cf32a80abe160bef60f3fc82c8da1d67896'] + +dependencies = [ + ('bzip2', '1.0.8'), + ('zlib', '1.2.11'), + ('Python', '2.7.18'), +] + +# Makefile does static linking with libc.a, libpthread.a, libm.a +osdependencies = [('glibc-static', 'libc6-dev')] + +prebuildopts = "sed -i 's@[^ ]*/libz.a@${EBROOTZLIB}/lib/libz.a@g' Makefile && " +prebuildopts += "sed -i 's@[^ ]*/libbz2.a@${EBROOTBZIP2}/lib/libbz2.a@g' Makefile && " +prebuildopts += "sed -i 's/python3-config --extension-suffix/echo .so/g' Makefile && " +prebuildopts += "sed -i 's/python3/python/g' Makefile && " + +files_to_copy = ['bin'] + +sanity_check_paths = { + 'files': ['bin/kmc', 'bin/kmc_dump'], + 'dirs': [], +} + +sanity_check_commands = [ + "kmc", + "kmc_dump", + "python -c 'import py_kmc_api'", +] + +# Python bindings are also located in bin/ +modextrapaths = {'PYTHONPATH': ['bin']} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..db1de7fe681 --- /dev/null +++ b/easybuild/easyconfigs/l/libevent/libevent-2.1.12-GCCcore-13.2.0.eb @@ -0,0 +1,38 @@ +easyblock = 'ConfigureMake' + +name = 'libevent' +version = '2.1.12' + +homepage = 'https://libevent.org/' + +description = """ + The libevent API provides a mechanism to execute a callback function when + a specific event occurs on a file descriptor or after a timeout has been + reached. Furthermore, libevent also support callbacks due to signals or + regular timeouts. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/%(name)s/%(name)s/releases/download/release-%(version)s-stable/'] +sources = ['%(name)s-%(version)s-stable.tar.gz'] +checksums = ['92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb'] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), +] + +dependencies = [ + ('zlib', '1.2.13'), + ('OpenSSL', '1.1', '', SYSTEM), +] + +sanity_check_paths = { + 'files': ['bin/event_rpcgen.py', 'include/event.h', 'include/event2/event.h', + 'lib/libevent_core.%s' % SHLIB_EXT, 'lib/pkgconfig/libevent.pc'], + 'dirs': [], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libfabric/libfabric-1.19.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libfabric/libfabric-1.19.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..3a1dce0b2dc --- /dev/null +++ b/easybuild/easyconfigs/l/libfabric/libfabric-1.19.0-GCCcore-13.2.0.eb @@ -0,0 +1,62 @@ +easyblock = 'ConfigureMake' + +name = 'libfabric' +version = '1.19.0' + +homepage = 'https://ofiwg.github.io/libfabric/' +description = """ +Libfabric is a core component of OFI. It is the library that defines and exports +the user-space API of OFI, and is typically the only software that applications +deal with directly. It works in conjunction with provider libraries, which are +often integrated directly into libfabric. +""" + +# The psm3 provider (enabled by default) requires an AVX capable system to run +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/ofiwg/libfabric/releases/download/v%(version)s'] +sources = [SOURCE_TAR_BZ2] +patches = [ + '%(name)s-1.18.0_disable-psm3-avx-config.patch', +] +checksums = [ + {'libfabric-1.19.0.tar.bz2': 'f14c764be9103e80c46223bde66e530e5954cb28b3835b57c8e728479603ef9e'}, + {'libfabric-1.18.0_disable-psm3-avx-config.patch': + '79db0bfe759d65ef68301701e0842f1e8dcd4ace8bfc5bca8f7c8846501a67cb'}, +] + +builddependencies = [ + ('binutils', '2.40'), + ('pkgconf', '2.0.3'), + ('Autotools', '20220317'), +] + +dependencies = [ + ('numactl', '2.0.16'), +] + +osdependencies = [OS_PKG_IBVERBS_DEV] + +# Regenerate build files to pick up psm3-axv-config patch +preconfigopts = "./autogen.sh &&" + +# Disable deprecated "sockets" provider +configopts = "--disable-sockets " + +# Disable usNIC provider by default as this requires specific osdependencies +# If you want to enable this provider you need to uncomment the following line: +# osdependencies.append(('libnl3-devel', 'libnl3-dev')) +configopts += "--disable-usnic " + +buildopts = "V=1" + +sanity_check_paths = { + 'files': ['bin/fi_info', 'bin/fi_pingpong', 'bin/fi_strerror'] + + ['lib/libfabric.%s' % x for x in ['a', SHLIB_EXT]], + 'dirs': ['include/rdma', 'lib/pkgconfig', 'share'] +} + +sanity_check_commands = ['fi_info'] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.17-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.17-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..17563d8e3b2 --- /dev/null +++ b/easybuild/easyconfigs/l/libpciaccess/libpciaccess-0.17-GCCcore-13.2.0.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'libpciaccess' +version = '0.17' + +homepage = 'https://cgit.freedesktop.org/xorg/lib/libpciaccess/' +description = """Generic PCI access library.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://www.x.org/releases/individual/lib/'] +sources = [SOURCE_TAR_GZ] +checksums = ['bf6985a77d2ecb00e2c79da3edfb26b909178ffca3f2e9d14ed0620259ab733b'] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), + ('xorg-macros', '1.20.0'), +] + +sanity_check_paths = { + 'files': ['include/pciaccess.h', 'lib/libpciaccess.a'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'system' diff --git a/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..31bed6f7eed --- /dev/null +++ b/easybuild/easyconfigs/l/libtool/libtool-2.4.7-GCCcore-13.2.0.eb @@ -0,0 +1,32 @@ +easyblock = 'ConfigureMake' + +name = 'libtool' +version = '2.4.7' + +homepage = 'https://www.gnu.org/software/libtool' + +description = """ + GNU libtool is a generic library support script. Libtool hides the complexity + of using shared libraries behind a consistent, portable interface. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = [GNU_SOURCE] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['04e96c2404ea70c590c546eba4202a4e12722c640016c12b9b2f1ce3d481e9a8'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('M4', '1.4.19'), +] + +sanity_check_paths = { + 'files': ['bin/libtool', 'bin/libtoolize', 'lib/libltdl.%s' % SHLIB_EXT], + 'dirs': ['include/libltdl', 'share/libtool/loaders', 'share/man/man1'], +} + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/l/libxml2/libxml2-2.11.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libxml2/libxml2-2.11.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..79cc8b0ae36 --- /dev/null +++ b/easybuild/easyconfigs/l/libxml2/libxml2-2.11.5-GCCcore-13.2.0.eb @@ -0,0 +1,27 @@ +name = 'libxml2' +version = '2.11.5' + +homepage = 'http://xmlsoft.org/' + +description = """ + Libxml2 is the XML C parser and toolchain developed for the Gnome project + (but usable outside of the Gnome platform). +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://download.gnome.org/sources/libxml2/%(version_major_minor)s/'] +sources = [SOURCE_TAR_XZ] +checksums = ['3727b078c360ec69fa869de14bd6f75d7ee8d36987b071e6928d4720a28df3a6'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('XZ', '5.4.4'), + ('zlib', '1.2.13'), +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/n/ncurses/ncurses-6.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/n/ncurses/ncurses-6.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..0bda2c35075 --- /dev/null +++ b/easybuild/easyconfigs/n/ncurses/ncurses-6.4-GCCcore-13.2.0.eb @@ -0,0 +1,47 @@ +easyblock = 'ConfigureMake' + +name = 'ncurses' +version = '6.4' + +homepage = 'https://www.gnu.org/software/ncurses/' +description = """ + The Ncurses (new curses) library is a free software emulation of curses in + System V Release 4.0, and more. It uses Terminfo format, supports pads and + color and multiple highlights and forms characters and function-key mapping, + and has all the other SYSV-curses enhancements over BSD Curses. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = [GNU_SOURCE] +sources = [SOURCE_TAR_GZ] +checksums = ['6931283d9ac87c5073f30b6290c4c75f21632bb4fc3603ac8100812bed248159'] + +builddependencies = [('binutils', '2.40')] + +local_common_configopts = "--with-shared --enable-overwrite --without-ada --enable-symlinks --with-versioned-syms " +configopts = [ + # build ncurses: serial build in default paths with shared libraries + local_common_configopts, + # build ncursesw: serial with UTF-8 + local_common_configopts + "--enable-ext-colors --enable-widec --includedir=%(installdir)s/include/ncursesw/", +] + +# Symlink libtinfo to libncurses +# libncurses with this configopts has all the symbols from libtinfo, but some packages look for libtinfo specifically +postinstallcmds = ['cd %(installdir)s/lib && for l in libncurses{.,_,w}*; do ln -s "${l}" "${l/ncurses/tinfo}"; done'] + +_target_suffix = ['', 'w'] # '': ncurses, 'w': ncursesw +_lib_suffix = ['%s%s' % (x, y) for x in _target_suffix for y in ['.a', '_g.a', '.' + SHLIB_EXT]] +_lib_names = ['form', 'menu', 'ncurses', 'panel', 'tinfo'] + +sanity_check_paths = { + 'files': ['bin/%s' % x for x in ["captoinfo", "clear", "infocmp", "infotocap", "ncurses%(version_major)s-config", + "reset", "tabs", "tic", "toe", "tput", "tset"]] + + ['lib/lib%s%s' % (x, y) for x in _lib_names for y in _lib_suffix] + + ['lib/libncurses++%s.a' % x for x in _target_suffix], + 'dirs': ['include', 'include/ncursesw'], +} + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/n/numactl/numactl-2.0.16-GCCcore-13.2.0.eb b/easybuild/easyconfigs/n/numactl/numactl-2.0.16-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..028a4a4c8a1 --- /dev/null +++ b/easybuild/easyconfigs/n/numactl/numactl-2.0.16-GCCcore-13.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'numactl' +version = '2.0.16' + +homepage = 'https://github.com/numactl/numactl' + +description = """ + The numactl program allows you to run your application program on specific + cpu's and memory nodes. It does this by supplying a NUMA memory policy to + the operating system before running your program. The libnuma library provides + convenient ways for you to add NUMA memory policies into your own program. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/numactl/numactl/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a35c3bdb3efab5c65927e0de5703227760b1101f5e27ab741d8f32b3d5f0a44c'] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), +] + +preconfigopts = "./autogen.sh && " + +sanity_check_paths = { + 'files': ['bin/numactl', 'bin/numastat', 'lib/libnuma.%s' % SHLIB_EXT, 'lib/libnuma.a'], + 'dirs': ['share/man', 'include'] +} + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.1-1-iimpi-2023a.eb b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.1-1-iimpi-2023a.eb new file mode 100644 index 00000000000..1173c7c1e12 --- /dev/null +++ b/easybuild/easyconfigs/o/OSU-Micro-Benchmarks/OSU-Micro-Benchmarks-7.1-1-iimpi-2023a.eb @@ -0,0 +1,26 @@ +easyblock = 'ConfigureMake' + +name = 'OSU-Micro-Benchmarks' +version = '7.1-1' + +homepage = 'https://mvapich.cse.ohio-state.edu/benchmarks/' +description = """OSU Micro-Benchmarks""" + +toolchain = {'name': 'iimpi', 'version': '2023a'} +toolchainopts = {'usempi': True} + +source_urls = ['https://mvapich.cse.ohio-state.edu/download/mvapich/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['85f4dd8be1df31255e232852769ae5b82e87a5fb14be2f8eba1ae9de8ffe391a'] + +local_benchmark_dirs = [ + 'libexec/osu-micro-benchmarks/mpi/%s' % x for x in ['collective', 'one-sided', 'pt2pt', 'startup'] +] +modextrapaths = {'PATH': local_benchmark_dirs} + +sanity_check_paths = { + 'files': [], + 'dirs': local_benchmark_dirs, +} + +moduleclass = 'perf' diff --git a/easybuild/easyconfigs/p/Perl/Perl-5.38.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/Perl/Perl-5.38.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..1620e4f9dfa --- /dev/null +++ b/easybuild/easyconfigs/p/Perl/Perl-5.38.0-GCCcore-13.2.0.eb @@ -0,0 +1,86 @@ +name = 'Perl' +version = '5.38.0' + +homepage = 'https://www.perl.org/' +description = """Larry Wall's Practical Extraction and Report Language + +Includes a small selection of extra CPAN packages for core functionality. +""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://www.cpan.org/src/%(version_major)s.0'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['213ef58089d2f2c972ea353517dc60ec3656f050dcc027666e118b508423e517'] + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [ + ('zlib', '1.2.13'), +] + +# !! order of extensions is important !! +# extensions updated on 2023-09-03 +# includes all dependencies for Autotools +exts_list = [ + ('threads', '2.21', { + 'source_tmpl': 'threads-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN'], + 'checksums': ['28394c98a2bcae6f20ffb8a3d965a1c194b764c650169e2050ee38dbaa10f110'], + }), + ('constant', '1.33', { + 'source_tmpl': 'constant-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/R/RJ/RJBS'], + 'checksums': ['79965d4130eb576670e27ca0ae6899ef0060c76da48b02b97682166882f1b504'], + }), + ('Getopt::Long', '2.54', { + 'source_tmpl': 'Getopt-Long-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JV/JV'], + 'checksums': ['584ba3c99bb2d6b341375212f9b874613f706cfb01cee21b8a2676a98ab985fe'], + }), + ('File::Path', '2.18', { + 'source_tmpl': 'File-Path-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JK/JKEENAN/'], + 'checksums': ['980f0a17edb353df46e9cd7b357f9f5929cde0f80c45fd7a06cf7e0e8bd6addd'], + }), + ('File::Spec', '3.75', { + 'source_tmpl': 'PathTools-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['a558503aa6b1f8c727c0073339081a77888606aa701ada1ad62dd9d8c3f945a2'], + }), + ('IO::File', '1.51', { + 'source_tmpl': 'IO-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR/'], + 'checksums': ['5493ea55998728cd2b7ecb8234c58fb5d5df27098d0f07addca22444d7616ce0'], + }), + ('Thread::Queue', '3.13', { + 'source_tmpl': 'Thread-Queue-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/J/JD/JDHEDDEN'], + 'checksums': ['6ba3dacddd2fbb66822b4aa1d11a0a5273cd04c825cb3ff31c20d7037cbfdce8'], + }), + ('Carp', '1.50', { + 'source_tmpl': 'Carp-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/X/XS/XSAWYERX'], + 'checksums': ['f5273b4e1a6d51b22996c48cb3a3cbc72fd456c4038f5c20b127e2d4bcbcebd9'], + }), + ('Exporter', '5.77', { + 'source_tmpl': 'Exporter-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/T/TO/TODDR'], + 'checksums': ['3892ee5c6ae6e482068d53b61e25cae4fc71ddc79cc47446e385df0a669bb8ed'], + }), + ('Text::ParseWords', '3.31', { + 'source_tmpl': 'Text-ParseWords-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NE/NEILB/'], + 'checksums': ['2ae555ba084d75b2b8feeeb8d1a00911276815ada86bccb1452236964d5a2fc7'], + }), + ('Data::Dumper', '2.183', { + 'source_tmpl': 'Data-Dumper-%(version)s.tar.gz', + 'source_urls': ['https://cpan.metacpan.org/authors/id/N/NW/NWCLARK/'], + 'checksums': ['e42736890b7dae1b37818d9c5efa1f1fdc52dec04f446a33a4819bf1d4ab5ad3'], + }), +] + +moduleclass = 'lang' diff --git a/easybuild/easyconfigs/p/pkgconf/pkgconf-2.0.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/p/pkgconf/pkgconf-2.0.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..a9a638fa1ef --- /dev/null +++ b/easybuild/easyconfigs/p/pkgconf/pkgconf-2.0.3-GCCcore-13.2.0.eb @@ -0,0 +1,31 @@ +easyblock = 'ConfigureMake' + +name = 'pkgconf' +version = '2.0.3' + +homepage = 'https://github.com/pkgconf/pkgconf' + +description = """pkgconf is a program which helps to configure compiler and linker flags for development libraries. + It is similar to pkg-config from freedesktop.org.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://distfiles.ariadne.space/pkgconf/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['a8f25f4b0c1ad48edc9b07ed46101aab4bcb305ba6ae811be49b7499b00eed49'] + +builddependencies = [('binutils', '2.40')] + +postinstallcmds = ["cd %(installdir)s/bin && ln -s pkgconf pkg-config"] + +sanity_check_paths = { + 'files': ['bin/pkg-config', 'bin/pkgconf'], + 'dirs': [], +} + +sanity_check_commands = [ + "pkg-config --help", + "pkgconf --help", +] + +moduleclass = 'devel' diff --git a/easybuild/easyconfigs/p/plotly.py/plotly.py-5.16.0-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/plotly.py/plotly.py-5.16.0-GCCcore-12.3.0.eb new file mode 100644 index 00000000000..1471f01011a --- /dev/null +++ b/easybuild/easyconfigs/p/plotly.py/plotly.py-5.16.0-GCCcore-12.3.0.eb @@ -0,0 +1,37 @@ +easyblock = 'PythonBundle' + +name = 'plotly.py' +version = '5.16.0' + +homepage = 'https://plot.ly/python' +description = "An open-source, interactive graphing library for Python" + +toolchain = {'name': 'GCCcore', 'version': '12.3.0'} + +builddependencies = [ + ('binutils', '2.40'), +] + +dependencies = [('Python', '3.11.3')] + +use_pip = True + +exts_list = [ + ('tenacity', '8.2.3', { + 'patches': ['tenacity-8.2.3-fix_version.patch'], + 'checksums': [ + {'tenacity-8.2.3.tar.gz': '5398ef0d78e63f40007c1fb4c0bff96e1911394d2fa8d194f77619c05ff6cc8a'}, + {'tenacity-8.2.3-fix_version.patch': 'eb066e8f70d2dc075fca18e04dbc2a6b0721285815470c602a16c599002b63f7'}, + ], + }), + ('packaging', '23.1', { + 'checksums': ['a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f'], + }), + ('plotly', version, { + 'checksums': ['13dc052665dcb4d9eefd89847c0b144984e99aca5c8008f9885d2583b77d8b7d'], + }), +] + +sanity_pip_check = True + +moduleclass = 'vis' diff --git a/easybuild/easyconfigs/p/plotly.py/tenacity-8.2.3-fix_version.patch b/easybuild/easyconfigs/p/plotly.py/tenacity-8.2.3-fix_version.patch new file mode 100644 index 00000000000..0bf7c04f34c --- /dev/null +++ b/easybuild/easyconfigs/p/plotly.py/tenacity-8.2.3-fix_version.patch @@ -0,0 +1,12 @@ +Putting a manually typed version in setup.cfg, as it wouldnt resolve automatically. +Author: Denis Kristak (Inuits)diff -ruN tenacity-8.2.3_orig/setup.cfg tenacity-8.2.3/setup.cfg +--- tenacity-8.2.3_orig/setup.cfg 2023-08-14 15:22:48.000000000 +0200 ++++ tenacity-8.2.3/setup.cfg 2023-08-15 19:47:02.512360441 +0200 +@@ -1,6 +1,7 @@ + [metadata] + name = tenacity + license = Apache 2.0 ++version = 8.2.3 + url = https://github.com/jd/tenacity + summary = Retry code until it succeeds + long_description = Tenacity is a general-purpose retrying library to simplify the task of adding retry behavior to just about anything. diff --git a/easybuild/easyconfigs/t/tensorflow-compression/compression_local-tensorflow-repo.sed b/easybuild/easyconfigs/t/tensorflow-compression/compression_local-tensorflow-repo.sed new file mode 100644 index 00000000000..f4900022dee --- /dev/null +++ b/easybuild/easyconfigs/t/tensorflow-compression/compression_local-tensorflow-repo.sed @@ -0,0 +1,14 @@ +# Convert http repo for tensorflow to local repo +# Copied from jax/jaxlib_local-tensorflow-repo.sed +/^http_archive(/{ + :a;N;/\n)/!ba; + /org_tensorflow/{ + s/^/# /; + s/\n/\n# /g; + s|$|\ +local_repository(\ + name = "org_tensorflow",\ + path = "EB_TF_REPOPATH",\ +)|; + } +} diff --git a/easybuild/easyconfigs/t/tensorflow-compression/tensorflow-compression-2.11.0-foss-2022a-CUDA-11.7.0.eb b/easybuild/easyconfigs/t/tensorflow-compression/tensorflow-compression-2.11.0-foss-2022a-CUDA-11.7.0.eb new file mode 100644 index 00000000000..a25980ceef9 --- /dev/null +++ b/easybuild/easyconfigs/t/tensorflow-compression/tensorflow-compression-2.11.0-foss-2022a-CUDA-11.7.0.eb @@ -0,0 +1,59 @@ +name = 'tensorflow-compression' +version = '2.11.0' +versionsuffix = '-CUDA-%(cudaver)s' + +homepage = 'https://github.com/tensorflow/compression' +description = "TensorFlow Compression (TFC) contains data compression tools for TensorFlow." + +toolchain = {'name': 'foss', 'version': '2022a'} + +# Make sure bazel doesn't download TensorFlow by itself. +local_tf_version = version +local_tf_dir = 'tensorflow-%s' % local_tf_version +local_tf_builddir = '%(builddir)s/' + local_tf_dir + +sources = [ + { + 'source_urls': ['https://github.com/tensorflow/compression/archive/'], + 'download_filename': 'v%(version)s.tar.gz', + 'filename': SOURCE_TAR_GZ, + }, + { + 'filename': 'v%s.tar.gz' % local_tf_version, + 'alt_location': 'TensorFlow/extensions', + }, +] +patches = [ + ('compression_local-tensorflow-repo.sed', '.'), +] +checksums = [ + {'tensorflow-compression-2.11.0.tar.gz': '7f0127c3ff4243e41c5af59be5909a635562191f462053e2d86c234bf638be4f'}, + {'v2.11.0.tar.gz': '99c732b92b1b37fc243a559e02f9aef5671771e272758aa4aec7f34dc92dac48'}, + {'compression_local-tensorflow-repo.sed': '65d4d40953624148cd6395a6110eaf8239a9bcae25d1f4c89259f2c60cc4b6dc'}, +] + +builddependencies = [ + ('Bazel', '5.1.1'), +] + +dependencies = [ + ('CUDA', '11.7.0', '', SYSTEM), + ('Python', '3.10.4'), + ('TensorFlow', local_tf_version, versionsuffix), + ('tensorflow-probability', '0.19.0', versionsuffix), +] + +download_dep_fail = True +use_pip = True +sanity_pip_check = True + +local_prebuildopts = "sed -i -f compression_local-tensorflow-repo.sed WORKSPACE && " +local_prebuildopts += "sed -i 's|EB_TF_REPOPATH|%s|' WORKSPACE && " % local_tf_builddir + +prebuildopts = local_prebuildopts + +sanity_check_commands = [ + 'python -m tensorflow_compression.all_tests', +] + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.9-foss-2022a-R-4.2.1.eb b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.9-foss-2022a-R-4.2.1.eb new file mode 100644 index 00000000000..32a39ef352a --- /dev/null +++ b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.9-foss-2022a-R-4.2.1.eb @@ -0,0 +1,79 @@ +# Author: Jasper Grimm (UoY) +# Updated: Denis Kristak (INUITS) +# Updated: Petr Král (INUITS) +easyblock = 'CMakeMake' + +name = 'vcflib' +version = '1.0.9' +versionsuffix = '-R-%(rver)s' + +homepage = 'https://github.com/vcflib/vcflib' +description = """vcflib provides methods to manipulate and interpret sequence variation as it can be + described by VCF. The Variant Call Format (VCF) is a flat-file, tab-delimited textual format intended + to concisely describe reference-indexed genetic variations between individuals.""" + +toolchain = {'name': 'foss', 'version': '2022a'} +toolchainopts = {'openmp': True} + +source_urls = [GITHUB_SOURCE] +sources = ['v%(version)s.tar.gz'] +patches = [ + '%(name)s-%(version)s_dep-fix.patch', +] +checksums = [ + {'v1.0.9.tar.gz': 'd17fcf8a34d65f1dfecf4b4290d058be744422b6baf34ecdef8ea912d59a4569'}, + {'vcflib-1.0.9_dep-fix.patch': '76bce1c9e40dab2ad94b455bb4487dfa24eeafcf50639db0852f5ca7a31331b6'}, +] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.23.1'), + ('pkgconf', '1.8.0'), +] + +dependencies = [ + ('Python', '3.10.4'), + ('Perl', '5.34.1'), + ('R', '4.2.1'), + ('XZ', '5.2.5'), + ('zlib', '1.2.12'), + ('bzip2', '1.0.8'), + ('HTSlib', '1.15.1'), + ('tabixpp', '1.1.2'), + ('intervaltree', '0.1'), + ('fastahack', '1.0.0'), + ('filevercmp', '20191210'), + ('fsom', '20151117'), + ('multichoose', '1.0.3'), + ('smithwaterman', '20160702'), + ('WFA2', '2.3.3'), +] + +preconfigopts = "find %(builddir)s/%(name)s-%(version)s/src -type f " +preconfigopts += r"-regextype egrep -regex '.*\.(h|cpp)' -exec sed -i" +preconfigopts += " -e 's|SmithWatermanGotoh.h|smithwaterman/SmithWatermanGotoh.h|g'" +preconfigopts += " -e 's|IntervalTree.h|intervaltree/IntervalTree.h|g'" +preconfigopts += " -e 's|multichoose.h|multichoose/multichoose.h|g' -e 's|filevercmp.h|filevercmp/filevercmp.h|g'" +preconfigopts += " -e 's|tabix.hpp|tabixpp/tabix.hpp|g' -e 's|Fasta.h|fastahack/Fasta.h|g'" +preconfigopts += r" -e 's|disorder.h|smithwaterman/disorder.h|g' {} \; && " + +configopts = "-DZIG=OFF -DWFA_GITMODULE=OFF -DWFA_INCLUDE_DIRS=$EBROOTWFA2/include/wfa2lib" + +postinstallcmds = ["cp -r %(builddir)s/%(name)s-%(version)s/scripts %(installdir)s"] + +modextrapaths = { + 'PATH': 'scripts', + 'PYTHONPATH': 'lib', +} + +sanity_check_paths = { + 'files': ['bin/vcffilter', 'bin/vcfcombine', 'lib/libvcflib.a'], + 'dirs': ['scripts', 'include'], +} + +sanity_check_commands = [ + "python -c 'import pyvcflib'", + "vcfwave --help", +] + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/v/vcflib/vcflib-1.0.9_dep-fix.patch b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.9_dep-fix.patch new file mode 100644 index 00000000000..19320491c75 --- /dev/null +++ b/easybuild/easyconfigs/v/vcflib/vcflib-1.0.9_dep-fix.patch @@ -0,0 +1,178 @@ +Use our libraries instead of the ones in git submodules +Install libvcflib.a to lib directory instead of bin +Author: Petr Král (INUITS) +diff -u vcflib-1.0.9/CMakeLists.txt.orig vcflib-1.0.9/CMakeLists.txt +--- vcflib-1.0.9/CMakeLists.txt.orig 2023-02-11 17:41:26.000000000 +0100 ++++ vcflib-1.0.9/CMakeLists.txt 2023-08-17 13:59:24.793435374 +0200 +@@ -58,8 +58,8 @@ + find_package(Threads) + set_package_properties(Threads PROPERTIES TYPE REQUIRED) + +-pkg_check_modules(HTSLIB htslib) # Optionally builds from contrib/ +-pkg_check_modules(TABIXPP tabixpp) # Optionally builds from contrib/ ++# pkg_check_modules(HTSLIB htslib) # Optionally builds from contrib/ ++# pkg_check_modules(TABIXPP tabixpp) # Optionally builds from contrib/ + + # ---- Build switches + set(CMAKE_POSITION_INDEPENDENT_CODE ON) +@@ -109,25 +109,25 @@ + # ---- Include files + + include_directories(include) +-include_directories(contrib/fastahack) +-include_directories(contrib/intervaltree) +-include_directories(contrib/smithwaterman) +-include_directories(contrib/multichoose) +-include_directories(contrib/filevercmp) ++# include_directories(contrib/fastahack) ++# include_directories(contrib/intervaltree) ++# include_directories(contrib/smithwaterman) ++# include_directories(contrib/multichoose) ++# include_directories(contrib/filevercmp) + include_directories(contrib/c-progress-bar) + +-if(NOT HTSLIB_FOUND) +- set(HTSLIB_LOCAL contrib/tabixpp/htslib) +- set(TABIX_FOUND OFF) # also build tabixpp if htslib is missing +-endif() +- +-if (NOT TABIX_FOUND) +- set(TABIXPP_LOCAL contrib/tabixpp) +- include_directories(contrib/tabixpp) +- set(tabixpp_SOURCE +- contrib/tabixpp/tabix.cpp +- ) +-endif() ++# if(NOT HTSLIB_FOUND) ++# set(HTSLIB_LOCAL contrib/tabixpp/htslib) ++# set(TABIX_FOUND OFF) # also build tabixpp if htslib is missing ++# endif() ++# ++# if (NOT TABIX_FOUND) ++# set(TABIXPP_LOCAL contrib/tabixpp) ++# include_directories(contrib/tabixpp) ++# set(tabixpp_SOURCE ++# contrib/tabixpp/tabix.cpp ++# ) ++# endif() + + if(WFA_GITMODULE) + set(WFA_LOCAL contrib/WFA2-lib) +@@ -135,12 +135,12 @@ + + file(GLOB INCLUDES + src/*.h* +- contrib/multichoose/*.h* +- contrib/intervaltree/*.h* +- contrib/smithwaterman/*.h* +- contrib/fastahack/*.h* +- contrib/filevercmp/*.h* +- ) ++ # contrib/multichoose/*.h* ++ # contrib/intervaltree/*.h* ++ # contrib/smithwaterman/*.h* ++ # contrib/fastahack/*.h* ++ # contrib/filevercmp/*.h* ++) + + set(vcflib_SOURCE + src/vcf-c-api.cpp +@@ -158,14 +158,14 @@ + src/LeftAlign.cpp + src/cigar.cpp + src/allele.cpp +- contrib/fastahack/Fasta.cpp +- contrib/smithwaterman/SmithWatermanGotoh.cpp +- contrib/smithwaterman/Repeats.cpp +- contrib/smithwaterman/IndelAllele.cpp +- contrib/smithwaterman/disorder.cpp +- contrib/smithwaterman/LeftAlign.cpp +- contrib/fsom/fsom.c +- contrib/filevercmp/filevercmp.c ++ # contrib/fastahack/Fasta.cpp ++ # contrib/smithwaterman/SmithWatermanGotoh.cpp ++ # contrib/smithwaterman/Repeats.cpp ++ # contrib/smithwaterman/IndelAllele.cpp ++ # contrib/smithwaterman/disorder.cpp ++ # contrib/smithwaterman/LeftAlign.cpp ++ # contrib/fsom/fsom.c ++ # contrib/filevercmp/filevercmp.c + contrib/c-progress-bar/progress.c + ) + +@@ -175,7 +175,7 @@ + + add_library(vcflib STATIC + ${vcflib_SOURCE} +- ) ++) + + set(BINS + vcfecho +@@ -302,7 +302,7 @@ + vcfsort + vcf_strip_extra_headers + vcfvarstats +- ) ++) + + # ---- Get version + +@@ -363,7 +363,7 @@ + add_subdirectory(${WFA_LOCAL} EXCLUDE_FROM_ALL) + set(WFALIB wfa2) # pick up the wfa2 lib target from the included CMakeLists.txt + else(WFA_GITMODULE) +- set(WFA_INCLUDE_DIRS ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/wfa2lib) ++ # set(WFA_INCLUDE_DIRS ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR}/wfa2lib) + find_library(WFALIB wfa2 wfa) # distro search for shared lib + if(NOT WFALIB) + message(STATUS "ERROR: Can not find libfwa! Make sure it is installed or use the git submodule instead") +@@ -403,7 +403,7 @@ + + set(vcflib_DEPS + CURL::libcurl +- ) ++) + + if (ZIG) + list(APPEND vcflib_DEPS ZIG-EXT) +@@ -414,15 +414,18 @@ + endif() + + set(vcflib_LIBS +- ${HTSLIB_LIBRARIES} + ${CURL_LIBRARIES} + ${ZLIB_LIBRARIES} + ${LIBLZMA_LIBRARIES} + ${BZIP2_LIBRARIES} +- ${TABIXPP_LIBRARIES} + ${CMAKE_THREAD_LIBS_INIT} + ${WFA_LINK_LIBRARIES} +- ${HTSLIB_LINK_LIBRARIES} ++ hts ++ tabixpp ++ fastahack ++ sw ++ fsom ++ filevercmp + ) + + if (ZIG) +@@ -510,7 +513,7 @@ + NAME zigvcf + COMMAND zig build test + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/src/zig +- ) ++ ) + endfunction() + + add_zigtest() +@@ -576,7 +579,7 @@ + + # ---- Install + +-install(TARGETS vcflib ARCHIVE DESTINATION ${CMAKE_INSTALL_BINDIR}) ++install(TARGETS vcflib ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}) + + install(FILES ${INCLUDES} DESTINATION include) + diff --git a/easybuild/easyconfigs/w/WFA2/WFA2-2.3.3-GCCcore-11.3.0.eb b/easybuild/easyconfigs/w/WFA2/WFA2-2.3.3-GCCcore-11.3.0.eb new file mode 100644 index 00000000000..2b8942ec8b7 --- /dev/null +++ b/easybuild/easyconfigs/w/WFA2/WFA2-2.3.3-GCCcore-11.3.0.eb @@ -0,0 +1,30 @@ +easyblock = 'CMakeMake' + +name = 'WFA2' +version = '2.3.3' + +homepage = 'https://github.com/smarco/WFA2-lib' +description = """The wavefront alignment (WFA) algorithm is an exact + gap-affine algorithm that takes advantage of homologous regions + between the sequences to accelerate the alignment process.""" + +toolchain = {'name': 'GCCcore', 'version': '11.3.0'} + +source_urls = ['https://github.com/smarco/WFA2-lib/archive/refs/tags/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['2569650cdba395f42513a4d2c9175724a736047bb7da99a162c0abdbd651698f'] + +builddependencies = [ + ('binutils', '2.38'), + ('CMake', '3.24.3'), + ('pkgconf', '1.8.0'), +] + +configopts = "-DOPENMP=ON" + +sanity_check_paths = { + 'files': ['lib/libwfa2.a'], + 'dirs': ['include/wfa2lib'], +} + +moduleclass = 'bio' diff --git a/easybuild/easyconfigs/x/XZ/XZ-5.4.4-GCCcore-13.2.0.eb b/easybuild/easyconfigs/x/XZ/XZ-5.4.4-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..f905a1885ab --- /dev/null +++ b/easybuild/easyconfigs/x/XZ/XZ-5.4.4-GCCcore-13.2.0.eb @@ -0,0 +1,34 @@ +easyblock = 'ConfigureMake' + +name = 'XZ' +version = '5.4.4' + +homepage = 'https://tukaani.org/xz/' +description = "xz: XZ utilities" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://tukaani.org/xz/'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['0b6fcde1ac38e90433a2556f500c065950b9bcd2d602006efc334782bdfe6296'] + +builddependencies = [ + # use gettext built with system toolchain as build dep to avoid cyclic dependency (XZ -> gettext -> libxml2 -> XZ) + ('gettext', '0.22', '', SYSTEM), + ('binutils', '2.40'), +] + +# may become useful in non-x86 archs +# configopts = ' --disable-assembler ' + +sanity_check_paths = { + 'files': ['bin/lzmainfo', 'bin/unxz', 'bin/xz'], + 'dirs': [] +} + +sanity_check_commands = [ + "xz --help", + "unxz --help", +] + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.20.0-GCCcore-13.2.0.eb b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.20.0-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..14bbf928bbc --- /dev/null +++ b/easybuild/easyconfigs/x/xorg-macros/xorg-macros-1.20.0-GCCcore-13.2.0.eb @@ -0,0 +1,27 @@ +easyblock = 'ConfigureMake' + +name = 'xorg-macros' +version = '1.20.0' + +homepage = 'https://gitlab.freedesktop.org/xorg/util/macros' +description = """X.org macros utilities.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} + +source_urls = ['https://gitlab.freedesktop.org/xorg/util/macros/-/archive/util-macros-%(version)s'] +sources = ['macros-util-macros-%(version)s.tar.gz'] +checksums = ['efd8eefab568981e47dd64d3e9b5ee2b7165a30d4feca105770f249f9b59979c'] + +builddependencies = [ + ('binutils', '2.40'), + ('Autotools', '20220317'), +] + +preconfigopts = './autogen.sh && ' + +sanity_check_paths = { + 'files': ['share/pkgconfig/xorg-macros.pc'], + 'dirs': [], +} + +moduleclass = 'devel' diff --git a/test/easyconfigs/easyconfigs.py b/test/easyconfigs/easyconfigs.py index 34a7f346a85..b3142f30505 100644 --- a/test/easyconfigs/easyconfigs.py +++ b/test/easyconfigs/easyconfigs.py @@ -31,6 +31,7 @@ import os import re import shutil +import stat import sys import tempfile from collections import defaultdict @@ -1226,6 +1227,29 @@ def check_https_url(http_url): if failing_checks: self.fail('\n'.join(failing_checks)) + @skip_if_not_pr_to_non_main_branch() + def test_ec_file_permissions(self): + """Make sure correct access rights are set for easyconfigs.""" + + failing_checks = [] + for ec in self.changed_ecs: + ec_fn = os.path.basename(ec.path) + st = os.stat(ec.path) + read_perms = stat.S_IRUSR | stat.S_IRGRP | stat.S_IROTH + exec_perms = stat.S_IXUSR | stat.S_IXGRP | stat.S_IXOTH + wrong_perms = [] + if (st.st_mode & read_perms) != read_perms: + wrong_perms.append("readable (owner, group, other)") + if st.st_mode & exec_perms: + wrong_perms.append("not executable") + if not (st.st_mode & stat.S_IWUSR): + wrong_perms.append("at least owner writable") + if wrong_perms: + failing_checks.append("%s must be %s, is: %s" % (ec_fn, ", ".join(wrong_perms), oct(st.st_mode))) + + if failing_checks: + self.fail('\n'.join(failing_checks)) + @skip_if_not_pr_to_non_main_branch() def test_pr_CMAKE_BUILD_TYPE(self): """Make sure -DCMAKE_BUILD_TYPE is no longer used (replaced by build_type)"""