package An official xmake package repository https://xrepo.xmake.io/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
1.3 KiB

package("libsndio")
set_homepage("https://sndio.org")
set_description("Sndio is a small audio and MIDI framework part of the OpenBSD project and ported to FreeBSD, Linux and NetBSD")
set_urls("https://sndio.org/sndio-$(version).tar.gz")
add_versions("1.9.0", "f30826fc9c07e369d3924d5fcedf6a0a53c0df4ae1f5ab50fe9cf280540f699a")
if is_plat("linux") then
add_deps("alsa-lib")
end
on_install("linux", "bsd", "macosx", function (package)
import("package.tools.autoconf")
local configs = {}
local buildenvs = autoconf.buildenvs(package, {packagedeps = "alsa-lib"})
if not package:config("shared") then
io.replace("libsndio/Makefile.in",
"${CC} ${LDFLAGS} ${SO_CFLAGS} ${SO_LDFLAGS} -o ${SO} ${OBJS} ${LDADD}",
"${AR} ${ARFLAGS} libsndio.a ${OBJS}", {plain = true})
io.replace("libsndio/Makefile.in", "cp -R ${SO} ${SO_LINK} ${DESTDIR}${LIB_DIR}",
"cp libsndio.a ${DESTDIR}${LIB_DIR}", {plain = true})
end
autoconf.configure(package, configs, {envs = buildenvs})
os.vrunv("make", {}, {envs = buildenvs})
os.vrunv("make", {"install"}, {envs = buildenvs})
end)
on_test(function (package)
assert(package:has_cfuncs("sio_open", {includes = "sndio.h"}))
end)