Skip to content

Conversation

@moravveji
Copy link
Contributor

@moravveji moravveji commented Apr 3, 2025

This PR adds Basix which is one of the dependencies of DOLFINx.

requires:

Furthermore, these new easyconfigs are either created or a newer version is proposed:

  • scikit-build-core/0.11.0-GCCcore-13.3.0
  • robin-map/1.4.0-GCCcore-13.3.0
  • nanobind/2.6.1-GCCcore-13.3.0

I also have to admit that this PR is inspired by PR #22422.

@github-actions
Copy link

github-actions bot commented Apr 3, 2025

Updated software scikit-build-core-0.11.0-GCCcore-13.3.0.eb

Diff against scikit-build-core-0.11.1-GCCcore-14.2.0.eb

easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.11.1-GCCcore-14.2.0.eb

diff --git a/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.11.1-GCCcore-14.2.0.eb b/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.11.0-GCCcore-13.3.0.eb
index 3357b19e19..135b7b0f8c 100644
--- a/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.11.1-GCCcore-14.2.0.eb
+++ b/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.11.0-GCCcore-13.3.0.eb
@@ -1,23 +1,24 @@
 easyblock = 'PythonBundle'
 
 name = 'scikit-build-core'
-version = '0.11.1'
+version = '0.11.0'
 
 homepage = 'https://scikit-build.readthedocs.io/en/latest/'
 description = """Scikit-build-core is a complete ground-up rewrite of scikit-build on top of
 modern packaging APIs. It provides a bridge between CMake and the Python build
 system, allowing you to make Python modules with CMake."""
 
-toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
+toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
 
 builddependencies = [
     ('binutils', '2.42'),
-    ('hatchling', '1.27.0'),
+    ('hatchling', '1.24.2'),
 ]
 
 dependencies = [
-    ('Python', '3.13.1'),
-    ('CMake', '3.31.3'),
+    ('Python', '3.12.3'),
+    ('Python-bundle-PyPI', '2024.06'),
+    ('CMake', '3.29.3'),
 ]
 
 exts_list = [
@@ -25,11 +26,8 @@ exts_list = [
         'sources': ['pyproject_metadata-%(version)s.tar.gz'],
         'checksums': ['b8b2253dd1b7062b78cf949a115f02ba7fa4114aabe63fa10528e9e1a954a816'],
     }),
-    ('pathspec', '0.12.1', {
-        'checksums': ['a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712'],
-    }),
     ('scikit_build_core', version, {
-        'checksums': ['4e5988df5cd33f0bdb9967b72663ca99f50383c9bc21d8b24fa40c0661ae72b7'],
+        'checksums': ['423d8b0885bf1942816c851f8ec7c1efc0a7ecad4f38ff43d5ba869a894b107b'],
     }),
 ]
 
Diff against scikit-build-core-0.9.3-GCCcore-12.3.0.eb

easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.9.3-GCCcore-12.3.0.eb

diff --git a/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.9.3-GCCcore-12.3.0.eb b/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.11.0-GCCcore-13.3.0.eb
index c975eed4e9..135b7b0f8c 100644
--- a/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.9.3-GCCcore-12.3.0.eb
+++ b/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.11.0-GCCcore-13.3.0.eb
@@ -1,33 +1,33 @@
 easyblock = 'PythonBundle'
 
 name = 'scikit-build-core'
-version = '0.9.3'
+version = '0.11.0'
 
 homepage = 'https://scikit-build.readthedocs.io/en/latest/'
 description = """Scikit-build-core is a complete ground-up rewrite of scikit-build on top of
 modern packaging APIs. It provides a bridge between CMake and the Python build
 system, allowing you to make Python modules with CMake."""
 
-toolchain = {'name': 'GCCcore', 'version': '12.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '13.3.0'}
 
 builddependencies = [
-    ('binutils', '2.40'),
-    ('hatchling', '1.18.0'),
+    ('binutils', '2.42'),
+    ('hatchling', '1.24.2'),
 ]
 
 dependencies = [
-    ('Python', '3.11.3'),
-    ('Python-bundle-PyPI', '2023.06'),
-    ('CMake', '3.26.3'),
+    ('Python', '3.12.3'),
+    ('Python-bundle-PyPI', '2024.06'),
+    ('CMake', '3.29.3'),
 ]
 
 exts_list = [
-    ('pyproject-metadata', '0.8.0', {
+    ('pyproject-metadata', '0.9.1', {
         'sources': ['pyproject_metadata-%(version)s.tar.gz'],
-        'checksums': ['376d5a00764ac29440a54579f88e66b7d9cb7e629d35c35a1c7248bfebc9b455'],
+        'checksums': ['b8b2253dd1b7062b78cf949a115f02ba7fa4114aabe63fa10528e9e1a954a816'],
     }),
     ('scikit_build_core', version, {
-        'checksums': ['341d113e473a5409dc62522e8b1b1b8b1647a0b95557ad15f6be2a36071fd390'],
+        'checksums': ['423d8b0885bf1942816c851f8ec7c1efc0a7ecad4f38ff43d5ba869a894b107b'],
     }),
 ]
 
Diff against scikit-build-core-0.10.6-GCCcore-13.3.0.eb

easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.10.6-GCCcore-13.3.0.eb

diff --git a/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.10.6-GCCcore-13.3.0.eb b/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.11.0-GCCcore-13.3.0.eb
index ea8185a839..135b7b0f8c 100644
--- a/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.10.6-GCCcore-13.3.0.eb
+++ b/easybuild/easyconfigs/s/scikit-build-core/scikit-build-core-0.11.0-GCCcore-13.3.0.eb
@@ -1,7 +1,7 @@
 easyblock = 'PythonBundle'
 
 name = 'scikit-build-core'
-version = '0.10.6'
+version = '0.11.0'
 
 homepage = 'https://scikit-build.readthedocs.io/en/latest/'
 description = """Scikit-build-core is a complete ground-up rewrite of scikit-build on top of
@@ -22,8 +22,12 @@ dependencies = [
 ]
 
 exts_list = [
+    ('pyproject-metadata', '0.9.1', {
+        'sources': ['pyproject_metadata-%(version)s.tar.gz'],
+        'checksums': ['b8b2253dd1b7062b78cf949a115f02ba7fa4114aabe63fa10528e9e1a954a816'],
+    }),
     ('scikit_build_core', version, {
-        'checksums': ['5397db8f09ee050d145406c11deed06538bb0b261df95f8d2d6aaf8699f0126d'],
+        'checksums': ['423d8b0885bf1942816c851f8ec7c1efc0a7ecad4f38ff43d5ba869a894b107b'],
     }),
 ]
 

@sassy-crick
Copy link
Collaborator

It appears theBasix-0.9.0-enable-distribution.patch is missing?

@moravveji moravveji changed the title adding Basix and few dependencies for 2024a Basix/0.9.0-gfbf-2024a, nanobind/2.6.1-GCCcore-13.3.0.eb, robin-map/1.4.0-GCCcore-13.3.0, scikit-build-core/0.11.0-GCCcore-13.3.0 Jun 5, 2025
@Thyre Thyre added the 2024a issues & PRs related to 2024a common toolchains label Aug 18, 2025
@moravveji
Copy link
Contributor Author

@sassy-crick : I would like to revive this PR and bring it back to life. Are there still any steps I shall take to have it tested? Unfortunately, the easyblock cannot be automatically found, and few tests fail. How can I resolve this issue?

@Thyre
Copy link
Collaborator

Thyre commented Oct 13, 2025

Are there any particular reasons why we include the newer versions of nanobind, scikit-build-core and robin-map?
We typically try to avoid having multiple versions for dependencies in a single toolchain. This would affect nanobind and robin-map.

Comment on lines 37 to 38
parallel = 8

Copy link
Collaborator

Choose a reason for hiding this comment

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

Is there a reason why we set this to 8?
Typically, this would be handled by users by their parallel and max-parallel config options.

There might be a reason to set it to 1, e.g. when a parallel build causes build failures. But I don't think this is the case here.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sure. I removed it in 72d63e5.

Comment on lines 43 to 45
'download_dep_fail': True,
'use_pip': True,
'sanity_pip_check': True,
Copy link
Collaborator

Choose a reason for hiding this comment

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

I think those should be set by EB 5.x by default, so we don't need to specify them here anymore.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Cleaned up in 72d63e5.

@Thyre
Copy link
Collaborator

Thyre commented Oct 13, 2025

Based on the discussion in easybuilders/easybuild-easyblocks#3684, trying PythonPackage or PythonBundle would be great.
We could then avoid having the separate EasyBlock. Then, the CI would also "work", since it knows all the EasyBlocks.

@moravveji
Copy link
Contributor Author

Are there any particular reasons why we include the newer versions of nanobind, scikit-build-core and robin-map? We typically try to avoid having multiple versions for dependencies in a single toolchain. This would affect nanobind and robin-map.

This PR was pushed on 3 April whereas the older versions of nanobind, scikit-build-core and robin-map are merged to develop/master branches few months after that. At the time this PR was pushed and was waiting for a review, the proposed versions of these packages were the latest versions, and they could perfectly fit in, and fill up missing easyconfigs for 2024a toolchain. However, this PR has now collected a lot of "dust" and needs adjustment. Although that is gonna take me some more time, but I will try to accommodate it.

@github-actions github-actions bot removed the update label Oct 23, 2025
@moravveji
Copy link
Contributor Author

We typically try to avoid having multiple versions for dependencies in a single toolchain. This would affect nanobind and robin-map.

The commit 6befba9 retracts the proposed easyconfigs for those conflicting modules to adopt the existing versions from the 2024a toolchain.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

2024a issues & PRs related to 2024a common toolchains new

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants