From 5a90567f43915fe118dc318a3b010715bb6d1e95 Mon Sep 17 00:00:00 2001 From: Pavel Tomanek Date: Thu, 28 Nov 2024 16:59:09 +0100 Subject: [PATCH] adding easyconfigs: imagecodecs-2024.6.1-foss-2023b.eb, CharLS-2.4.2-GCCcore-13.2.0.eb, jxrlib-1.1-GCCcore-13.2.0.eb, libyuv-20241125-GCCcore-13.2.0.eb, libavif-1.1.1-GCCcore-13.2.0.eb, libde265-1.0.15-GCCcore-13.2.0.eb, libheif-1.19.5-GCCcore-13.2.0.eb, LibLZF-3.6-GCCcore-13.2.0.eb, Zopfli-1.0.3-GCCcore-13.2.0.eb, zfp-1.0.1-GCCcore-13.2.0.eb, bitshuffle-0.5.2-foss-2023b.eb --- .../bitshuffle/bitshuffle-0.5.2-foss-2023b.eb | 30 +++++++ .../c/CharLS/CharLS-2.4.2-GCCcore-13.2.0.eb | 30 +++++++ .../imagecodecs-2024.6.1-foss-2023b.eb | 78 +++++++++++++++++++ .../j/jxrlib/jxrlib-1.1-GCCcore-13.2.0.eb | 39 ++++++++++ .../l/LibLZF/LibLZF-3.6-GCCcore-13.2.0.eb | 31 ++++++++ .../l/libavif/libavif-1.1.1-GCCcore-13.2.0.eb | 36 +++++++++ .../libde265-1.0.15-GCCcore-13.2.0.eb | 34 ++++++++ .../libheif/libheif-1.19.5-GCCcore-13.2.0.eb | 43 ++++++++++ .../libyuv/libyuv-20241125-GCCcore-13.2.0.eb | 29 +++++++ .../z/Zopfli/Zopfli-1.0.3-GCCcore-13.2.0.eb | 37 +++++++++ .../z/zfp/zfp-1.0.1-GCCcore-13.2.0.eb | 40 ++++++++++ 11 files changed, 427 insertions(+) create mode 100644 easybuild/easyconfigs/b/bitshuffle/bitshuffle-0.5.2-foss-2023b.eb create mode 100644 easybuild/easyconfigs/c/CharLS/CharLS-2.4.2-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/i/imagecodecs/imagecodecs-2024.6.1-foss-2023b.eb create mode 100644 easybuild/easyconfigs/j/jxrlib/jxrlib-1.1-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/l/LibLZF/LibLZF-3.6-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/l/libavif/libavif-1.1.1-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/l/libde265/libde265-1.0.15-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/l/libheif/libheif-1.19.5-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/l/libyuv/libyuv-20241125-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/z/Zopfli/Zopfli-1.0.3-GCCcore-13.2.0.eb create mode 100644 easybuild/easyconfigs/z/zfp/zfp-1.0.1-GCCcore-13.2.0.eb diff --git a/easybuild/easyconfigs/b/bitshuffle/bitshuffle-0.5.2-foss-2023b.eb b/easybuild/easyconfigs/b/bitshuffle/bitshuffle-0.5.2-foss-2023b.eb new file mode 100644 index 00000000000..f56e5fa8903 --- /dev/null +++ b/easybuild/easyconfigs/b/bitshuffle/bitshuffle-0.5.2-foss-2023b.eb @@ -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' diff --git a/easybuild/easyconfigs/c/CharLS/CharLS-2.4.2-GCCcore-13.2.0.eb b/easybuild/easyconfigs/c/CharLS/CharLS-2.4.2-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..3c8d212818c --- /dev/null +++ b/easybuild/easyconfigs/c/CharLS/CharLS-2.4.2-GCCcore-13.2.0.eb @@ -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' diff --git a/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2024.6.1-foss-2023b.eb b/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2024.6.1-foss-2023b.eb new file mode 100644 index 00000000000..72d46164bfb --- /dev/null +++ b/easybuild/easyconfigs/i/imagecodecs/imagecodecs-2024.6.1-foss-2023b.eb @@ -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' diff --git a/easybuild/easyconfigs/j/jxrlib/jxrlib-1.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/j/jxrlib/jxrlib-1.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..a57082eb758 --- /dev/null +++ b/easybuild/easyconfigs/j/jxrlib/jxrlib-1.1-GCCcore-13.2.0.eb @@ -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' diff --git a/easybuild/easyconfigs/l/LibLZF/LibLZF-3.6-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/LibLZF/LibLZF-3.6-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..029c67711ac --- /dev/null +++ b/easybuild/easyconfigs/l/LibLZF/LibLZF-3.6-GCCcore-13.2.0.eb @@ -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' diff --git a/easybuild/easyconfigs/l/libavif/libavif-1.1.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libavif/libavif-1.1.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..38463d8530a --- /dev/null +++ b/easybuild/easyconfigs/l/libavif/libavif-1.1.1-GCCcore-13.2.0.eb @@ -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' diff --git a/easybuild/easyconfigs/l/libde265/libde265-1.0.15-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libde265/libde265-1.0.15-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..d9cd9ccc66f --- /dev/null +++ b/easybuild/easyconfigs/l/libde265/libde265-1.0.15-GCCcore-13.2.0.eb @@ -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' diff --git a/easybuild/easyconfigs/l/libheif/libheif-1.19.5-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libheif/libheif-1.19.5-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..6bf423096b7 --- /dev/null +++ b/easybuild/easyconfigs/l/libheif/libheif-1.19.5-GCCcore-13.2.0.eb @@ -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' diff --git a/easybuild/easyconfigs/l/libyuv/libyuv-20241125-GCCcore-13.2.0.eb b/easybuild/easyconfigs/l/libyuv/libyuv-20241125-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..6d388b8ffc2 --- /dev/null +++ b/easybuild/easyconfigs/l/libyuv/libyuv-20241125-GCCcore-13.2.0.eb @@ -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' diff --git a/easybuild/easyconfigs/z/Zopfli/Zopfli-1.0.3-GCCcore-13.2.0.eb b/easybuild/easyconfigs/z/Zopfli/Zopfli-1.0.3-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..29b3e948dfa --- /dev/null +++ b/easybuild/easyconfigs/z/Zopfli/Zopfli-1.0.3-GCCcore-13.2.0.eb @@ -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' diff --git a/easybuild/easyconfigs/z/zfp/zfp-1.0.1-GCCcore-13.2.0.eb b/easybuild/easyconfigs/z/zfp/zfp-1.0.1-GCCcore-13.2.0.eb new file mode 100644 index 00000000000..ed80aaa5316 --- /dev/null +++ b/easybuild/easyconfigs/z/zfp/zfp-1.0.1-GCCcore-13.2.0.eb @@ -0,0 +1,40 @@ +# This file is an EasyBuild reciPY as per https://github.com/easybuilders/easybuild +# Author: Denis Kristak +# Update: Thomas Hoffmann (EMBL) +easyblock = 'MakeCp' + +name = 'zfp' +version = '1.0.1' + +homepage = 'https://github.com/LLNL/zfp' +description = """zfp is a compressed format for representing multidimensional floating-point and integer arrays. +zfp provides compressed-array classes that support high throughput read and write random access to individual array +elements. zfp also supports serial and parallel (OpenMP and CUDA) compression of whole arrays, e.g., for applications +that read and write large data sets to and from disk.""" + +toolchain = {'name': 'GCCcore', 'version': '13.2.0'} +toolchainopts = {'pic': True} + +source_urls = ['https://github.com/LLNL/zfp/archive'] +sources = ['%(version)s.tar.gz'] +checksums = ['4984db6a55bc919831966dd17ba5e47ca7ac58668f4fd278ebd98cd2200da66f'] + +builddependencies = [ + ('binutils', '2.40'), +] + +prebuildopts = "sed -i 's/FLAGS = -O3/FLAGS = $CFLAGS/g' Makefile && " +buildopts = 'ZFP_WITH_OPENMP=1' + +runtest = 'test' + +files_to_copy = ['bin', 'include', 'lib'] + +sanity_check_paths = { + 'files': ['bin/zfp', 'bin/testzfp', 'include/zfp.h', 'lib/libzfp.a'], + 'dirs': ['include/zfp'], +} + +sanity_check_commands = ["zfp --help 2>&1 | grep 'Usage: zfp'"] + +moduleclass = 'lib'