From f5e911f865da45d80f85673fd75b390a6c57a6a7 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 15 Dec 2022 15:00:43 +0100 Subject: [PATCH 01/20] {lang}[GCCcore/12.2.0] SciPy-bundle v2022.11, pybind11 v2.10.1, hypothesis v6.59.0 w/ Python 3.10.8 --- .../hypothesis-6.59.0-GCCcore-12.2.0.eb | 24 ++++++ .../pybind11-2.10.1-GCCcore-12.2.0.eb | 23 ++++++ .../SciPy-bundle-2022.11-foss-2022.10.eb | 80 +++++++++++++++++++ 3 files changed, 127 insertions(+) create mode 100644 easybuild/easyconfigs/h/hypothesis/hypothesis-6.59.0-GCCcore-12.2.0.eb create mode 100644 easybuild/easyconfigs/p/pybind11/pybind11-2.10.1-GCCcore-12.2.0.eb create mode 100644 easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.11-foss-2022.10.eb diff --git a/easybuild/easyconfigs/h/hypothesis/hypothesis-6.59.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/h/hypothesis/hypothesis-6.59.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..bb0b491571cd --- /dev/null +++ b/easybuild/easyconfigs/h/hypothesis/hypothesis-6.59.0-GCCcore-12.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'hypothesis' +version = '6.59.0' + +homepage = "https://github.com/HypothesisWorks/hypothesis" +description = """Hypothesis is an advanced testing library for Python. It lets you write tests which are parametrized + by a source of examples, and then generates simple and comprehensible examples that make your tests fail. This lets + you find more bugs in your code with less work.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['af05e24b123c9413b8752bbf822105dbb112f56456fb240723d7f410eebf78bb'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('Python', '3.10.8')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pybind11/pybind11-2.10.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pybind11/pybind11-2.10.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..7ccdfaf989cb --- /dev/null +++ b/easybuild/easyconfigs/p/pybind11/pybind11-2.10.1-GCCcore-12.2.0.eb @@ -0,0 +1,23 @@ +name = 'pybind11' +version = '2.10.1' + +homepage = 'https://pybind11.readthedocs.io' +description = """pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa, + mainly to create Python bindings of existing C++ code.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/pybind/pybind11/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['111014b516b625083bef701df7880f78c2243835abdb263065b6b59b960b6bad'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), + ('Eigen', '3.4.0'), +] +dependencies = [('Python', '3.10.8')] + +configopts = "-DPYTHON_EXECUTABLE=$EBROOTPYTHON/bin/python" + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.11-foss-2022.10.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.11-foss-2022.10.eb new file mode 100644 index 000000000000..d6289b1ebfab --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.11-foss-2022.10.eb @@ -0,0 +1,80 @@ +easyblock = 'PythonBundle' + +name = 'SciPy-bundle' +version = '2022.11' + +homepage = 'https://python.org/' +description = "Bundle of Python packages for scientific software" + +toolchain = {'name': 'foss', 'version': '2022.10'} +toolchainopts = {'pic': True, 'lowopt': True} + +builddependencies = [ + ('hypothesis', '6.59.0'), + ('UnZip', '6.0'), + ('meson-python', '0.11.0'), + # installing numpy 1.23.5 from source requires setuptools < 60.0, + # cfr. https://github.com/numpy/numpy/issues/22157 and //github.com/numpy/numpy/issues/22431 + ('setuptools', '63.4.3'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('pybind11', '2.10.1'), # required by scipy +] + +use_pip = True + +# order is important! +exts_list = [ + ('numpy', '1.23.5', { + 'patches': [ + 'numpy-1.22.3_disable-broken-override-test.patch', + ], + 'checksums': [ + {'numpy-1.23.5.tar.gz': '1b1766d6f397c18153d40015ddfc79ddb715cabadc04d2d228d4e5a8bc4ded1a'}, + {'numpy-1.22.3_disable-broken-override-test.patch': + '9c589bb073b28b25ff45eb3c63c57966aa508dd8b318d0b885b6295271e4983c'}, + ], + }), + ('ply', '3.11', { + 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], + }), + ('gast', '0.5.3', { + 'checksums': ['cfbea25820e653af9c7d1807f659ce0a0a9c64f2439421a7bba4f0983f532dea'], + }), + ('beniget', '0.4.1', { + 'checksums': ['75554b3b8ad0553ce2f607627dad3d95c60c441189875b98e097528f8e23ac0c'], + }), + ('pythran', '0.12.0', { + 'checksums': ['eff3dd0d3eebe57372f0d14f82985525e9bcdfb5b1d1010e1932cf9207060f9f'], + }), + ('scipy', '1.9.3', { + 'checksums': ['fbc5c05c85c1a02be77b1ff591087c83bc44579c6d2bd9fb798bb64ea5e1a027'], + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && ", + }), + ('mpi4py', '3.1.4', { + 'checksums': ['17858f2ebc623220d0120d1fa8d428d033dde749c4bc35b33d81a66ad7f93480'], + }), + ('numexpr', '2.8.4', { + 'checksums': ['d5432537418d18691b9115d615d6daa17ee8275baef3edf1afbbf8bc69806147'], + }), + ('Bottleneck', '1.3.5', { + 'checksums': ['2c0d27afe45351f6f421893362621804fa7dea14fe29a78eaa52d4323f646de7'], + }), + ('pandas', '1.5.2', { + 'checksums': ['220b98d15cee0b2cd839a6358bd1f273d0356bf964c1a1aeb32d47db0215488b'], + # make sure $PANDAS_CI is not set to 1, since that implies using -Werror + 'preinstallopts': "export PANDAS_CI=0 && ", + }), + ('mpmath', '1.2.1', { + 'checksums': ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'], + }), + ('deap', '1.3.3', { + 'checksums': ['8772f1b0fff042d5e516b0aebac2c706243045aa7d0de8e0b8658f380181cf31'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' From 9e2e52b624c8149192f069282e3cf151721c4a1b Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 15 Dec 2022 20:44:03 +0100 Subject: [PATCH 02/20] add easyconfig for Eigen 3.4.0 with GCCcore/12.2.0 --- .../e/Eigen/Eigen-3.4.0-GCCcore-12.2.0.eb | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-12.2.0.eb diff --git a/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..4195527a89fb --- /dev/null +++ b/easybuild/easyconfigs/e/Eigen/Eigen-3.4.0-GCCcore-12.2.0.eb @@ -0,0 +1,21 @@ +name = 'Eigen' +version = '3.4.0' + +homepage = 'https://eigen.tuxfamily.org' +description = """Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, + and related algorithms.""" + +# only includes header files, but requires CMake so using non-system toolchain +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://gitlab.com/libeigen/eigen/-/archive/%(version)s'] +sources = [SOURCELOWER_TAR_BZ2] +checksums = ['b4c198460eba6f28d34894e3a5710998818515104d6e74e5cc331ce31e46e626'] + +# using CMake built with GCCcore to avoid relying on the system compiler to build it +builddependencies = [ + ('binutils', '2.39'), # to make CMake compiler health check pass on old systems + ('CMake', '3.24.3'), +] + +moduleclass = 'math' From 1464932b131397bffcefa4859c71b172b11a934f Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Thu, 15 Dec 2022 20:55:26 +0100 Subject: [PATCH 03/20] use gfbf/2022.10 toolchain for SciPy-bundle 2022.11 + drop setuptools build dependency + move mpi4py to dedicated easyconfig --- easybuild/easyconfigs/g/gfbf/gfbf-2022.10.eb | 20 +++++++++++++++ .../m/mpi4py/mpi4py-3.1.4-foss-2022.10.eb | 25 +++++++++++++++++++ ...b => SciPy-bundle-2022.11-gfbf-2022.10.eb} | 8 +----- 3 files changed, 46 insertions(+), 7 deletions(-) create mode 100644 easybuild/easyconfigs/g/gfbf/gfbf-2022.10.eb create mode 100644 easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-foss-2022.10.eb rename easybuild/easyconfigs/s/SciPy-bundle/{SciPy-bundle-2022.11-foss-2022.10.eb => SciPy-bundle-2022.11-gfbf-2022.10.eb} (86%) diff --git a/easybuild/easyconfigs/g/gfbf/gfbf-2022.10.eb b/easybuild/easyconfigs/g/gfbf/gfbf-2022.10.eb new file mode 100644 index 000000000000..e803a1e75b20 --- /dev/null +++ b/easybuild/easyconfigs/g/gfbf/gfbf-2022.10.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gfbf' +version = '2022.10' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + FlexiBLAS (BLAS and LAPACK support) and (serial) FFTW.""" + +toolchain = SYSTEM + +local_gccver = '12.2.0' + +dependencies = [ + ('GCC', local_gccver), + ('FlexiBLAS', '3.2.1', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', ('GCC', local_gccver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-foss-2022.10.eb b/easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-foss-2022.10.eb new file mode 100644 index 000000000000..1e8128dae26b --- /dev/null +++ b/easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-foss-2022.10.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'mpi4py' +version = '3.1.4' + +homepage = 'https://github.com/mpi4py/mpi4py' +description = """MPI for Python (mpi4py) provides bindings of the Message Passing Interface (MPI) standard for + the Python programming language, allowing any Python program to exploit multiple processors.""" + +toolchain = {'name': 'foss', 'version': '2022.10'} + +sources = [SOURCE_TAR_GZ] +checksums = ['17858f2ebc623220d0120d1fa8d428d033dde749c4bc35b33d81a66ad7f93480'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2022.11'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.11-foss-2022.10.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.11-gfbf-2022.10.eb similarity index 86% rename from easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.11-foss-2022.10.eb rename to easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.11-gfbf-2022.10.eb index d6289b1ebfab..ae1562607769 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.11-foss-2022.10.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.11-gfbf-2022.10.eb @@ -6,16 +6,13 @@ version = '2022.11' homepage = 'https://python.org/' description = "Bundle of Python packages for scientific software" -toolchain = {'name': 'foss', 'version': '2022.10'} +toolchain = {'name': 'gfbf', 'version': '2022.10'} toolchainopts = {'pic': True, 'lowopt': True} builddependencies = [ ('hypothesis', '6.59.0'), ('UnZip', '6.0'), ('meson-python', '0.11.0'), - # installing numpy 1.23.5 from source requires setuptools < 60.0, - # cfr. https://github.com/numpy/numpy/issues/22157 and //github.com/numpy/numpy/issues/22431 - ('setuptools', '63.4.3'), ] dependencies = [ @@ -53,9 +50,6 @@ exts_list = [ 'checksums': ['fbc5c05c85c1a02be77b1ff591087c83bc44579c6d2bd9fb798bb64ea5e1a027'], 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && ", }), - ('mpi4py', '3.1.4', { - 'checksums': ['17858f2ebc623220d0120d1fa8d428d033dde749c4bc35b33d81a66ad7f93480'], - }), ('numexpr', '2.8.4', { 'checksums': ['d5432537418d18691b9115d615d6daa17ee8275baef3edf1afbbf8bc69806147'], }), From 91e5aec426c7ac045f29f56add4e44b20b4bcdaf Mon Sep 17 00:00:00 2001 From: Jasper Grimm Date: Mon, 16 Jan 2023 11:50:09 +0000 Subject: [PATCH 04/20] bump versions to latest, and use 2022b toolchain --- easybuild/easyconfigs/g/gfbf/gfbf-2022b.eb | 20 ++++++ .../hypothesis-6.62.1-GCCcore-12.2.0.eb | 24 +++++++ .../m/mpi4py/mpi4py-3.1.4-foss-2022b.eb | 25 +++++++ .../pybind11-2.10.3-GCCcore-12.2.0.eb | 23 ++++++ .../SciPy-bundle-2023.01-gfbf-2022b.eb | 71 +++++++++++++++++++ 5 files changed, 163 insertions(+) create mode 100644 easybuild/easyconfigs/g/gfbf/gfbf-2022b.eb create mode 100644 easybuild/easyconfigs/h/hypothesis/hypothesis-6.62.1-GCCcore-12.2.0.eb create mode 100644 easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-foss-2022b.eb create mode 100644 easybuild/easyconfigs/p/pybind11/pybind11-2.10.3-GCCcore-12.2.0.eb create mode 100644 easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb diff --git a/easybuild/easyconfigs/g/gfbf/gfbf-2022b.eb b/easybuild/easyconfigs/g/gfbf/gfbf-2022b.eb new file mode 100644 index 000000000000..1ed2f9c0bad2 --- /dev/null +++ b/easybuild/easyconfigs/g/gfbf/gfbf-2022b.eb @@ -0,0 +1,20 @@ +easyblock = 'Toolchain' + +name = 'gfbf' +version = '2022b' + +homepage = '(none)' +description = """GNU Compiler Collection (GCC) based compiler toolchain, including + FlexiBLAS (BLAS and LAPACK support) and (serial) FFTW.""" + +toolchain = SYSTEM + +local_gccver = '12.2.0' + +dependencies = [ + ('GCC', local_gccver), + ('FlexiBLAS', '3.2.1', '', ('GCC', local_gccver)), + ('FFTW', '3.3.10', '', ('GCC', local_gccver)), +] + +moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/h/hypothesis/hypothesis-6.62.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/h/hypothesis/hypothesis-6.62.1-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..eb8c0f3ceb70 --- /dev/null +++ b/easybuild/easyconfigs/h/hypothesis/hypothesis-6.62.1-GCCcore-12.2.0.eb @@ -0,0 +1,24 @@ +easyblock = 'PythonPackage' + +name = 'hypothesis' +version = '6.62.1' + +homepage = "https://github.com/HypothesisWorks/hypothesis" +description = """Hypothesis is an advanced testing library for Python. It lets you write tests which are parametrized + by a source of examples, and then generates simple and comprehensible examples that make your tests fail. This lets + you find more bugs in your code with less work.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +sources = [SOURCE_TAR_GZ] +checksums = ['7d1e2f9871e6509662da317adf9b4aabd6b38280fb6c7930aa4f574d2ed25150'] + +builddependencies = [('binutils', '2.39')] + +dependencies = [('Python', '3.10.8')] + +use_pip = True +download_dep_fail = True +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-foss-2022b.eb b/easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-foss-2022b.eb new file mode 100644 index 000000000000..d103cd78db0d --- /dev/null +++ b/easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-foss-2022b.eb @@ -0,0 +1,25 @@ +easyblock = 'PythonPackage' + +name = 'mpi4py' +version = '3.1.4' + +homepage = 'https://github.com/mpi4py/mpi4py' +description = """MPI for Python (mpi4py) provides bindings of the Message Passing Interface (MPI) standard for + the Python programming language, allowing any Python program to exploit multiple processors.""" + +toolchain = {'name': 'foss', 'version': '2022b'} + +sources = [SOURCE_TAR_GZ] +checksums = ['17858f2ebc623220d0120d1fa8d428d033dde749c4bc35b33d81a66ad7f93480'] + +dependencies = [ + ('Python', '3.10.8'), + ('SciPy-bundle', '2023.01'), +] + +download_dep_fail = True +use_pip = True + +sanity_pip_check = True + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pybind11/pybind11-2.10.3-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pybind11/pybind11-2.10.3-GCCcore-12.2.0.eb new file mode 100644 index 000000000000..dc6dd0aead44 --- /dev/null +++ b/easybuild/easyconfigs/p/pybind11/pybind11-2.10.3-GCCcore-12.2.0.eb @@ -0,0 +1,23 @@ +name = 'pybind11' +version = '2.10.3' + +homepage = 'https://pybind11.readthedocs.io' +description = """pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa, + mainly to create Python bindings of existing C++ code.""" + +toolchain = {'name': 'GCCcore', 'version': '12.2.0'} + +source_urls = ['https://github.com/pybind/pybind11/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['5d8c4c5dda428d3a944ba3d2a5212cb988c2fae4670d58075a5a49075a6ca315'] + +builddependencies = [ + ('binutils', '2.39'), + ('CMake', '3.24.3'), + ('Eigen', '3.4.0'), +] +dependencies = [('Python', '3.10.8')] + +configopts = "-DPYTHON_EXECUTABLE=$EBROOTPYTHON/bin/python" + +moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb new file mode 100644 index 000000000000..09e3241b94f9 --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb @@ -0,0 +1,71 @@ +easyblock = 'PythonBundle' + +name = 'SciPy-bundle' +version = '2023.01' + +homepage = 'https://python.org/' +description = "Bundle of Python packages for scientific software" + +toolchain = {'name': 'gfbf', 'version': '2022b'} +toolchainopts = {'pic': True, 'lowopt': True} + +builddependencies = [ + ('hypothesis', '6.62.1'), + ('UnZip', '6.0'), + ('meson-python', '0.11.0'), +] + +dependencies = [ + ('Python', '3.10.8'), + ('pybind11', '2.10.3'), # required by scipy +] + +use_pip = True + +# order is important! +exts_list = [ + ('numpy', '1.24.1', { + 'patches': ['numpy-1.22.3_disable-broken-override-test.patch'], + 'checksums': [ + {'numpy-1.24.1.tar.gz': '2386da9a471cc00a1f47845e27d916d5ec5346ae9696e01a8a34760858fe9dd2'}, + {'numpy-1.22.3_disable-broken-override-test.patch': + '9c589bb073b28b25ff45eb3c63c57966aa508dd8b318d0b885b6295271e4983c'}, + ], + }), + ('ply', '3.11', { + 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], + }), + ('gast', '0.5.3', { + 'checksums': ['cfbea25820e653af9c7d1807f659ce0a0a9c64f2439421a7bba4f0983f532dea'], + }), + ('beniget', '0.4.1', { + 'checksums': ['75554b3b8ad0553ce2f607627dad3d95c60c441189875b98e097528f8e23ac0c'], + }), + ('pythran', '0.12.1', { + 'checksums': ['702c2701187cfb38f66c0c20cc85d04d0e156d260a8d92892da65947faa5360e'], + }), + ('scipy', '1.10.0', { + 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && ", + 'checksums': ['c8b3cbc636a87a89b770c6afc999baa6bcbb01691b5ccbbc1b1791c7c0a07540'], + }), + ('numexpr', '2.8.4', { + 'checksums': ['d5432537418d18691b9115d615d6daa17ee8275baef3edf1afbbf8bc69806147'], + }), + ('Bottleneck', '1.3.5', { + 'checksums': ['2c0d27afe45351f6f421893362621804fa7dea14fe29a78eaa52d4323f646de7'], + }), + ('pandas', '1.5.2', { + 'preinstallopts': "export PANDAS_CI=0 && ", + 'checksums': ['220b98d15cee0b2cd839a6358bd1f273d0356bf964c1a1aeb32d47db0215488b'], + }), + ('mpmath', '1.2.1', { + 'checksums': ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'], + }), + ('deap', '1.3.3', { + 'checksums': ['8772f1b0fff042d5e516b0aebac2c706243045aa7d0de8e0b8658f380181cf31'], + }), +] + +sanity_pip_check = True + +moduleclass = 'lang' From 5f4b5e3f9d82471967641d9c8508a8fb66ee4b2d Mon Sep 17 00:00:00 2001 From: Jasper Grimm Date: Mon, 16 Jan 2023 11:55:12 +0000 Subject: [PATCH 05/20] remove old updated files --- easybuild/easyconfigs/g/gfbf/gfbf-2022.10.eb | 20 ----- .../hypothesis-6.59.0-GCCcore-12.2.0.eb | 24 ------ .../m/mpi4py/mpi4py-3.1.4-foss-2022.10.eb | 25 ------- .../pybind11-2.10.1-GCCcore-12.2.0.eb | 23 ------ .../SciPy-bundle-2022.11-gfbf-2022.10.eb | 74 ------------------- 5 files changed, 166 deletions(-) delete mode 100644 easybuild/easyconfigs/g/gfbf/gfbf-2022.10.eb delete mode 100644 easybuild/easyconfigs/h/hypothesis/hypothesis-6.59.0-GCCcore-12.2.0.eb delete mode 100644 easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-foss-2022.10.eb delete mode 100644 easybuild/easyconfigs/p/pybind11/pybind11-2.10.1-GCCcore-12.2.0.eb delete mode 100644 easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.11-gfbf-2022.10.eb diff --git a/easybuild/easyconfigs/g/gfbf/gfbf-2022.10.eb b/easybuild/easyconfigs/g/gfbf/gfbf-2022.10.eb deleted file mode 100644 index e803a1e75b20..000000000000 --- a/easybuild/easyconfigs/g/gfbf/gfbf-2022.10.eb +++ /dev/null @@ -1,20 +0,0 @@ -easyblock = 'Toolchain' - -name = 'gfbf' -version = '2022.10' - -homepage = '(none)' -description = """GNU Compiler Collection (GCC) based compiler toolchain, including - FlexiBLAS (BLAS and LAPACK support) and (serial) FFTW.""" - -toolchain = SYSTEM - -local_gccver = '12.2.0' - -dependencies = [ - ('GCC', local_gccver), - ('FlexiBLAS', '3.2.1', '', ('GCC', local_gccver)), - ('FFTW', '3.3.10', '', ('GCC', local_gccver)), -] - -moduleclass = 'toolchain' diff --git a/easybuild/easyconfigs/h/hypothesis/hypothesis-6.59.0-GCCcore-12.2.0.eb b/easybuild/easyconfigs/h/hypothesis/hypothesis-6.59.0-GCCcore-12.2.0.eb deleted file mode 100644 index bb0b491571cd..000000000000 --- a/easybuild/easyconfigs/h/hypothesis/hypothesis-6.59.0-GCCcore-12.2.0.eb +++ /dev/null @@ -1,24 +0,0 @@ -easyblock = 'PythonPackage' - -name = 'hypothesis' -version = '6.59.0' - -homepage = "https://github.com/HypothesisWorks/hypothesis" -description = """Hypothesis is an advanced testing library for Python. It lets you write tests which are parametrized - by a source of examples, and then generates simple and comprehensible examples that make your tests fail. This lets - you find more bugs in your code with less work.""" - -toolchain = {'name': 'GCCcore', 'version': '12.2.0'} - -sources = [SOURCE_TAR_GZ] -checksums = ['af05e24b123c9413b8752bbf822105dbb112f56456fb240723d7f410eebf78bb'] - -builddependencies = [('binutils', '2.39')] - -dependencies = [('Python', '3.10.8')] - -use_pip = True -download_dep_fail = True -sanity_pip_check = True - -moduleclass = 'tools' diff --git a/easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-foss-2022.10.eb b/easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-foss-2022.10.eb deleted file mode 100644 index 1e8128dae26b..000000000000 --- a/easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-foss-2022.10.eb +++ /dev/null @@ -1,25 +0,0 @@ -easyblock = 'PythonPackage' - -name = 'mpi4py' -version = '3.1.4' - -homepage = 'https://github.com/mpi4py/mpi4py' -description = """MPI for Python (mpi4py) provides bindings of the Message Passing Interface (MPI) standard for - the Python programming language, allowing any Python program to exploit multiple processors.""" - -toolchain = {'name': 'foss', 'version': '2022.10'} - -sources = [SOURCE_TAR_GZ] -checksums = ['17858f2ebc623220d0120d1fa8d428d033dde749c4bc35b33d81a66ad7f93480'] - -dependencies = [ - ('Python', '3.10.8'), - ('SciPy-bundle', '2022.11'), -] - -download_dep_fail = True -use_pip = True - -sanity_pip_check = True - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/p/pybind11/pybind11-2.10.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/p/pybind11/pybind11-2.10.1-GCCcore-12.2.0.eb deleted file mode 100644 index 7ccdfaf989cb..000000000000 --- a/easybuild/easyconfigs/p/pybind11/pybind11-2.10.1-GCCcore-12.2.0.eb +++ /dev/null @@ -1,23 +0,0 @@ -name = 'pybind11' -version = '2.10.1' - -homepage = 'https://pybind11.readthedocs.io' -description = """pybind11 is a lightweight header-only library that exposes C++ types in Python and vice versa, - mainly to create Python bindings of existing C++ code.""" - -toolchain = {'name': 'GCCcore', 'version': '12.2.0'} - -source_urls = ['https://github.com/pybind/pybind11/archive/'] -sources = ['v%(version)s.tar.gz'] -checksums = ['111014b516b625083bef701df7880f78c2243835abdb263065b6b59b960b6bad'] - -builddependencies = [ - ('binutils', '2.39'), - ('CMake', '3.24.3'), - ('Eigen', '3.4.0'), -] -dependencies = [('Python', '3.10.8')] - -configopts = "-DPYTHON_EXECUTABLE=$EBROOTPYTHON/bin/python" - -moduleclass = 'lib' diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.11-gfbf-2022.10.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.11-gfbf-2022.10.eb deleted file mode 100644 index ae1562607769..000000000000 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2022.11-gfbf-2022.10.eb +++ /dev/null @@ -1,74 +0,0 @@ -easyblock = 'PythonBundle' - -name = 'SciPy-bundle' -version = '2022.11' - -homepage = 'https://python.org/' -description = "Bundle of Python packages for scientific software" - -toolchain = {'name': 'gfbf', 'version': '2022.10'} -toolchainopts = {'pic': True, 'lowopt': True} - -builddependencies = [ - ('hypothesis', '6.59.0'), - ('UnZip', '6.0'), - ('meson-python', '0.11.0'), -] - -dependencies = [ - ('Python', '3.10.8'), - ('pybind11', '2.10.1'), # required by scipy -] - -use_pip = True - -# order is important! -exts_list = [ - ('numpy', '1.23.5', { - 'patches': [ - 'numpy-1.22.3_disable-broken-override-test.patch', - ], - 'checksums': [ - {'numpy-1.23.5.tar.gz': '1b1766d6f397c18153d40015ddfc79ddb715cabadc04d2d228d4e5a8bc4ded1a'}, - {'numpy-1.22.3_disable-broken-override-test.patch': - '9c589bb073b28b25ff45eb3c63c57966aa508dd8b318d0b885b6295271e4983c'}, - ], - }), - ('ply', '3.11', { - 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], - }), - ('gast', '0.5.3', { - 'checksums': ['cfbea25820e653af9c7d1807f659ce0a0a9c64f2439421a7bba4f0983f532dea'], - }), - ('beniget', '0.4.1', { - 'checksums': ['75554b3b8ad0553ce2f607627dad3d95c60c441189875b98e097528f8e23ac0c'], - }), - ('pythran', '0.12.0', { - 'checksums': ['eff3dd0d3eebe57372f0d14f82985525e9bcdfb5b1d1010e1932cf9207060f9f'], - }), - ('scipy', '1.9.3', { - 'checksums': ['fbc5c05c85c1a02be77b1ff591087c83bc44579c6d2bd9fb798bb64ea5e1a027'], - 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && ", - }), - ('numexpr', '2.8.4', { - 'checksums': ['d5432537418d18691b9115d615d6daa17ee8275baef3edf1afbbf8bc69806147'], - }), - ('Bottleneck', '1.3.5', { - 'checksums': ['2c0d27afe45351f6f421893362621804fa7dea14fe29a78eaa52d4323f646de7'], - }), - ('pandas', '1.5.2', { - 'checksums': ['220b98d15cee0b2cd839a6358bd1f273d0356bf964c1a1aeb32d47db0215488b'], - # make sure $PANDAS_CI is not set to 1, since that implies using -Werror - 'preinstallopts': "export PANDAS_CI=0 && ", - }), - ('mpmath', '1.2.1', { - 'checksums': ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'], - }), - ('deap', '1.3.3', { - 'checksums': ['8772f1b0fff042d5e516b0aebac2c706243045aa7d0de8e0b8658f380181cf31'], - }), -] - -sanity_pip_check = True - -moduleclass = 'lang' From 0f79963332def2763e7135bf355b1f8d3c9c2402 Mon Sep 17 00:00:00 2001 From: Jasper Grimm Date: Mon, 16 Jan 2023 17:29:31 +0000 Subject: [PATCH 06/20] Switch SciPy-bundle to Bundle, use mesonninja for scipy component --- .../SciPy-bundle-2023.01-gfbf-2022b.eb | 55 ++++++++++++++++--- 1 file changed, 47 insertions(+), 8 deletions(-) diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb index 09e3241b94f9..8d5febe63838 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb @@ -1,4 +1,4 @@ -easyblock = 'PythonBundle' +easyblock = 'Bundle' name = 'SciPy-bundle' version = '2023.01' @@ -12,7 +12,9 @@ toolchainopts = {'pic': True, 'lowopt': True} builddependencies = [ ('hypothesis', '6.62.1'), ('UnZip', '6.0'), - ('meson-python', '0.11.0'), + ('Meson', '0.64.0'), + ('Ninja', '1.11.1'), + ('pkgconf', '1.9.3'), ] dependencies = [ @@ -20,52 +22,89 @@ dependencies = [ ('pybind11', '2.10.3'), # required by scipy ] -use_pip = True +default_easyblock = 'PythonPackage' +default_component_specs = { + 'sources': [SOURCE_TAR_GZ], + 'source_urls': [PYPI_SOURCE], + 'start_dir': '%(name)s-%(version)s', +} + +_pythonpath = 'PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH' # order is important! -exts_list = [ +components = [ ('numpy', '1.24.1', { - 'patches': ['numpy-1.22.3_disable-broken-override-test.patch'], + 'patches': [{'name': 'numpy-1.22.3_disable-broken-override-test.patch', 'alt_location': 'SciPy-bundle'}], 'checksums': [ {'numpy-1.24.1.tar.gz': '2386da9a471cc00a1f47845e27d916d5ec5346ae9696e01a8a34760858fe9dd2'}, {'numpy-1.22.3_disable-broken-override-test.patch': '9c589bb073b28b25ff45eb3c63c57966aa508dd8b318d0b885b6295271e4983c'}, ], + 'sanity_pip_check': True, }), ('ply', '3.11', { 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, }), ('gast', '0.5.3', { 'checksums': ['cfbea25820e653af9c7d1807f659ce0a0a9c64f2439421a7bba4f0983f532dea'], + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, }), ('beniget', '0.4.1', { 'checksums': ['75554b3b8ad0553ce2f607627dad3d95c60c441189875b98e097528f8e23ac0c'], + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, }), ('pythran', '0.12.1', { 'checksums': ['702c2701187cfb38f66c0c20cc85d04d0e156d260a8d92892da65947faa5360e'], + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, }), ('scipy', '1.10.0', { - 'preinstallopts': "export PATH=%(installdir)s/bin:$PATH && ", + 'easyblock': 'MesonNinja', + 'preconfigopts': _pythonpath, + 'configopts': '-Dblas=flexiblas -Dlapack=flexiblas', + 'prebuildopts': _pythonpath, + 'preinstallopts': "PATH=%(installdir)s/bin:$PATH " + _pythonpath, 'checksums': ['c8b3cbc636a87a89b770c6afc999baa6bcbb01691b5ccbbc1b1791c7c0a07540'], }), ('numexpr', '2.8.4', { 'checksums': ['d5432537418d18691b9115d615d6daa17ee8275baef3edf1afbbf8bc69806147'], + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, }), ('Bottleneck', '1.3.5', { 'checksums': ['2c0d27afe45351f6f421893362621804fa7dea14fe29a78eaa52d4323f646de7'], + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, }), ('pandas', '1.5.2', { 'preinstallopts': "export PANDAS_CI=0 && ", 'checksums': ['220b98d15cee0b2cd839a6358bd1f273d0356bf964c1a1aeb32d47db0215488b'], + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, }), ('mpmath', '1.2.1', { 'checksums': ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'], + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, }), ('deap', '1.3.3', { 'checksums': ['8772f1b0fff042d5e516b0aebac2c706243045aa7d0de8e0b8658f380181cf31'], + 'use_pip': True, + 'sanity_pip_check': True, + 'download_dep_fail': True, }), ] -sanity_pip_check = True - moduleclass = 'lang' From 987d1fac337531cd380c5c443e310b07ad72c88e Mon Sep 17 00:00:00 2001 From: Jasper Grimm Date: Tue, 17 Jan 2023 15:44:20 +0000 Subject: [PATCH 07/20] revert to PythonBundle, and update easyblock instead --- .../SciPy-bundle-2023.01-gfbf-2022b.eb | 53 +++---------------- 1 file changed, 8 insertions(+), 45 deletions(-) diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb index 8d5febe63838..7878162dce42 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb @@ -1,4 +1,4 @@ -easyblock = 'Bundle' +easyblock = 'PythonBundle' name = 'SciPy-bundle' version = '2023.01' @@ -12,9 +12,10 @@ toolchainopts = {'pic': True, 'lowopt': True} builddependencies = [ ('hypothesis', '6.62.1'), ('UnZip', '6.0'), + # scipy >= 1.9.0 uses Meson/Ninja ('Meson', '0.64.0'), ('Ninja', '1.11.1'), - ('pkgconf', '1.9.3'), + ('pkgconf', '1.9.3'), # required by scipy ] dependencies = [ @@ -22,89 +23,51 @@ dependencies = [ ('pybind11', '2.10.3'), # required by scipy ] -default_easyblock = 'PythonPackage' -default_component_specs = { - 'sources': [SOURCE_TAR_GZ], - 'source_urls': [PYPI_SOURCE], - 'start_dir': '%(name)s-%(version)s', -} - -_pythonpath = 'PYTHONPATH=%(installdir)s/lib/python%(pyshortver)s/site-packages:$PYTHONPATH' +use_pip = True # order is important! -components = [ +exts_list = [ ('numpy', '1.24.1', { - 'patches': [{'name': 'numpy-1.22.3_disable-broken-override-test.patch', 'alt_location': 'SciPy-bundle'}], + 'patches': ['numpy-1.22.3_disable-broken-override-test.patch'], 'checksums': [ {'numpy-1.24.1.tar.gz': '2386da9a471cc00a1f47845e27d916d5ec5346ae9696e01a8a34760858fe9dd2'}, {'numpy-1.22.3_disable-broken-override-test.patch': '9c589bb073b28b25ff45eb3c63c57966aa508dd8b318d0b885b6295271e4983c'}, ], - 'sanity_pip_check': True, }), ('ply', '3.11', { 'checksums': ['00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3'], - 'use_pip': True, - 'sanity_pip_check': True, - 'download_dep_fail': True, }), ('gast', '0.5.3', { 'checksums': ['cfbea25820e653af9c7d1807f659ce0a0a9c64f2439421a7bba4f0983f532dea'], - 'use_pip': True, - 'sanity_pip_check': True, - 'download_dep_fail': True, }), ('beniget', '0.4.1', { 'checksums': ['75554b3b8ad0553ce2f607627dad3d95c60c441189875b98e097528f8e23ac0c'], - 'use_pip': True, - 'sanity_pip_check': True, - 'download_dep_fail': True, }), ('pythran', '0.12.1', { 'checksums': ['702c2701187cfb38f66c0c20cc85d04d0e156d260a8d92892da65947faa5360e'], - 'use_pip': True, - 'sanity_pip_check': True, - 'download_dep_fail': True, }), ('scipy', '1.10.0', { - 'easyblock': 'MesonNinja', - 'preconfigopts': _pythonpath, - 'configopts': '-Dblas=flexiblas -Dlapack=flexiblas', - 'prebuildopts': _pythonpath, - 'preinstallopts': "PATH=%(installdir)s/bin:$PATH " + _pythonpath, 'checksums': ['c8b3cbc636a87a89b770c6afc999baa6bcbb01691b5ccbbc1b1791c7c0a07540'], }), ('numexpr', '2.8.4', { 'checksums': ['d5432537418d18691b9115d615d6daa17ee8275baef3edf1afbbf8bc69806147'], - 'use_pip': True, - 'sanity_pip_check': True, - 'download_dep_fail': True, }), ('Bottleneck', '1.3.5', { 'checksums': ['2c0d27afe45351f6f421893362621804fa7dea14fe29a78eaa52d4323f646de7'], - 'use_pip': True, - 'sanity_pip_check': True, - 'download_dep_fail': True, }), ('pandas', '1.5.2', { 'preinstallopts': "export PANDAS_CI=0 && ", 'checksums': ['220b98d15cee0b2cd839a6358bd1f273d0356bf964c1a1aeb32d47db0215488b'], - 'use_pip': True, - 'sanity_pip_check': True, - 'download_dep_fail': True, }), ('mpmath', '1.2.1', { 'checksums': ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'], - 'use_pip': True, - 'sanity_pip_check': True, - 'download_dep_fail': True, }), ('deap', '1.3.3', { 'checksums': ['8772f1b0fff042d5e516b0aebac2c706243045aa7d0de8e0b8658f380181cf31'], - 'use_pip': True, - 'sanity_pip_check': True, - 'download_dep_fail': True, }), ] +sanity_pip_check = True + moduleclass = 'lang' From 89f205bf0fea806dff6b9ea335c7febc2cc536be Mon Sep 17 00:00:00 2001 From: Jasper Grimm Date: Tue, 17 Jan 2023 16:24:51 +0000 Subject: [PATCH 08/20] add pooch extension to ensure scipy tests run --- .../s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb index 7878162dce42..b69f0927fc61 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb @@ -47,6 +47,8 @@ exts_list = [ ('pythran', '0.12.1', { 'checksums': ['702c2701187cfb38f66c0c20cc85d04d0e156d260a8d92892da65947faa5360e'], }), + ('pooch', '1.6.0', { + }), ('scipy', '1.10.0', { 'checksums': ['c8b3cbc636a87a89b770c6afc999baa6bcbb01691b5ccbbc1b1791c7c0a07540'], }), From e4083b62eeb93b1c06b0b4125afd5f380e24b440 Mon Sep 17 00:00:00 2001 From: Jasper Grimm Date: Thu, 19 Jan 2023 14:44:49 +0000 Subject: [PATCH 09/20] drop mpi4py to gompi --- ...foss-2022b.eb => mpi4py-3.1.4-gompi-2022b.eb} | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) rename easybuild/easyconfigs/m/mpi4py/{mpi4py-3.1.4-foss-2022b.eb => mpi4py-3.1.4-gompi-2022b.eb} (62%) diff --git a/easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-foss-2022b.eb b/easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-gompi-2022b.eb similarity index 62% rename from easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-foss-2022b.eb rename to easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-gompi-2022b.eb index d103cd78db0d..3f9abaa08954 100644 --- a/easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-foss-2022b.eb +++ b/easybuild/easyconfigs/m/mpi4py/mpi4py-3.1.4-gompi-2022b.eb @@ -1,4 +1,4 @@ -easyblock = 'PythonPackage' +easyblock = 'PythonBundle' name = 'mpi4py' version = '3.1.4' @@ -7,19 +7,19 @@ homepage = 'https://github.com/mpi4py/mpi4py' description = """MPI for Python (mpi4py) provides bindings of the Message Passing Interface (MPI) standard for the Python programming language, allowing any Python program to exploit multiple processors.""" -toolchain = {'name': 'foss', 'version': '2022b'} - -sources = [SOURCE_TAR_GZ] -checksums = ['17858f2ebc623220d0120d1fa8d428d033dde749c4bc35b33d81a66ad7f93480'] +toolchain = {'name': 'gompi', 'version': '2022b'} dependencies = [ ('Python', '3.10.8'), - ('SciPy-bundle', '2023.01'), ] -download_dep_fail = True use_pip = True - sanity_pip_check = True +exts_list = [ + (name, version, { + 'checksums': ['17858f2ebc623220d0120d1fa8d428d033dde749c4bc35b33d81a66ad7f93480'], + }), +] + moduleclass = 'lib' From 3fa69af6e4630851ee83c6434642910f0bfd8fab Mon Sep 17 00:00:00 2001 From: Jasper Grimm Date: Thu, 19 Jan 2023 15:24:38 +0000 Subject: [PATCH 10/20] move extensions required for tests to main Python easyconfig --- .../s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb | 2 -- 1 file changed, 2 deletions(-) diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb index b69f0927fc61..7878162dce42 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb @@ -47,8 +47,6 @@ exts_list = [ ('pythran', '0.12.1', { 'checksums': ['702c2701187cfb38f66c0c20cc85d04d0e156d260a8d92892da65947faa5360e'], }), - ('pooch', '1.6.0', { - }), ('scipy', '1.10.0', { 'checksums': ['c8b3cbc636a87a89b770c6afc999baa6bcbb01691b5ccbbc1b1791c7c0a07540'], }), From 6ba3c7cdb227cdae6860f7bb8a76bf42c13fab30 Mon Sep 17 00:00:00 2001 From: Jasper Grimm Date: Fri, 20 Jan 2023 11:09:26 +0000 Subject: [PATCH 11/20] enable slow scipy tests by default --- .../s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb index 7878162dce42..60102d5e86e2 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb @@ -48,6 +48,7 @@ exts_list = [ 'checksums': ['702c2701187cfb38f66c0c20cc85d04d0e156d260a8d92892da65947faa5360e'], }), ('scipy', '1.10.0', { + 'enable_slow_tests': True, 'checksums': ['c8b3cbc636a87a89b770c6afc999baa6bcbb01691b5ccbbc1b1791c7c0a07540'], }), ('numexpr', '2.8.4', { From c26e8a91508d5bdb741a57b90de1b031c0be2a20 Mon Sep 17 00:00:00 2001 From: Jasper Grimm Date: Fri, 20 Jan 2023 11:58:32 +0000 Subject: [PATCH 12/20] set ignore_test_result to False --- .../s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb index 60102d5e86e2..ecbbf51d1e96 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb @@ -49,6 +49,7 @@ exts_list = [ }), ('scipy', '1.10.0', { 'enable_slow_tests': True, + 'ignore_test_result': False, 'checksums': ['c8b3cbc636a87a89b770c6afc999baa6bcbb01691b5ccbbc1b1791c7c0a07540'], }), ('numexpr', '2.8.4', { From 859776c873dae4f4c6aad9f4d346a5ee6e1d2c4a Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 25 Feb 2023 11:15:55 +0100 Subject: [PATCH 13/20] update to hypothesis 6.68.2 --- ...-GCCcore-12.2.0.eb => hypothesis-6.68.2-GCCcore-12.2.0.eb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename easybuild/easyconfigs/h/hypothesis/{hypothesis-6.62.1-GCCcore-12.2.0.eb => hypothesis-6.68.2-GCCcore-12.2.0.eb} (86%) diff --git a/easybuild/easyconfigs/h/hypothesis/hypothesis-6.62.1-GCCcore-12.2.0.eb b/easybuild/easyconfigs/h/hypothesis/hypothesis-6.68.2-GCCcore-12.2.0.eb similarity index 86% rename from easybuild/easyconfigs/h/hypothesis/hypothesis-6.62.1-GCCcore-12.2.0.eb rename to easybuild/easyconfigs/h/hypothesis/hypothesis-6.68.2-GCCcore-12.2.0.eb index eb8c0f3ceb70..108e338d4830 100644 --- a/easybuild/easyconfigs/h/hypothesis/hypothesis-6.62.1-GCCcore-12.2.0.eb +++ b/easybuild/easyconfigs/h/hypothesis/hypothesis-6.68.2-GCCcore-12.2.0.eb @@ -1,7 +1,7 @@ easyblock = 'PythonPackage' name = 'hypothesis' -version = '6.62.1' +version = '6.68.2' homepage = "https://github.com/HypothesisWorks/hypothesis" description = """Hypothesis is an advanced testing library for Python. It lets you write tests which are parametrized @@ -11,7 +11,7 @@ description = """Hypothesis is an advanced testing library for Python. It lets y toolchain = {'name': 'GCCcore', 'version': '12.2.0'} sources = [SOURCE_TAR_GZ] -checksums = ['7d1e2f9871e6509662da317adf9b4aabd6b38280fb6c7930aa4f574d2ed25150'] +checksums = ['a7eb2b0c9a18560d8197fe35047ceb58e7e8ab7623a3e5a82613f6a2cd71cffa'] builddependencies = [('binutils', '2.39')] From 892d832499418f42220d8fb4b67e0844f6f5b1f8 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 25 Feb 2023 11:21:36 +0100 Subject: [PATCH 14/20] update to numpy 1.24.2 + scipy 1.10.1 + pandas 1.5.3 --- .../SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb index ecbbf51d1e96..7e8f55f49491 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb @@ -27,10 +27,10 @@ use_pip = True # order is important! exts_list = [ - ('numpy', '1.24.1', { + ('numpy', '1.24.2', { 'patches': ['numpy-1.22.3_disable-broken-override-test.patch'], 'checksums': [ - {'numpy-1.24.1.tar.gz': '2386da9a471cc00a1f47845e27d916d5ec5346ae9696e01a8a34760858fe9dd2'}, + {'numpy-1.24.2.tar.gz': '003a9f530e880cb2cd177cba1af7220b9aa42def9c4afc2a2fc3ee6be7eb2b22'}, {'numpy-1.22.3_disable-broken-override-test.patch': '9c589bb073b28b25ff45eb3c63c57966aa508dd8b318d0b885b6295271e4983c'}, ], @@ -47,10 +47,10 @@ exts_list = [ ('pythran', '0.12.1', { 'checksums': ['702c2701187cfb38f66c0c20cc85d04d0e156d260a8d92892da65947faa5360e'], }), - ('scipy', '1.10.0', { + ('scipy', '1.10.1', { 'enable_slow_tests': True, 'ignore_test_result': False, - 'checksums': ['c8b3cbc636a87a89b770c6afc999baa6bcbb01691b5ccbbc1b1791c7c0a07540'], + 'checksums': ['2cf9dfb80a7b4589ba4c40ce7588986d6d5cebc5457cad2c2880f6bc2d42f3a5'], }), ('numexpr', '2.8.4', { 'checksums': ['d5432537418d18691b9115d615d6daa17ee8275baef3edf1afbbf8bc69806147'], @@ -58,9 +58,9 @@ exts_list = [ ('Bottleneck', '1.3.5', { 'checksums': ['2c0d27afe45351f6f421893362621804fa7dea14fe29a78eaa52d4323f646de7'], }), - ('pandas', '1.5.2', { + ('pandas', '1.5.3', { 'preinstallopts': "export PANDAS_CI=0 && ", - 'checksums': ['220b98d15cee0b2cd839a6358bd1f273d0356bf964c1a1aeb32d47db0215488b'], + 'checksums': ['74a3fd7e5a7ec052f183273dc7b0acd3a863edf7520f5d3a1765c04ffdb3b0b1'], }), ('mpmath', '1.2.1', { 'checksums': ['79ffb45cf9f4b101a807595bcb3e72e0396202e0b1d25d689134b48c4216a81a'], From b824e45da0e212e21e930c602355d599d5c72631 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 25 Feb 2023 14:08:38 +0100 Subject: [PATCH 15/20] fix hypothesis build dependency for SciPy 2023.01 --- .../s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb index 7e8f55f49491..2dabb5c502ea 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb @@ -10,7 +10,7 @@ toolchain = {'name': 'gfbf', 'version': '2022b'} toolchainopts = {'pic': True, 'lowopt': True} builddependencies = [ - ('hypothesis', '6.62.1'), + ('hypothesis', '6.68.2'), ('UnZip', '6.0'), # scipy >= 1.9.0 uses Meson/Ninja ('Meson', '0.64.0'), From 59b39429233f1248bb7bdd5fa7e2d1c899f874a7 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 25 Feb 2023 14:09:37 +0100 Subject: [PATCH 16/20] bump SciPy-bundle version to 2023.02 due to use of numpy 1.24.2 + scipy 1.10.1 --- ...2023.01-gfbf-2022b.eb => SciPy-bundle-2023.03-gfbf-2022b.eb} | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename easybuild/easyconfigs/s/SciPy-bundle/{SciPy-bundle-2023.01-gfbf-2022b.eb => SciPy-bundle-2023.03-gfbf-2022b.eb} (99%) diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.03-gfbf-2022b.eb similarity index 99% rename from easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb rename to easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.03-gfbf-2022b.eb index 2dabb5c502ea..65a78705587d 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.01-gfbf-2022b.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.03-gfbf-2022b.eb @@ -1,7 +1,7 @@ easyblock = 'PythonBundle' name = 'SciPy-bundle' -version = '2023.01' +version = '2023.02' homepage = 'https://python.org/' description = "Bundle of Python packages for scientific software" From eca82e046ba0a0e2621e609ec9b3cc694d279a38 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 25 Feb 2023 15:38:13 +0100 Subject: [PATCH 17/20] fix filename for SciPy-bundle 2023.02 --- ...e-2023.03-gfbf-2022b.eb => SciPy-bundle-2023.02-gfbf-2022b.eb} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename easybuild/easyconfigs/s/SciPy-bundle/{SciPy-bundle-2023.03-gfbf-2022b.eb => SciPy-bundle-2023.02-gfbf-2022b.eb} (100%) diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.03-gfbf-2022b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb similarity index 100% rename from easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.03-gfbf-2022b.eb rename to easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb From d0c86d26bf4b2e6bf03693415c7f8956d7d63e2b Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 25 Feb 2023 15:49:25 +0100 Subject: [PATCH 18/20] add patch to disable problematic tests for scipy 1.10.1 --- .../SciPy-bundle-2023.02-gfbf-2022b.eb | 6 ++- .../scipy-1.10.1_disable-tests.patch | 41 +++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_disable-tests.patch diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb index 65a78705587d..dbeae6ee955b 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb @@ -48,9 +48,13 @@ exts_list = [ 'checksums': ['702c2701187cfb38f66c0c20cc85d04d0e156d260a8d92892da65947faa5360e'], }), ('scipy', '1.10.1', { + 'patches': ['scipy-1.10.1_disable-tests.patch'], + 'checksums': [ + {'scipy-1.10.1.tar.gz': '2cf9dfb80a7b4589ba4c40ce7588986d6d5cebc5457cad2c2880f6bc2d42f3a5'}, + {'scipy-1.10.1_disable-tests.patch': '5d36d416fb7ea9297514c3988d9f506793e39dc4c0daedccf6733c3dd7e3dcc0'}, + ], 'enable_slow_tests': True, 'ignore_test_result': False, - 'checksums': ['2cf9dfb80a7b4589ba4c40ce7588986d6d5cebc5457cad2c2880f6bc2d42f3a5'], }), ('numexpr', '2.8.4', { 'checksums': ['d5432537418d18691b9115d615d6daa17ee8275baef3edf1afbbf8bc69806147'], diff --git a/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_disable-tests.patch b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_disable-tests.patch new file mode 100644 index 000000000000..46ed2e2c0f5a --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_disable-tests.patch @@ -0,0 +1,41 @@ +disable problematic tests +test_milp_timeout_16545 fails intermittently, known issue - see https://github.com/scipy/scipy/issues/17137 +test_hermitian_modes fails with order of magnitude difference +test_concatenate_int32_overflow fails if not enough memory is available +author: Kenneth Hoste (HPC-UGent) + Simon Branford (University of Birmingham) +diff -ru scipy-1.10.1.orig/scipy/optimize/tests/test_milp.py scipy-1.10.1/scipy/optimize/tests/test_milp.py +--- scipy-1.10.1.orig/scipy/optimize/tests/test_milp.py 1970-01-01 01:00:00.000000000 +0100 ++++ scipy-1.10.1/scipy/optimize/tests/test_milp.py 2023-02-25 15:43:57.780477222 +0100 +@@ -283,7 +283,7 @@ + @pytest.mark.timeout(360) + @pytest.mark.parametrize(["options", "msg"], [({"time_limit": 10}, _msg_time), + ({"node_limit": 1}, _msg_iter)]) +-def test_milp_timeout_16545(options, msg): ++def disabled_test_milp_timeout_16545(options, msg): + # Ensure solution is not thrown away if MILP solver times out + # -- see gh-16545 + rng = np.random.default_rng(5123833489170494244) +diff -ru scipy-1.10.1.orig/scipy/sparse/linalg/_eigen/arpack/tests/test_arpack.py scipy-1.10.1/scipy/sparse/linalg/_eigen/arpack/tests/test_arpack.py +--- scipy-1.10.1.orig/scipy/sparse/linalg/_eigen/arpack/tests/test_arpack.py 1970-01-01 01:00:00.000000000 +0100 ++++ scipy-1.10.1/scipy/sparse/linalg/_eigen/arpack/tests/test_arpack.py 2023-02-25 15:44:06.220493384 +0100 +@@ -418,7 +418,7 @@ + None, sigma, mattype, None, mode) + + +-def test_hermitian_modes(): ++def disabled_test_hermitian_modes(): + params = SymmetricParams() + k = 2 + symmetric = True +diff -ru scipy-1.10.1.orig/scipy/sparse/tests/test_construct.py scipy-1.10.1/scipy/sparse/tests/test_construct.py +--- scipy-1.10.1.orig/scipy/sparse/tests/test_construct.py 1970-01-01 01:00:00.000000000 +0100 ++++ scipy-1.10.1/scipy/sparse/tests/test_construct.py 2023-02-25 15:44:25.259531626 +0100 +@@ -446,7 +446,7 @@ + + @pytest.mark.slow + @pytest.mark.xfail_on_32bit("Can't create large array for test") +- def test_concatenate_int32_overflow(self): ++ def disable_test_concatenate_int32_overflow(self): + """ test for indptr overflow when concatenating matrices """ + check_free_memory(30000) + From 0b94de2bff900be50f050a174026473106bb8cda Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 25 Feb 2023 18:29:03 +0100 Subject: [PATCH 19/20] add patch for scipy 1.10.1 to xfail test_maxiter_worsening on aarch64 --- .../SciPy-bundle-2023.02-gfbf-2022b.eb | 7 ++++++- ...0.1_xfail-aarch64_test_maxiter_worsening.patch | 15 +++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_xfail-aarch64_test_maxiter_worsening.patch diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb index dbeae6ee955b..907aca730a3f 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb @@ -48,10 +48,15 @@ exts_list = [ 'checksums': ['702c2701187cfb38f66c0c20cc85d04d0e156d260a8d92892da65947faa5360e'], }), ('scipy', '1.10.1', { - 'patches': ['scipy-1.10.1_disable-tests.patch'], + 'patches': [ + 'scipy-1.10.1_disable-tests.patch', + 'scipy-1.10.1_xfail-aarch64_test_maxiter_worsening.patch', + ], 'checksums': [ {'scipy-1.10.1.tar.gz': '2cf9dfb80a7b4589ba4c40ce7588986d6d5cebc5457cad2c2880f6bc2d42f3a5'}, {'scipy-1.10.1_disable-tests.patch': '5d36d416fb7ea9297514c3988d9f506793e39dc4c0daedccf6733c3dd7e3dcc0'}, + {'scipy-1.10.1_xfail-aarch64_test_maxiter_worsening.patch': + '48177d6af51cf3e3d46aed8425807f0a65a498f7558f475032e0ad846559a23e'}, ], 'enable_slow_tests': True, 'ignore_test_result': False, diff --git a/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_xfail-aarch64_test_maxiter_worsening.patch b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_xfail-aarch64_test_maxiter_worsening.patch new file mode 100644 index 000000000000..c2a2f234e4ee --- /dev/null +++ b/easybuild/easyconfigs/s/SciPy-bundle/scipy-1.10.1_xfail-aarch64_test_maxiter_worsening.patch @@ -0,0 +1,15 @@ +also xfail test_maxiter_worsening for Python 3.10 on aarch64 +see also https://github.com/scipy/scipy/issues/13019 + https://github.com/scipy/scipy/pull/13022 +author: Kenneth Hoste (HPC-UGent) +diff -ru scipy-1.10.1.orig/scipy/sparse/linalg/_isolve/tests/test_iterative.py scipy-1.10.1/scipy/sparse/linalg/_isolve/tests/test_iterative.py +--- scipy-1.10.1.orig/scipy/sparse/linalg/_isolve/tests/test_iterative.py 1970-01-01 00:00:00.000000000 +0000 ++++ scipy-1.10.1/scipy/sparse/linalg/_isolve/tests/test_iterative.py 2023-02-25 17:18:12.432151563 +0000 +@@ -451,7 +451,7 @@ + + @pytest.mark.parametrize("solver", [ + pytest.param(gmres, marks=pytest.mark.xfail(platform.machine() == 'aarch64' +- and sys.version_info[1] == 9, ++ and sys.version_info[1] >= 9, + reason="gh-13019")), + qmr, + pytest.param(lgmres, marks=pytest.mark.xfail( From 0de78ec35e7ffc6feb79bde2ce2780442e6ec6f4 Mon Sep 17 00:00:00 2001 From: Kenneth Hoste Date: Sat, 25 Feb 2023 19:53:57 +0100 Subject: [PATCH 20/20] use 'import deap.base' in sanity check for deap extension in SciPy-bundle 2023.02 --- .../s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb | 1 + 1 file changed, 1 insertion(+) diff --git a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb index 907aca730a3f..f6d9d0f80459 100644 --- a/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb +++ b/easybuild/easyconfigs/s/SciPy-bundle/SciPy-bundle-2023.02-gfbf-2022b.eb @@ -76,6 +76,7 @@ exts_list = [ }), ('deap', '1.3.3', { 'checksums': ['8772f1b0fff042d5e516b0aebac2c706243045aa7d0de8e0b8658f380181cf31'], + 'modulename': 'deap.base', }), ]