From 254f749b1d70efc72f91c6e59993bbce6d84d257 Mon Sep 17 00:00:00 2001 From: ruki Date: Fri, 14 Jan 2022 15:40:54 +0800 Subject: [PATCH] add lame (#905) * add lame * add bsd to nasm * fix lame --- packages/l/lame/xmake.lua | 28 ++++++++++++++++++++++++++++ packages/n/nasm/xmake.lua | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 packages/l/lame/xmake.lua diff --git a/packages/l/lame/xmake.lua b/packages/l/lame/xmake.lua new file mode 100644 index 000000000..ae9664d04 --- /dev/null +++ b/packages/l/lame/xmake.lua @@ -0,0 +1,28 @@ +package("lame") + set_homepage("https://lame.sourceforge.io/") + set_description("High quality MPEG Audio Layer III (MP3) encoder") + set_license("LGPL-2.0-or-later") + + add_urls("https://downloads.sourceforge.net/project/lame/lame/$(version)/lame-$(version).tar.gz") + add_versions("3.100", "ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175b1da1e") + + add_deps("nasm") + + on_install("linux", "macosx", "bsd", function (package) + local configs = {"--enable-nasm"} + table.insert(configs, "--enable-shared=" .. (package:config("shared") and "yes" or "no")) + if package:debug() then + table.insert(configs, "--enable-debug") + end + if package:is_plat("linux") and package:config("pic") ~= false then + table.insert(configs, "--with-pic") + end + -- fix undefined symbol error _lame_init_old + -- https://sourceforge.net/p/lame/mailman/message/36081038/ + io.replace("include/libmp3lame.sym", "lame_init_old\n", "", {plain = true}) + import("package.tools.autoconf").install(package, configs) + end) + + on_test(function (package) + assert(package:has_cfuncs("lame_encode_buffer", {includes = "lame/lame.h"})) + end) diff --git a/packages/n/nasm/xmake.lua b/packages/n/nasm/xmake.lua index 77044e45c..52c052c4a 100644 --- a/packages/n/nasm/xmake.lua +++ b/packages/n/nasm/xmake.lua @@ -24,7 +24,7 @@ package("nasm") os.cp(path.join("rdoff", "*.exe"), package:installdir("bin")) end) - on_install("@linux", "@macosx", function (package) + on_install("@linux", "@macosx", "@bsd", function (package) import("package.tools.autoconf").install(package) end)