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

{lib}[foss/2021b] PyTables v3.8.0 w/ Python 3.9.6 #17550

Open
wants to merge 6 commits into
base: develop
Choose a base branch
from
Open
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
19 changes: 19 additions & 0 deletions easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-fix-libs.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# pyTables expects that LIBS is a list of library names and will add
# a -l by itself.
# original patch by [email protected], ported to PyTables 3.5.2 by Kenneth Hoste (HPC-UGent)
# updated to 3.7.0 by J. Sassmannshausen (Imperial College London/UK)
diff --git a/PyTables-3.7.0.orig/setup.py b/PyTables-3.7.0/setup.py
index ab8f8e3..5804ca3 100755
--- a/PyTables-3.7.0.orig/setup.py
+++ b/PyTables-3.7.0/setup.py
@@ -526,6 +526,10 @@ if __name__ == "__main__":
# is not a good idea.
CFLAGS = os.environ.get("CFLAGS", "").split()
LIBS = os.environ.get("LIBS", "").split()
+ for idx, lib in enumerate(LIBS):
+ if lib.startswith("-l"):
+ LIBS[idx] = lib.replace("-l", "")
+
CONDA_PREFIX = os.environ.get("CONDA_PREFIX", "")
# We start using pkg-config since some distributions are putting HDF5
# (and possibly other libraries) in exotic locations. See issue #442.
60 changes: 60 additions & 0 deletions easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2021b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# J. Sassmannshausen (Imperial College London/UK)

easyblock = 'PythonBundle'

name = 'PyTables'
version = '3.8.0'

homepage = 'https://github.com/PyTables/PyTables'
description = """PyTables is a package for managing hierarchical datasets and designed to efficiently and easily cope
with extremely large amounts of data. PyTables is built on top of the HDF5 library, using the Python language and the
NumPy package. It features an object-oriented interface that, combined with C extensions for the performance-critical
parts of the code (generated using Cython), makes it a fast, yet extremely easy to use tool for interactively browsing,
processing and searching very large amounts of data. One important feature of PyTables is that it optimizes memory and
disk resources so that data takes much less space (specially if on-flight compression is used) than other solutions
such as relational or object oriented databases."""

toolchain = {'name': 'foss', 'version': '2021b'}
toolchainopts = {'pic': True}

builddependencies = [
('CMake', '3.22.1'),
('Ninja', '1.10.2'),
('pkgconf', '1.8.0'),
('scikit-build', '0.11.1'),
]

dependencies = [
('Python', '3.9.6'),
('SciPy-bundle', '2021.10'),
('HDF5', '1.12.1'),
('LZO', '2.10'),
('Blosc', '1.21.1'),
('Blosc2', '2.4.3'),
('py-cpuinfo', '9.0.0'),
]

use_pip = True
sanity_pip_check = True

exts_list = [
('blosc2', '2.0.0', {
'patches': ['py-%(name)s-%(version)s-numpylib.patch'],
'checksums': [
{'blosc2-2.0.0.tar.gz': 'f19b0b3674f6c825b490f00d8264b0c540c2cdc11ec7e81178d38b83c57790a1'},
{'py-blosc2-2.0.0-numpylib.patch': '13b90b7eb72fea74f6eb660b52c48177b4db39d10b5090d7086c5cdef30b057e'},
],
}),
(name, version, {
'modulename': 'tables',
'patches': ['%(name)s-%(version)s-fix-libs.patch'],
'source_urls': ['https://github.com/PyTables/PyTables/archive/'],
'sources': ['v%(version)s.tar.gz'],
'checksums': [
{'v3.8.0.tar.gz': '652b56b3d355797af4337a4493acfa4c4de4a60e7c6663cc6ce44d8ee477e920'},
{'PyTables-3.8.0-fix-libs.patch': '022c26960b8401f3693974f57be49832b72ee1f3a0a92f8e0dd9281c7c0e2c8c'},
],
}),
]

moduleclass = 'data'
15 changes: 15 additions & 0 deletions easybuild/easyconfigs/p/PyTables/py-blosc2-2.0.0-numpylib.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
removes the not-set include-directory for NumPy
Author: J. Sassmannshausen (Imperial College London/UK)
diff --git a/blosc2-2.0.0.orig/blosc2/CMakeLists.txt b/blosc2-2.0.0/blosc2/CMakeLists.txt
index 012bb1e..c4aabd3 100644
--- a/blosc2-2.0.0.orig/blosc2/CMakeLists.txt
+++ b/blosc2-2.0.0/blosc2/CMakeLists.txt
@@ -11,8 +11,6 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
set(BLOSC_INSTALL ON)
add_subdirectory(c-blosc2)
include_directories("${CMAKE_CURRENT_SOURCE_DIR}/c-blosc2/include")
-include_directories("${Python_NumPy_INCLUDE_DIRS}")
-

add_cython_target(blosc2_ext blosc2_ext.pyx)
add_library(blosc2_ext MODULE ${blosc2_ext})
Loading