diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb new file mode 100644 index 000000000000..79469b4b1403 --- /dev/null +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1-foss-2023a.eb @@ -0,0 +1,114 @@ +easyblock = 'PythonBundle' + +name = 'pyiron' +version = '0.5.1' + +homepage = 'https://github.com/pyiron/pyiron' +description = "An integrated development environment (IDE) for computational materials science." + + +toolchain = {'name': 'foss', 'version': '2023a'} + +builddependencies = [('poetry', '1.5.1')] +dependencies = [ + ('Python', '3.11.3'), + ('SciPy-bundle', '2023.07'), + ('Python-bundle-PyPI', '2023.06'), + ('matplotlib', '3.7.2'), + ('h5py', '3.9.0'), + ('PyYAML', '6.0'), + ('phonopy', '2.20.0'), + ('ASE', '3.22.1'), + ('PyTables', '3.8.0'), + ('nglview', '3.1.2'), + ('tqdm', '4.66.1'), + ('molmod', '1.4.8'), + ('scikit-learn', '1.3.1'), + ('yaff', '1.6.0'), + ('TAMkin', '1.2.6'), + ('QuickFF', '2.2.7'), + ('plotly.py', '5.16.0'), + ('GitPython', '3.1.40'), + ('dill', '0.3.7'), + ('sympy', '1.12'), + ('pymatgen', '2023.12.18'), + ('Pint', '0.23'), + ('SQLAlchemy', '2.0.25'), +] + +check_ldshared = True +use_pip = True + +exts_list = [ + ('h5io', '0.1.2', { + 'checksums': ['6400543224c489f1cf487be551f892310fa7060fcd4935b84e515efdc1e1fa43'], + }), + ('defusedxml', '0.6.0', { + 'checksums': ['f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5'], + }), + ('pysqa', '0.1.7', { + 'checksums': ['fdc37e0178649750e7386b4e9b8287693ee2d47559723c11b9ad42afcfc55900'], + }), + ('pyfiglet', '0.8.post1', { + 'checksums': ['c6c2321755d09267b438ec7b936825a4910fec696292139e664ca8670e103639'], + }), + ('mendeleev', '0.14.0', { + 'checksums': ['1a89ccf05c708aebe627c5eb19ff5c6379585a2f9e588e1dcf9b03182fe61f3c'], + }), + ('pyfileindex', '0.0.18', { + 'checksums': ['6d5acf2500f568667aa5273ae57692c2b62facbcaae7c0bbbf21ba3bdd904961'], + }), + ('seekpath', '2.1.0', { + 'checksums': ['31cec579628262e6d4a4c3693fefa70d6ccae1ceeef7c9d10ea3cd48988452c4'], + }), + (name, version, { + 'modulename': False, + 'checksums': ['2e5e3f892b7e49a15443569870aa4ea049951b71fe2ad1ad7f4ac7551d475788'], + }), + ('pyiron_base', '0.6.12', { + 'patches': ['pyiron-0.5.1_fix-pyiron-base-version.patch'], + 'source_urls': ['https://github.com/pyiron/pyiron_base/archive/refs/tags/'], + 'checksums': [ + {'pyiron_base-0.6.12.tar.gz': '7ef8fa8b21724776c1ced3ee1efb8484984234150a7f3da296577f90c63751cb'}, + {'pyiron-0.5.1_fix-pyiron-base-version.patch': + 'a6390dcd366e17361fb71f26c6d3b75835526bdf773d9ef535c02836fe551b31'}, + ], + }), + ('atomistics', '0.1.15', { + 'patches': ['pyiron-0.5.1_fix-atomistics-requirements.patch'], + 'source_urls': ['https://github.com/pyiron/atomistics/archive/refs/tags/'], + 'checksums': [ + {'atomistics-0.1.15.tar.gz': 'e9c505cace0cbeb9ea5ed33799f332f5cc95230a05ba14b646475cff1bdecaee'}, + {'pyiron-0.5.1_fix-atomistics-requirements.patch': + 'deaa57c27be147efc7e4926f6795bfa421280a299fc96de8c0bae342e4770d6c'}, + ], + }), + ('pyiron_atomistics', '0.3.11', { + 'patches': ['pyiron-0.5.1_fix-pyiron-atomistics-version.patch'], + 'source_urls': ['https://github.com/pyiron/pyiron_atomistics/archive/refs/tags/'], + 'checksums': [ + {'pyiron_atomistics-0.3.11.tar.gz': '8c73c452fe60cb808961d22361f9b749488e3d50a8bda7f5c0132aea2f69e00f'}, + {'pyiron-0.5.1_fix-pyiron-atomistics-version.patch': + '5c9b987cb63508f482bff696e252987e10df9b8ee8e860491583c8e547d4568c'}, + ], + }), + ('pylammpsmpi', '0.2.10', { + 'patches': ['pyiron-0.5.1_fix-pylammpsmpi.patch'], + 'source_urls': ['https://github.com/pyiron/pylammpsmpi/archive/refs/tags/'], + 'checksums': [ + {'%(name)s-%(version)s.tar.gz': 'bd5af29a935dacbee743c3cc0bcc799e24e7c2483801f56cb9092a79f016f2ed'}, + {'pyiron-0.5.1_fix-pylammpsmpi.patch': + 'd7cacf8eb73cb43e47526bfa3f98157073c01cd88918f191f87d7e75ab4c7c30'}, + ], + }), + ('pympipool', '0.7.9', { + 'checksums': ['5698181bc5dc9a69595fd00ff6a8ba651b77734ccf00df79ae3aea8aaf32790a'], + }), + ('structuretoolkit', '0.0.15', { + 'checksums': ['1a258a072055d0c20e9d56156afd4481cfc94c2612c1b908de4b274b423cc6e6'], + }), +] + +sanity_pip_check = True + +moduleclass = 'tools' diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-atomistics-requirements.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-atomistics-requirements.patch new file mode 100644 index 000000000000..5b47f86d7596 --- /dev/null +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-atomistics-requirements.patch @@ -0,0 +1,17 @@ +Relax requirements of `atomistics`. + +--- 0.5.1/foss-2023a/atomistics/atomistics-atomistics-0.1.15/pyproject.toml.orig 2024-01-09 12:42:59.508409527 +0000 ++++ 0.5.1/foss-2023a/atomistics/atomistics-atomistics-0.1.15/pyproject.toml 2024-01-09 12:43:44.589293464 +0000 +@@ -26,9 +26,9 @@ + ] + dependencies = [ + "ase==3.22.1", +- "numpy==1.26.2", +- "scipy==1.11.4", +- "spglib==2.2.0", ++ "numpy>=1.25.1", ++ "scipy>=1.11.1", ++ "spglib>=2.1.0", + ] + dynamic = ["version"] + diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-pyiron-atomistics-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-pyiron-atomistics-version.patch new file mode 100644 index 000000000000..46ab8c364675 --- /dev/null +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-pyiron-atomistics-version.patch @@ -0,0 +1,73 @@ +Fixes use of dynamic versioning in pyproject.toml and puts in a specific version instead. + +--- 0.5.1/foss-2023a/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/pyproject.toml.orig 2024-01-22 10:12:31.768251943 +0000 ++++ 0.5.1/foss-2023a/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/pyproject.toml 2024-01-22 10:26:21.997455595 +0000 +@@ -26,24 +26,24 @@ + dependencies = [ + "ase==3.22.1", +- "atomistics==0.1.12", +- "defusedxml==0.7.1", +- "h5py==3.10.0", +- "matplotlib==3.8.2", +- "mendeleev==0.14.0", +- "mp-api==0.39.1", +- "numpy==1.26.2", +- "pandas==2.1.3", +- "phonopy==2.21.0", ++ "atomistics>=0.1.12", ++ "defusedxml>=0.6.0", ++ "h5py>=3.9.0", ++ "matplotlib>=3.7.2", ++ "mendeleev>=0.14.0", ++ "mp-api>=0.39.1", ++ "numpy>=1.25.1", ++ "pandas>=2.0.3", ++ "phonopy>=2.20.0", +- "pint==0.22", ++ "pint>=0.22", + "pyiron_base==0.6.12", +- "pylammpsmpi==0.2.9", ++ "pylammpsmpi>=0.2.9", +- "scipy==1.11.4", +- "scikit-learn==1.3.2", +- "seekpath==2.1.0", +- "spglib==2.1.0", ++ "scipy>=1.11.1", ++ "scikit-learn>=1.3.1", ++ "seekpath>=2.1.0", ++ "spglib>=2.1.0", + "structuretoolkit==0.0.15", + ] +-dynamic = ["version"] ++version = '0.3.11' + + [project.urls] + Homepage = "https://pyiron.org" +@@ -55,13 +55,3 @@ + + [tool.setuptools.package-data] + "*" = ["data/*.csv"] +- +-[tool.setuptools.dynamic] +-version = {attr = "pyiron_atomistics.__version__"} +- +-[tool.versioneer] +-VCS = "git" +-style = "pep440-pre" +-versionfile_source = "pyiron_atomistics/_version.py" +-parentdir_prefix = "pyiron_atomistics" +-tag_prefix = "pyiron_atomistics-" + +--- 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.11/setup.py.orig 2023-12-13 17:16:26.902513343 +0000 ++++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_atomistics/pyiron_atomistics-pyiron_atomistics-0.3.111/setup.py 2023-12-13 17:18:56.504736380 +0000 +@@ -3,6 +3,6 @@ + import versioneer + + setup( +- version=versioneer.get_version(), +- cmdclass=versioneer.get_cmdclass(), +-) +\ No newline at end ++ version="0.3.11", ++) ++ diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-pyiron-base-version.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-pyiron-base-version.patch new file mode 100644 index 000000000000..9efc42afbb9f --- /dev/null +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-pyiron-base-version.patch @@ -0,0 +1,72 @@ +Fixes use of dynamic versioning in pyproject.toml and puts in a specific version instead. + +--- 0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/pyproject.toml.orig 2023-12-13 15:51:48.895090935 +0000 ++++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/pyproject.toml 2023-12-13 15:53:26.626579151 +0000 +@@ -24,23 +24,23 @@ + "Programming Language :: Python :: 3.11", + ] + dependencies = [ +- "dill==0.3.7", +- "gitpython==3.1.40", +- "h5io==0.1.9", +- "h5py==3.10.0", +- "jinja2==3.1.2", +- "numpy==1.26.2", +- "pandas==2.1.3", +- "pint==0.22", +- "psutil==5.9.5", +- "pyfileindex==0.0.18", +- "pysqa==0.1.7", +- "sqlalchemy==2.0.23", +- "tables==3.9.2", +- "tqdm==4.66.1", +- "traitlets==5.14.0", ++ "dill>=0.3.2", ++ "gitpython>=3.1.8", ++ "h5io>=0.1.2", ++ "h5py>=3.9.0", ++ "jinja2>=3.1.2", ++ "numpy>=1.25.1", ++ "pandas>=2.0.3", ++ "pint>=0.22", ++ "psutil>=5.9.5", ++ "pyfileindex>=0.0.18", ++ "pysqa>=0.1.7", ++ "sqlalchemy>=2.0.23", ++ "tables>=3.8.0", ++ "tqdm>=4.66.1", ++ "traitlets>=5.9.0", + ] +-dynamic = ["version"] ++version = "0.6.12" + + [project.urls] + Homepage = "https://github.com/pyiron/pyiron_base" +@@ -53,12 +53,3 @@ + [tool.setuptools.packages.find] + include = ["pyiron_base*"] + +-[tool.setuptools.dynamic] +-version = {attr = "pyiron_base.__version__"} +- +-[tool.versioneer] +-VCS = "git" +-style = "pep440-pre" +-versionfile_source = "pyiron_base/_version.py" +-parentdir_prefix = "pyiron_base" +-tag_prefix = "pyiron_base-" + +--- 0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/setup.py.orig 2023-12-13 17:16:26.902513343 +0000 ++++ 0.5.1/foss-2023a-Python-3.11.3/pyiron_base/pyiron_base-pyiron_base-0.6.12/setup.py 2023-12-13 17:18:56.504736380 +0000 +@@ -3,6 +3,6 @@ + import versioneer + + setup( +- version=versioneer.get_version(), +- cmdclass=versioneer.get_cmdclass(), +-) +\ No newline at end ++ version="0.6.12", ++) ++ + diff --git a/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-pylammpsmpi.patch b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-pylammpsmpi.patch new file mode 100644 index 000000000000..c306bf08da97 --- /dev/null +++ b/easybuild/easyconfigs/p/pyiron/pyiron-0.5.1_fix-pylammpsmpi.patch @@ -0,0 +1,47 @@ +Fix versioning issue and relax requirements. + +--- 0.5.1/foss-2023a/pylammpsmpi/pylammpsmpi-pylammpsmpi-0.2.10/setup.py.orig 2023-12-21 17:27:54.405181324 +0000 ++++ 0.5.1/foss-2023a/pylammpsmpi/pylammpsmpi-pylammpsmpi-0.2.10/setup.py 2023-12-21 17:31:38.136048756 +0000 +@@ -1,8 +1,4 @@ + from setuptools import setup + +-import versioneer ++setup(version='0.2.10') + +-setup( +- version=versioneer.get_version(), +- cmdclass=versioneer.get_cmdclass(), +-) +\ Ingen nyrad vid filslut + +--- 0.5.1/foss-2023a/pylammpsmpi/pylammpsmpi-pylammpsmpi-0.2.10/pyproject.toml.orig 2023-12-21 17:57:36.066162000 +0000 ++++ 0.5.1/foss-2023a/pylammpsmpi/pylammpsmpi-pylammpsmpi-0.2.10/pyproject.toml 2023-12-21 17:58:37.373851635 +0000 +@@ -24,11 +24,11 @@ + "Programming Language :: Python :: 3.11", + ] + dependencies = [ +- "mpi4py==3.1.5", ++ "mpi4py>=3.1.4", + "pympipool==0.7.9", +- "numpy==1.26.2", ++ "numpy>=1.25.1", + ] +-dynamic = ["version"] ++version = '0.2.10' + + [project.urls] + Homepage = "https://github.com/pyiron/pylammpsmpi" +@@ -43,13 +43,3 @@ + + [tool.setuptools.packages.find] + include = ["pylammpsmpi*"] +- +-[tool.setuptools.dynamic] +-version = {attr = "pylammpsmpi.__version__"} +- +-[tool.versioneer] +-VCS = "git" +-style = "pep440-pre" +-versionfile_source = "pylammpsmpi/_version.py" +-parentdir_prefix = "pylammpsmpi" +-tag_prefix = "pylammpsmpi-" diff --git a/easybuild/easyconfigs/q/QuickFF/QuickFF-2.2.7-foss-2023a.eb b/easybuild/easyconfigs/q/QuickFF/QuickFF-2.2.7-foss-2023a.eb new file mode 100644 index 000000000000..5bf05e90cf8b --- /dev/null +++ b/easybuild/easyconfigs/q/QuickFF/QuickFF-2.2.7-foss-2023a.eb @@ -0,0 +1,34 @@ +easyblock = 'PythonPackage' + +name = 'QuickFF' +version = '2.2.7' + +homepage = 'https://molmod.github.io/QuickFF/' +description = """QuickFF is a Python package developed at the Center for +Molecular Modeling (CMM) to quickly derive accurate force fields from ab initio +calculations.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/molmod/QuickFF/archive/'] +sources = ['v%(version)s.tar.gz'] +checksums = ['a71922dd39869770b03809355f13bcabdbb8d50429f4d3574cf427ea762f4023'] + +dependencies = [ + ('Python', '3.11.3'), + ('matplotlib', '3.7.2'), + ('molmod', '1.4.8'), + ('yaff', '1.6.0'), +] + +download_dep_fail = True +use_pip = True + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages/%(namelower)s'], +} + +sanity_pip_check = True + +moduleclass = 'chem' diff --git a/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2023a.eb b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2023a.eb new file mode 100644 index 000000000000..b3b409286436 --- /dev/null +++ b/easybuild/easyconfigs/t/TAMkin/TAMkin-1.2.6-foss-2023a.eb @@ -0,0 +1,46 @@ +easyblock = 'PythonPackage' + +name = 'TAMkin' +version = '1.2.6' + +homepage = 'https://molmod.github.io/tamkin/' +description = """TAMkin is a post-processing toolkit for normal mode analysis, + thermochemistry and reaction kinetics. It uses a Hessian computation from a + standard computational chemistry program as its input.""" + +toolchain = {'name': 'foss', 'version': '2023a'} + +source_urls = ['https://github.com/molmod/tamkin/releases/download/%(version)s'] +sources = [SOURCE_TAR_GZ] +patches = [ + 'TAMkin-1.2.6_fix-python38.patch', + 'TAMkin-1.2.6_fix-test_vsa_no_mass.patch', +] +checksums = [ + {'TAMkin-1.2.6.tar.gz': '1bde275a09be91e5241616aaa9fedc60cb359a263f5c5909bb14431c3a4ed5fd'}, + {'TAMkin-1.2.6_fix-python38.patch': '1633d5b24b012f8c4b6731491e4072c819ebbba65574966b7185ecca52eeac9b'}, + {'TAMkin-1.2.6_fix-test_vsa_no_mass.patch': '67d8b8671d7c71123e8ee9a7b9ebea6562e9711edb41555d1926b1b51d549066'}, +] + +dependencies = [ + ('Python', '3.11.3'), + ('matplotlib', '3.7.2'), + ('molmod', '1.4.8'), + ('nose3', '1.3.8'), +] + +download_dep_fail = True +use_pip = True + +# disable tests that require X11 by specifying "backend: agg" in matplotlibrc +runtest = 'export MATPLOTLIBRC=$PWD; echo "backend: agg" > $MATPLOTLIBRC/matplotlibrc; ' +runtest += 'export OMP_NUM_THREADS=1; nosetests -v tamkin' + +sanity_check_paths = { + 'files': [], + 'dirs': ['lib/python%(pyshortver)s/site-packages'], +} + +sanity_pip_check = True + +moduleclass = 'chem'