@@ -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