add libfuse, libfabric, ucx, mpich (#579)

* update autoconf

* update leptonica

* add libxnvctrl

* add libfuse

* add libfabric

* add ucx

* add mpich
pull/580/head
Hoildkv 3 years ago committed by GitHub
parent 5ff67da583
commit d09cd552c3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 15
      packages/a/autoconf/xmake.lua
  2. 6
      packages/g/gmp/xmake.lua
  3. 1
      packages/l/leptonica/xmake.lua
  4. 27
      packages/l/libfabric/xmake.lua
  5. 24
      packages/l/libfuse/xmake.lua
  6. 40
      packages/l/libxnvctrl/xmake.lua
  7. 2
      packages/m/m4/xmake.lua
  8. 48
      packages/m/mpich/xmake.lua
  9. 31
      packages/u/ucx/xmake.lua

@ -4,12 +4,15 @@ package("autoconf")
set_homepage("https://www.gnu.org/software/autoconf/autoconf.html")
set_description("An extensible package of M4 macros that produce shell scripts to automatically configure software source code packages.")
if is_host("macosx", "linux") then
add_urls("http://ftp.gnu.org/gnu/autoconf/autoconf-$(version).tar.gz",
"https://mirrors.ustc.edu.cn/gnu/autoconf/autoconf-$(version).tar.gz",
"git://git.sv.gnu.org/autoconf")
add_versions("2.69", "954bd69b391edc12d6a4a51a2dd1476543da5c6bbf05a95b59dc0dd6fd4c2969")
add_versions("2.68", "eff70a2916f2e2b3ed7fe8a2d7e63d72cf3a23684b56456b319c3ebce0705d99")
add_urls("http://ftp.gnu.org/gnu/autoconf/autoconf-$(version).tar.gz",
"https://mirrors.ustc.edu.cn/gnu/autoconf/autoconf-$(version).tar.gz",
"git://git.sv.gnu.org/autoconf")
add_versions("2.68", "eff70a2916f2e2b3ed7fe8a2d7e63d72cf3a23684b56456b319c3ebce0705d99")
add_versions("2.69", "954bd69b391edc12d6a4a51a2dd1476543da5c6bbf05a95b59dc0dd6fd4c2969")
add_versions("2.71", "431075ad0bf529ef13cb41e9042c542381103e80015686222b8a9d4abef42a1c")
if is_host("linux") then
add_extsources("apt::autoconf")
end
add_deps("m4")

@ -7,7 +7,11 @@ package("gmp")
add_urls("https://gmplib.org/download/gmp/gmp-$(version).tar.xz")
add_versions("6.2.1", "fd4829912cddd12f84181c3451cc752be224643e87fac497b69edddadc49b4f2")
add_deps("autoconf")
if is_plat("linux") then
add_extsources("apt::libgmp-dev")
end
add_deps("m4")
on_install("macosx", "linux", function (package)
local configs = {}

@ -7,6 +7,7 @@ package("leptonica")
add_urls("https://github.com/DanBloomberg/leptonica/archive/$(version).tar.gz",
"https://github.com/DanBloomberg/leptonica.git")
add_versions("1.80.0", "3952b974ec057d24267aae48c54bca68ead8275604bf084a73a4b953ff79196e")
add_versions("1.81.1", "e9dd2100194843a20bbb980ad8b94610558d47f623861bc80ac967f2d2ecb879")
add_deps("cmake")
add_deps("libwebp", {configs = {img2webp = true, webpmux = true}})

@ -0,0 +1,27 @@
package("libfabric")
set_homepage("https://ofiwg.github.io/libfabric/")
set_description("Open Fabric Interfaces")
set_license("BSD-2-Clause")
add_urls("https://github.com/ofiwg/libfabric/releases/download/v$(version)/libfabric-$(version).tar.bz2")
add_versions("1.13.0", "0c68264ae18de5c31857724c754023351614330bd61a50b40cef2b5e8f63ab28")
if is_plat("linux") then
add_syslinks("pthread", "dl", "rt")
add_extsources("apt::libfabric-dev")
end
on_install("macosx", "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, configs)
end)
on_test(function (package)
assert(package:has_cfuncs("fi_getinfo", {includes = "rdma/fabric.h"}))
end)

@ -0,0 +1,24 @@
package("libfuse")
set_homepage("https://github.com/libfuse/libfuse")
set_description("FUSE (Filesystem in Userspace) is an interface for userspace programs to export a filesystem to the Linux kernel.")
set_license("GPL-2.0")
add_urls("https://github.com/libfuse/libfuse/releases/download/fuse-$(version)/fuse-$(version).tar.xz")
add_versions("3.10.4", "9365b74fd8471caecdb3cc5adf25a821f70a931317ee9103d15bd39089e3590d")
if is_plat("linux") then
add_extsources("apt::fuse3")
add_syslinks("pthread", "dl", "rt")
end
add_deps("meson")
on_install("linux", function (package)
local configs = {"-Dtests=false", "-Dexamples=false", "-Dutils=false"}
table.insert(configs, "-Ddefault_library=" .. (package:config("shared") and "shared" or "static"))
import("package.tools.meson").install(package, configs)
end)
on_test(function (package)
assert(package:has_cfuncs("fuse_version", {configs = {defines = {"FUSE_USE_VERSION=30"}}, includes = "fuse3/fuse.h"}))
end)

@ -0,0 +1,40 @@
package("libxnvctrl")
set_homepage("https://www.nvidia.com/en-us/drivers/unix/")
set_description("NVIDIA driver control panel")
if is_plat("linux") then
add_extsources("apt::libxnvctrl-dev")
end
on_fetch("linux", function (package, opt)
if opt.system then
import("lib.detect.find_path")
import("lib.detect.find_library")
-- init search paths
local paths = {
"/usr"
}
-- find library
local result = {links = {}, linkdirs = {}, includedirs = {}}
local arch = package:is_arch("x86_64") and "x86_64" or "x86"
local archsuffix = arch .. "-linux-gnu"
local linkinfo = find_library("XNVCtrl", paths, {suffixes = {"lib", path.join("lib", archsuffix)}})
if linkinfo then
table.insert(result.linkdirs, linkinfo.linkdir)
table.insert(result.links, "XNVCtrl")
end
result.linkdirs = table.unique(result.linkdirs)
-- find headers
local path = find_path("NVCtrl/NVCtrl.h", paths, {suffixes = "include"})
if path then
table.insert(result.includedirs, path)
end
if #result.includedirs > 0 and #result.linkdirs > 0 then
return result
end
end
end)

@ -13,6 +13,8 @@ package("m4")
-- fix crash from usage of %n in dynamic format strings on High Sierra
-- patch credit to Jeremy Huddleston Sequoia <jeremyhu@apple.com>
add_patches("1.4.18", path.join(os.scriptdir(), "patches", "1.4.18", "secure_snprintf.patch"), "c0a408fbffb7255fcc75e26bd8edab116fc81d216bfd18b473668b7739a4158e")
elseif is_host("linux") then
add_extsources("apt::m4")
end
on_install("@macosx", "@linux", "@msys", "@cygwin", function (package)

@ -0,0 +1,48 @@
package("mpich")
set_homepage("https://www.mpich.org/")
set_description("MPICH is a high performance and widely portable implementation of the Message Passing Interface (MPI) standard.")
add_urls("http://www.mpich.org/static/downloads/$(version)/mpich-$(version).tar.gz")
add_versions("3.4.2", "5c19bea8b84e8d74cca5f047e82b147ff3fba096144270e3911ad623d6c587bf")
add_configs("device", {description = "Specify the communication device for MPICH.", default = "ofi", type = "string", values = {"ofi", "ucx"}})
add_configs("x11", {description = "Use the X Window System.", default = false, type = "boolean"})
if is_plat("linux") then
add_extsources("apt::libmpich-dev")
add_syslinks("pthread", "dl", "rt")
end
add_deps("hwloc")
on_load("macosx", "linux", function (package)
if package:config("x11") then
package:add("deps", "libx11")
package:add("deps", "libxnvctrl", {system = true, optional = true})
end
end)
on_install("macosx", "linux", function (package)
local configs = {"--disable-fortran",
"--without-slurm",
"--without-xpmem",
"--without-hcoll",
"--without-blcr",
"--without-papi",
"--without-pmix"}
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
table.insert(configs, "--with-device=ch4:" .. package:config("device"))
table.insert(configs, "--with-hwloc-prefix=" .. package:dep("hwloc"):installdir())
table.insert(configs, "--with-x=" .. (package:config("x11") and "yes" or "no"))
import("package.tools.autoconf").install(package, configs)
package:addenv("PATH", "bin")
end)
on_test(function (package)
os.vrun("mpicc --version")
assert(package:has_cfuncs("MPI_Init", {includes = "mpi.h"}))
end)

@ -0,0 +1,31 @@
package("ucx")
set_homepage("https://openucx.org/")
set_description("Unified Communication X")
set_license("BSD-3-Clause")
add_urls("https://github.com/openucx/ucx/releases/download/v$(version)/ucx-$(version).tar.gz")
add_versions("1.11.0", "b7189b69fe0e16e3c03784ef674e45687a9c520750bd74a45125c460ede37647")
add_configs("cuda", {description = "Enable CUDA support.", default = false, type = "boolean"})
on_load("linux", function (package)
if package:config("cuda") then
package:add("deps", "cuda")
end
end)
on_install("linux", function (package)
local configs = {"--disable-doxygen-doc", "--without-java", "--without-rte", "--without-fuse3", "--without-gdrcopy", "--without-rdmacm", "--without-knem", "--without-xpmem", "--without-ugni"}
if package:config("cuda") then
local cuda = package:dep("cuda"):fetch()
table.insert(configs, "--with-cuda=" .. path.directory(cuda.sysincludedirs[1]))
else
table.insert(configs, "--without-cuda")
end
import("package.tools.autoconf").install(package, configs)
end)
on_test(function (package)
assert(package:has_cfuncs("ucp_get_version_string", {includes = "ucp/api/ucp.h"}))
end)
Loading…
Cancel
Save