diff --git a/packages/f/ffmpeg/xmake.lua b/packages/f/ffmpeg/xmake.lua index 20e6c4313..db9ac9bde 100644 --- a/packages/f/ffmpeg/xmake.lua +++ b/packages/f/ffmpeg/xmake.lua @@ -9,6 +9,9 @@ package("ffmpeg") add_versions("home:4.0.2", "346c51735f42c37e0712e0b3d2f6476c86ac15863e4445d9e823fe396420d056") add_versions("github:4.0.2", "4df1ef0bf73b7148caea1270539ef7bd06607e0ea8aa2fbf1bb34062a097f026") + add_deps("x264", {optional = true}) + add_deps("x265", {optional = true}) + on_load(function (package) package:addvar("links", "avfilter", "avdevice", "avformat", "avcodec", "swscale", "swresample", "avutil") end) @@ -17,6 +20,7 @@ package("ffmpeg") local configs = {"--disable-ffmpeg", "--disable-ffplay", "--disable-debug", + "--enable-gpl", "--enable-version3", "--enable-hardcoded-tables", "--enable-avresample"} @@ -31,5 +35,11 @@ package("ffmpeg") if is_plat("macosx") and macos.version():ge("10.8") then table.insert(configs, "--enable-videotoolbox") end + if package:config("x264") ~= false and package:dep("x264"):exists() then + table.insert(configs, "--enable-libx264") + end + if package:config("x265") ~= false and package:dep("x265"):exists() then + table.insert(configs, "--enable-libx265") + end import("package.tools.autoconf").install(package, configs) end) diff --git a/packages/l/lua/xmake.lua b/packages/l/lua/xmake.lua new file mode 100644 index 000000000..b9c3edd99 --- /dev/null +++ b/packages/l/lua/xmake.lua @@ -0,0 +1,30 @@ +package("lua") + + set_homepage("http://lua.org") + set_description("A powerful, efficient, lightweight, embeddable scripting language.") + + set_urls("https://www.lua.org/ftp/lua-$(version).tar.gz", + "https://github.com/lua/lua.git") + + add_versions("5.3.5", "0c2eed3f960446e1a3e4b9a1ca2f3ff893b6ce41942cf54d5dd59ab4b3b058ac") + add_versions("5.2.4", "b9e2e4aad6789b3b63a056d442f7b39f0ecfca3ae0f1fc0ae4e9614401b69f4b") + add_versions("5.1.5", "2640fc56a795f29d28ef15e13c34a47e223960b0240e8cb0a82d9b0738695333") + + on_load(function (package) + package:addvar("includedirs", "include/lua") + end) + + on_install(function (package) + io.writefile("xmake.lua", [[ + target("lua") + set_kind("static") + add_files("src/*.c|lua.c|luac.c") + add_defines("LUA_COMPAT_5_2", "LUA_COMPAT_5_1") + if is_plat("linux") then + add_defines("LUA_USE_LINUX") + end + ]]) + import("package.tools.xmake").install(package) + os.cp("src/*h", package:installdir("include/lua")) + end) + diff --git a/packages/l/luajit/xmake.lua b/packages/l/luajit/xmake.lua index fe6012cc3..b558c06c3 100644 --- a/packages/l/luajit/xmake.lua +++ b/packages/l/luajit/xmake.lua @@ -14,17 +14,22 @@ package("luajit") add_versions("2.0.4", "620fa4eb12375021bef6e4f237cbd2dd5d49e56beb414bee052c746beef1807d") add_versions("2.0.5", "874b1f8297c697821f561f9b73b57ffd419ed8f4278c82e05b48806d30c1e979") + on_load(function (package) + package:addvar("includedirs", "include/luajit") + end) + on_install("windows", function (package) os.cd("src") os.vrun("msvcbuild.bat") os.cp("lua51.lib", package:installdir("lib")) os.cp("lua51.dll", package:installdir("lib")) - os.cp("*.h", package:installdir("include")) + os.cp("*.h", package:installdir("include/luajit")) end) on_install("macosx", "linux", function (package) io.gsub("./Makefile", "export PREFIX= /usr/local", "export PREFIX=" .. package:installdir()) os.vrun("make") - os.vrun("make install") + os.cp("src/*.a", package:installdir("lib")) + os.cp("src/*.h", package:installdir("include/luajit")) end) diff --git a/packages/n/ncurses/xmake.lua b/packages/n/ncurses/xmake.lua new file mode 100644 index 000000000..1aed216d0 --- /dev/null +++ b/packages/n/ncurses/xmake.lua @@ -0,0 +1,18 @@ +package("ncurses") + + set_homepage("https://www.gnu.org/software/ncurses/") + set_description("A free software emulation of curses.") + + add_urls("ftp://ftp.invisible-island.net/ncurses/ncurses-$(version).tar.gz", + "https://invisible-mirror.net/archives/ncurses/ncurses-$(version).tar.gz", + "ftp://ftp.gnu.org/gnu/ncurses/ncurses-$(version).tar.gz") + add_versions("6.1", "aa057eeeb4a14d470101eff4597d5833dcef5965331be3528c08d99cebaa0d17") + + on_load(function (package) + package:addvar("includedirs", "include/ncurses", "include") + package:addvar("links", "ncurses", "form", "panel", "menu") + end) + + on_install("linux", "macosx", function (package) + import("package.tools.autoconf").install(package, {"--without-manpages"}) + end) diff --git a/packages/n/nlohmann_json/xmake.lua b/packages/n/nlohmann_json/xmake.lua new file mode 100644 index 000000000..4c1c795fa --- /dev/null +++ b/packages/n/nlohmann_json/xmake.lua @@ -0,0 +1,16 @@ +package("nlohmann_json") + + set_homepage("https://nlohmann.github.io/json/") + set_description("JSON for Modern C++") + + add_urls("https://github.com/nlohmann/json/releases/download/$(version)/include.zip", + "https://github.com/nlohmann/json.git") + add_versions("v3.4.0", "bfec46fc0cee01c509cf064d2254517e7fa80d1e7647fea37cf81d97c5682bdc") + + on_install(function (package) + if os.isdir("include") then + os.cp("include", package:installdir()) + else + os.cp("*", package:installdir("include")) + end + end) diff --git a/packages/x/x265/xmake.lua b/packages/x/x265/xmake.lua new file mode 100644 index 000000000..500c502da --- /dev/null +++ b/packages/x/x265/xmake.lua @@ -0,0 +1,22 @@ +package("x265") + + set_homepage("http://x265.org") + set_description("A free software library and application for encoding video streams into the H.265/MPEG-H HEVC compression format.") + + add_urls("https://bitbucket.org/multicoreware/x265/downloads/x265_$(version).tar.gz") + + add_versions("2.9", "ebae687c84a39f54b995417c52a2fdde65a4e2e7ebac5730d251471304b91024") + + add_deps("cmake", "nasm") + + on_load("linux", "macosx", function (package) + package:addvar("syslinks", "c++") + end) + + on_install("linux", "macosx", function (package) + os.cd("build/linux") + os.vrun("./multilib.sh") + os.cp("8bit/libx265.a", package:installdir("lib")) + os.cp("8bit/x265_config.h", package:installdir("include")) + os.cp("../../source/x265.h", package:installdir("include")) + end) diff --git a/xmake.lua b/xmake.lua index 9576b6fd5..e50ef6e13 100644 --- a/xmake.lua +++ b/xmake.lua @@ -1,6 +1,6 @@ -- set xmake minimal version -set_xmakever("2.2.2") +set_xmakever("2.2.3") -- set repository description set_description("The official package repository of xmake")