From 9b970677405389c3ea1acae8532e0603d61ba015 Mon Sep 17 00:00:00 2001 From: Vertexwahn Date: Tue, 16 Apr 2024 10:40:09 +0200 Subject: [PATCH] Fix c-blosc2 (#1773) https://github.com/AcademySoftwareFoundation/openexr/pull/1604 revealed that the c-blosc2 module still has some linker issues. This PR fixes those issues. This PR is an improvement of the c-blosc2 model at version 2.12.0. In detail, missing c files were added to the c-blosc2 target. Also, textual_hdrs were reworked. Besides this cc_tests targets were introduced to make sure the whole thing works across different systems. The defines `HAVE_PLUGINS` and `HAVE_ZSTD` were added. Without the define `HAVE_PLUGINS` zfp plugin is not initialized (which is required by OpenEXR). @phaedon Maybe this fixes also some issues on your side ;). You can create a PR and add yourself as a maintainer to this module if you like. This way you will get notified if "improvements" are made or at least it gives you a chance to veto changes ;). Furthermore, the PR policy was changed in a way that a positive review of a maintainer can lead under some circumstances to a successful merge without the need to get a review of one of the "admins/repo owners" --- modules/c-blosc2/2.12.0.bcr.2/MODULE.bazel | 10 + .../2.12.0.bcr.2/patches/add_build_file.patch | 559 ++++++++++++++++++ .../patches/add_module_dot_bazel.patch | 13 + modules/c-blosc2/2.12.0.bcr.2/presubmit.yml | 25 + modules/c-blosc2/2.12.0.bcr.2/source.json | 10 + modules/c-blosc2/metadata.json | 3 +- 6 files changed, 619 insertions(+), 1 deletion(-) create mode 100644 modules/c-blosc2/2.12.0.bcr.2/MODULE.bazel create mode 100644 modules/c-blosc2/2.12.0.bcr.2/patches/add_build_file.patch create mode 100644 modules/c-blosc2/2.12.0.bcr.2/patches/add_module_dot_bazel.patch create mode 100644 modules/c-blosc2/2.12.0.bcr.2/presubmit.yml create mode 100644 modules/c-blosc2/2.12.0.bcr.2/source.json diff --git a/modules/c-blosc2/2.12.0.bcr.2/MODULE.bazel b/modules/c-blosc2/2.12.0.bcr.2/MODULE.bazel new file mode 100644 index 00000000000..b03b2313973 --- /dev/null +++ b/modules/c-blosc2/2.12.0.bcr.2/MODULE.bazel @@ -0,0 +1,10 @@ +module( + name = "c-blosc2", + version = "2.12.0.bcr.2", + compatibility_level = 1, +) + +bazel_dep(name = "lz4", version = "1.9.4") +bazel_dep(name = "platforms", version = "0.0.9") +bazel_dep(name = "zlib-ng", version = "2.0.7") +bazel_dep(name = "zstd", version = "1.5.6") diff --git a/modules/c-blosc2/2.12.0.bcr.2/patches/add_build_file.patch b/modules/c-blosc2/2.12.0.bcr.2/patches/add_build_file.patch new file mode 100644 index 00000000000..84f7ca23295 --- /dev/null +++ b/modules/c-blosc2/2.12.0.bcr.2/patches/add_build_file.patch @@ -0,0 +1,559 @@ +--- /dev/null ++++ BUILD.bazel +@@ -0,0 +1,556 @@ ++cc_library( ++ name = "c-blosc2", ++ srcs = [ ++ "blosc/b2nd.c", ++ "blosc/b2nd-private.h", ++ "blosc/b2nd_utils.c", ++ "blosc/bitshuffle-avx2.c", ++ "blosc/bitshuffle-avx2.h", ++ "blosc/bitshuffle-generic.c", ++ "blosc/bitshuffle-generic.h", ++ "blosc/bitshuffle-sse2.c", ++ "blosc/bitshuffle-sse2.h", ++ "blosc/blosc-private.h", ++ "blosc/blosc2.c", ++ "blosc/blosc2-stdio.c", ++ "blosc/blosclz.c", ++ "blosc/blosclz.h", ++ "blosc/delta.c", ++ "blosc/directories.c", ++ "blosc/fastcopy.c", ++ "blosc/frame.c", ++ "blosc/frame.h", ++ "blosc/schunk.c", ++ "blosc/schunk-private.h", ++ "blosc/sframe.c", ++ "blosc/sframe.h", ++ "blosc/shuffle.c", ++ "blosc/shuffle.h", ++ "blosc/shuffle-avx2.c", ++ "blosc/shuffle-avx2.h", ++ "blosc/shuffle-generic.c", ++ "blosc/shuffle-generic.h", ++ "blosc/shuffle-sse2.c", ++ "blosc/shuffle-sse2.h", ++ "blosc/stune.c", ++ "blosc/timestamp.c", ++ "blosc/trunc-prec.c", ++ "plugins/codecs/codecs-registry.c", ++ "plugins/codecs/ndlz/ndlz.c", ++ "plugins/codecs/ndlz/ndlz.h", ++ "plugins/codecs/ndlz/ndlz-private.h", ++ "plugins/codecs/ndlz/ndlz4x4.c", ++ "plugins/codecs/ndlz/ndlz4x4.h", ++ "plugins/codecs/ndlz/ndlz8x8.c", ++ "plugins/codecs/ndlz/ndlz8x8.h", ++ "plugins/codecs/ndlz/xxhash.c", ++ "plugins/codecs/ndlz/xxhash.h", ++ "plugins/codecs/zfp/blosc2-zfp.c", ++ "plugins/codecs/zfp/src/bitstream.c", ++ "plugins/codecs/zfp/src/block1.h", ++ "plugins/codecs/zfp/src/block2.h", ++ "plugins/codecs/zfp/src/block3.h", ++ "plugins/codecs/zfp/src/block4.h", ++ "plugins/codecs/zfp/src/decode1d.c", ++ "plugins/codecs/zfp/src/decode1f.c", ++ "plugins/codecs/zfp/src/decode1i.c", ++ "plugins/codecs/zfp/src/decode1l.c", ++ "plugins/codecs/zfp/src/decode2d.c", ++ "plugins/codecs/zfp/src/decode2f.c", ++ "plugins/codecs/zfp/src/decode2i.c", ++ "plugins/codecs/zfp/src/decode2l.c", ++ "plugins/codecs/zfp/src/decode3d.c", ++ "plugins/codecs/zfp/src/decode3f.c", ++ "plugins/codecs/zfp/src/decode3i.c", ++ "plugins/codecs/zfp/src/decode3l.c", ++ "plugins/codecs/zfp/src/decode4d.c", ++ "plugins/codecs/zfp/src/decode4f.c", ++ "plugins/codecs/zfp/src/decode4i.c", ++ "plugins/codecs/zfp/src/decode4l.c", ++ "plugins/codecs/zfp/src/encode1d.c", ++ "plugins/codecs/zfp/src/encode1f.c", ++ "plugins/codecs/zfp/src/encode1i.c", ++ "plugins/codecs/zfp/src/encode1l.c", ++ "plugins/codecs/zfp/src/encode2d.c", ++ "plugins/codecs/zfp/src/encode2f.c", ++ "plugins/codecs/zfp/src/encode2i.c", ++ "plugins/codecs/zfp/src/encode2l.c", ++ "plugins/codecs/zfp/src/encode3d.c", ++ "plugins/codecs/zfp/src/encode3f.c", ++ "plugins/codecs/zfp/src/encode3i.c", ++ "plugins/codecs/zfp/src/encode3l.c", ++ "plugins/codecs/zfp/src/encode4d.c", ++ "plugins/codecs/zfp/src/encode4f.c", ++ "plugins/codecs/zfp/src/encode4i.c", ++ "plugins/codecs/zfp/src/encode4l.c", ++ "plugins/codecs/zfp/src/inline/inline.h", ++ "plugins/codecs/zfp/src/template/template.h", ++ "plugins/codecs/zfp/src/traitsd.h", ++ "plugins/codecs/zfp/src/traitsf.h", ++ "plugins/codecs/zfp/src/traitsi.h", ++ "plugins/codecs/zfp/src/traitsl.h", ++ "plugins/codecs/zfp/src/zfp.c", ++ "plugins/codecs/zfp/zfp-private.h", ++ "plugins/filters/bytedelta/bytedelta.c", ++ "plugins/filters/bytedelta/bytedelta.h", ++ "plugins/filters/filters-registry.c", ++ "plugins/filters/ndcell/ndcell.c", ++ "plugins/filters/ndcell/ndcell.h", ++ "plugins/filters/ndmean/ndmean.c", ++ "plugins/filters/ndmean/ndmean.h", ++ "plugins/plugin_utils.c", ++ "plugins/plugin_utils.h", ++ "plugins/tuners/tuners-registry.c", ++ ], ++ hdrs = [ ++ "blosc/context.h", ++ "blosc/delta.h", ++ "blosc/fastcopy.h", ++ "blosc/stune.h", ++ "blosc/trunc-prec.h", ++ "internal-complibs/lz4-1.9.4/lz4.c", ++ "plugins/codecs/zfp/blosc2-zfp.h", ++ "plugins/codecs/zfp/include", ++ ] + glob([ ++ "include/**/*.h", ++ ]), ++ copts = select({ ++ "@platforms//os:linux": [ ++ "-msse4.1", ++ ], ++ "//conditions:default": [ ++ ], ++ }), ++ defines = [ ++ "HAVE_PLUGINS", ++ "HAVE_ZSTD", ++ ], ++ includes = [ ++ "blosc", ++ "include", ++ "internal-complibs/lz4-1.9.4", ++ "internal-complibs/zlib-ng-2.0.7", ++ "plugins/codecs", ++ "plugins/codecs/ndlz", ++ "plugins/codecs/zfp/include", ++ "plugins/codecs/zfp/src", ++ ], ++ textual_hdrs = [ ++ "plugins/codecs/zfp/src/inline/bitstream.c", ++ "plugins/codecs/zfp/src/share/omp.c", ++ "plugins/codecs/zfp/src/share/parallel.c", ++ "plugins/codecs/zfp/src/template/codec.c", ++ "plugins/codecs/zfp/src/template/codec.h", ++ "plugins/codecs/zfp/src/template/codec1.c", ++ "plugins/codecs/zfp/src/template/codec2.c", ++ "plugins/codecs/zfp/src/template/codec3.c", ++ "plugins/codecs/zfp/src/template/codec4.c", ++ "plugins/codecs/zfp/src/template/codecf.c", ++ "plugins/codecs/zfp/src/template/compress.c", ++ "plugins/codecs/zfp/src/template/decode.c", ++ "plugins/codecs/zfp/src/template/decode1.c", ++ "plugins/codecs/zfp/src/template/decode2.c", ++ "plugins/codecs/zfp/src/template/decode3.c", ++ "plugins/codecs/zfp/src/template/decode4.c", ++ "plugins/codecs/zfp/src/template/decodef.c", ++ "plugins/codecs/zfp/src/template/decodei.c", ++ "plugins/codecs/zfp/src/template/decompress.c", ++ "plugins/codecs/zfp/src/template/encode.c", ++ "plugins/codecs/zfp/src/template/encode2.c", ++ "plugins/codecs/zfp/src/template/encode3.c", ++ "plugins/codecs/zfp/src/template/encode4.c", ++ "plugins/codecs/zfp/src/template/encode1.c", ++ "plugins/codecs/zfp/src/template/encodef.c", ++ "plugins/codecs/zfp/src/template/encodei.c", ++ "plugins/codecs/zfp/src/template/revencode.c", ++ "plugins/codecs/zfp/src/template/revencode2.c", ++ "plugins/codecs/zfp/src/template/revencode3.c", ++ "plugins/codecs/zfp/src/template/revencode4.c", ++ "plugins/codecs/zfp/src/template/revencode1.c", ++ "plugins/codecs/zfp/src/template/revencodef.c", ++ "plugins/codecs/zfp/src/template/ompcompress.c", ++ "plugins/codecs/zfp/src/template/revcodecf.c", ++ "plugins/codecs/zfp/src/template/revdecode.c", ++ "plugins/codecs/zfp/src/template/revdecode1.c", ++ "plugins/codecs/zfp/src/template/revdecode2.c", ++ "plugins/codecs/zfp/src/template/revdecode3.c", ++ "plugins/codecs/zfp/src/template/revdecode4.c", ++ "plugins/codecs/zfp/src/template/revdecodef.c", ++ ], ++ visibility = ["//visibility:public"], ++ deps = [ ++ "@lz4//:lz4_hc", ++ "@zlib-ng//:zlib-ng", ++ "@zstd", ++ ], ++) ++ ++cc_test( ++ name = "test_ndlz", ++ srcs = [ ++ "plugins/codecs/ndlz/test_ndlz.c", ++ "tests/test_common.h", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_b2nd_append", ++ srcs = [ ++ "tests/b2nd/cutest.h", ++ "tests/b2nd/test_b2nd_append.c", ++ "tests/b2nd/test_common.h", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_b2nd_copy_buffer", ++ srcs = [ ++ "tests/b2nd/cutest.h", ++ "tests/b2nd/test_b2nd_copy_buffer.c", ++ "tests/b2nd/test_common.h", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_b2nd_copy", ++ srcs = [ ++ "tests/b2nd/cutest.h", ++ "tests/b2nd/test_b2nd_copy.c", ++ "tests/b2nd/test_common.h", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_b2nd_delete", ++ srcs = [ ++ "tests/b2nd/cutest.h", ++ "tests/b2nd/test_b2nd_delete.c", ++ "tests/b2nd/test_common.h", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_b2nd_full", ++ srcs = [ ++ "tests/b2nd/cutest.h", ++ "tests/b2nd/test_b2nd_full.c", ++ "tests/b2nd/test_common.h", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_b2nd_get_slice", ++ srcs = [ ++ "tests/b2nd/cutest.h", ++ "tests/b2nd/test_b2nd_get_slice.c", ++ "tests/b2nd/test_common.h", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_b2nd_get_slice_buffer", ++ srcs = [ ++ "tests/b2nd/cutest.h", ++ "tests/b2nd/test_b2nd_get_slice_buffer.c", ++ "tests/b2nd/test_common.h", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_b2nd_insert", ++ srcs = [ ++ "tests/b2nd/cutest.h", ++ "tests/b2nd/test_b2nd_insert.c", ++ "tests/b2nd/test_common.h", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_b2nd_metalayers", ++ srcs = [ ++ "tests/b2nd/cutest.h", ++ "tests/b2nd/test_b2nd_metalayers.c", ++ "tests/b2nd/test_common.h", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_b2nd_open_offset", ++ srcs = [ ++ "tests/b2nd/cutest.h", ++ "tests/b2nd/test_b2nd_open_offset.c", ++ "tests/b2nd/test_common.h", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_b2nd_persistency", ++ srcs = [ ++ "tests/b2nd/cutest.h", ++ "tests/b2nd/test_b2nd_persistency.c", ++ "tests/b2nd/test_common.h", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_b2nd_resize", ++ srcs = [ ++ "tests/b2nd/cutest.h", ++ "tests/b2nd/test_b2nd_resize.c", ++ "tests/b2nd/test_common.h", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_b2nd_roundtrip", ++ srcs = [ ++ "tests/b2nd/cutest.h", ++ "tests/b2nd/test_b2nd_roundtrip.c", ++ "tests/b2nd/test_common.h", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_b2nd_save", ++ srcs = [ ++ "tests/b2nd/cutest.h", ++ "tests/b2nd/test_b2nd_save.c", ++ "tests/b2nd/test_common.h", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_b2nd_serialize", ++ srcs = [ ++ "tests/b2nd/cutest.h", ++ "tests/b2nd/test_b2nd_serialize.c", ++ "tests/b2nd/test_common.h", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_bitshuffle_leftovers", ++ srcs = [ ++ "tests/test_bitshuffle_leftovers.c", ++ "tests/test_common.h", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_delete_chunk", ++ srcs = [ ++ "tests/test_common.h", ++ "tests/test_delete_chunk.c", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_delta_schunk", ++ srcs = [ ++ "tests/test_common.h", ++ "tests/test_delta_schunk.c", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_delta", ++ srcs = [ ++ "tests/test_common.h", ++ "tests/test_delta.c", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++#cc_test( ++# name = "test_noinit", ++# srcs = [ ++# "tests/test_common.h", ++# "tests/test_noinit.c", ++# ], ++# deps = [":c-blosc2"], ++#) ++ ++#cc_test( ++# name = "test_nolock", ++# srcs = [ ++# "tests/test_common.h", ++# "tests/test_nolock.c", ++# ], ++# deps = [":c-blosc2"], ++#) ++ ++cc_test( ++ name = "test_nthreads", ++ srcs = [ ++ "tests/test_common.h", ++ "tests/test_nthreads.c", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_postfilter", ++ srcs = [ ++ "tests/test_common.h", ++ "tests/test_postfilter.c", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_prefilter", ++ srcs = [ ++ "tests/test_common.h", ++ "tests/test_prefilter.c", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_reorder_offsets", ++ srcs = [ ++ "tests/test_common.h", ++ "tests/test_reorder_offsets.c", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_schunk_frame", ++ srcs = [ ++ "tests/test_common.h", ++ "tests/test_schunk_frame.c", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_schunk_header", ++ srcs = [ ++ "tests/test_common.h", ++ "tests/test_schunk_header.c", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_schunk", ++ srcs = [ ++ "tests/test_common.h", ++ "tests/test_schunk.c", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_set_slice_buffer", ++ srcs = [ ++ "tests/test_common.h", ++ "tests/test_set_slice_buffer.c", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_sframe_lazychunk", ++ srcs = [ ++ "tests/test_common.h", ++ "tests/test_sframe_lazychunk.c", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_sframe", ++ srcs = [ ++ "tests/test_common.h", ++ "tests/test_sframe.c", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++#cc_test( ++# name = "test_shuffle_roundtrip_sse2", ++# srcs = [ ++# "tests/cutest.h", ++# "tests/test_common.h", ++# "tests/test_shuffle_roundtrip_sse2.c", ++# ], ++# data = ["tests/test_shuffle_roundtrip_sse2.csv"], ++# deps = [":c-blosc2"], ++#) ++ ++cc_test( ++ name = "test_small_chunks", ++ srcs = [ ++ "tests/cutest.h", ++ "tests/test_common.h", ++ "tests/test_small_chunks.c", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_udio", ++ srcs = [ ++ "tests/cutest.h", ++ "tests/test_common.h", ++ "tests/test_udio.c", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_update_chunk", ++ srcs = [ ++ "tests/test_common.h", ++ "tests/test_update_chunk.c", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_urcodecs", ++ srcs = [ ++ "tests/cutest.h", ++ "tests/test_urcodecs.c", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_urfilters", ++ srcs = [ ++ "tests/cutest.h", ++ "tests/test_urfilters.c", ++ ], ++ deps = [":c-blosc2"], ++) ++ ++cc_test( ++ name = "test_zero_runlen", ++ srcs = [ ++ "tests/cutest.h", ++ "tests/test_zero_runlen.c", ++ ], ++ deps = [":c-blosc2"], ++) diff --git a/modules/c-blosc2/2.12.0.bcr.2/patches/add_module_dot_bazel.patch b/modules/c-blosc2/2.12.0.bcr.2/patches/add_module_dot_bazel.patch new file mode 100644 index 00000000000..41c4b0d29fb --- /dev/null +++ b/modules/c-blosc2/2.12.0.bcr.2/patches/add_module_dot_bazel.patch @@ -0,0 +1,13 @@ +--- MODULE.bazel ++++ MODULE.bazel +@@ -0,0 +1,10 @@ ++module( ++ name = "c-blosc2", ++ version = "2.12.0.bcr.2", ++ compatibility_level = 1, ++) ++ ++bazel_dep(name = "lz4", version = "1.9.4") ++bazel_dep(name = "platforms", version = "0.0.9") ++bazel_dep(name = "zlib-ng", version = "2.0.7") ++bazel_dep(name = "zstd", version = "1.5.6") diff --git a/modules/c-blosc2/2.12.0.bcr.2/presubmit.yml b/modules/c-blosc2/2.12.0.bcr.2/presubmit.yml new file mode 100644 index 00000000000..c9cd9260bc3 --- /dev/null +++ b/modules/c-blosc2/2.12.0.bcr.2/presubmit.yml @@ -0,0 +1,25 @@ +matrix: + platform: + - debian10 + - debian11 + - macos + - macos_arm64 + - ubuntu2004 + - ubuntu2204 + - windows + bazel: [6.x, 7.x, rolling] +tasks: + verify_targets: + name: Verify build targets + platform: ${{ platform }} + bazel: ${{ bazel }} + build_targets: + - "@c-blosc2//:c-blosc2" + run_test: + name: Run tests + platform: ${{ platform }} + bazel: ${{ bazel }} + test_flags: + - "--linkopt=-ldl" + test_targets: + - "@c-blosc2//..." diff --git a/modules/c-blosc2/2.12.0.bcr.2/source.json b/modules/c-blosc2/2.12.0.bcr.2/source.json new file mode 100644 index 00000000000..ce7164f3398 --- /dev/null +++ b/modules/c-blosc2/2.12.0.bcr.2/source.json @@ -0,0 +1,10 @@ +{ + "integrity": "sha256-uPoHqwYnwZ+2UuCKWtoZfrCTm3Xpfi+3a77hRertxuk=", + "patch_strip": 0, + "patches": { + "add_build_file.patch": "sha256-ApFWf7hkxRBBiunc6HYr4b32eWx9W6NCr2yTzmvyskQ=", + "add_module_dot_bazel.patch": "sha256-IgBeSUvBEQr3x+ilBAUWY3Ujn9fnJxjt6wWdV0gxrXc=" + }, + "strip_prefix": "c-blosc2-2.12.0", + "url": "https://github.com/Blosc/c-blosc2/archive/refs/tags/v2.12.0.tar.gz" +} diff --git a/modules/c-blosc2/metadata.json b/modules/c-blosc2/metadata.json index fdcd369127e..87df6a31d2b 100644 --- a/modules/c-blosc2/metadata.json +++ b/modules/c-blosc2/metadata.json @@ -12,7 +12,8 @@ ], "versions": [ "2.12.0", - "2.12.0.bcr.1" + "2.12.0.bcr.1", + "2.12.0.bcr.2" ], "yanked_versions": {} }