Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 53 additions & 0 deletions easybuild/easyconfigs/l/librosa/librosa-0.10.2.post1-foss-2024a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
easyblock = 'PythonBundle'

name = 'librosa'
version = '0.10.2.post1'

homepage = 'https://librosa.org/'
description = """Audio and music processing in Python"""

toolchain = {'name': 'foss', 'version': '2024a'}

builddependencies = [
('matplotlib', '3.9.2'),
('poetry', '1.8.3'), # build for soxr
('scikit-build-core', '0.10.6'),
('nanobind', '2.5.0'),
]

dependencies = [
('Python', '3.12.3'),
('Python-bundle-PyPI', '2024.06'), # to get joblib
('SciPy-bundle', '2024.05'),
('scikit-learn', '1.5.2'),
('FFmpeg', '7.0.2'),
('numba', '0.60.0'),
('libsndfile', '1.2.2'),
]

exts_list = [
('soxr', '0.5.0.post1', {
'patches': ['%(name)s-%(version)s.patch'],
'checksums': [
{'soxr-0.5.0.post1.tar.gz': '7092b9f3e8a416044e1fa138c8172520757179763b85dc53aa9504f4813cff73'},
{'soxr-0.5.0.post1.patch': '5ca9316d8524fcb1e81f4bfb0bfcfb5806050e936e33b6edef11ad0eed0e789c'},
],
}),
('audioread', '3.0.1', {
'checksums': ['ac5460a5498c48bdf2e8e767402583a4dcd13f4414d286f42ce4379e8b35066d'],
}),
('soundfile', '0.13.1', {
'checksums': ['b2c68dab1e30297317080a5b43df57e302584c49e2942defdde0acccc53f0e5b'],
}),
('lazy_loader', '0.4', {
'checksums': ['47c75182589b91a4e1a85a136c074285a5ad4d9f39c63e0d7fb76391c4574cd1'],
}),
('resampy', '0.4.3', {
'checksums': ['a0d1c28398f0e55994b739650afef4e3974115edbe96cd4bb81968425e916e47'],
}),
(name, version, {
'checksums': ['cd99f16717cbcd1e0983e37308d1db46a6f7dfc2e396e5a9e61e6821e44bd2e7'],
}),
]

moduleclass = 'lib'
20 changes: 20 additions & 0 deletions easybuild/easyconfigs/l/librosa/soxr-0.5.0.post1.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
We need to patch the CMakeList file in order to have nanobind found
see here:
https://nanobind.readthedocs.io/en/latest/building.html#finding-nanobind
Author: J. Sassmannshausen (Imperial College London/UK)
diff --git a/soxr-0.5.0.post1.orig/CMakeLists.txt b/soxr-0.5.0.post1/CMakeLists.txt
index eb701aa..f40df39 100644
--- a/soxr-0.5.0.post1.orig/CMakeLists.txt
+++ b/soxr-0.5.0.post1/CMakeLists.txt
@@ -32,6 +32,11 @@ find_package(Python 3.9
REQUIRED COMPONENTS Interpreter Development.Module
OPTIONAL_COMPONENTS Development.SABIModule)

+# Detect the installed nanobind package and import it into CMake
+# The normal find_package command does not seem to work
+execute_process(
+ COMMAND "${Python_EXECUTABLE}" -m nanobind --cmake_dir
+ OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE nanobind_ROOT)
find_package(nanobind CONFIG REQUIRED)

if (USE_SYSTEM_LIBSOXR)
38 changes: 38 additions & 0 deletions easybuild/easyconfigs/n/nanobind/nanobind-2.5.0-GCCcore-13.3.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Template from PR#21984
# The whl is used as the source code does not build with the current combination of
# modules
# Author: J Sassmannshausen (Imperial College London/UK)

easyblock = 'PythonBundle'

name = 'nanobind'
version = '2.5.0'

homepage = 'https://github.com/wjakob/nanobind'
description = """
Nanobind is a small binding library that exposes C++ types in Python and vice
versa. It is reminiscent of Boost.Python and pybind11 and uses near-identical
syntax. In contrast to these existing tools, nanobind is more efficient:
bindings compile in a shorter amount of time, produce smaller binaries, and
have better runtime performance.
"""

toolchain = {'name': 'GCCcore', 'version': '13.3.0'}

builddependencies = [
('binutils', '2.42'),
]

dependencies = [
('Python', '3.12.3'),
('scikit-build-core', '0.10.6'),
]

exts_list = [
(name, version, {
'source_tmpl': '%(name)s-%(version)s-py3-none-any.whl',
'checksums': ['e1e5c816e5d10f0b252d82ba7f769f0f6679f5e043cf406aec3d9e184bf2a60d'],
}),
]

moduleclass = 'lang'