Skip to content

Commit 5e3aaf4

Browse files
committed
xz
1 parent acdc5f2 commit 5e3aaf4

File tree

1 file changed

+68
-55
lines changed

1 file changed

+68
-55
lines changed

packages/x/xz/xmake.lua

Lines changed: 68 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -3,69 +3,82 @@ package("xz")
33
set_homepage("https://tukaani.org/xz/")
44
set_description("General-purpose data compression with high compression ratio.")
55

6-
set_urls("https://downloads.sourceforge.net/project/lzmautils/xz-$(version).tar.gz",
7-
"https://tukaani.org/xz/xz-$(version).tar.gz")
8-
add_versions("5.4.6", "aeba3e03bf8140ddedf62a0a367158340520f6b384f75ca6045ccc6c0d43fd5c")
9-
add_versions("5.2.5", "f6f4910fd033078738bd82bfba4f49219d03b17eb0794eb91efbae419f4aba10")
10-
add_versions("5.2.10", "eb7a3b2623c9d0135da70ca12808a214be9c019132baaa61c9e1d198d1d9ded3")
11-
add_versions("5.4.1", "e4b0f81582efa155ccf27bb88275254a429d44968e488fc94b806f2a61cd3e22")
6+
add_urls("https://downloads.sourceforge.net/project/lzmautils/xz-$(version).tar.gz",
7+
"https://tukaani.org/xz/xz-$(version).tar.gz", {alias = "sourceforge"})
8+
add_urls("https://github.com/tukaani-project/xz/archive/refs/tags/$(version).tar.gz",
9+
"https://github.com/tukaani-project/xz.git", {alias = "github"})
10+
11+
add_versions("github:v5.8.1", "bdbc23fbf9098843357e71e49685724fda2c320c29cb1b25fd90505f14bb0b3d")
12+
13+
add_versions("sourceforge:5.8.1", "507825b599356c10dca1cd720c9d0d0c9d5400b9de300af00e4d1ea150795543")
14+
add_versions("sourceforge:5.4.6", "aeba3e03bf8140ddedf62a0a367158340520f6b384f75ca6045ccc6c0d43fd5c")
15+
add_versions("sourceforge:5.4.1", "e4b0f81582efa155ccf27bb88275254a429d44968e488fc94b806f2a61cd3e22")
16+
add_versions("sourceforge:5.2.10", "eb7a3b2623c9d0135da70ca12808a214be9c019132baaa61c9e1d198d1d9ded3")
17+
add_versions("sourceforge:5.2.5", "f6f4910fd033078738bd82bfba4f49219d03b17eb0794eb91efbae419f4aba10")
18+
19+
add_deps("cmake")
1220

1321
on_load(function (package)
1422
if package:is_plat("windows") and not package:config("shared") then
1523
package:add("defines", "LZMA_API_STATIC")
1624
end
1725
end)
1826

19-
on_install("windows", "mingw@windows,msys", function (package)
20-
io.writefile("xmake.lua", [[
21-
add_rules("mode.release", "mode.debug")
22-
target("lzma")
23-
set_kind("$(kind)")
24-
add_defines("HAVE_CONFIG_H")
25-
add_includedirs("src/common",
26-
"src/liblzma/common",
27-
"src/liblzma/api",
28-
"src/liblzma/check",
29-
"src/liblzma/delta",
30-
"src/liblzma/lz",
31-
"src/liblzma/lzma",
32-
"src/liblzma/rangecoder",
33-
"src/liblzma/simple",
34-
--2013/2017/2019 config.h is the same
35-
"windows/vs2013")
36-
add_files("src/common/tuklib_cpucores.c",
37-
"src/common/tuklib_physmem.c",
38-
"src/liblzma/check/*.c|*_small.c|*_tablegen.c",
39-
"src/liblzma/common/*.c",
40-
"src/liblzma/delta/*.c",
41-
"src/liblzma/lzma/*.c|*_tablegen.c",
42-
"src/liblzma/lz/*.c",
43-
"src/liblzma/rangecoder/price_table.c",
44-
"src/liblzma/simple/*.c")
45-
if is_kind("shared") and is_plat("windows") then
46-
add_defines("DLL_EXPORT")
47-
end
48-
add_headerfiles("src/liblzma/api/*.h")
49-
add_headerfiles("src/liblzma/api/(lzma/*.h)")
50-
]])
51-
import("package.tools.xmake").install(package)
52-
end)
53-
54-
on_install("macosx", "linux", "mingw@linux,macosx", function (package)
55-
local configs = {"--disable-dependency-tracking", "--disable-silent-rules"}
56-
if package:debug() then
57-
table.insert(configs, "--enable-debug")
58-
end
59-
if package:config("shared") then
60-
table.insert(configs, "--enable-static=no")
61-
table.insert(configs, "--enable-shared=yes")
27+
on_install(function (package)
28+
if package:gitref() or (package:version() and package:version():gt("5.2.5")) then
29+
local configs = {}
30+
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
31+
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
32+
import("package.tools.cmake").install(package, configs)
33+
elseif package:is_plat("windows", "mingw") then
34+
io.writefile("xmake.lua", [[
35+
add_rules("mode.release", "mode.debug")
36+
target("lzma")
37+
set_kind("$(kind)")
38+
add_defines("HAVE_CONFIG_H")
39+
add_includedirs("src/common",
40+
"src/liblzma/common",
41+
"src/liblzma/api",
42+
"src/liblzma/check",
43+
"src/liblzma/delta",
44+
"src/liblzma/lz",
45+
"src/liblzma/lzma",
46+
"src/liblzma/rangecoder",
47+
"src/liblzma/simple",
48+
--2013/2017/2019 config.h is the same
49+
"windows/vs2013")
50+
add_files("src/common/tuklib_cpucores.c",
51+
"src/common/tuklib_physmem.c",
52+
"src/liblzma/check/*.c|*_small.c|*_tablegen.c",
53+
"src/liblzma/common/*.c",
54+
"src/liblzma/delta/*.c",
55+
"src/liblzma/lzma/*.c|*_tablegen.c",
56+
"src/liblzma/lz/*.c",
57+
"src/liblzma/rangecoder/price_table.c",
58+
"src/liblzma/simple/*.c")
59+
if is_kind("shared") and is_plat("windows") then
60+
add_defines("DLL_EXPORT")
61+
end
62+
add_headerfiles("src/liblzma/api/*.h")
63+
add_headerfiles("src/liblzma/api/(lzma/*.h)")
64+
]])
65+
import("package.tools.xmake").install(package)
6266
else
63-
table.insert(configs, "--enable-static=yes")
64-
table.insert(configs, "--enable-shared=no")
65-
end
66-
import("package.tools.autoconf").install(package, configs)
67-
if not package:is_cross() then
68-
package:addenv("PATH", "bin")
67+
local configs = {"--disable-dependency-tracking", "--disable-silent-rules"}
68+
if package:debug() then
69+
table.insert(configs, "--enable-debug")
70+
end
71+
if package:config("shared") then
72+
table.insert(configs, "--enable-static=no")
73+
table.insert(configs, "--enable-shared=yes")
74+
else
75+
table.insert(configs, "--enable-static=yes")
76+
table.insert(configs, "--enable-shared=no")
77+
end
78+
import("package.tools.autoconf").install(package, configs)
79+
if not package:is_cross() then
80+
package:addenv("PATH", "bin")
81+
end
6982
end
7083
end)
7184

0 commit comments

Comments
 (0)