Skip to content

{bio,lib}[GCCcore/14.2.0,foss/2025a] WhatsHap v2.6, python-isal v1.7.0#25892

Open
JarneRenders wants to merge 2 commits intoeasybuilders:developfrom
JarneRenders:20260430105800_new_pr_WhatsHap26
Open

{bio,lib}[GCCcore/14.2.0,foss/2025a] WhatsHap v2.6, python-isal v1.7.0#25892
JarneRenders wants to merge 2 commits intoeasybuilders:developfrom
JarneRenders:20260430105800_new_pr_WhatsHap26

Conversation

@JarneRenders
Copy link
Copy Markdown
Contributor

(created using eb --new-pr)

@github-actions github-actions Bot added 2025a issues & PRs related to 2025a common toolchains update labels Apr 30, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 30, 2026

Updated software python-isal-1.7.0-GCCcore-14.2.0.eb

Diff against python-isal-1.7.0-GCCcore-14.3.0.eb

easybuild/easyconfigs/p/python-isal/python-isal-1.7.0-GCCcore-14.3.0.eb

diff --git a/easybuild/easyconfigs/p/python-isal/python-isal-1.7.0-GCCcore-14.3.0.eb b/easybuild/easyconfigs/p/python-isal/python-isal-1.7.0-GCCcore-14.2.0.eb
index af39ace8dc..1ca70d4f00 100644
--- a/easybuild/easyconfigs/p/python-isal/python-isal-1.7.0-GCCcore-14.3.0.eb
+++ b/easybuild/easyconfigs/p/python-isal/python-isal-1.7.0-GCCcore-14.2.0.eb
@@ -1,4 +1,4 @@
-easyblock = 'PythonPackage'
+easyblock = 'PythonBundle'
 
 name = 'python-isal'
 version = '1.7.0'
@@ -8,23 +8,23 @@ description = """Faster zlib and gzip compatible compression and decompression
  by providing python bindings for the isa-l library.
 """
 
-toolchain = {'name': 'GCCcore', 'version': '14.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
 
 builddependencies = [
-    ('binutils', '2.44'),
-    ('versioningit', '3.3.0'),
+    ('binutils', '2.42'),
+    ('versioningit', '3.2.0'),
 ]
 dependencies = [
-    ('Python', '3.13.5'),
+    ('Python', '3.13.1'),
     ('ISA-L', '2.31.1'),
 ]
 
-source_urls = [PYPI_SOURCE.replace('%(name)s', 'isal')]
-sources = ['isal-%(version)s.tar.gz']
-checksums = ['9eb9457ed27fd0a8a7b403a5f4f9e6c8d1a44c2ca28ecd2f2bf3aed90b0a74bf']
-
-preinstallopts = 'PYTHON_ISAL_LINK_DYNAMIC=true'
-
-options = {'modulename': 'isal'}
+exts_list = [
+    ('isal', version, {
+        'sources': [SOURCE_TAR_GZ],
+        'preinstallopts': 'PYTHON_ISAL_LINK_DYNAMIC=true',
+        'checksums': ['9eb9457ed27fd0a8a7b403a5f4f9e6c8d1a44c2ca28ecd2f2bf3aed90b0a74bf'],
+    })
+]
 
 moduleclass = 'lib'
Diff against python-isal-1.8.0-GCCcore-14.3.0.eb

easybuild/easyconfigs/p/python-isal/python-isal-1.8.0-GCCcore-14.3.0.eb

diff --git a/easybuild/easyconfigs/p/python-isal/python-isal-1.8.0-GCCcore-14.3.0.eb b/easybuild/easyconfigs/p/python-isal/python-isal-1.7.0-GCCcore-14.2.0.eb
index abc1b801f9..1ca70d4f00 100644
--- a/easybuild/easyconfigs/p/python-isal/python-isal-1.8.0-GCCcore-14.3.0.eb
+++ b/easybuild/easyconfigs/p/python-isal/python-isal-1.7.0-GCCcore-14.2.0.eb
@@ -1,30 +1,30 @@
-easyblock = 'PythonPackage'
+easyblock = 'PythonBundle'
 
 name = 'python-isal'
-version = '1.8.0'
+version = '1.7.0'
 
 homepage = 'https://github.com/pycompression/python-isal'
 description = """Faster zlib and gzip compatible compression and decompression
  by providing python bindings for the isa-l library.
 """
 
-toolchain = {'name': 'GCCcore', 'version': '14.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
 
 builddependencies = [
-    ('binutils', '2.44'),
-    ('versioningit', '3.3.0'),
+    ('binutils', '2.42'),
+    ('versioningit', '3.2.0'),
 ]
 dependencies = [
-    ('Python', '3.13.5'),
+    ('Python', '3.13.1'),
     ('ISA-L', '2.31.1'),
 ]
 
-source_urls = [PYPI_SOURCE.replace('%(name)s', 'isal')]
-sources = ['isal-%(version)s.tar.gz']
-checksums = ['124233e9a31a62030a07aafd48c26689561926f4e10417ed3ea46c211218f2b4']
-
-preinstallopts = 'PYTHON_ISAL_LINK_DYNAMIC=true'
-
-options = {'modulename': 'isal'}
+exts_list = [
+    ('isal', version, {
+        'sources': [SOURCE_TAR_GZ],
+        'preinstallopts': 'PYTHON_ISAL_LINK_DYNAMIC=true',
+        'checksums': ['9eb9457ed27fd0a8a7b403a5f4f9e6c8d1a44c2ca28ecd2f2bf3aed90b0a74bf'],
+    })
+]
 
 moduleclass = 'lib'
Diff against python-isal-1.6.1-GCCcore-12.3.0.eb

easybuild/easyconfigs/p/python-isal/python-isal-1.6.1-GCCcore-12.3.0.eb

diff --git a/easybuild/easyconfigs/p/python-isal/python-isal-1.6.1-GCCcore-12.3.0.eb b/easybuild/easyconfigs/p/python-isal/python-isal-1.7.0-GCCcore-14.2.0.eb
index fe09eeeaec..1ca70d4f00 100644
--- a/easybuild/easyconfigs/p/python-isal/python-isal-1.6.1-GCCcore-12.3.0.eb
+++ b/easybuild/easyconfigs/p/python-isal/python-isal-1.7.0-GCCcore-14.2.0.eb
@@ -1,29 +1,30 @@
-# Author: Jasper Grimm (UoY)
-
-easyblock = 'PythonPackage'
+easyblock = 'PythonBundle'
 
 name = 'python-isal'
-version = '1.6.1'
+version = '1.7.0'
 
 homepage = 'https://github.com/pycompression/python-isal'
 description = """Faster zlib and gzip compatible compression and decompression
  by providing python bindings for the isa-l library.
 """
 
-toolchain = {'name': 'GCCcore', 'version': '12.3.0'}
+toolchain = {'name': 'GCCcore', 'version': '14.2.0'}
 
-builddependencies = [('binutils', '2.40')]
+builddependencies = [
+    ('binutils', '2.42'),
+    ('versioningit', '3.2.0'),
+]
 dependencies = [
-    ('Python', '3.11.3'),
-    ('ISA-L', '2.30.0'),
+    ('Python', '3.13.1'),
+    ('ISA-L', '2.31.1'),
 ]
 
-source_urls = [PYPI_SOURCE.replace('%(name)s', 'isal')]
-sources = ['isal-%s.tar.gz' % version]
-checksums = ['7b64b75d260b544beea3f59cb25a6f520c04768818ef4ac316ee9a1f2ebf18f5']
-
-preinstallopts = 'PYTHON_ISAL_LINK_DYNAMIC=true'
-
-options = {'modulename': 'isal'}
+exts_list = [
+    ('isal', version, {
+        'sources': [SOURCE_TAR_GZ],
+        'preinstallopts': 'PYTHON_ISAL_LINK_DYNAMIC=true',
+        'checksums': ['9eb9457ed27fd0a8a7b403a5f4f9e6c8d1a44c2ca28ecd2f2bf3aed90b0a74bf'],
+    })
+]
 
 moduleclass = 'lib'

Updated software WhatsHap-2.6-foss-2025a.eb

Diff against WhatsHap-2.6-foss-2024a.eb

easybuild/easyconfigs/w/WhatsHap/WhatsHap-2.6-foss-2024a.eb

diff --git a/easybuild/easyconfigs/w/WhatsHap/WhatsHap-2.6-foss-2024a.eb b/easybuild/easyconfigs/w/WhatsHap/WhatsHap-2.6-foss-2025a.eb
index b4a69e99ea..ad3a2d856b 100644
--- a/easybuild/easyconfigs/w/WhatsHap/WhatsHap-2.6-foss-2024a.eb
+++ b/easybuild/easyconfigs/w/WhatsHap/WhatsHap-2.6-foss-2025a.eb
@@ -8,22 +8,25 @@ description = """WhatsHap is a software for phasing genomic variants using DNA
 sequencing reads, also called read-based phasing or haplotype assembly. It is
 especially suitable for long reads, but works also well with short reads."""
 
-toolchain = {'name': 'foss', 'version': '2024a'}
+toolchain = {'name': 'foss', 'version': '2025a'}
 
 builddependencies = [
-    ('hatchling', '1.24.2'),
-    ('Cython', '3.0.10')]
+    ('hatchling', '1.27.0'),
+    ('Cython', '3.1.1'),
+    ('setuptools', '80.9.0'),
+]
 
 dependencies = [
-    ('Python', '3.12.3'),
-    ('Pysam', '0.22.1'),
-    ('networkx', '3.4.2'),
-    ('SciPy-bundle', '2024.05'),
-    ('Biopython', '1.84'),
+    ('Python', '3.13.1'),
+    ('Pysam', '0.23.3'),
+    ('networkx', '3.5'),
+    ('SciPy-bundle', '2025.06'),
+    ('Biopython', '1.85'),
     ('Yasm', '1.3.0'),
-    ('pyfaidx', '0.8.1.2'),
+    ('pyfaidx', '0.9.0.3'),
     ('python-isal', '1.7.0'),
-    ('zlib-ng', '2.2.1'),
+    ('zlib-ng', '2.2.4'),
+    ('PuLP', '3.3.0'),
 ]
 
 
@@ -32,17 +35,8 @@ exts_list = [
         'source_tmpl': SOURCE_PY3_WHL,
         'checksums': ['74e7f7fb7e7f42bd843c798595fa5a52086d7d1bf3de0e8513c6615516431313'],
     }),
-    ('PuLP', '3.1.1', {
-        'source_tmpl': SOURCELOWER_PY3_WHL,
-        'checksums': ['ad9d46afaf78a708270a2fa9b38e56536584c048dfbd7a6dbc719abee1051261'],
-    }),
     ('whatshap', version, {
-        'patches': ['remove_license_from_pythonproj.patch'],
-        'checksums': [
-            {'whatshap-2.6.tar.gz': 'd17f2840c51d11b2e40772805ecfb4bc611e4f0a0736c91bd5d66b694a6d116c'},
-            {'remove_license_from_pythonproj.patch':
-             '351fc96f6a71c6e72d5a17ac74244cc84282dea4763fd4383c6e06081904adf3'},
-        ],
+        'checksums': ['d17f2840c51d11b2e40772805ecfb4bc611e4f0a0736c91bd5d66b694a6d116c'],
     }),
 ]
 
Diff against WhatsHap-2.2-foss-2023a.eb

easybuild/easyconfigs/w/WhatsHap/WhatsHap-2.2-foss-2023a.eb

diff --git a/easybuild/easyconfigs/w/WhatsHap/WhatsHap-2.2-foss-2023a.eb b/easybuild/easyconfigs/w/WhatsHap/WhatsHap-2.6-foss-2025a.eb
index f912fbaa64..ad3a2d856b 100644
--- a/easybuild/easyconfigs/w/WhatsHap/WhatsHap-2.2-foss-2023a.eb
+++ b/easybuild/easyconfigs/w/WhatsHap/WhatsHap-2.6-foss-2025a.eb
@@ -1,40 +1,42 @@
 easyblock = 'PythonBundle'
 
 name = 'WhatsHap'
-version = '2.2'
+version = '2.6'
 
 homepage = 'https://whatshap.readthedocs.io'
 description = """WhatsHap is a software for phasing genomic variants using DNA
 sequencing reads, also called read-based phasing or haplotype assembly. It is
 especially suitable for long reads, but works also well with short reads."""
 
-toolchain = {'name': 'foss', 'version': '2023a'}
+toolchain = {'name': 'foss', 'version': '2025a'}
 
-builddependencies = [('hatchling', '1.18.0')]
+builddependencies = [
+    ('hatchling', '1.27.0'),
+    ('Cython', '3.1.1'),
+    ('setuptools', '80.9.0'),
+]
 
 dependencies = [
-    ('Python', '3.11.3'),
-    ('Pysam', '0.22.0'),
-    ('networkx', '3.1'),
-    ('SciPy-bundle', '2023.07'),
-    ('Biopython', '1.83'),
+    ('Python', '3.13.1'),
+    ('Pysam', '0.23.3'),
+    ('networkx', '3.5'),
+    ('SciPy-bundle', '2025.06'),
+    ('Biopython', '1.85'),
     ('Yasm', '1.3.0'),
-    ('pyfaidx', '0.8.1.1'),
-    ('python-isal', '1.1.0'),
+    ('pyfaidx', '0.9.0.3'),
+    ('python-isal', '1.7.0'),
+    ('zlib-ng', '2.2.4'),
+    ('PuLP', '3.3.0'),
 ]
 
 
 exts_list = [
-    ('xopen', '1.7.0', {
-        'source_tmpl': SOURCE_PY3_WHL,
-        'checksums': ['c4c6c978bb5f6f2a4364438da09f4f8fde078b6df4de18e3f72fccc472d1ee33'],
-    }),
-    ('PuLP', '2.8.0', {
+    ('xopen', '2.0.2', {
         'source_tmpl': SOURCE_PY3_WHL,
-        'checksums': ['4a19814a5b0a4392d788ac2315263435293579b0583c3469943fe0c6a586f263'],
+        'checksums': ['74e7f7fb7e7f42bd843c798595fa5a52086d7d1bf3de0e8513c6615516431313'],
     }),
     ('whatshap', version, {
-        'checksums': ['4cd34e9b82930c4f42e9e6b7dce2e321e4c81f934fdb980b6093ad91a06ae30a'],
+        'checksums': ['d17f2840c51d11b2e40772805ecfb4bc611e4f0a0736c91bd5d66b694a6d116c'],
     }),
 ]
 
Diff against WhatsHap-2.1-foss-2022b.eb

easybuild/easyconfigs/w/WhatsHap/WhatsHap-2.1-foss-2022b.eb

diff --git a/easybuild/easyconfigs/w/WhatsHap/WhatsHap-2.1-foss-2022b.eb b/easybuild/easyconfigs/w/WhatsHap/WhatsHap-2.6-foss-2025a.eb
index 071c16ba06..ad3a2d856b 100644
--- a/easybuild/easyconfigs/w/WhatsHap/WhatsHap-2.1-foss-2022b.eb
+++ b/easybuild/easyconfigs/w/WhatsHap/WhatsHap-2.6-foss-2025a.eb
@@ -1,43 +1,42 @@
-# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
-
 easyblock = 'PythonBundle'
 
 name = 'WhatsHap'
-version = '2.1'
+version = '2.6'
 
 homepage = 'https://whatshap.readthedocs.io'
 description = """WhatsHap is a software for phasing genomic variants using DNA
 sequencing reads, also called read-based phasing or haplotype assembly. It is
 especially suitable for long reads, but works also well with short reads."""
 
-toolchain = {'name': 'foss', 'version': '2022b'}
+toolchain = {'name': 'foss', 'version': '2025a'}
+
+builddependencies = [
+    ('hatchling', '1.27.0'),
+    ('Cython', '3.1.1'),
+    ('setuptools', '80.9.0'),
+]
 
 dependencies = [
-    ('Python', '3.10.8'),
-    ('Pysam', '0.21.0'),
-    ('networkx', '3.0'),
-    ('SciPy-bundle', '2023.02'),
-    ('Biopython', '1.81'),
+    ('Python', '3.13.1'),
+    ('Pysam', '0.23.3'),
+    ('networkx', '3.5'),
+    ('SciPy-bundle', '2025.06'),
+    ('Biopython', '1.85'),
     ('Yasm', '1.3.0'),
-    ('pyfaidx', '0.7.2.1'),
-    ('python-isal', '1.1.0'),
+    ('pyfaidx', '0.9.0.3'),
+    ('python-isal', '1.7.0'),
+    ('zlib-ng', '2.2.4'),
+    ('PuLP', '3.3.0'),
 ]
 
+
 exts_list = [
-    ('xopen', '1.7.0', {
-        'preinstallopts': """sed -i -e 's/^dynamic = \\["version"\\]/version = "%(version)s"/' """ +
-                          "%(start_dir)s/pyproject.toml && ",
-        'checksums': ['901f9c8298e95ed74767a4bd76d9f4cf71d8de27b8cf296ac3e7bc1c11520d9f'],
-    }),
-    ('pulp', '2.8.0', {
-        'source_tmpl': 'PuLP-%(version)s.tar.gz',
-        'checksums': ['4903bf96110bbab8ed2c68533f90565ebb76aa367d9e4df38e51bf727927c125'],
+    ('xopen', '2.0.2', {
+        'source_tmpl': SOURCE_PY3_WHL,
+        'checksums': ['74e7f7fb7e7f42bd843c798595fa5a52086d7d1bf3de0e8513c6615516431313'],
     }),
-    (name, version, {
-        'preinstallopts': """sed -i -e 's/^dynamic = \\["version",/version = "%(version)s"\\ndynamic = \\[/' """ +
-                          "%(start_dir)s/pyproject.toml && ",
-        'source_tmpl': '%(namelower)s-%(version)s.tar.gz',
-        'checksums': ['9b61812eda1dd5251ba8d02db16d7ddda152ccc813cb3db6a1ec796f1865fe8d'],
+    ('whatshap', version, {
+        'checksums': ['d17f2840c51d11b2e40772805ecfb4bc611e4f0a0736c91bd5d66b694a6d116c'],
     }),
 ]
 

@JarneRenders
Copy link
Copy Markdown
Contributor Author

JarneRenders commented Apr 30, 2026

Pip list check failing cause python-isal != isal.

Test report by @JarneRenders
FAILED
Build succeeded for 0 out of 2 (total: 1 min 35 secs) (2 easyconfigs in total)
node511.anansi.os - Linux Rocky Linux 9.7 (Blue Onyx), x86_64, AMD EPYC 9335 32-Core Processor, Python 3.9.25
See https://gist.github.com/JarneRenders/1d71719d9ed20b1cd9b47dfb86e0fb4f for a full test report.

@JarneRenders
Copy link
Copy Markdown
Contributor Author

Test report by @JarneRenders
SUCCESS
Build succeeded for 2 out of 2 (total: 2 mins 31 secs) (2 easyconfigs in total)
node511.anansi.os - Linux Rocky Linux 9.7 (Blue Onyx), x86_64, AMD EPYC 9335 32-Core Processor, Python 3.9.25
See https://gist.github.com/JarneRenders/f34f173f10c5e6f4ddd4dba68c9f7184 for a full test report.

@verdurin
Copy link
Copy Markdown
Member

verdurin commented May 1, 2026

Test report by @verdurin
SUCCESS
Build succeeded for 16 out of 16 (total: 25 mins 24 secs) (2 easyconfigs in total)
centos-stream-9 - Linux CentOS Stream 9, x86_64, Intel Core Processor (Skylake, IBRS), Python 3.12.12
See https://gist.github.com/verdurin/5b1d4bed8a9bebbceb60f8887d2d66bf for a full test report.

@verdurin
Copy link
Copy Markdown
Member

verdurin commented May 5, 2026

@boegelbot please test @ jsc-zen3

@boegelbot
Copy link
Copy Markdown
Collaborator

@verdurin: 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=25892 EB_ARGS= EB_CONTAINER= EB_REPO=easybuild-easyconfigs EB_BRANCH=develop /opt/software/slurm/bin/sbatch --job-name test_PR_25892 --ntasks=8 ~/boegelbot/eb_from_pr_upload_jsc-zen3.sh' executed!

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

Test results coming soon (I hope)...

Details

- notification for comment with ID 4377420479 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
Copy Markdown
Collaborator

Test report by @boegelbot
SUCCESS
Build succeeded for 2 out of 2 (total: 5 mins 24 secs) (2 easyconfigs in total)
jsczen3c1.int.jsc-zen3.fz-juelich.de - Linux Rocky Linux 9.7, x86_64, AMD EPYC-Milan Processor (zen3), Python 3.9.25
See https://gist.github.com/boegelbot/da07e139a0cfdfa7d500db38c5b75a40 for a full test report.

@verdurin
Copy link
Copy Markdown
Member

verdurin commented May 5, 2026

@JarneRenders could you put a comment here explaining the removal of the patch in WhatsHap?

@JarneRenders
Copy link
Copy Markdown
Contributor Author

That patch was used to fix the "project.license must be valid exactly by one definition" error when using an older setuptools. Since a newer setuptools is added as a build dependency here the pyproject.toml file gets parsed correctly in this form.

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

Labels

2025a issues & PRs related to 2025a common toolchains update

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants