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}[GCCcore/13.2.0] imagecodecs v2024.6.1, CharLS v2.4.2, jxrlib v1.1, ... #21929

Open
wants to merge 2 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
30 changes: 30 additions & 0 deletions easybuild/easyconfigs/b/bitshuffle/bitshuffle-0.5.2-foss-2023b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
easyblock = 'PythonPackage'

name = 'bitshuffle'
version = '0.5.2'

homepage = 'https://github.com/kiyo-masui/bitshuffle'
description = """
Filter for improving compression of typed binary data.
Bitshuffle is an algorithm that rearranges typed, binary data for improving compression, as
well as a python/C package that implements this algorithm within the Numpy framework.
The library can be used along side HDF5 to compress and decompress datasets and is integrated
through the dynamically loaded filters framework. Bitshuffle is HDF5 filter number 32008.
"""

toolchain = {'name': 'foss', 'version': '2023b'}

sources = [SOURCE_TAR_GZ]
checksums = ['dc0e3fb7bdbf42be1009cc3028744180600d625a75b31833a24aa32aeaf83d8d']

dependencies = [
('Python', '3.11.5'),
('SciPy-bundle', '2023.11'),
('h5py', '3.11.0'),
]

use_pip = True
download_dep_fail = True
sanity_pip_check = True

moduleclass = 'lib'
30 changes: 30 additions & 0 deletions easybuild/easyconfigs/c/CharLS/CharLS-2.4.2-GCCcore-13.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
easyblock = 'CMakeMake'

name = 'CharLS'
version = '2.4.2'

homepage = 'https://github.com/team-charls/charls'
description = """CharLS is a C++ implementation of the JPEG-LS standard for lossless and near-lossless image
compression and decompression. JPEG-LS is a low-complexity image compression standard that matches JPEG 2000
compression ratios."""

toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
toolchainopts = {'pic': True}

source_urls = ['https://github.com/team-charls/charls/archive/']
sources = ['%(version)s.tar.gz']
checksums = ['d1c2c35664976f1e43fec7764d72755e6a50a80f38eca70fcc7553cad4fe19d9']

builddependencies = [
('binutils', '2.40'),
('CMake', '3.27.6'),
]

configopts = '-DBUILD_SHARED_LIBS=ON '

sanity_check_paths = {
'files': ['lib/libcharls.%s' % SHLIB_EXT],
'dirs': ['include'],
}

moduleclass = 'lib'
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
# Author: Denis Kristak
# update: Thomas Hoffmann (EMBL), Denis Kristak (Inuits), Cintia Willemyns (Vrije Universiteit Brussel)
easyblock = 'PythonBundle'

name = 'imagecodecs'
version = '2024.6.1'

homepage = 'https://github.com/cgohlke/imagecodecs'
description = """Imagecodecs is a Python library that provides block-oriented, in-memory buffer transformation,
compression, and decompression functions for use in the tifffile, czifile, zarr, and other
scientific image input/output modules."""

toolchain = {'name': 'foss', 'version': '2023b'}

local_openjpeg_maj_min = '2.5'
dependencies = [
('Python', '3.11.5'),
('SciPy-bundle', '2023.11'),
('Python-bundle-PyPI', '2023.10'),
('Cython', '3.0.10'),
('matplotlib', '3.8.2'),
('Brotli', '1.1.0'),
('Blosc', '1.21.5'),
('Blosc2', '2.13.2'),
('Brunsli', '0.1'),
('bzip2', '1.0.8'),
('CFITSIO', '4.3.1'),
('CharLS', '2.4.2'),
('giflib', '5.2.1'),
('jxrlib', '1.1'),
('LittleCMS', '2.15'),
('LERC', '4.0.0'),
('libaec', '1.0.6'),
('libavif', '1.1.1'),
('libdeflate', '1.19'),
('libheif', '1.19.5'),
('libjpeg-turbo', '3.0.1'),
('libjxl', '0.8.2'),
('LibLZF', '3.6'),
('libpng', '1.6.40'),
('LibTIFF', '4.6.0'),
('libwebp', '1.3.2'),
('lz4', '1.9.4'),
('OpenJPEG', local_openjpeg_maj_min + '.0'),
('snappy', '1.1.10'),
('zlib-ng', '2.2.2'),
('Zopfli', '1.0.3'),
('zfp', '1.0.1'),
('zstd', '1.5.5'),
('HDF5', '1.14.3'),
('h5py', '3.11.0'),
('bitshuffle', '0.5.2'),
]

use_pip = True
sanity_pip_check = True

exts_list = [
('colorlog', '6.9.0', {
'checksums': ['bfba54a1b93b94f54e1f4fe48395725a3d92fd2a4af702f6bd70946bdc0c6ac2'],
}),
(name, version, {
'buildopts': '--global-option="build_ext" --global-option="--lite"',
'extract_cmd': "tar -xvf %s && find . -type f -print0 | xargs -0 dos2unix",
'patches': ['imagecodecs-2024.1.1_fix-aec-version.patch'],
'preinstallopts': "export CPATH=$EBROOTOPENJPEG/include/openjpeg-2.5/:$CPATH && ",
'source_urls': ['https://github.com/cgohlke/imagecodecs/releases/download/v%(version)s/'],
'sources': ['%(name)s-%(version)s.tar.gz'],
'checksums': [
{'imagecodecs-2024.6.1.tar.gz': '0f3e94b7f51e2f78287b7ffae82cd850b1007639148894538274fa50bd179886'},
{'imagecodecs-2024.1.1_fix-aec-version.patch':
'7feb0a5fe37893d1a186f85c8f6cdb940704605ee2da5ea8e5d555ec5bfa01aa'},
],
}),
]

moduleclass = 'lib'
39 changes: 39 additions & 0 deletions easybuild/easyconfigs/j/jxrlib/jxrlib-1.1-GCCcore-13.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
##
# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
# Author:: Denis Kristak (INUITS)
# Update: Thomas Hoffmann (EMBL)
##

easyblock = 'CMakeMake'

name = 'jxrlib'
version = '1.1'

homepage = 'https://github.com/4creators/jxrlib'
description = """Open source implementation of jpegxr"""

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

source_urls = ['https://deb.debian.org/debian/pool/main/j/jxrlib/']
sources = ['%(name)s_%(version)s.orig.tar.gz']
patches = [('jxrlib-%(version)s_cmake.patch', 1)]
checksums = [
{'jxrlib_1.1.orig.tar.gz': 'c7287b86780befa0914f2eeb8be2ac83e672ebd4bd16dc5574a36a59d9708303'},
{'jxrlib-1.1_cmake.patch': 'e96ea8b418fdab10e9cbc2f4cad95ca1f59a826ce7379c6a3192882050689a74'},
]

builddependencies = [
('binutils', '2.40'),
('CMake', '3.27.6'),
]

sanity_check_paths = {
'files': ['bin/JxrDecApp', 'bin/JxrEncApp', "lib/libjpegxr.%s" % SHLIB_EXT],
'dirs': [],
}

sanity_check_commands = ['JxrDecApp', 'JxrEncApp']

modextrapaths = {'CPATH': 'include/jxrlib'}

moduleclass = 'lib'
31 changes: 31 additions & 0 deletions easybuild/easyconfigs/l/LibLZF/LibLZF-3.6-GCCcore-13.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
# Author: Denis Kristak
# Update: Thomas Hoffmann (EMBL), Denis Kristak
easyblock = 'ConfigureMake'

name = 'LibLZF'
version = '3.6'

homepage = 'http://oldhome.schmorp.de/marc/liblzf.html'
description = """LibLZF is a very small data compression library. It consists of only two .c and two .h files
and is very easy to incorporate into your own programs. The compression algorithm is very, very fast, yet still
written in portable C."""

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

source_urls = ['http://dist.schmorp.de/liblzf/Attic/']
sources = ['liblzf-%(version)s.tar.gz']
checksums = ['9c5de01f7b9ccae40c3f619d26a7abec9986c06c36d260c179cedd04b89fb46a']

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

sanity_check_commands = ['lzf -h']

sanity_check_paths = {
'files': ['bin/lzf', 'lib/liblzf.a'],
'dirs': ['bin', 'lib'],
}

moduleclass = 'lib'
36 changes: 36 additions & 0 deletions easybuild/easyconfigs/l/libavif/libavif-1.1.1-GCCcore-13.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
# Author: Denis Kristak (Inuits)
# Update: Thomas Hoffmann (EMBL), Denis Kristak (Inuits)
easyblock = 'CMakeMake'

name = 'libavif'
version = '1.1.1'

homepage = 'https://github.com/AOMediaCodec/libavif'
description = """This library aims to be a friendly, portable C implementation of the AV1 Image File Format,
as described here: https://aomediacodec.github.io/av1-avif/
"""

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

source_urls = ['https://github.com/AOMediaCodec/libavif/archive/']
sources = ['v%(version)s.tar.gz']
checksums = ['914662e16245e062ed73f90112fbb4548241300843a7772d8d441bb6859de45b']

builddependencies = [
('CMake', '3.27.6'),
('binutils', '2.40'),
('NASM', '2.16.01'),
('Meson', '1.2.3'),
('Ninja', '1.11.1'),
('Rust', '1.76.0'),
('pkgconf', '2.0.3'),
('libyuv', '20241125'),
]

sanity_check_paths = {
'files': ['lib/libavif.%s' % SHLIB_EXT, 'include/avif/avif.h'],
'dirs': [],
}

moduleclass = 'tools'
34 changes: 34 additions & 0 deletions easybuild/easyconfigs/l/libde265/libde265-1.0.15-GCCcore-13.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
# Author: Denis Kristak
easyblock = 'CMakeMake'

name = 'libde265'
version = '1.0.15'

homepage = 'https://github.com/strukturag/libde265'
description = "libde265 is an open source implementation of the h.265 video codec"

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

source_urls = ['https://github.com/strukturag/libde265/releases/download/v%(version)s/']
sources = [SOURCE_TAR_GZ]
checksums = ['00251986c29d34d3af7117ed05874950c875dd9292d016be29d3b3762666511d']

builddependencies = [
('binutils', '2.40'),
('CMake', '3.27.6'),
]

configopts = "-DENABLE_DECODER=ON -DENABLE_ENCODER=ON"

sanity_check_paths = {
'files': ['bin/dec265', 'bin/enc265', 'lib/libde265.%s' % SHLIB_EXT, 'lib/pkgconfig/libde265.pc'],
'dirs': ['include/libde265', 'lib/cmake/libde265'],
}

sanity_check_commands = [
"dec265 --help",
"enc265 --help",
]

moduleclass = 'tools'
43 changes: 43 additions & 0 deletions easybuild/easyconfigs/l/libheif/libheif-1.19.5-GCCcore-13.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
# Author: Denis Kristak
easyblock = 'CMakeMake'

name = 'libheif'
version = '1.19.5'

homepage = 'https://github.com/strukturag/libheif'
description = "libheif is an HEIF and AVIF file format decoder and encoder"

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

source_urls = ['https://github.com/strukturag/libheif/releases/download/v%(version)s/']
sources = [SOURCE_TAR_GZ]
checksums = ['d3cf0a76076115a070f9bc87cf5259b333a1f05806500045338798486d0afbaf']

builddependencies = [
('binutils', '2.40'),
('CMake', '3.27.6'),
]

dependencies = [
('libpng', '1.6.40'),
('libjpeg-turbo', '3.0.1'),
('libde265', '1.0.15'),
('x265', '3.5'),
('Gdk-Pixbuf', '2.42.10'),
]

# build both static and shared libraries
configopts = [
"-DBUILD_SHARED_LIBS=OFF",
"-DBUILD_SHARED_LIBS=ON",
]

sanity_check_paths = {
'files': ['bin/heif-info', 'lib/libheif.a', 'lib/libheif.%s' % SHLIB_EXT, 'lib/pkgconfig/libheif.pc'],
'dirs': ['include/libheif'],
}

sanity_check_commands = ["heif-info --help"]

moduleclass = 'tools'
29 changes: 29 additions & 0 deletions easybuild/easyconfigs/l/libyuv/libyuv-20241125-GCCcore-13.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
easyblock = 'CMakeMake'

name = 'libyuv'
version = '20241125'
local_commit = '9a97521'

homepage = 'https://github.com/lemenkov/libyuv'
description = """libyuv is an open source project that includes YUV scaling and conversion functionality."""

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

source_urls = ['https://github.com/lemenkov/libyuv/archive/']
sources = [{
"download_filename": "%s.tar.gz" % local_commit,
"filename": SOURCE_TAR_GZ,
}]
checksums = ['25e48eb78c41383e391b68ed017e82e42ded0ae2667fb399f7b2442582ae2af2']

builddependencies = [
('CMake', '3.27.6'),
('binutils', '2.40'),
]

sanity_check_paths = {
'files': ['bin/yuvconvert', f'lib/{name}.so', f'lib/{name}.a', f'include/{name}.h'],
'dirs': [],
}

moduleclass = 'tools'
37 changes: 37 additions & 0 deletions easybuild/easyconfigs/z/Zopfli/Zopfli-1.0.3-GCCcore-13.2.0.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild
# Updated: Denis Kristak
# Updated: Thomas Hoffmann (EMBL), Denis Kristak (Inuits)
easyblock = 'CMakeMake'

name = 'Zopfli'
version = '1.0.3'

homepage = 'https://github.com/google/zopfli'
description = """Zopfli Compression Algorithm is a compression library programmed in C to perform
very good, but slow, deflate or zlib compression."""

toolchain = {'name': 'GCCcore', 'version': '13.2.0'}
toolchainopts = {'pic': True}

source_urls = ['https://github.com/google/zopfli/archive/refs/tags/']
sources = ['%(namelower)s-%(version)s.tar.gz']
checksums = ['e955a7739f71af37ef3349c4fa141c648e8775bceb2195be07e86f8e638814bd']

builddependencies = [
('CMake', '3.27.6'),
('binutils', '2.40'),
]

configopts = [
'-DBUILD_SHARED_LIBS=ON',
'-DBUILD_SHARED_LIBS=OFF',
]

sanity_check_paths = {
'files': ['bin/zopfli', 'include/zopfli.h', 'lib/libzopfli.a', 'lib/libzopfli.%s' % SHLIB_EXT],
'dirs': [],
}

sanity_check_commands = ["zopfli --help"]

moduleclass = 'tools'
Loading
Loading