Browse Source

Auto-update c-blosc2 to v2.21.1 (#7999)

* Update c-blosc2 to v2.21.1

* Update xmake.lua

---------

Co-authored-by: star9029 <[email protected]>
ruki 3 months ago
parent
commit
53c9d0685a
1 changed files with 16 additions and 11 deletions
  1. 16 11
      packages/c/c-blosc2/xmake.lua

+ 16 - 11
packages/c/c-blosc2/xmake.lua

@@ -6,6 +6,7 @@ package("c-blosc2")
     add_urls("https://github.com/Blosc/c-blosc2/archive/refs/tags/$(version).tar.gz",
              "https://github.com/Blosc/c-blosc2.git")
 
+    add_versions("v2.21.1", "69bd596bc4c64091df89d2a4fbedc01fc66c005154ddbc466449b9dfa1af5c05")
     add_versions("v2.21.0", "de69eedd87a8301cdb665f3dab61e7c2b7e4b326a496f9ec88213fc8788d54d5")
     add_versions("v2.19.1", "cb645982acfeccc8676bc4f29859130593ec05f7f9acf62ebd4f1a004421fa28")
     add_versions("v2.18.0", "9fce013de33a3f325937b6c29fd64342c1e71de38df6bb9eda09519583d8aabe")
@@ -33,14 +34,20 @@ package("c-blosc2")
     add_deps("cmake")
 
     on_load(function (package)
-        for _, deps in ipairs({"lz4", "zlib", "zstd"}) do
-            if package:config(deps) then
-                package:add("deps", deps)
-            end
+        if package:config("lz4") then
+            package:add("deps", "lz4", {configs = {cmake = true}})
+        end
+        if package:config("zlib") then
+            package:add("deps", "zlib")
+        end
+        if package:config("zstd") then
+            package:add("deps", "zstd", {configs = {cmake = true}})
         end
     end)
 
     on_install(function (package)
+        io.replace("CMakeLists.txt", "include(InstallRequiredSystemLibraries)", "", {plain = true})
+
         local configs =
         {
             "-DBUILD_TESTS=OFF",
@@ -65,13 +72,11 @@ package("c-blosc2")
             table.insert(configs, "-DDEACTIVATE_" .. upper .. (package:config(deps) and "=OFF" or "=ON"))
         end
         import("package.tools.cmake").install(package, configs)
-        -- remove crt dll
-        if package:is_plat("windows") then
-            for _, dll in ipairs(os.files(path.join(package:installdir("bin"), "*.dll"))) do
-                if not path.filename(dll):find("blosc2") then
-                    os.rm(dll)
-                end
-            end
+
+        if package:is_plat("windows") and package:config("shared") then
+            io.replace(path.join(package:installdir(), "include/blosc2/blosc2-export.h"),
+                "#define BLOSC_EXPORT\n",
+                "#define BLOSC_EXPORT __declspec(dllimport)\n", {plain = true})
         end
     end)