Explorar o código

add lcms, lzma as well as update to previous packages (#175)

* add lcms

* add lzma

* update libpng

* modify vulkan-headers support non-stable versions

* update libtiff

* update libpng versions
Hoildkv %!s(int64=4) %!d(string=hai) anos
pai
achega
472b94ec31

+ 36 - 0
packages/l/lcms/xmake.lua

@@ -0,0 +1,36 @@
+package("lcms")
+
+    set_homepage("https://www.littlecms.com/")
+    set_description("A free, open source, CMM engine.")
+    set_license("MIT")
+
+    add_urls("https://github.com/mm2/Little-CMS/archive/$(version).tar.gz")
+    add_versions("2.11", "478c9c3938d7a91b1171de4616f8b04308a8676d73eadc19505b7ace41327f28")
+
+    on_install("windows", function (package)
+        io.writefile("xmake.lua", [[
+            add_rules("mode.debug", "mode.release")
+            target("lcms2")
+                set_kind("$(kind)")
+                add_files("src/*.c")
+                add_includedirs("include")
+                add_headerfiles("include/(*.h)")
+        ]])
+        import("package.tools.xmake").install(package, {kind = package:config("shared") and "shared" or "static"})
+    end)
+
+    on_install("macosx", "linux", function (package)
+        local configs = {"--with-pic"}
+        if package:config("shared") then
+            table.insert(configs, "--enable-shared=yes")
+            table.insert(configs, "--enable-static=no")
+        else
+            table.insert(configs, "--enable-static=yes")
+            table.insert(configs, "--enable-shared=no")
+        end
+        import("package.tools.autoconf").install(package, configs)
+    end)
+
+    on_test(function (package)
+        assert(package:has_cfuncs("cmsXYZ2xyY", {includes = "lcms2.h"}))
+    end)

+ 21 - 9
packages/l/libpng/xmake.lua

@@ -5,6 +5,7 @@ package("libpng")
 
     set_urls("https://github.com/glennrp/libpng/archive/$(version).zip",
              "https://github.com/glennrp/libpng.git")
+    add_versions("v1.6.37", "c2c50c13a727af73ecd3fc0167d78592cf5e0bca9611058ca414b6493339c784")
     add_versions("v1.6.36", "6274d3f761cc80f7f6e2cde6c07bed10c00bc4ddd24c4f86e25eb51affa1664d")
     add_versions("v1.6.35", "3d22d46c566b1761a0e15ea397589b3a5f36ac09b7c785382e6470156c04247f")
     add_versions("v1.6.34", "7ffa5eb8f9f3ed23cf107042e5fec28699718916668bbce48b968600475208d3")
@@ -15,21 +16,24 @@ package("libpng")
         add_deps("cmake")
     end
 
-    if is_plat("windows") then
-        add_links("libpng16_static")
-    else
-        add_links("png")
-    end
-
     on_install("windows", function (package)
         local configs = {"-DPNG_TESTS=OFF",
-                         "-DPNG_SHARED=OFF",
+                         "-DPNG_SHARED=" .. (package:config("shared") and "ON" or "OFF"),
+                         "-DPNG_STATIC=" .. (package:config("shared") and "OFF" or "ON"),
                          "-DPNG_DEBUG=" .. (package:debug() and "ON" or "OFF")}
         import("package.tools.cmake").install(package, configs)
     end)
 
     on_install("macosx", "linux", function (package)
-        import("package.tools.autoconf").install(package, {"--disable-dependency-tracking", "--disable-silent-rules", "--enable-shared=no"})
+        local configs = {"--disable-dependency-tracking", "--disable-silent-rules"}
+        if package:config("shared") then
+            table.insert(configs, "--enable-shared=yes")
+            table.insert(configs, "--enable-static=no")
+        else
+            table.insert(configs, "--enable-static=yes")
+            table.insert(configs, "--enable-shared=no")
+        end
+        import("package.tools.autoconf").install(package, configs)
     end)
 
     on_install("iphoneos", "android@linux,macosx", function (package)
@@ -40,7 +44,15 @@ package("libpng")
             envs.CPPFLAGS = (envs.CPPFLAGS or "") .. " -I" .. os.args(path.join(zlib:installdir(), "include"))
             envs.LDFLAGS = (envs.LDFLAGS or "") .. " -L" .. os.args(path.join(zlib:installdir(), "lib"))
         end
-        autoconf.install(package, {"--disable-dependency-tracking", "--disable-silent-rules", "--enable-shared=no"}, {envs = envs})
+        local configs = {"--disable-dependency-tracking", "--disable-silent-rules"}
+        if package:config("shared") then
+            table.insert(configs, "--enable-shared=yes")
+            table.insert(configs, "--enable-static=no")
+        else
+            table.insert(configs, "--enable-static=yes")
+            table.insert(configs, "--enable-shared=no")
+        end
+        autoconf.install(package, configs, {envs = envs})
     end)
 
     on_test(function (package)

+ 12 - 4
packages/l/libtiff/xmake.lua

@@ -7,18 +7,26 @@ package("libtiff")
              "https://fossies.org/linux/misc/tiff-$(version).tar.gz")
     add_versions("4.1.0", "5d29f32517dadb6dbcd1255ea5bbc93a2b54b94fbf83653b4d65c7d6775b8634")
 
-    add_links("tiff")
-
+    add_deps("zlib")
     if is_plat("windows") then
         add_deps("cmake")
     end
 
     on_install("windows", function (package)
-        import("package.tools.cmake").install(package)
+        local configs = {}
+        table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
+        import("package.tools.cmake").install(package, configs)
     end)
 
     on_install("macosx", "linux", function (package)
-        local configs = {"--disable-dependency-tracking", "--disable-lzma", "--without-x"}
+        local configs = {"--disable-dependency-tracking", "--disable-lzma", "--disable-webp", "--disable-jpeg", "--disable-zstd", "--disable-old-jpeg", "--disable-jbig", "--disable-pixarlog", "--without-x"}
+        if package:config("shared") then
+            table.insert(configs, "--enable-shared=yes")
+            table.insert(configs, "--enable-static=no")
+        else
+            table.insert(configs, "--enable-static=yes")
+            table.insert(configs, "--enable-shared=no")
+        end
         import("package.tools.autoconf").install(package, configs)
     end)
 

+ 29 - 0
packages/l/lzma/xmake.lua

@@ -0,0 +1,29 @@
+package("lzma")
+
+    set_homepage("https://www.7-zip.org/sdk.html")
+    set_description("LZMA SDK")
+
+    add_urls("https://www.7-zip.org/a/lzma1900.7z", {version = function (version) return version:gsub("%.", "") end})
+    add_versions("19.00", "00f569e624b3d9ed89cf8d40136662c4c5207eaceb92a70b1044c77f84234bad")
+
+    on_install("windows", "linux", "macosx", function (package)
+        os.cd("C")
+        io.writefile("xmake.lua", [[
+            add_rules("mode.debug", "mode.release")
+            target("lzma")
+                set_kind("$(kind)")
+                add_files("Alloc.c", "LzFind.c",  "Lzma2Dec.c", "Lzma2Enc.c", "LzmaDec.c", "LzmaEnc.c", "LzmaLib.c")
+                add_headerfiles("7zTypes.h", "LzFind.h", "LzHash.h", "Lzma2Dec.h", "Lzma2Enc.h", "LzmaDec.h", "LzmaEnc.h", "LzmaLib.h")
+                if is_plat("windows") then
+                    add_files("LzFindMt.c", "MtCoder.c", "MtDec.c", "Threads.c", "DllSecur.c", "Lzma2DecMt.c")
+                    add_headerfiles("LzFindMt.h", "Lzma2DecMt.h")
+                else
+                    add_defines("_7ZIP_ST")
+                end
+        ]])
+        import("package.tools.xmake").install(package, {kind = package:config("shared") and "shared" or "static"})
+    end)
+
+    on_test(function (package)
+        assert(package:has_cfuncs("LzmaCompress", {includes = "LzmaLib.h"}))
+    end)

+ 3 - 2
packages/v/vulkan-headers/xmake.lua

@@ -4,9 +4,10 @@ package("vulkan-headers")
     set_description("Vulkan Header files and API registry")
     set_license("Apache-2.0")
 
-    add_urls("https://github.com/KhronosGroup/Vulkan-Headers/archive/$(version).tar.gz")
-    add_versions("v1.2.154", "b636f0ace2c2b8a7dbdfddf16c53c1f49a4b39d6da562727bfea00b5ec447537")
+    add_urls("https://github.com/KhronosGroup/Vulkan-Headers/archive/$(version).tar.gz", {version = function (version) return version:startswith("v") and version or "sdk-" .. version:gsub("%+", ".") end})
     add_versions("v1.2.162", "deab1a7a28ad3e0a7a0a1c4cd9c54758dce115a5f231b7205432d2bbbfb4d456")
+    add_versions("v1.2.154", "b636f0ace2c2b8a7dbdfddf16c53c1f49a4b39d6da562727bfea00b5ec447537")
+    add_versions("1.2.154+0", "a0528ade4dd3bd826b960ba4ccabc62e92ecedc3c70331b291e0a7671b3520f9")
 
     add_deps("cmake")