add and improve acl, attr and rsync (#577)

* update pkgconf

* add attr

* add acl

* resolve conflict between lz4 and zstd

* add rsync

* update linux-headers

* allow xxhash to be build on all platforms

* improve acl and attr

Co-authored-by: xq114 <1140735506@qq.com>
pull/580/head
ruki 3 years ago committed by GitHub
parent d8ac66838e
commit df6cad5cf5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 40
      packages/a/acl/xmake.lua
  2. 23
      packages/a/attr/xmake.lua
  3. 3
      packages/l/linux-headers/xmake.lua
  4. 6
      packages/l/lz4/xmake.lua
  5. 9
      packages/p/pkgconf/xmake.lua
  6. 35
      packages/r/rsync/xmake.lua
  7. 4
      packages/x/xxhash/xmake.lua
  8. 7
      packages/z/zstd/xmake.lua

@ -0,0 +1,40 @@
package("acl")
set_homepage("http://savannah.nongnu.org/projects/acl/")
set_description("Commands for Manipulating POSIX Access Control Lists")
set_license("GPL-2.0")
add_urls("http://download.savannah.nongnu.org/releases/acl/acl-$(version).tar.gz")
add_versions("2.3.1", "760c61c68901b37fdd5eefeeaf4c0c7a26bdfdd8ac747a1edff1ce0e243c11af")
add_deps("pkgconf", "attr")
on_install("linux", function (package)
local configs = {}
table.insert(configs, "--enable-shared=" .. (package:config("shared") and "yes" or "no"))
table.insert(configs, "--enable-static=" .. (package:config("shared") and "no" or "yes"))
if package:config("pic") ~= false then
table.insert(configs, "--with-pic")
end
local cflags = {}
local ldflags = {}
for _, dep in ipairs(package:orderdeps()) do
local fetchinfo = dep:fetch()
if fetchinfo then
for _, includedir in ipairs(fetchinfo.includedirs or fetchinfo.sysincludedirs) do
table.insert(cflags, "-I" .. includedir)
end
for _, linkdir in ipairs(fetchinfo.linkdirs) do
table.insert(ldflags, "-L" .. linkdir)
end
for _, link in ipairs(fetchinfo.links) do
table.insert(ldflags, "-l" .. link)
end
end
end
import("package.tools.autoconf").install(package, configs, {cflags = cflags, ldflags = ldflags})
end)
on_test(function (package)
assert(package:has_cfuncs("acl_check", {includes = "acl/libacl.h"}))
end)

@ -0,0 +1,23 @@
package("attr")
set_homepage("https://savannah.nongnu.org/projects/attr")
set_description("Commands for Manipulating Filesystem Extended Attributes")
set_license("GPL-2.0")
add_urls("http://download.savannah.nongnu.org/releases/attr/attr-$(version).tar.gz")
add_versions("2.5.1", "bae1c6949b258a0d68001367ce0c741cebdacdd3b62965d17e5eb23cd78adaf8")
on_install("linux", function (package)
local configs = {}
table.insert(configs, "--enable-shared=" .. (package:config("shared") and "yes" or "no"))
table.insert(configs, "--enable-static=" .. (package:config("shared") and "no" or "yes"))
if package:config("pic") ~= false then
table.insert(configs, "--with-pic")
end
import("package.tools.autoconf").install(package)
print(os.files(package:installdir("**")))
end)
on_test(function (package)
assert(package:has_cfuncs("attr_copy_file", {includes = "attr/libattr.h"}))
end)

@ -12,6 +12,9 @@ package("linux-headers")
add_versions("4.20.9", "b5de28fd594a01edacd06e53491ad0890293e5fbf98329346426cf6030ef1ea6") add_versions("4.20.9", "b5de28fd594a01edacd06e53491ad0890293e5fbf98329346426cf6030ef1ea6")
add_versions("5.0.8", "11908044e8cce1e093141f8da594708d45d05d0381676ae9aa3d8aeaf7c85435") add_versions("5.0.8", "11908044e8cce1e093141f8da594708d45d05d0381676ae9aa3d8aeaf7c85435")
add_versions("5.9.16", "b0d7abae88e5f91893627c645e680a95c818defd1b4fcaf3e2afb4b2b6b4ab86") add_versions("5.9.16", "b0d7abae88e5f91893627c645e680a95c818defd1b4fcaf3e2afb4b2b6b4ab86")
add_versions("5.10.46", "569122a39c6b325befb9ac1c07da0c53e6363b3baacd82081d131b06c1dc1415")
add_deps("rsync")
on_install("@linux", function (package) on_install("@linux", function (package)
os.vrunv("make", {"headers_install", "INSTALL_HDR_PATH=" .. package:installdir()}) os.vrunv("make", {"headers_install", "INSTALL_HDR_PATH=" .. package:installdir()})

@ -7,6 +7,8 @@ package("lz4")
"https://github.com/lz4/lz4.git") "https://github.com/lz4/lz4.git")
add_versions("v1.9.3", "030644df4611007ff7dc962d981f390361e6c97a34e5cbc393ddfbe019ffe2c1") add_versions("v1.9.3", "030644df4611007ff7dc962d981f390361e6c97a34e5cbc393ddfbe019ffe2c1")
add_deps("xxhash")
on_load("windows", function (package) on_load("windows", function (package)
if package:config("shared") then if package:config("shared") then
package:add("defines", "LZ4_DLL_IMPORT") package:add("defines", "LZ4_DLL_IMPORT")
@ -16,10 +18,12 @@ package("lz4")
on_install(function (package) on_install(function (package)
io.writefile("xmake.lua", [[ io.writefile("xmake.lua", [[
add_rules("mode.debug", "mode.release") add_rules("mode.debug", "mode.release")
add_requires("xxhash")
target("lz4") target("lz4")
set_kind("$(kind)") set_kind("$(kind)")
add_files("lib/*.c") add_files("lib/*.c|xxhash.c")
add_headerfiles("lib/lz4.h", "lib/lz4hc.h", "lib/lz4frame.h") add_headerfiles("lib/lz4.h", "lib/lz4hc.h", "lib/lz4frame.h")
add_packages("xxhash")
if is_kind("shared") and is_plat("windows") then if is_kind("shared") and is_plat("windows") then
add_defines("LZ4_DLL_EXPORT") add_defines("LZ4_DLL_EXPORT")
end end

@ -5,19 +5,14 @@ package("pkgconf")
add_urls("https://distfiles.dereferenced.org/pkgconf/pkgconf-$(version).tar.xz") add_urls("https://distfiles.dereferenced.org/pkgconf/pkgconf-$(version).tar.xz")
add_versions("1.7.4", "d73f32c248a4591139a6b17777c80d4deab6b414ec2b3d21d0a24be348c476ab") add_versions("1.7.4", "d73f32c248a4591139a6b17777c80d4deab6b414ec2b3d21d0a24be348c476ab")
add_versions("1.8.0", "ef9c7e61822b7cb8356e6e9e1dca58d9556f3200d78acab35e4347e9d4c2bbaf")
if is_plat("windows") then if is_plat("windows") then
add_deps("meson", "ninja") add_deps("meson", "ninja")
end end
on_install("linux", "bsd", function(package) on_install("linux", "bsd", function(package)
local configs = {} import("package.tools.autoconf").install(package)
table.insert(configs, "--enable-shared=" .. (package:config("shared") and "yes" or "no"))
table.insert(configs, "--enable-static=" .. (package:config("shared") and "no" or "yes"))
if package:config("pic") ~= false then
table.insert(configs, "--with-pic")
end
import("package.tools.autoconf").install(package, configs)
end) end)
on_install("windows", function(package) on_install("windows", function(package)

@ -0,0 +1,35 @@
package("rsync")
set_kind("binary")
set_homepage("https://rsync.samba.org/")
set_description("rsync is an open source utility that provides fast incremental file transfer.")
set_license("GPL-3.0")
add_urls("https://download.samba.org/pub/rsync/src/rsync-$(version).tar.gz")
add_versions("3.2.3", "becc3c504ceea499f4167a260040ccf4d9f2ef9499ad5683c179a697146ce50e")
add_deps("openssl", "xxhash", "lz4", "acl", "zstd", {host = true})
on_install("linux", function (package)
local cxflags = {}
local ldflags = {}
for _, dep in ipairs(package:orderdeps()) do
local fetchinfo = dep:fetch()
if fetchinfo then
for _, includedir in ipairs(fetchinfo.includedirs or fetchinfo.sysincludedirs) do
table.insert(cxflags, "-I" .. includedir)
end
for _, linkdir in ipairs(fetchinfo.linkdirs) do
table.insert(ldflags, "-L" .. linkdir)
end
for _, link in ipairs(fetchinfo.links) do
table.insert(ldflags, "-l" .. link)
end
end
end
import("package.tools.autoconf").install(package, configs, {cxflags = cxflags, ldflags = ldflags})
end)
on_test(function (package)
os.vrun("rsync --version")
end)

@ -4,13 +4,13 @@ package("xxhash")
set_description("xxHash is an extremely fast non-cryptographic hash algorithm, working at RAM speed limit.") set_description("xxHash is an extremely fast non-cryptographic hash algorithm, working at RAM speed limit.")
set_license("BSD-2-Clause") set_license("BSD-2-Clause")
add_urls("https://github.com/Cyan4973/xxHash/archive/refs/tags/v0.8.0.tar.gz", add_urls("https://github.com/Cyan4973/xxHash/archive/refs/tags/$(version).tar.gz",
"https://github.com/Cyan4973/xxHash.git") "https://github.com/Cyan4973/xxHash.git")
add_versions("v0.8.0", "7054c3ebd169c97b64a92d7b994ab63c70dd53a06974f1f630ab782c28db0f4f") add_versions("v0.8.0", "7054c3ebd169c97b64a92d7b994ab63c70dd53a06974f1f630ab782c28db0f4f")
add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true}) add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true})
on_install("windows", "macosx", "linux", function (package) on_install(function (package)
io.writefile("xmake.lua", [[ io.writefile("xmake.lua", [[
add_rules("mode.debug", "mode.release") add_rules("mode.debug", "mode.release")
target("xxhash") target("xxhash")

@ -6,15 +6,20 @@ package("zstd")
set_urls("https://github.com/facebook/zstd/archive/$(version).tar.gz", set_urls("https://github.com/facebook/zstd/archive/$(version).tar.gz",
"https://github.com/facebook/zstd.git") "https://github.com/facebook/zstd.git")
add_versions("v1.4.5", "734d1f565c42f691f8420c8d06783ad818060fc390dee43ae0a89f86d0a4f8c2") add_versions("v1.4.5", "734d1f565c42f691f8420c8d06783ad818060fc390dee43ae0a89f86d0a4f8c2")
add_versions("v1.5.0", "0d9ade222c64e912d6957b11c923e214e2e010a18f39bec102f572e693ba2867")
add_deps("xxhash")
on_install(function (package) on_install(function (package)
io.writefile("xmake.lua", [[ io.writefile("xmake.lua", [[
add_rules("mode.debug", "mode.release") add_rules("mode.debug", "mode.release")
add_requires("xxhash")
target("zstd") target("zstd")
set_kind("$(kind)") set_kind("$(kind)")
add_files("lib/common/*.c") add_files("lib/common/*.c|xxhash.c")
add_files("lib/compress/*.c") add_files("lib/compress/*.c")
add_files("lib/decompress/*.c") add_files("lib/decompress/*.c")
add_packages("xxhash")
add_headerfiles("lib/zstd.h") add_headerfiles("lib/zstd.h")
if is_kind("shared") and is_plat("windows") then if is_kind("shared") and is_plat("windows") then
add_defines("ZSTD_DLL_EXPORT") add_defines("ZSTD_DLL_EXPORT")

Loading…
Cancel
Save