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

{data}[foss/2022a] PyTables v3.8.0 #17143

Merged
15 changes: 15 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,15 @@
# 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)
--- PyTables-3.8.0/setup.py.orig 2019-08-23 10:35:55.467589283 +0200
+++ PyTables-3.8.0/setup.py 2019-08-23 10:36:39.408195074 +0200
@@ -576,6 +576,9 @@
# 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.
68 changes: 68 additions & 0 deletions easybuild/easyconfigs/p/PyTables/PyTables-3.8.0-foss-2022a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# http://www.pytables.org/usersguide/installation.html
# updated: Denis Kristak (INUITS)

easyblock = 'PythonBundle'

name = 'PyTables'
version = '3.8.0'

homepage = 'https://www.pytables.org'
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 browse,
deniskristak marked this conversation as resolved.
Show resolved Hide resolved
process and search very large amounts of data. One important feature of PyTables is that it optimizes memory and disk
deniskristak marked this conversation as resolved.
Show resolved Hide resolved
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': '2022a'}
toolchainopts = {'usempi': True}

dependencies = [
('Python', '3.10.4'),
('SciPy-bundle', '2022.05'), # provides numexpr
('HDF5', '1.12.2'),
('LZO', '2.10'),
('Blosc', '1.21.3'),
('scikit-build', '0.15.0'),
]

builddependencies = [
('CMake', '3.23.1'),
]

use_pip = True

exts_list = [
('py-cpuinfo', '9.0.0', {
'modulename': 'cpuinfo',
'checksums': ['3cdbbf3fac90dc6f118bfd64384f309edeadd902d7c8fb17f02ffa1fc3f49690'],
}),
('blosc2', '2.0.0', {
'checksums': ['f19b0b3674f6c825b490f00d8264b0c540c2cdc11ec7e81178d38b83c57790a1'],
}),
(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': '740d87c753c22e70aaa2720a50de1b729bc110360b7e44f40b0fb0c4a5b14c6c'},
],
}),
]

sanity_pip_check = True

local_bins = ['pt2to3', 'ptdump', 'ptrepack', 'pttree']
sanity_check_paths = {
'files': ['bin/%s' % x for x in local_bins],
'dirs': ['lib/python%(pyshortver)s/site-packages'],
}

options = {'modulename': 'tables'}

sanity_check_commands = ["%s --help" % x for x in local_bins]

moduleclass = 'data'