Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

{geo}[foss/2024a] wrf-python v1.3.4.1-20241111, basemap v1.4.1, Cartopy v0.24.1 #22197

Conversation

pavelToman
Copy link
Collaborator

@pavelToman pavelToman commented Jan 22, 2025

(created using eb --new-pr)
resolves vscentrum/vsc-software-stack#493

…p-1.4.1-foss-2024a.eb, Cartopy-0.24.1-foss-2024a.eb
Copy link

github-actions bot commented Jan 22, 2025

Updated software basemap-1.4.1-foss-2024a.eb

Diff against basemap-1.3.9-foss-2023a.eb

easybuild/easyconfigs/b/basemap/basemap-1.3.9-foss-2023a.eb

diff --git a/easybuild/easyconfigs/b/basemap/basemap-1.3.9-foss-2023a.eb b/easybuild/easyconfigs/b/basemap/basemap-1.4.1-foss-2024a.eb
index 39b8785128..f98b8a1426 100644
--- a/easybuild/easyconfigs/b/basemap/basemap-1.3.9-foss-2023a.eb
+++ b/easybuild/easyconfigs/b/basemap/basemap-1.4.1-foss-2024a.eb
@@ -7,25 +7,34 @@
 easyblock = 'PythonBundle'
 
 name = 'basemap'
-version = '1.3.9'
+version = '1.4.1'
 
 homepage = 'https://matplotlib.org/basemap/'
 description = """The matplotlib basemap toolkit is a library for plotting 
 2D data on maps in Python"""
 
-toolchain = {'name': 'foss', 'version': '2023a'}
+toolchain = {'name': 'foss', 'version': '2024a'}
+
+builddependencies = [
+    ('Cython', '3.0.10'),
+]
 
 dependencies = [
-    ('Python', '3.11.3'),
-    ('matplotlib', '3.7.2'),
-    ('GEOS', '3.12.0'),
-    ('Pillow', '10.0.0'),
-    ('pyproj', '3.6.0'),
+    ('Python', '3.12.3'),
+    ('matplotlib', '3.9.2'),
+    ('GEOS', '3.12.2'),
+    ('Pillow', '10.4.0'),
+    ('pyproj', '3.7.0'),
 ]
 
 use_pip = True
 sanity_pip_check = True
 
+local_preinstallopts = "cd packages/%(name)s && "
+# remote strict upper limit for required Python packages for recent Python versions
+local_preinstallopts += "sed -i 's/< [0-9.]*; python_version >=/; python_version >=/g' requirements.txt && "
+local_preinstallopts += "GEOS_DIR=$EBROOTGEOS"
+
 exts_list = [
     ('pyshp', '2.3.1', {
         'modulename': 'shapefile',
@@ -36,14 +45,14 @@ exts_list = [
         'preinstallopts': "cd packages/%(name)s && GEOS_DIR=$EBROOTGEOS",
         'source_urls': ['https://github.com/matplotlib/basemap/archive/'],
         'sources': ['v%(version)s.tar.gz'],
-        'checksums': ['44ae3764595778077d4bc40b0756c90f483b816927e82206e9f376e31a2dc533'],
+        'checksums': ['730b1e2ff5eb31c73680bd8ebabc6b11adfc587cfa6832c528a8a82822e5a490'],
     }),
     (name, version, {
         'modulename': 'mpl_toolkits.basemap',
-        'preinstallopts': "cd packages/%(name)s && GEOS_DIR=$EBROOTGEOS",
+        'preinstallopts': local_preinstallopts,
         'source_urls': ['https://github.com/matplotlib/basemap/archive/'],
         'sources': ['v%(version)s.tar.gz'],
-        'checksums': ['44ae3764595778077d4bc40b0756c90f483b816927e82206e9f376e31a2dc533'],
+        'checksums': ['730b1e2ff5eb31c73680bd8ebabc6b11adfc587cfa6832c528a8a82822e5a490'],
     }),
 ]
 
Diff against basemap-1.3.6-foss-2022a.eb

easybuild/easyconfigs/b/basemap/basemap-1.3.6-foss-2022a.eb

diff --git a/easybuild/easyconfigs/b/basemap/basemap-1.3.6-foss-2022a.eb b/easybuild/easyconfigs/b/basemap/basemap-1.4.1-foss-2024a.eb
index 456ebc3478..f98b8a1426 100644
--- a/easybuild/easyconfigs/b/basemap/basemap-1.3.6-foss-2022a.eb
+++ b/easybuild/easyconfigs/b/basemap/basemap-1.4.1-foss-2024a.eb
@@ -7,25 +7,34 @@
 easyblock = 'PythonBundle'
 
 name = 'basemap'
-version = '1.3.6'
+version = '1.4.1'
 
 homepage = 'https://matplotlib.org/basemap/'
 description = """The matplotlib basemap toolkit is a library for plotting 
 2D data on maps in Python"""
 
-toolchain = {'name': 'foss', 'version': '2022a'}
+toolchain = {'name': 'foss', 'version': '2024a'}
+
+builddependencies = [
+    ('Cython', '3.0.10'),
+]
 
 dependencies = [
-    ('Python', '3.10.4'),
-    ('matplotlib', '3.5.2'),
-    ('GEOS', '3.10.3'),
-    ('Pillow', '9.1.1'),
-    ('pyproj', '3.4.0'),
+    ('Python', '3.12.3'),
+    ('matplotlib', '3.9.2'),
+    ('GEOS', '3.12.2'),
+    ('Pillow', '10.4.0'),
+    ('pyproj', '3.7.0'),
 ]
 
 use_pip = True
 sanity_pip_check = True
 
+local_preinstallopts = "cd packages/%(name)s && "
+# remote strict upper limit for required Python packages for recent Python versions
+local_preinstallopts += "sed -i 's/< [0-9.]*; python_version >=/; python_version >=/g' requirements.txt && "
+local_preinstallopts += "GEOS_DIR=$EBROOTGEOS"
+
 exts_list = [
     ('pyshp', '2.3.1', {
         'modulename': 'shapefile',
@@ -33,17 +42,17 @@ exts_list = [
     }),
     ('basemap_data', version, {
         'modulename': 'mpl_toolkits.basemap_data',
-        'preinstallopts': 'cd packages/%(name)s && GEOS_DIR=$EBROOTGEOS',
-        'sources': ['v%(version)s.tar.gz'],
+        'preinstallopts': "cd packages/%(name)s && GEOS_DIR=$EBROOTGEOS",
         'source_urls': ['https://github.com/matplotlib/basemap/archive/'],
-        'checksums': ['42adbd039b4afbe93ca2fa32cfab456d4fd590cb8ed1c28e4aa94dcb957b58ac'],
+        'sources': ['v%(version)s.tar.gz'],
+        'checksums': ['730b1e2ff5eb31c73680bd8ebabc6b11adfc587cfa6832c528a8a82822e5a490'],
     }),
     (name, version, {
         'modulename': 'mpl_toolkits.basemap',
-        'preinstallopts': 'cd packages/%(name)s && GEOS_DIR=$EBROOTGEOS',
-        'sources': ['v%(version)s.tar.gz'],
+        'preinstallopts': local_preinstallopts,
         'source_urls': ['https://github.com/matplotlib/basemap/archive/'],
-        'checksums': ['42adbd039b4afbe93ca2fa32cfab456d4fd590cb8ed1c28e4aa94dcb957b58ac'],
+        'sources': ['v%(version)s.tar.gz'],
+        'checksums': ['730b1e2ff5eb31c73680bd8ebabc6b11adfc587cfa6832c528a8a82822e5a490'],
     }),
 ]
 
Diff against basemap-1.2.2-foss-2020a-Python-3.8.2.eb

easybuild/easyconfigs/b/basemap/basemap-1.2.2-foss-2020a-Python-3.8.2.eb

diff --git a/easybuild/easyconfigs/b/basemap/basemap-1.2.2-foss-2020a-Python-3.8.2.eb b/easybuild/easyconfigs/b/basemap/basemap-1.4.1-foss-2024a.eb
index 0b4ffd3105..f98b8a1426 100644
--- a/easybuild/easyconfigs/b/basemap/basemap-1.2.2-foss-2020a-Python-3.8.2.eb
+++ b/easybuild/easyconfigs/b/basemap/basemap-1.4.1-foss-2024a.eb
@@ -1,39 +1,59 @@
+# The newer version require also the installation of basemap-data.
+# Conveniently, the tarball contains that too, so that is the one
+# being used here. 
+# Based on basemap-1.2.2-foss-2020a-Python-3.8.2.eb
+# Author: J. Sassmannshausen (Imperial College London/UK)
+
 easyblock = 'PythonBundle'
 
 name = 'basemap'
-version = '1.2.2'
-versionsuffix = '-Python-%(pyver)s'
+version = '1.4.1'
 
 homepage = 'https://matplotlib.org/basemap/'
-description = """The matplotlib basemap toolkit is a library for plotting 2D data on maps in Python"""
+description = """The matplotlib basemap toolkit is a library for plotting 
+2D data on maps in Python"""
+
+toolchain = {'name': 'foss', 'version': '2024a'}
 
-toolchain = {'name': 'foss', 'version': '2020a'}
+builddependencies = [
+    ('Cython', '3.0.10'),
+]
 
 dependencies = [
-    ('Python', '3.8.2'),
-    ('matplotlib', '3.2.1', versionsuffix),
-    ('GEOS', '3.8.1', versionsuffix),
-    ('Pillow', '7.0.0', versionsuffix),
-    ('pyproj', '2.6.1.post1', versionsuffix),
+    ('Python', '3.12.3'),
+    ('matplotlib', '3.9.2'),
+    ('GEOS', '3.12.2'),
+    ('Pillow', '10.4.0'),
+    ('pyproj', '3.7.0'),
 ]
 
 use_pip = True
+sanity_pip_check = True
+
+local_preinstallopts = "cd packages/%(name)s && "
+# remote strict upper limit for required Python packages for recent Python versions
+local_preinstallopts += "sed -i 's/< [0-9.]*; python_version >=/; python_version >=/g' requirements.txt && "
+local_preinstallopts += "GEOS_DIR=$EBROOTGEOS"
 
 exts_list = [
-    ('pyshp', '2.1.3', {
+    ('pyshp', '2.3.1', {
         'modulename': 'shapefile',
-        'checksums': ['e32b4a6832a3b97986df442df63b4c4a7dcc846b326c903189530a5cc6df0260'],
+        'checksums': ['4caec82fd8dd096feba8217858068bacb2a3b5950f43c048c6dc32a3489d5af1'],
+    }),
+    ('basemap_data', version, {
+        'modulename': 'mpl_toolkits.basemap_data',
+        'preinstallopts': "cd packages/%(name)s && GEOS_DIR=$EBROOTGEOS",
+        'source_urls': ['https://github.com/matplotlib/basemap/archive/'],
+        'sources': ['v%(version)s.tar.gz'],
+        'checksums': ['730b1e2ff5eb31c73680bd8ebabc6b11adfc587cfa6832c528a8a82822e5a490'],
     }),
     (name, version, {
         'modulename': 'mpl_toolkits.basemap',
-        'prebuildopts': 'GEOS_DIR=$EBROOTGEOS',
-        'preinstallopts': 'GEOS_DIR=$EBROOTGEOS',
-        'source_tmpl': 'v%(version)srel.tar.gz',
+        'preinstallopts': local_preinstallopts,
         'source_urls': ['https://github.com/matplotlib/basemap/archive/'],
-        'checksums': ['7e6ee5d03b10168862cff82bfa819df8264c04f078eac4549a22dd2631696613'],
+        'sources': ['v%(version)s.tar.gz'],
+        'checksums': ['730b1e2ff5eb31c73680bd8ebabc6b11adfc587cfa6832c528a8a82822e5a490'],
     }),
 ]
 
-sanity_pip_check = True
-
 moduleclass = 'vis'

Updated software Cartopy-0.24.1-foss-2024a.eb

Diff against Cartopy-0.22.0-foss-2023a.eb

easybuild/easyconfigs/c/Cartopy/Cartopy-0.22.0-foss-2023a.eb

diff --git a/easybuild/easyconfigs/c/Cartopy/Cartopy-0.22.0-foss-2023a.eb b/easybuild/easyconfigs/c/Cartopy/Cartopy-0.24.1-foss-2024a.eb
index 73fc95af61..cc42b4579c 100644
--- a/easybuild/easyconfigs/c/Cartopy/Cartopy-0.22.0-foss-2023a.eb
+++ b/easybuild/easyconfigs/c/Cartopy/Cartopy-0.24.1-foss-2024a.eb
@@ -1,55 +1,53 @@
-# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
-# Updated: Denis Kristak
 easyblock = 'PythonBundle'
 
 name = 'Cartopy'
-version = '0.22.0'
+version = '0.24.1'
 
 homepage = 'https://scitools.org.uk/cartopy/docs/latest/'
 description = """Cartopy is a Python package designed to make drawing maps for data analysis and visualisation easy."""
 
-toolchain = {'name': 'foss', 'version': '2023a'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 
+builddependencies = [
+    ('Cython', '3.0.10'),
+]
 dependencies = [
-    ('Python', '3.11.3'),
-    ('Python-bundle-PyPI', '2023.06'),
-    # sufficiently recent Cython is required, to fix issues like:
-    #   pykdtree/kdtree.c:2437:76: error: PyArrayObject {aka struct tagPyArrayObject} has no member named data
-    # Cython included with Python-bundle-PyPI (0.29.35) is not sufficient
-    ('Cython', '3.0.8'),
-    ('Fiona', '1.9.5'),
-    ('GDAL', '3.7.1'),
-    ('GEOS', '3.12.0'),
-    ('matplotlib', '3.7.2'),
-    ('pyproj', '3.6.0'),
-    ('SciPy-bundle', '2023.07'),
-    ('Shapely', '2.0.1'),
-    ('lxml', '4.9.2'),
-    ('Pillow', '10.0.0'),
-    ('PROJ', '9.2.0'),
-    ('PyYAML', '6.0'),
+    ('Python', '3.12.3'),
+    ('Python-bundle-PyPI', '2024.06'),
+    ('Fiona', '1.10.1'),
+    ('GDAL', '3.10.0'),
+    ('GEOS', '3.12.2'),
+    ('matplotlib', '3.9.2'),
+    ('pyproj', '3.7.0'),
+    ('SciPy-bundle', '2024.05'),
+    ('Shapely', '2.0.6'),
+    ('lxml', '5.3.0'),
+    ('Pillow', '10.4.0'),
+    ('PROJ', '9.4.1'),
+    ('PyYAML', '6.0.2'),
 ]
 
 use_pip = True
 sanity_pip_check = True
 
 exts_list = [
-    ('OWSLib', '0.29.3', {
-        'checksums': ['3baf34058458b933767ee43e632174cb0baebf49d326da179faacb9772f98539'],
+    ('OWSLib', '0.32.0', {
+        'checksums': ['7513860d3102ae8d4dc5efd8652ff3c61eca3a8cb220d6c8601121357cd2b01a'],
     }),
     ('pyepsg', '0.4.0', {
         'checksums': ['2d08fad1e7a8b47a90a4e43da485ba95705923425aefc4e2a3efa540dbd470d7'],
     }),
-    ('pykdtree', '1.3.10', {
-        'checksums': ['41e7c5d669cadc2188acc4bbb4b0b4dcaf492d84512f1e6517a7ab2d122c911d'],
+    ('pykdtree', '1.3.13', {
+        'checksums': ['3accf852e946653e399c3d4dbbe119dbc6d3f72cfd2d5a95cabf0bf0c7f924fe'],
     }),
     ('pyshp', '2.3.1', {
         'modulename': 'shapefile',
         'checksums': ['4caec82fd8dd096feba8217858068bacb2a3b5950f43c048c6dc32a3489d5af1'],
     }),
     (name, version, {
-        'checksums': ['b300f90120931d43f11ef87c064ea1dacec1b59a4940aa76ebf82cf09548bb49'],
-        'preinstallopts': r"""sed -i 's/dynamic = \["version"\]/version = "%(version)s"/g' pyproject.toml && """
+        'preinstallopts': r"sed -i 's/dynamic = \[\"version\"\]/version = \"%(version)s\"/g' pyproject.toml && ",
+        'sources': ['cartopy-%(version)s.tar.gz'],
+        'checksums': ['01c910d5634c69a7efdec46e0a17d473d2328767f001d4dc0b5c4b48e585c8bd'],
     }),
 ]
 
Diff against Cartopy-0.20.3-foss-2022a.eb

easybuild/easyconfigs/c/Cartopy/Cartopy-0.20.3-foss-2022a.eb

diff --git a/easybuild/easyconfigs/c/Cartopy/Cartopy-0.20.3-foss-2022a.eb b/easybuild/easyconfigs/c/Cartopy/Cartopy-0.24.1-foss-2024a.eb
index 436e9a24ca..cc42b4579c 100644
--- a/easybuild/easyconfigs/c/Cartopy/Cartopy-0.20.3-foss-2022a.eb
+++ b/easybuild/easyconfigs/c/Cartopy/Cartopy-0.24.1-foss-2024a.eb
@@ -1,49 +1,53 @@
-# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
-# Updated: Denis Kristak
 easyblock = 'PythonBundle'
 
 name = 'Cartopy'
-version = '0.20.3'
+version = '0.24.1'
 
 homepage = 'https://scitools.org.uk/cartopy/docs/latest/'
 description = """Cartopy is a Python package designed to make drawing maps for data analysis and visualisation easy."""
 
-toolchain = {'name': 'foss', 'version': '2022a'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 
+builddependencies = [
+    ('Cython', '3.0.10'),
+]
 dependencies = [
-    ('Python', '3.10.4'),
-    ('Fiona', '1.8.21'),
-    ('GDAL', '3.5.0'),
-    ('GEOS', '3.10.3'),
-    ('matplotlib', '3.5.2'),
-    ('pyproj', '3.4.0'),
-    ('SciPy-bundle', '2022.05'),
-    ('Shapely', '1.8.2'),
-    ('lxml', '4.9.1'),
-    ('Pillow', '9.1.1'),
-    ('PROJ', '9.0.0'),
-    ('PyYAML', '6.0'),
+    ('Python', '3.12.3'),
+    ('Python-bundle-PyPI', '2024.06'),
+    ('Fiona', '1.10.1'),
+    ('GDAL', '3.10.0'),
+    ('GEOS', '3.12.2'),
+    ('matplotlib', '3.9.2'),
+    ('pyproj', '3.7.0'),
+    ('SciPy-bundle', '2024.05'),
+    ('Shapely', '2.0.6'),
+    ('lxml', '5.3.0'),
+    ('Pillow', '10.4.0'),
+    ('PROJ', '9.4.1'),
+    ('PyYAML', '6.0.2'),
 ]
 
 use_pip = True
 sanity_pip_check = True
 
 exts_list = [
-    ('OWSLib', '0.27.2', {
-        'checksums': ['e102aa2444dfe0c8439ab1e1776cc0fa47cea28c09b8a28212c893c6017c179b'],
+    ('OWSLib', '0.32.0', {
+        'checksums': ['7513860d3102ae8d4dc5efd8652ff3c61eca3a8cb220d6c8601121357cd2b01a'],
     }),
     ('pyepsg', '0.4.0', {
         'checksums': ['2d08fad1e7a8b47a90a4e43da485ba95705923425aefc4e2a3efa540dbd470d7'],
     }),
-    ('pykdtree', '1.3.5', {
-        'checksums': ['7342f75e731103e653fc1f6b9fdabc2410cf92b6e7b06160804a75786c9b5747'],
+    ('pykdtree', '1.3.13', {
+        'checksums': ['3accf852e946653e399c3d4dbbe119dbc6d3f72cfd2d5a95cabf0bf0c7f924fe'],
     }),
     ('pyshp', '2.3.1', {
         'modulename': 'shapefile',
         'checksums': ['4caec82fd8dd096feba8217858068bacb2a3b5950f43c048c6dc32a3489d5af1'],
     }),
     (name, version, {
-        'checksums': ['0d60fa2e2fbd77c4d1f6b1f9d3b588966147f07c1b179d2d34570ac1e1b49006'],
+        'preinstallopts': r"sed -i 's/dynamic = \[\"version\"\]/version = \"%(version)s\"/g' pyproject.toml && ",
+        'sources': ['cartopy-%(version)s.tar.gz'],
+        'checksums': ['01c910d5634c69a7efdec46e0a17d473d2328767f001d4dc0b5c4b48e585c8bd'],
     }),
 ]
 
Diff against Cartopy-0.20.3-foss-2021b.eb

easybuild/easyconfigs/c/Cartopy/Cartopy-0.20.3-foss-2021b.eb

diff --git a/easybuild/easyconfigs/c/Cartopy/Cartopy-0.20.3-foss-2021b.eb b/easybuild/easyconfigs/c/Cartopy/Cartopy-0.24.1-foss-2024a.eb
index 7238ae75ac..cc42b4579c 100644
--- a/easybuild/easyconfigs/c/Cartopy/Cartopy-0.20.3-foss-2021b.eb
+++ b/easybuild/easyconfigs/c/Cartopy/Cartopy-0.24.1-foss-2024a.eb
@@ -1,53 +1,53 @@
-# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
-# Updated: Denis Kristak
 easyblock = 'PythonBundle'
 
 name = 'Cartopy'
-version = '0.20.3'
+version = '0.24.1'
 
 homepage = 'https://scitools.org.uk/cartopy/docs/latest/'
 description = """Cartopy is a Python package designed to make drawing maps for data analysis and visualisation easy."""
 
-toolchain = {'name': 'foss', 'version': '2021b'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 
+builddependencies = [
+    ('Cython', '3.0.10'),
+]
 dependencies = [
-    ('Python', '3.9.6'),
-    ('Fiona', '1.8.21'),
-    ('GDAL', '3.3.2'),
-    ('GEOS', '3.9.1'),
-    ('matplotlib', '3.4.3'),
-    ('SciPy-bundle', '2021.10'),
-    ('Shapely', '1.8.2'),
-    ('lxml', '4.6.3'),
-    ('Pillow', '8.3.2'),
-    ('PROJ', '8.1.0'),
-    ('PyYAML', '5.4.1'),
+    ('Python', '3.12.3'),
+    ('Python-bundle-PyPI', '2024.06'),
+    ('Fiona', '1.10.1'),
+    ('GDAL', '3.10.0'),
+    ('GEOS', '3.12.2'),
+    ('matplotlib', '3.9.2'),
+    ('pyproj', '3.7.0'),
+    ('SciPy-bundle', '2024.05'),
+    ('Shapely', '2.0.6'),
+    ('lxml', '5.3.0'),
+    ('Pillow', '10.4.0'),
+    ('PROJ', '9.4.1'),
+    ('PyYAML', '6.0.2'),
 ]
 
 use_pip = True
 sanity_pip_check = True
 
-# owslib 0.26.0 requires pyproj < 3.3.0
 exts_list = [
-    ('pyproj', '3.2.1', {
-        'preinstallopts': "export PROJ_DIR=$EBROOTPROJ && ",
-        'checksums': ['4a936093825ff55b24c1fc6cc093541fcf6d0f6d406589ed699e62048ebf3877'],
-    }),
-    ('OWSLib', '0.26.0', {
-        'checksums': ['8c4cb06338eb6405c2aeced0b6d085682aa61f0f2e528f1c788d68dc50df941b'],
+    ('OWSLib', '0.32.0', {
+        'checksums': ['7513860d3102ae8d4dc5efd8652ff3c61eca3a8cb220d6c8601121357cd2b01a'],
     }),
     ('pyepsg', '0.4.0', {
         'checksums': ['2d08fad1e7a8b47a90a4e43da485ba95705923425aefc4e2a3efa540dbd470d7'],
     }),
-    ('pykdtree', '1.3.5', {
-        'checksums': ['7342f75e731103e653fc1f6b9fdabc2410cf92b6e7b06160804a75786c9b5747'],
+    ('pykdtree', '1.3.13', {
+        'checksums': ['3accf852e946653e399c3d4dbbe119dbc6d3f72cfd2d5a95cabf0bf0c7f924fe'],
     }),
     ('pyshp', '2.3.1', {
         'modulename': 'shapefile',
         'checksums': ['4caec82fd8dd096feba8217858068bacb2a3b5950f43c048c6dc32a3489d5af1'],
     }),
     (name, version, {
-        'checksums': ['0d60fa2e2fbd77c4d1f6b1f9d3b588966147f07c1b179d2d34570ac1e1b49006'],
+        'preinstallopts': r"sed -i 's/dynamic = \[\"version\"\]/version = \"%(version)s\"/g' pyproject.toml && ",
+        'sources': ['cartopy-%(version)s.tar.gz'],
+        'checksums': ['01c910d5634c69a7efdec46e0a17d473d2328767f001d4dc0b5c4b48e585c8bd'],
     }),
 ]
 

Updated software wrf-python-1.3.4.1-20241111-foss-2024a.eb

Diff against wrf-python-1.3.4.1-foss-2023a.eb

easybuild/easyconfigs/w/wrf-python/wrf-python-1.3.4.1-foss-2023a.eb

diff --git a/easybuild/easyconfigs/w/wrf-python/wrf-python-1.3.4.1-foss-2023a.eb b/easybuild/easyconfigs/w/wrf-python/wrf-python-1.3.4.1-20241111-foss-2024a.eb
index bc0634647b..886d4eb8d8 100644
--- a/easybuild/easyconfigs/w/wrf-python/wrf-python-1.3.4.1-foss-2023a.eb
+++ b/easybuild/easyconfigs/w/wrf-python/wrf-python-1.3.4.1-20241111-foss-2024a.eb
@@ -1,33 +1,44 @@
 easyblock = 'PythonBundle'
 
 name = 'wrf-python'
-version = '1.3.4.1'
+version = '1.3.4.1-20241111'
+local_commit = '5711683'
 
 homepage = 'https://wrf-python.readthedocs.io'
 description = """A collection of diagnostic and interpolation routines for use with output from
  the Weather Research and Forecasting (WRF-ARW) Model."""
 
-toolchain = {'name': 'foss', 'version': '2023a'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 toolchainopts = {'pic': True}
 
+builddependencies = [
+    ('CMake', '3.29.3'),
+    ('scikit-build-core', '0.10.6'),
+]
 dependencies = [
-    ('Python', '3.11.3'),
-    ('netcdf4-python', '1.6.4'),
-    ('xarray', '2023.9.0'),
-    ('matplotlib', '3.7.2'),
-    ('Cartopy', '0.22.0'),
-    ('basemap', '1.3.9'),
+    ('Python', '3.12.3'),
+    ('SciPy-bundle', '2024.05'),
+    ('netcdf4-python', '1.7.1.post2'),
+    ('xarray', '2024.11.0'),
+    ('matplotlib', '3.9.2'),
+    ('Cartopy', '0.24.1'),
+    ('basemap', '1.4.1'),
+    ('wrapt', '1.16.0'),
 ]
 
 use_pip = True
 
 exts_list = [
-    ('wrapt', '1.16.0', {
-        'checksums': ['5f370f952971e7d17c7d1ead40e49f32345a7f7a5373571ef44d800d06b1899d'],
-    }),
     (name, version, {
         'modulename': 'wrf',
-        'checksums': ['e349578da8c3f108b8169c19d2186e72d79f610561f2e11c59fbf6eda3f9a2e7'],
+        # download latest commit with new build system - old one is not compatible with python 3.12
+        # see https://github.com/NCAR/wrf-python/issues/217 and https://github.com/NCAR/wrf-python/pull/242
+        'source_urls': ['https://github.com/NCAR/wrf-python/archive/'],
+        'sources': [{
+            'download_filename': '%s.tar.gz' % local_commit,
+            'filename': '%%(name)s-%%(version)s-%s.tar.gz' % local_commit,
+        }],
+        'checksums': ['b501097ae8fbf121420371b1dc8911a8900968e4d63726a454886f855db618a5'],
     }),
 ]
 
Diff against wrf-python-1.3.1-intel-2018b-Python-3.6.6.eb

easybuild/easyconfigs/w/wrf-python/wrf-python-1.3.1-intel-2018b-Python-3.6.6.eb

diff --git a/easybuild/easyconfigs/w/wrf-python/wrf-python-1.3.1-intel-2018b-Python-3.6.6.eb b/easybuild/easyconfigs/w/wrf-python/wrf-python-1.3.4.1-20241111-foss-2024a.eb
index ee7eb42083..886d4eb8d8 100644
--- a/easybuild/easyconfigs/w/wrf-python/wrf-python-1.3.1-intel-2018b-Python-3.6.6.eb
+++ b/easybuild/easyconfigs/w/wrf-python/wrf-python-1.3.4.1-20241111-foss-2024a.eb
@@ -1,45 +1,47 @@
 easyblock = 'PythonBundle'
 
 name = 'wrf-python'
-version = '1.3.1'
-versionsuffix = '-Python-%(pyver)s'
+version = '1.3.4.1-20241111'
+local_commit = '5711683'
 
 homepage = 'https://wrf-python.readthedocs.io'
 description = """A collection of diagnostic and interpolation routines for use with output from
  the Weather Research and Forecasting (WRF-ARW) Model."""
 
-toolchain = {'name': 'intel', 'version': '2018b'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 toolchainopts = {'pic': True}
 
+builddependencies = [
+    ('CMake', '3.29.3'),
+    ('scikit-build-core', '0.10.6'),
+]
 dependencies = [
-    ('Python', '3.6.6'),
-    ('netcdf4-python', '1.4.1', versionsuffix),
-    ('xarray', '0.12.1', versionsuffix),
-    ('matplotlib', '3.0.0', versionsuffix),
-    ('basemap', '1.2.0', versionsuffix),
-    ('PROJ', '5.0.0'),  # required for Cartopy
+    ('Python', '3.12.3'),
+    ('SciPy-bundle', '2024.05'),
+    ('netcdf4-python', '1.7.1.post2'),
+    ('xarray', '2024.11.0'),
+    ('matplotlib', '3.9.2'),
+    ('Cartopy', '0.24.1'),
+    ('basemap', '1.4.1'),
+    ('wrapt', '1.16.0'),
 ]
 
 use_pip = True
 
 exts_list = [
-    ('wrapt', '1.11.1', {
-        'checksums': ['4aea003270831cceb8a90ff27c4031da6ead7ec1886023b80ce0dfe0adf61533'],
-    }),
     (name, version, {
-        'checksums': ['24af2618b5bf436830d780af3366c423fc540244ba644307ca71633020d052a2'],
         'modulename': 'wrf',
-    }),
-    ('Shapely', '1.6.4.post2', {
-        'checksums': ['c4b87bb61fc3de59fc1f85e71a79b0c709dc68364d9584473697aad4aa13240f'],
-    }),
-    ('pyshp', '2.1.0', {
-        'checksums': ['e65c7f24d372b97d0920b864bbeb78322bb37b83f2606e2a2212631d5d51e5c0'],
-        'modulename': 'shapefile',
-    }),
-    ('Cartopy', '0.17.0', {
-        'checksums': ['424bd9e9ddef6e48cbdee694ce589ec431be8591f15b6cb93cb2b333a29b2c61'],
+        # download latest commit with new build system - old one is not compatible with python 3.12
+        # see https://github.com/NCAR/wrf-python/issues/217 and https://github.com/NCAR/wrf-python/pull/242
+        'source_urls': ['https://github.com/NCAR/wrf-python/archive/'],
+        'sources': [{
+            'download_filename': '%s.tar.gz' % local_commit,
+            'filename': '%%(name)s-%%(version)s-%s.tar.gz' % local_commit,
+        }],
+        'checksums': ['b501097ae8fbf121420371b1dc8911a8900968e4d63726a454886f855db618a5'],
     }),
 ]
 
+sanity_pip_check = True
+
 moduleclass = 'geo'
Diff against wrf-python-1.2.0-intel-2018a-Python-3.6.4.eb

easybuild/easyconfigs/w/wrf-python/wrf-python-1.2.0-intel-2018a-Python-3.6.4.eb

diff --git a/easybuild/easyconfigs/w/wrf-python/wrf-python-1.2.0-intel-2018a-Python-3.6.4.eb b/easybuild/easyconfigs/w/wrf-python/wrf-python-1.3.4.1-20241111-foss-2024a.eb
index 44f82d8991..886d4eb8d8 100644
--- a/easybuild/easyconfigs/w/wrf-python/wrf-python-1.2.0-intel-2018a-Python-3.6.4.eb
+++ b/easybuild/easyconfigs/w/wrf-python/wrf-python-1.3.4.1-20241111-foss-2024a.eb
@@ -1,44 +1,47 @@
 easyblock = 'PythonBundle'
 
 name = 'wrf-python'
-version = '1.2.0'
-versionsuffix = '-Python-%(pyver)s'
+version = '1.3.4.1-20241111'
+local_commit = '5711683'
 
 homepage = 'https://wrf-python.readthedocs.io'
 description = """A collection of diagnostic and interpolation routines for use with output from
  the Weather Research and Forecasting (WRF-ARW) Model."""
 
-toolchain = {'name': 'intel', 'version': '2018a'}
+toolchain = {'name': 'foss', 'version': '2024a'}
 toolchainopts = {'pic': True}
 
+builddependencies = [
+    ('CMake', '3.29.3'),
+    ('scikit-build-core', '0.10.6'),
+]
 dependencies = [
-    ('Python', '3.6.4'),
-    ('netcdf4-python', '1.4.0', versionsuffix),
-    ('xarray', '0.10.8', versionsuffix),
-    ('matplotlib', '2.1.2', versionsuffix),
-    ('basemap', '1.0.7', versionsuffix),
-    ('PROJ', '5.0.0'),  # required for Cartopy
+    ('Python', '3.12.3'),
+    ('SciPy-bundle', '2024.05'),
+    ('netcdf4-python', '1.7.1.post2'),
+    ('xarray', '2024.11.0'),
+    ('matplotlib', '3.9.2'),
+    ('Cartopy', '0.24.1'),
+    ('basemap', '1.4.1'),
+    ('wrapt', '1.16.0'),
 ]
 
 use_pip = True
+
 exts_list = [
-    ('wrapt', '1.10.11', {
-        'checksums': ['d4d560d479f2c21e1b5443bbd15fe7ec4b37fe7e53d335d3b9b0a7b1226fe3c6'],
-    }),
     (name, version, {
-        'checksums': ['7520cec5027c6397930ae9d780f076c01f0ea563bc9fff45b91767ebb0865755'],
         'modulename': 'wrf',
-    }),
-    ('Shapely', '1.6.4.post2', {
-        'checksums': ['c4b87bb61fc3de59fc1f85e71a79b0c709dc68364d9584473697aad4aa13240f'],
-    }),
-    ('pyshp', '1.2.12', {
-        'checksums': ['8dcd65e0aa2aa2951527ddb7339ea6e69023543d8a20a73fc51e2829b9ed6179'],
-        'modulename': 'shapefile',
-    }),
-    ('Cartopy', '0.16.0', {
-        'checksums': ['f23dffa101f43dd91e866a49ebb5f5048be2a24ab8a921a5c07edabde746d9a4'],
+        # download latest commit with new build system - old one is not compatible with python 3.12
+        # see https://github.com/NCAR/wrf-python/issues/217 and https://github.com/NCAR/wrf-python/pull/242
+        'source_urls': ['https://github.com/NCAR/wrf-python/archive/'],
+        'sources': [{
+            'download_filename': '%s.tar.gz' % local_commit,
+            'filename': '%%(name)s-%%(version)s-%s.tar.gz' % local_commit,
+        }],
+        'checksums': ['b501097ae8fbf121420371b1dc8911a8900968e4d63726a454886f855db618a5'],
     }),
 ]
 
+sanity_pip_check = True
+
 moduleclass = 'geo'

@pavelToman
Copy link
Collaborator Author

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Collaborator

@pavelToman: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=22197 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_22197 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 5566

Test results coming soon (I hope)...

- notification for comment with ID 2607063162 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
FAILED
Build succeeded for 1 out of 3 (3 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.5, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.21
See https://gist.github.com/boegelbot/3aa52edbeb2ce4e2d4bf4fe70254b294 for a full test report.

@pavelToman
Copy link
Collaborator Author

Test report by @pavelToman
SUCCESS
Build succeeded for 3 out of 3 (3 easyconfigs in total)
node4006.donphan.os - Linux RHEL 8.8, x86_64, Intel(R) Xeon(R) Gold 6240 CPU @ 2.60GHz, 1 x NVIDIA NVIDIA A2, 545.23.08, Python 3.6.8
See https://gist.github.com/pavelToman/048b2ddd65afacb826d343185006471a for a full test report.

@boegel
Copy link
Member

boegel commented Jan 22, 2025

Test report by @boegel
SUCCESS
Build succeeded for 3 out of 3 (3 easyconfigs in total)
node3107.skitty.os - Linux RHEL 9.4, x86_64, Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz (skylake_avx512), Python 3.9.18
See https://gist.github.com/boegel/0fabd161a18f66b77297afda22a5363f for a full test report.

@boegel
Copy link
Member

boegel commented Jan 22, 2025

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Collaborator

@boegel: Request for testing this PR well received on jsczen3l1.int.jsc-zen3.fz-juelich.de

PR test command 'if [[ develop != 'develop' ]]; then EB_BRANCH=develop ./easybuild_develop.sh 2> /dev/null 1>&2; EB_PREFIX=/home/boegelbot/easybuild/develop source init_env_easybuild_develop.sh; fi; EB_PR=22197 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_22197 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

  • exit code: 0
  • output:
Submitted batch job 5569

Test results coming soon (I hope)...

- notification for comment with ID 2607307651 processed

Message to humans: this is just bookkeeping information for me,
it is of no use to you (unless you think I have a bug, which I don't).

@boegelbot
Copy link
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 3 out of 3 (3 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.5, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.21
See https://gist.github.com/boegelbot/e386960fdacff87c3119086302e847dd for a full test report.

@boegel
Copy link
Member

boegel commented Jan 22, 2025

Test report by @boegel
SUCCESS
Build succeeded for 3 out of 3 (3 easyconfigs in total)
node3107.skitty.os - Linux RHEL 9.4, x86_64, Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz (skylake_avx512), Python 3.9.18
See https://gist.github.com/boegel/f16276608eae4e407b171e64fb655890 for a full test report.

Copy link
Member

@boegel boegel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@boegel boegel added this to the release after 4.9.4 milestone Jan 22, 2025
@boegel
Copy link
Member

boegel commented Jan 22, 2025

Going in, thanks @pavelToman!

@boegel boegel merged commit 2f026ee into easybuilders:develop Jan 22, 2025
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

wrf-python
3 participants