diff --git a/.github/workflows/macos_arm64.yml b/.github/workflows/macos_arm64.yml index e3f3af06fd9..3f728a5185b 100644 --- a/.github/workflows/macos_arm64.yml +++ b/.github/workflows/macos_arm64.yml @@ -31,6 +31,5 @@ jobs: wget https://curl.haxx.se/ca/cacert.pem -O /tmp/cacert.pem export CURL_CA_BUNDLE=/tmp/cacert.pem sudo ln /opt/homebrew/bin/gfortran-14 /opt/homebrew/bin/gfortran - find /opt/homebrew/Cellar/gcc/ -name f951 - export PATH="$PATH:/opt/homebrew/Cellar/gcc/14.2.0/libexec/gcc/aarch64-apple-darwin23/14/" + export PATH="$PATH:/opt/homebrew/Cellar/gcc/14.1.0_2/libexec/gcc/aarch64-apple-darwin23/14/" xmake l ./scripts/test.lua -D -a ${{ matrix.arch }} -k ${{ matrix.kind }} diff --git a/.github/workflows/macos_x86_64.yml b/.github/workflows/macos_x86_64.yml index 2e065776723..bb999406812 100644 --- a/.github/workflows/macos_x86_64.yml +++ b/.github/workflows/macos_x86_64.yml @@ -31,6 +31,5 @@ jobs: wget https://curl.haxx.se/ca/cacert.pem -O /tmp/cacert.pem export CURL_CA_BUNDLE=/tmp/cacert.pem sudo ln /usr/local/bin/gfortran-14 /usr/local/bin/gfortran - find /usr/local/Cellar/gcc/ -name f951 - export PATH="$PATH:/usr/local/Cellar/gcc/14.2.0/libexec/gcc/x86_64-apple-darwin21/14/" + export PATH="$PATH:/usr/local/Cellar/gcc/14.1.0_2/libexec/gcc/x86_64-apple-darwin21/14/" xmake l ./scripts/test.lua -D -a ${{ matrix.arch }} -k ${{ matrix.kind }} diff --git a/clang b/clang new file mode 100644 index 00000000000..e69de29bb2d diff --git a/packages/a/amrex/patches/24.09/remove-symlink.patch b/packages/a/amrex/patches/24.09/remove-symlink.patch deleted file mode 100644 index 02b9b034cac..00000000000 --- a/packages/a/amrex/patches/24.09/remove-symlink.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/Src/CMakeLists.txt b/Src/CMakeLists.txt -index 6e8af043..df5ca007 100644 ---- a/Src/CMakeLists.txt -+++ b/Src/CMakeLists.txt -@@ -27,11 +27,7 @@ add_library(amrex ALIAS amrex_${AMReX_SPACEDIM_LAST}d) - add_library(AMReX::amrex ALIAS amrex_${AMReX_SPACEDIM_LAST}d) - - # legacy symlink for build directory: libamrex.[so|a] / amrex.[dll.lib] --add_custom_command(TARGET amrex_${AMReX_SPACEDIM_LAST}d POST_BUILD -- COMMAND ${CMAKE_COMMAND} -E create_symlink -- $ -- $/$amrex$ --) -+ - - - # -diff --git a/Tools/CMake/AMReXInstallHelpers.cmake b/Tools/CMake/AMReXInstallHelpers.cmake -index 7c832d3a..ea5ea535 100644 ---- a/Tools/CMake/AMReXInstallHelpers.cmake -+++ b/Tools/CMake/AMReXInstallHelpers.cmake -@@ -72,11 +72,6 @@ function (install_amrex_targets) - # legacy symlink for: libamrex.[so|a] / amrex.[dll.lib] - # escape spaces for generated cmake_install.cmake file - file(TO_CMAKE_PATH "${CMAKE_INSTALL_PREFIX}/lib" ABS_INSTALL_LIB_DIR) -- install(CODE "file(CREATE_LINK -- $ -- \"${ABS_INSTALL_LIB_DIR}/$amrex$\" -- COPY_ON_ERROR SYMBOLIC)" -- ) - - # Install fortran modules if Fortran is enabled - get_property(_lang GLOBAL PROPERTY ENABLED_LANGUAGES) diff --git a/packages/a/amrex/xmake.lua b/packages/a/amrex/xmake.lua deleted file mode 100644 index e3a24b51b89..00000000000 --- a/packages/a/amrex/xmake.lua +++ /dev/null @@ -1,89 +0,0 @@ -package("amrex") - set_homepage("https://amrex-codes.github.io/amrex") - set_description("AMReX: Software Framework for Block Structured AMR") - - add_urls("https://github.com/AMReX-Codes/amrex/releases/download/$(version)/amrex-$(version).tar.gz", - "https://github.com/AMReX-Codes/amrex.git") - - add_versions("24.09", "a1435d16532d04a1facce9a9ae35d68a57f7cd21a5f22a6590bde3c265ea1449") - - add_patches("24.09", "patches/24.09/remove-symlink.patch", "d71adb07252e488ee003f6f04fea756864d6af2232b43208c9e138e062eb6e4d") - - add_configs("openmp", {description = "Enable OpenMP", default = false, type = "boolean"}) - add_configs("mpi", {description = "Enable MPI", default = false, type = "boolean", readonly = true}) - add_configs("cuda", {description = "Enable CUDA", default = false, type = "boolean"}) - add_configs("hdf5", {description = "Enable HDF5-based I/O", default = false, type = "boolean"}) - add_configs("fortran", {description = "Enable fortran", default = false, type = "boolean"}) - add_configs("tools", {description = "Build tools", default = false, type = "boolean"}) - - if is_plat("linux", "bsd") then - add_syslinks("pthread") - end - - add_deps("cmake") - - if on_check then - on_check("windows", function (package) - import("core.base.semver") - - local msvc = package:toolchain("msvc") - if msvc then - local vs_sdkver = msvc:config("vs_sdkver") - assert(vs_sdkver and semver.match(vs_sdkver):gt("10.0.19041"), "package(amrex) require vs_sdkver > 10.0.19041.0") - end - end) - end - - on_load(function (package) - if package:config("openmp") then - package:add("deps", "openmp") - end - if package:config("cuda") then - package:add("deps", "cuda") - end - if package:config("hdf5") then - package:add("deps", "hdf5") - end - if package:config("fortran") and package:is_plat("linux", "macosx") then - package:add("deps", "gfortran", {kind = "binary"}) - end - end) - - on_install("windows", "macosx", "linux", "bsd", "mingw", function (package) - local configs = {"-DAMReX_ENABLE_TESTS=OFF"} - table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release")) - table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF")) - table.insert(configs, "-DAMReX_PIC=" .. (package:config("pic") and "ON" or "OFF")) - - local configs_map = { - openmp = "OMP", - tools = "PLOTFILE_TOOLS", - } - for name, enabled in table.orderpairs(package:configs()) do - if not package:extraconf("configs", name, "builtin") then - local real = configs_map[name] or name:upper() - local enabled = (package:config(name) and "ON" or "OFF") - table.insert(configs, format("-DAMReX_%s=%s", real, enabled)) - end - end - - if package:is_plat("windows") then - os.mkdir(path.join(package:buildir(), "Src/pdb")) - end - import("package.tools.cmake").install(package, configs) - end) - - on_test(function (package) - assert(package:check_cxxsnippets({test = [[ - #include - #include - - void test(int argc, char* argv[]) { - amrex::Initialize(argc,argv); - { - amrex::Print() << "Hello world from AMReX version " << amrex::Version() << "\n"; - } - amrex::Finalize(); - } - ]]}, {configs = {languages = "c++17"}})) - end) diff --git a/packages/a/aravis/xmake.lua b/packages/a/aravis/xmake.lua index 34868985cfe..16171d3e885 100644 --- a/packages/a/aravis/xmake.lua +++ b/packages/a/aravis/xmake.lua @@ -49,6 +49,10 @@ package("aravis") if libusb and not libusb:is_system() then io.replace("meson.build", "libusb-1.0", "libusb", {plain = true}) end + local libxml2 = package:dep("libxml2") + if not libxml2:is_system() then + io.replace("meson.build", "libxml-2.0", "libxml2", {plain = true}) + end local configs = {"-Dviewer=disabled", "-Dtests=false"} table.insert(configs, "-Ddefault_library=" .. (package:config("shared") and "shared" or "static")) diff --git a/packages/a/arduinojson/xmake.lua b/packages/a/arduinojson/xmake.lua index ffbfc3a666b..a8452d486b6 100644 --- a/packages/a/arduinojson/xmake.lua +++ b/packages/a/arduinojson/xmake.lua @@ -7,7 +7,6 @@ package("arduinojson") add_urls("https://github.com/bblanchon/ArduinoJson/archive/refs/tags/$(version).tar.gz", "https://github.com/bblanchon/ArduinoJson.git") - add_versions("v7.2.0", "d20aefd14f12bd907c6851d1dfad173e4fcd2d993841fa8c91a1d8ab5a71188b") add_versions("v7.1.0", "74bc745527a274bcab85c6498de77da749627113c4921ccbcaf83daa7ac35dee") add_versions("v7.0.4", "98ca14d98e9f1e8978ce5ad3ca0eeda3d22419d17586c60f299f369078929917") add_versions("v7.0.3", "6da2d069e0caa0c829444912ee13e78bdf9cc600be632428a164c92e69528000") diff --git a/packages/a/assimp/xmake.lua b/packages/a/assimp/xmake.lua index 9e746c3be39..607c200a202 100644 --- a/packages/a/assimp/xmake.lua +++ b/packages/a/assimp/xmake.lua @@ -136,12 +136,6 @@ package("assimp") if minizip and not minizip:is_system() then packagedeps = table.join2(packagedeps or {}, "minizip") end - -- fix ninja debug build - os.mkdir(path.join(package:buildir(), "code/pdb")) - -- MDd == _DEBUG + _MT + _DLL - if package:is_debug() and package:has_runtime("MD", "MT") then - io.replace("CMakeLists.txt", "/D_DEBUG", "", {plain = true}) - end end local zlib = package:dep("zlib") diff --git a/packages/a/aws-c-common/xmake.lua b/packages/a/aws-c-common/xmake.lua index 332f419545d..e26f0fe4200 100644 --- a/packages/a/aws-c-common/xmake.lua +++ b/packages/a/aws-c-common/xmake.lua @@ -6,7 +6,6 @@ package("aws-c-common") add_urls("https://github.com/awslabs/aws-c-common/archive/refs/tags/$(version).tar.gz", "https://github.com/awslabs/aws-c-common.git") - add_versions("v0.9.28", "bf265e9e409d563b0eddcb66e1cb00ff6b371170db3e119348478d911d054317") add_versions("v0.9.27", "0c0eecbd7aa04f85b1bdddf6342789bc8052737c6e9aa2ca35e26caed41d06ba") add_versions("v0.9.25", "443f3268387715e6e2c417a87114a6b42873aeeebc793d3f6f631323e7c48a80") add_versions("v0.9.24", "715a15399fe6dce2971c222ecabea4276e42ba3465a63c175724fc0c80d7a888") @@ -33,11 +32,7 @@ package("aws-c-common") add_deps("cmake") on_install("!mingw or mingw|!i386", function (package) - if package:is_plat("windows") and package:config("shared") then - package:add("defines", "AWS_COMMON_USE_IMPORT_EXPORT") - end - - local configs = {"-DBUILD_TESTING=OFF", "-DCMAKE_POLICY_DEFAULT_CMP0057=NEW"} + local configs = {"-DBUILD_TESTING=OFF"} table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release")) table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF")) table.insert(configs, "-DENABLE_SANITIZERS=" .. (package:config("asan") and "ON" or "OFF")) diff --git a/packages/a/aws-checksums/xmake.lua b/packages/a/aws-checksums/xmake.lua index 27ee3400671..aad46ce952d 100644 --- a/packages/a/aws-checksums/xmake.lua +++ b/packages/a/aws-checksums/xmake.lua @@ -6,26 +6,22 @@ package("aws-checksums") add_urls("https://github.com/awslabs/aws-checksums/archive/refs/tags/$(version).tar.gz", "https://github.com/awslabs/aws-checksums.git") - add_versions("v0.1.20", "12f80085993662b6d2cbd2d090b49b4350d19396b1d218d52323712cc8dee252") add_versions("v0.1.19", "844e5a4f659f454112c559d4f4043b7accfbb134e47a55f4c55f79d9c71bdab1") add_versions("v0.1.18", "bdba9d0a8b8330a89c6b8cbc00b9aa14f403d3449b37ff2e0d96d62a7301b2ee") add_versions("v0.1.17", "83c1fbae826631361a529e9565e64a942c412baaec6b705ae5da3f056b97b958") - if is_plat("wasm") then - add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true}) - end + add_configs("asan", {description = "Enable Address Sanitize.", default = false, type = "boolean"}) add_deps("cmake", "aws-c-common") if on_check then on_check(function (package) - if package:version():ge("0.1.19") then - if package:is_plat("windows") and package:has_tool("cxx", "clang_cl") then - raise("package(aws-checksums >=0.1.19) unsupported clang-cl toolchain") - end - end if package:version():eq("0.1.19") then - if not package:is_plat("windows") and package:has_tool("cxx", "clang") then + if package:is_plat("windows") then + if package:has_tool("cxx", "clang_cl") then + raise("package(aws-checksums 0.1.19) unsupported clang-cl toolchain") + end + elseif package:has_tool("cxx", "clang") then raise("package(aws-checksums 0.1.19) unsupported clang toolchain") end end @@ -33,20 +29,12 @@ package("aws-checksums") end on_install("!mingw or mingw|!i386", function (package) - if package:is_plat("windows") and package:config("shared") then - package:add("defines", "AWS_CHECKSUMS_USE_IMPORT_EXPORT") - end - - local cmakedir = package:dep("aws-c-common"):installdir("lib/cmake") + local cmakedir = package:dep("aws-c-common"):installdir("lib", "cmake") if is_host("windows") then cmakedir = cmakedir:gsub("\\", "/") end - local configs = { - "-DBUILD_TESTING=OFF", - "-DCMAKE_POLICY_DEFAULT_CMP0057=NEW", - "-DCMAKE_MODULE_PATH=" .. cmakedir, - } + local configs = {"-DBUILD_TESTING=OFF", "-DCMAKE_MODULE_PATH=" .. cmakedir} table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release")) table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF")) table.insert(configs, "-DENABLE_SANITIZERS=" .. (package:config("asan") and "ON" or "OFF")) diff --git a/packages/b/box2d/xmake.lua b/packages/b/box2d/xmake.lua index 403fd00e76d..a14c1036030 100644 --- a/packages/b/box2d/xmake.lua +++ b/packages/b/box2d/xmake.lua @@ -1,38 +1,27 @@ package("box2d") + set_homepage("https://box2d.org") set_description("A 2D Physics Engine for Games") set_license("MIT") - set_urls("https://github.com/erincatto/box2d/archive/refs/tags/$(version).tar.gz", - "https://github.com/erincatto/box2d.git") - - add_versions("v3.0.0", "64ad759006cd2377c99367f51fb36942b57f0e9ad690ed41548dd620e6f6c8b1") - add_versions("v2.4.2", "85b9b104d256c985e6e244b4227d447897fac429071cc114e5cc819dae848852") - - add_configs("avx2", {description = "Enable AVX2.", default = false, type = "boolean"}) + set_urls("https://github.com/erincatto/box2d/archive/v$(version).zip") + add_versions("2.4.0", "6aebbc54c93e367c97e382a57ba12546731dcde51526964c2ab97dec2050f8b9") + add_versions("2.4.1", "0cb512dfa5be79ca227cd881b279adee61249c85c8b51caf5aa036b71e943002") + add_versions("2.4.2", "593f165015fdd07ea521a851105f1c86ae313c5af0a15968ed95f864417fa8a7") + if is_arch("x64", "x86_64", "arm64.*") then + add_versions("3.0.0", "c2983a30a95037c46c19e42f398de6bc375d6ae87f30e0d0bbabb059ec60f8c0") + end - if is_plat("linux", "bsd") then - add_syslinks("pthread") + if is_arch("x64", "x86_64") then + add_configs("avx2", {description = "Enable AVX2.", default = false, type = "boolean"}) end add_deps("cmake") if on_check then - on_check(function (package) + on_check("windows", function (package) if package:version():ge("3.0.0") then - if package:check_sizeof("void*") == "4" then - raise("package(box2d >=3.0.0) unsupported 32-bit") - end - - if package:is_plat("windows") then - assert(not package:is_arch("arm64.*"), "package(box2d/arm >=3.0.0) Unsupported architecture.") - end - - if package:is_plat("android") then - local ndk = package:toolchain("ndk") - local ndk_sdkver = ndk:config("ndk_sdkver") - assert(ndk_sdkver and tonumber(ndk_sdkver) >= 28, "package(box2d >=3.0.0) requires ndk api level >= 28") - end + assert(not package:is_arch("arm64.*"), "package(box2d =>3.0.0) Unsupported architecture.") local configs = {languages = "c11"} if package:has_tool("cc", "cl") then @@ -44,45 +33,37 @@ package("box2d") end) end - on_install("!bsd", function (package) - if package:config("shared") then - package:add("defines", "B2_SHARED") - end - if package:is_plat("windows") and package:is_debug() then - package:add("defines", "B2_ENABLE_ASSERT") - end - - io.replace("CMakeLists.txt", [[set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>")]], "", {plain = true}) - - local configs = { - "-DBOX2D_BUILD_UNIT_TESTS=OFF", - "-DBOX2D_BUILD_TESTBED=OFF", - - "-DBOX2D_SAMPLES=OFF", - "-DBOX2D_UNIT_TESTS=OFF", - "-DBOX2D_VALIDATE=OFF", - "--compile-no-warning-as-error", - } - table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release")) - table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF")) - table.insert(configs, "-DBOX2D_SANITIZE=" .. (package:config("asan") and "ON" or "OFF")) - table.insert(configs, "-DBOX2D_AVX2=" .. (package:config("avx2") and "ON" or "OFF")) - - os.mkdir(path.join(package:buildir(), "src/pdb")) - import("package.tools.cmake").install(package, configs) - - if package:gitref() or package:version():ge("3.0.0") then - os.cp("include", package:installdir()) + on_install("windows", "linux", "macosx", "mingw", function (package) + local configs = {} + if package:version():ge("3.0.0") then + table.insert(configs, "--compile-no-warning-as-error") + table.insert(configs, "-DBOX2D_SANITIZE=OFF") + table.insert(configs, "-DBOX2D_SAMPLES=OFF") + table.insert(configs, "-DBOX2D_BENCHMARKS=OFF") + table.insert(configs, "-DBOX2D_DOCS=OFF") + table.insert(configs, "-DBOX2D_PROFILE=OFF") + table.insert(configs, "-DBOX2D_VALIDATE=OFF") + table.insert(configs, "-DBOX2D_UNIT_TESTS=OFF") + table.insert(configs, "-DBOX2D_AVX2=" .. (package:config("avx2") and "ON" or "OFF")) + else + table.insert(configs, "-DBOX2D_BUILD_UNIT_TESTS=OFF") + table.insert(configs, "-DBOX2D_BUILD_TESTBED=OFF") + table.insert(configs, "-DBOX2D_BUILD_DOCS=OFF") end - if package:config("shared") then - os.trycp(path.join(package:buildir(), "bin/box2d.pdb"), package:installdir("bin")) + table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release")) + import("package.tools.cmake").build(package, configs, {buildir = "build"}) + if package:is_plat("windows") then + os.trycp(path.join("build", "src", "*", "*.lib"), package:installdir("lib")) + os.trycp(path.join("build", "bin", "*", "*.lib"), package:installdir("lib")) else - os.trycp(path.join(package:buildir(), "bin/box2d.pdb"), package:installdir("lib")) + os.trycp("build/src/*.a", package:installdir("lib")) + os.trycp("build/bin/*.a", package:installdir("lib")) end + os.cp("include", package:installdir()) end) on_test(function (package) - if package:gitref() or package:version():ge("3.0.0") then + if package:version():ge("3.0.0") then assert(package:check_csnippets({test = [[ void test(int argc, char** argv) { b2WorldDef worldDef = b2DefaultWorldDef(); diff --git a/packages/c/cosmocc/xmake.lua b/packages/c/cosmocc/xmake.lua index 3b845764490..9d7c4b97b2d 100644 --- a/packages/c/cosmocc/xmake.lua +++ b/packages/c/cosmocc/xmake.lua @@ -5,7 +5,6 @@ package("cosmocc") set_license("ISC") add_urls("https://cosmo.zip/pub/cosmocc/cosmocc-$(version).zip", - "https://justine.lol/cosmopolitan/cosmocc-$(version).zip", "https://github.com/xmake-mirror/cosmopolitan/releases/download/$(version)/cosmocc-$(version).zip") add_versions("3.2.4", "d2fa6dbf6f987310494581deff5b915dbdc5ca701f20f7613bb0dcf1de2ee511") @@ -34,9 +33,6 @@ package("cosmocc") add_versions("3.7.0", "871cfffd2e4ee3fc55d6f8d8583c6d73669f8412eea604830c8ecb74f89d6aef") add_versions("3.7.1", "13b65b0e659b493bd82f3d0a319d0265d66f849839e484aa2a54191024711e85") add_versions("3.8.0", "813c6b2f95062d2e0a845307a79505424cb98cb038e8013334f8a22e3b92a474") - add_versions("3.9.0", "814ab13782191c40b80f081242db3fd850a4ea35122c7ee9da434c36e9444c6a") - add_versions("3.9.1", "5eabd964554cc592d707d553697a450272290c07b88cc2e9503a299e00a13584") - add_versions("3.9.2", "f4ff13af65fcd309f3f1cfd04275996fb7f72a4897726628a8c9cf732e850193") set_policy("package.precompiled", false) diff --git a/packages/c/croaring/xmake.lua b/packages/c/croaring/xmake.lua index f8683ce2d2d..775e3a026d0 100644 --- a/packages/c/croaring/xmake.lua +++ b/packages/c/croaring/xmake.lua @@ -6,7 +6,6 @@ package("croaring") add_urls("https://github.com/RoaringBitmap/CRoaring/archive/refs/tags/$(version).tar.gz", "https://github.com/RoaringBitmap/CRoaring.git") - add_versions("v4.1.5", "7eafa9fd0dace499e80859867a6ba5a010816cf6e914dd9350ad1d44c0fc83eb") add_versions("v4.1.1", "42804cc2bb5c9279ec4fcaa56d2d6b389da934634abcce8dbc4e4c1d60e1468d") add_versions("v4.1.0", "0596c6e22bcccb56f38260142b435f1f72aef7721fa370fd9f2b88380245fc1d") add_versions("v4.0.0", "a8b98db3800cd10979561a1388e4e970886a24015bd6cfabb08ba7917f541b0d") diff --git a/packages/d/directxtk12/xmake.lua b/packages/d/directxtk12/xmake.lua deleted file mode 100644 index 7f331375f0a..00000000000 --- a/packages/d/directxtk12/xmake.lua +++ /dev/null @@ -1,95 +0,0 @@ -package("directxtk12") - set_homepage("https://github.com/Microsoft/DirectXTK12") - set_description("A collection of helper classes for writing DirectX 12 code in C++") - set_license("MIT") - - local tag = { - ["2024.06"] = "jun2024", - ["2024.09"] = "sep2024" - } - - add_urls("https://github.com/microsoft/DirectXTK12.git") - add_urls("https://github.com/microsoft/DirectXTK12/archive/refs/tags/$(version).tar.gz", - { version = function (version) return tag[tostring(version)] end }) - - add_versions("2024.06", "c543e2de8c9f8eeb83fcc39c5d142e02a190b57080449ac4785d3c4cb1e8dfe6") - add_versions("2024.09", "03f76b5bd58b98697f078f17db8ecd73c408dfeed09c7788ce56a2db75a86e6d") - - add_configs("dxil_shaders", { description = "Use DXC Shader Model 6 for shaders", default = true, type = "boolean" }) - add_configs("gameinput", { description = "Build for GameInput", default = false, type = "boolean" }) - add_configs("mixed_dx11", { description = "Support linking with DX11 version of toolkit", default = false, type = "boolean" }) - add_configs("testing", { description = "Build the testing tree", default = true, type = "boolean" }) - add_configs("wgi", { description = "Build for Windows.Gaming.Input", default = false, type = "boolean" }) - add_configs("xaudio_redist", { description = "Build for XAudio2Redist", default = false, type = "boolean" }) - add_configs("xaudio_win10", { description = "Build for XAudio 2.9", default = true, type = "boolean" }) - add_configs("xinput", { description = "Build for XInput", default = false, type = "boolean" }) - add_configs("spectre_mitigation", { description = "Build using /Qspectre for MSVC", default = false, type = "boolean" }) - add_configs("iterator_debugging", { description = "Disable MSVC iterator debugging in Debug", default = false, type = "boolean" }) - add_configs("prebuilt_shaders", { description = "Use externally built HLSL shaders", default = false, type = "boolean" }) - add_configs("no_wchar_t", { description = "Use legacy wide-character as unsigned short", default = false, type = "boolean" }) - - add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true}) - - add_deps("cmake") - - if on_check then - on_check("windows", function (package) - local vs_toolset = package:toolchain("msvc"):config("vs_toolset") - if vs_toolset then - local vs_toolset_ver = import("core.base.semver").new(vs_toolset) - local minor = vs_toolset_ver:minor() - assert(minor and minor >= 30, "package(directxtk12) require vs_toolset >= 14.3") - end - end) - end - - on_load(function (package) - if package:is_plat("windows") then - package:add("defines", "WIN32") - end - - if package:config("mixed_dx11") then - package:add("deps", "directxtk") - end - - if package:config("gameinput") then - package:add("defines", "USING_GAMEINPUT") - end - if package:config("wgi") then - package:add("defines", "USING_WINDOWS_GAMING_INPUT") - end - if package:config("xinput") then - package:add("defines", "USING_XINPUT") - end - end) - - on_install("windows", function (package) - local configs = {} - - table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release")) - table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF")) - table.insert(configs, "-DBUILD_DXIL_SHADERS=" .. (package:config("dxil_shaders") and "ON" or "OFF")) - table.insert(configs, "-DBUILD_GAMINPUT=" .. (package:config("gameinput") and "ON" or "OFF")) - table.insert(configs, "-DBUILD_MIXED_DX11=" .. (package:config("mixed_dx11") and "ON" or "OFF")) - table.insert(configs, "-DBUILD_TESTING=" .. (package:config("testing") and "ON" or "OFF")) - table.insert(configs, "-DBUILD_WGI=" .. (package:config("wgi") and "ON" or "OFF")) - table.insert(configs, "-DBUILD_XAUDIO_REDIST=" .. (package:config("xaudio_redist") and "ON" or "OFF")) - table.insert(configs, "-DBUILD_XAUDIO_WIN10=" .. (package:config("xaudio_win10") and "ON" or "OFF")) - table.insert(configs, "-DBUILD_XINPUT=" .. (package:config("xinput") and "ON" or "OFF")) - table.insert(configs, "-DBUILD_ENABLE_SPECTRE_MITIGATION=" .. (package:config("spectre_mitigation") and "ON" or "OFF")) - table.insert(configs, "-DDISABLE_MSVC_ITERATOR_DEBUGGING=" .. (package:config("iterator_debugging") and "ON" or "OFF")) - table.insert(configs, "-DUSE_PREBUILT_SHADERS=" .. (package:config("prebuilt_shaders") and "ON" or "OFF")) - table.insert(configs, "-DNO_WCHAR_T=" .. (package:config("no_wchar_t") and "ON" or "OFF")) - - import("package.tools.cmake").install(package, configs) - end) - - on_test(function (package) - assert(package:check_cxxsnippets({ test = [[ - void test() { - DirectX::SimpleMath::Vector3 eye(0.0f, 0.7f, 1.5f); - DirectX::SimpleMath::Vector3 at(0.0f, -0.1f, 0.0f); - auto lookAt = DirectX::SimpleMath::Matrix::CreateLookAt(eye, at, DirectX::SimpleMath::Vector3::UnitY); - } - ]] }, {configs = {languages = "c++17"}, includes = "directxtk12/SimpleMath.h"})) - end) diff --git a/packages/d/dpp/xmake.lua b/packages/d/dpp/xmake.lua index 4754abea59a..aba68b11a96 100644 --- a/packages/d/dpp/xmake.lua +++ b/packages/d/dpp/xmake.lua @@ -6,7 +6,6 @@ package("dpp") add_urls("https://github.com/brainboxdotcc/DPP/archive/refs/tags/$(version).tar.gz", "https://github.com/brainboxdotcc/DPP.git") - add_versions("v10.0.31", "3e392868c0dc3d0f13a00cfa190a925a20bde62bea58fd87d4acf14de11062bf") add_versions("v10.0.30", "fb7019770bd5c5f0539523536250da387ee1fa9c92e59c0bcff6c9adaf3d77e8") add_versions("v10.0.29", "a37e91fbdabee20cb0313700588db4077abf0ebabafe386457d999d22d2d0682") add_versions("v10.0.28", "aa0c16a1583f649f28ec7739c941e9f2bf9c891c0b87ef8278420618f8bacd46") diff --git a/packages/e/elfutils/xmake.lua b/packages/e/elfutils/xmake.lua index cd550a5b353..faba20b0152 100644 --- a/packages/e/elfutils/xmake.lua +++ b/packages/e/elfutils/xmake.lua @@ -16,31 +16,12 @@ package("elfutils") add_configs("libasm", {description = "Enable libasm", default = false, type = "boolean"}) add_deps("m4", "zstd", "zlib") - - if on_source then - on_source(function (package) - if package:is_plat("android") then - package:add("configs", "shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true}) - end - end) - elseif is_plat("android") then - add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true}) + if is_plat("android") then + add_deps("libintl", "argp-standalone") end - on_load(function(package) - if package:is_plat("android") then - package:add("deps", "libintl", "argp-standalone") - end - end) - - if on_check then - -- https://github.com/xmake-io/xmake-repo/issues/3182 - on_check("android", function (package) - local ndk = package:toolchain("ndk") - local ndk_sdkver = ndk:config("ndk_sdkver") - assert(ndk and tonumber(ndk) < 26, "package(elfutils): need ndk version < 26 for android") - assert(ndk_sdkver and tonumber(ndk_sdkver) <= 23, "package(elfutils): need ndk api level <= 23 for android") - end) + if is_plat("android") then + add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true}) end on_install("linux", "android", function (package) diff --git a/packages/e/emscripten-glfw/xmake.lua b/packages/e/emscripten-glfw/xmake.lua deleted file mode 100644 index 93069c94d0a..00000000000 --- a/packages/e/emscripten-glfw/xmake.lua +++ /dev/null @@ -1,64 +0,0 @@ -package("emscripten-glfw") - set_homepage("https://pongasoft.github.io/emscripten-glfw/test/demo/main.html") - set_description("This project is an emscripten port of GLFW written in C++ for the web/webassembly platform #wasm") - set_license("Apache-2.0") - - add_urls("https://github.com/pongasoft/emscripten-glfw.git") - add_urls("https://github.com/pongasoft/emscripten-glfw/archive/refs/tags/$(version).tar.gz", { - version = function (version) - return "v3.4.0." .. tostring(version):gsub("%.", "") - end - }) - - add_versions("2024.09.07", "ad4eea0c52ce61921da18e9fc8b6402a4a2e4515a8c783e2f1ae62671ab23fe3") - - add_configs("joystick", {description = "Enable joystick support", default = true, type = "boolean"}) - add_configs("multi_window", {description = "Enable multi window support", default = true, type = "boolean"}) - - add_syslinks("GL") - - add_deps("cmake") - - on_load(function (package) - if not package:is_debug() then - package:add("defines", "EMSCRIPTEN_GLFW3_DISABLE_WARNING") - end - if not package:config("joystick") then - package:add("defines", "EMSCRIPTEN_GLFW3_DISABLE_JOYSTICK") - end - if not package:config("multi_window") then - package:add("defines", "EMSCRIPTEN_GLFW3_DISABLE_MULTI_WINDOW_SUPPORT") - end - end) - - on_install("wasm", function (package) - io.replace("CMakeLists.txt", "if(CMAKE_CURRENT_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)", - [[ include(GNUInstallDirs) - install(TARGETS ${target} - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - ) - install(DIRECTORY external/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) - install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) - install(FILES src/js/lib_emscripten_glfw3.js DESTINATION ${CMAKE_INSTALL_BINDIR}) - if(0)]], {plain = true}) - - local configs = {} - table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release")) - table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF")) - table.insert(configs, "-DEMSCRIPTEN_GLFW3_DISABLE_JOYSTICK=" .. (package:config("joystick") and "OFF" or "ON")) - table.insert(configs, "-DEMSCRIPTEN_GLFW3_DISABLE_MULTI_WINDOW_SUPPORT =" .. (package:config("multi_window") and "OFF" or "ON")) - import("package.tools.cmake").install(package, configs) - - package:add("ldflags", - "--js-library", - package:installdir("bin/lib_emscripten_glfw3.js"), - os.files(package:installdir("lib/*.a"))[1] - ) - end) - - on_test(function (package) - assert(package:has_cfuncs("glfwInit", {includes = "GLFW/glfw3.h"})) - assert(package:has_cfuncs("emscripten_glfw_open_url", {includes = "GLFW/emscripten_glfw3.h"})) - end) diff --git a/packages/g/gdk-pixbuf/xmake.lua b/packages/g/gdk-pixbuf/xmake.lua index 6d8699ef485..f683c3c573b 100644 --- a/packages/g/gdk-pixbuf/xmake.lua +++ b/packages/g/gdk-pixbuf/xmake.lua @@ -24,7 +24,16 @@ package("gdk-pixbuf") add_includedirs("include", "include/gdk-pixbuf-2.0") add_deps("meson", "ninja") - add_deps("libpng", "libjpeg-turbo", "libtiff", "glib", "pcre2") + add_deps("libpng", "libjpeg-turbo", "glib", "pcre2") + + on_load(function (package) + if package:config("shared") then + package:add("deps", "libtiff", {configs = {shared = true}}) + else + package:add("deps", "libtiff") + end + end) + if is_plat("windows") then add_syslinks("iphlpapi", "dnsapi") add_deps("pkgconf", "libintl") diff --git a/packages/g/gfx-timsort/xmake.lua b/packages/g/gfx-timsort/xmake.lua deleted file mode 100644 index 08782af4c28..00000000000 --- a/packages/g/gfx-timsort/xmake.lua +++ /dev/null @@ -1,52 +0,0 @@ -package("gfx-timsort") - set_kind("library", {headeronly = true}) - set_homepage("https://github.com/timsort/cpp-TimSort") - set_description("A C++ implementation of timsort") - set_license("MIT") - - add_urls("https://github.com/timsort/cpp-TimSort/archive/refs/tags/$(version).tar.gz", - "https://github.com/timsort/cpp-TimSort.git") - - add_versions("v3.0.0", "d61b92850996305e5248d1621c8ac437c31b474f74907e223019739e2e556b1f") - - add_deps("cmake") - - if on_check then - on_check(function (package) - if package:is_plat("android") then - local ndk = package:toolchain("ndk"):config("ndkver") - assert(ndk and tonumber(ndk) > 22, "package(gfx-timsort) requires ndk version > 22") - end - - assert(package:check_cxxsnippets({test = [[ - #include - #include - void test() { - std::vector data; - auto lower = std::ranges::lower_bound(data, 0); - } - ]]}, {configs = {languages = "c++20"}}), "package(gfx-timsort) Require at least C++20.") - end) - end - - on_install(function (package) - local configs = {"-DBUILD_TESTING=OFF"} - table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release")) - import("package.tools.cmake").install(package, configs) - end) - - on_test(function (package) - assert(package:check_cxxsnippets({test = [[ - #include - #include - #include - - size_t len(const std::string& str) { - return str.size(); - } - void test() { - std::vector collection; - gfx::timsort(collection, {}, &len); - } - ]]}, {configs = {languages = "c++20"}})) - end) diff --git a/packages/g/gtk3/xmake.lua b/packages/g/gtk3/xmake.lua index c5621c4af58..ac973949966 100644 --- a/packages/g/gtk3/xmake.lua +++ b/packages/g/gtk3/xmake.lua @@ -19,9 +19,17 @@ package("gtk3") add_includedirs("include", "include/gtk-3.0") + on_load("linux", function (package) + if package:config("shared") then + package:add("deps", "gdk-pixbuf", {configs = {shared = true}}) + else + package:add("deps", "gdk-pixbuf") + end + end) + add_deps("meson", "ninja") add_deps("cairo", {configs = {glib = true}}) - add_deps("glib", "gdk-pixbuf", "pango", "libepoxy", "graphene", "libxkbcommon", "libxext") + add_deps("glib", "pango", "libepoxy", "graphene", "libxkbcommon", "libxext") add_deps("libx11", "libxfixes", "libxcursor", "libxi", "libxcomposite", "libxrandr", "libxdamage", "libxinerama", "at-spi2-core") add_links("gtk-3", "gdk-3", "gailutil-3", "X11", "X11-cxb", "pangocairo-1.0", "pango", "rt") @@ -31,7 +39,8 @@ package("gtk3") io.replace("gdk/x11/gdkglcontext-x11.c", [[cairo/cairo-xlib.h]], [[cairo-xlib.h]], {plain = true}) import("package.tools.meson").install(package, configs, {packagedeps = {"libx11", "libxext", - "libxi", + "libxi", + "pango", "at-spi2-core", "cairo", "libthai", diff --git a/packages/i/imath/xmake.lua b/packages/i/imath/xmake.lua index 9305001dfee..445db10c08e 100644 --- a/packages/i/imath/xmake.lua +++ b/packages/i/imath/xmake.lua @@ -6,7 +6,6 @@ package("imath") add_urls("https://github.com/AcademySoftwareFoundation/Imath/archive/refs/tags/$(version).tar.gz", "https://github.com/AcademySoftwareFoundation/Imath.git") - add_versions("v3.1.12", "8a1bc258f3149b5729c2f4f8ffd337c0e57f09096e4ba9784329f40c4a9035da") add_versions("v3.1.10", "f2943e86bfb694e216c60b9a169e5356f8a90f18fbd34d7b6e3450be14f60b10") add_versions("v3.1.0", "211c907ab26d10bd01e446da42f073ee7381e1913d8fa48084444bc4e1b4ef87") add_versions("v3.1.1", "a63fe91d8d0917acdc31b0c9344b1d7dbc74bf42de3e3ef5ec982386324b9ea4") diff --git a/packages/j/jsoncpp/xmake.lua b/packages/j/jsoncpp/xmake.lua index f2386e2256f..867d7faa2d5 100644 --- a/packages/j/jsoncpp/xmake.lua +++ b/packages/j/jsoncpp/xmake.lua @@ -1,13 +1,12 @@ package("jsoncpp") + set_homepage("https://github.com/open-source-parsers/jsoncpp/wiki") set_description("A C++ library for interacting with JSON.") - set_license("MIT") add_urls("https://github.com/open-source-parsers/jsoncpp/archive/$(version).zip", "https://github.com/open-source-parsers/jsoncpp.git") add_versions("1.9.4", "6da6cdc026fe042599d9fce7b06ff2c128e8dd6b8b751fca91eb022bce310880") add_versions("1.9.5", "a074e1b38083484e8e07789fd683599d19da8bb960959c83751cd0284bdf2043") - add_versions("1.9.6", "0d445d6e956fb62d69ec6895b0000ea6caddf0680373a0d5a37b719c7fbf369b") add_deps("cmake") on_load(function (package) diff --git a/packages/l/lapack/xmake.lua b/packages/l/lapack/xmake.lua deleted file mode 100644 index 12cb3439eb4..00000000000 --- a/packages/l/lapack/xmake.lua +++ /dev/null @@ -1,24 +0,0 @@ -package("lapack") - set_homepage("https://netlib.org/lapack/") - set_description("LAPACK--Linear Algebra Package is a standard software library for numerical linear algebra") - - add_urls("https://github.com/Reference-LAPACK/lapack/archive/refs/tags/$(version).tar.gz", - "https://github.com/Reference-LAPACK/lapack.git") - - add_versions("v3.12.0", "eac9570f8e0ad6f30ce4b963f4f033f0f643e7c3912fc9ee6cd99120675ad48b") - - add_deps("cmake", "gfortran") - - add_links( "lapacke", "lapack", "cblas", "blas") - - on_install("linux", function (package) - local configs = {"-DLAPACKE=ON", "-DBUILD_TESTING=OFF", "-DCBLAS=ON"} - table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release")) - table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF")) - import("package.tools.cmake").install(package, configs) - end) - - on_test(function (package) - assert(package:has_cfuncs("cblas_snrm2", {includes = "cblas.h"})) - assert(package:has_cfuncs("LAPACKE_dsyev", {includes = "lapacke_utils.h"})) - end) diff --git a/packages/l/lazy_importer/xmake.lua b/packages/l/lazy_importer/xmake.lua deleted file mode 100644 index e0b09f0023f..00000000000 --- a/packages/l/lazy_importer/xmake.lua +++ /dev/null @@ -1,17 +0,0 @@ -package("lazy_importer") - set_kind("library", {headeronly = true}) - set_homepage("https://github.com/JustasMasiulis/lazy_importer") - set_description("library for importing functions from dlls in a hidden, reverse engineer unfriendly way") - set_license("Apache-2.0") - - add_urls("https://github.com/JustasMasiulis/lazy_importer.git") - - add_versions("2023.08.02", "4810f51d63438865e508c2784ea00811d9beb2ea") - - on_install("windows", "mingw", "msys", function (package) - os.cp("include", package:installdir()) - end) - - on_test(function (package) - assert(package:has_cxxincludes("lazy_importer.hpp")) - end) diff --git a/packages/l/libassert/xmake.lua b/packages/l/libassert/xmake.lua index ee5fea0f1a2..c5210429588 100644 --- a/packages/l/libassert/xmake.lua +++ b/packages/l/libassert/xmake.lua @@ -6,7 +6,6 @@ package("libassert") add_urls("https://github.com/jeremy-rifkin/libassert/archive/refs/tags/$(version).tar.gz", "https://github.com/jeremy-rifkin/libassert.git") - add_versions("v2.1.1", "2bdf27523f964f41668d266cfdbd7f5f58988af963d976577195969ed44359d1") add_versions("v2.1.0", "e42405b49cde017c44c78aacac35c6e03564532838709031e73d10ab71f5363d") add_versions("v2.0.2", "4a0b52e6523bdde0116231a67583131ea1a84bb574076fad939fc13fc7490443") add_versions("v2.0.1", "405a44c14c5e40de5b81b01538ba12ef9d7c1f57e2c29f81b929e7e179847d4c") diff --git a/packages/l/libomp/xmake.lua b/packages/l/libomp/xmake.lua index 9240d39f33d..58733d37a01 100644 --- a/packages/l/libomp/xmake.lua +++ b/packages/l/libomp/xmake.lua @@ -7,9 +7,6 @@ package("libomp") add_versions("10.0.1", "d19f728c8e04fb1e94566c8d76aef50ec926cd2f95ef3bf1e0a5de4909b28b44") add_versions("11.1.0", "d187483b75b39acb3ff8ea1b7d98524d95322e3cb148842957e9b0fbb866052e") add_versions("12.0.1", "60fe79440eaa9ebf583a6ea7f81501310388c02754dbe7dc210776014d06b091") - add_versions("19.1.0", "c036fd95c8eeea8d7bce4196ee20cc5c5a99702d6ec7f0bb19828e315bc3a9ac") - - add_resources("19.1.0", "llvm_cmake", "https://github.com/llvm/llvm-project/releases/download/llvmorg-19.1.0/cmake-19.1.0.src.tar.xz", "dc78b6a9ac8a097ca6ac0f23c06821d65e6ea3bf666026f529994c1d01056ae7") add_configs("shared", {description = "Build shared library.", default = true, type = "boolean"}) @@ -28,28 +25,12 @@ package("libomp") add_extsources("apt::libomp-dev") add_syslinks("pthread", "dl") end - on_load(function (package) - if package:version():ge("19.0") and package:is_built() then - package:add("deps", "python 3.x", {kind = "binary"}) - end - end) on_install("macosx", "linux", "cross", function (package) - local version = package:version() - if version:ge("19.0") then - local llvm_cmake = package:resourcedir("llvm_cmake") - local cmake = os.dirs(path.join(llvm_cmake, "*.src"))[1] - io.gsub("CMakeLists.txt", "set%(LLVM_COMMON_CMAKE_UTILS .-%)", "set(LLVM_COMMON_CMAKE_UTILS \"" .. cmake .. "\")") - io.replace("CMakeLists.txt", "include(OpenMPTesting)", "function(add_openmp_testsuite target comment)\nreturn()\nendfunction()", {plain = true}) - io.replace("CMakeLists.txt", "construct_check_openmp_target()", "", {plain = true}) - io.replace("runtime/test/CMakeLists.txt", "update_test_compiler_features", "#update_test_compiler_features", {plain = true}) - end - - local configs = {"-DOPENMP_STANDALONE_BUILD=ON", "-DOPENMP_ENABLE_LIBOMPTARGET=OFF", "-DLIBOMP_INSTALL_ALIASES=OFF"} + local configs = {"-DLIBOMP_INSTALL_ALIASES=OFF"} local shared = package:config("shared") table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (shared and "ON" or "OFF")) table.insert(configs, "-DLIBOMP_ENABLE_SHARED=" .. (shared and "ON" or "OFF")) - table.insert(configs, "-DLIBOMP_OMPD_GDB_SUPPORT=" .. (package:is_cross() and "OFF" or "ON")) import("package.tools.cmake").install(package, configs) end) diff --git a/packages/l/libxmake/xmake.lua b/packages/l/libxmake/xmake.lua index 548f39f94ad..3ceabbb6172 100644 --- a/packages/l/libxmake/xmake.lua +++ b/packages/l/libxmake/xmake.lua @@ -8,7 +8,6 @@ package("libxmake") "https://github.com/xmake-io/xmake.git", "https://gitlab.com/tboox/xmake.git") - add_versions("v2.9.5", "03feb5787e22fab8dd40419ec3d84abd35abcd9f8a1b24c488c7eb571d6724c8") add_versions("v2.9.4", "75e2dde2bd2a48a332989b801ae65077c452d491fec517a9db27a81c8713cdc5") add_versions("v2.9.2", "1f617b6a4568c7eb3e8ab0f3a67c16989245adc547e3a7d1fd861acb308fb5b2") add_versions("v2.9.1", "a31dbef8c303aea1268068b4b1ac1aec142ac4124c7cb7d9c7eeb57c414f8d15") diff --git a/packages/l/libxml2/configs.lua b/packages/l/libxml2/configs.lua deleted file mode 100644 index 92374794344..00000000000 --- a/packages/l/libxml2/configs.lua +++ /dev/null @@ -1,39 +0,0 @@ -local libxml2_configs = { - catalog = {"Add the Catalog support", true }, - -- debug = {"Add the debugging module", true }, - html = {"Add the HTML support", true }, - http = {"Add the HTTP support", false}, - iconv = {"Add ICONV support", false}, - icu = {"Add ICU support", false}, - iso8859x = {"Add ISO8859X support if no iconv", true }, - legacy = {"Add deprecated APIs for compatibility", false}, - lzma = {"Use liblzma", false}, - modules = {"Add the dynamic modules support", true }, - output = {"Add the serialization support", true }, - pattern = {"Add the xmlPattern selection interface", true }, - programs = {"Build programs", false}, - push = {"Add the PUSH parser interfaces", true }, - python = {"Build Python bindings", false}, - readline = {"readline support for xmllint shell", false}, - regexps = {"Add Regular Expressions support", true }, - sax1 = {"Add the older SAX1 interface", true }, - threads = {"Add multithread support", true }, - tls = {"Enable thread-local storage", false}, - valid = {"Add the DTD validation support", true }, - xpath = {"Add the XPATH support", true }, - zlib = {"Use libz", false}, - - c14n = {"Add the Canonicalization support", true }, - history = {"history support for xmllint shell", false}, - reader = {"Add the xmlReader parsing interface", true }, - schemas = {"Add Relax-NG and Schemas support", true }, - schematron = {"Add Schematron support", true }, - thread_alloc = {"Add per-thread malloc hooks", false}, - writer = {"Add the xmlWriter saving interface", true }, - xinclude = {"Add the XInclude support", true }, - xptr = {"Add the XPointer support", true }, -} - -function get_libxml2_configs() - return libxml2_configs -end diff --git a/packages/l/libxml2/xmake.lua b/packages/l/libxml2/xmake.lua index b69771cf646..169e42bce5b 100644 --- a/packages/l/libxml2/xmake.lua +++ b/packages/l/libxml2/xmake.lua @@ -3,81 +3,36 @@ package("libxml2") set_description("The XML C parser and toolkit of Gnome.") set_license("MIT") - add_urls("https://gitlab.gnome.org/GNOME/libxml2/-/archive/$(version)/libxml2-$(version).tar.bz2", - "https://gitlab.gnome.org/GNOME/libxml2.git", - "https://github.com/GNOME/libxml2.git") + add_urls("https://download.gnome.org/sources/libxml2/$(version).tar.xz", {version = function (version) return format("%d.%d/libxml2-%s", version:major(), version:minor(), version) end}) + add_urls("https://gitlab.gnome.org/GNOME/libxml2.git") + add_versions("2.10.3", "5d2cc3d78bec3dbe212a9d7fa629ada25a7da928af432c93060ff5c17ee28a9c") + add_versions("2.13.2", "e7c8f5e0b5542159e0ddc409c22c9164304b581eaa9930653a76fb845b169263") - add_versions("v2.13.4", "ba783b43e8b3475cbd2b1ef40474da6a4465105ee9818d76cd3ac7863550afce") - add_versions("v2.13.2", "5091cf2767c3f7ba08bf59fbe85b01db36ca21abdcb37deea964fcb26a4391fb") - add_versions("v2.12.9", "3cd02671b20954865f5b3e90f192d8cc4d815b2362c2ff9a0b450b41648dac58") - add_versions("v2.11.9", "b9ed243467f82306da608a7a735ed55d90c7aaab0d3c6cf61284c43daa77cfee") + add_configs("iconv", {description = "Enable libiconv support.", default = false, type = "boolean"}) + add_configs("python", {description = "Enable the python interface.", default = false, type = "boolean"}) - includes(path.join(os.scriptdir(), "configs.lua")) - for name, desc in pairs(get_libxml2_configs()) do - add_configs(name, {description = desc[1], default = desc[2], type = "boolean"}) - end - add_configs("tools", {description = "Build tools", default = false, type = "boolean"}) - add_configs("all", {description = "Enable all configs, exclude python", default = false, type = "boolean"}) - - if is_plat("windows", "mingw") then + add_includedirs("include/libxml2") + if is_plat("windows") then add_syslinks("wsock32", "ws2_32", "bcrypt") - elseif is_plat("linux", "bsd") then - add_syslinks("m") + else + add_links("xml2") end - if is_plat("linux") then add_extsources("pkgconfig::libxml-2.0", "apt::libxml2-dev", "pacman::libxml2") + add_syslinks("m") end - add_includedirs("include/libxml2") - - add_deps("cmake") - - if on_check then - on_check("iphoneos", function (package) - raise("All version unsupported now. see https://gitlab.gnome.org/GNOME/libxml2/-/issues/774\nYou can use `libxml2 master` branch to build or open a pull request to patch it.") - end) - end - - on_load(function (package) - if package:is_plat("windows", "mingw") and not package:config("shared") then - package:add("defines", "LIBXML_STATIC") - end - - if package:config("all") then - for name, _ in pairs(import("configs").get_libxml2_configs()) do - if name ~= "python" then - package:config_set(name, true) - end + on_load("windows", "macosx", "linux", "iphoneos", "android", "bsd", function (package) + if package:is_plat("windows") then + if not package:config("shared") then + package:add("defines", "LIBXML_STATIC") + end + else + if package:gitref() then + package:add("deps", "autoconf", "automake", "libtool", "pkg-config") end - end - - if package:config("threads") and package:is_plat("linux", "bsd") then - package:add("syslinks", "pthread") - end - - if package:config("tools") then - package:config_set("programs", true) - package:addenv("PATH", "bin") - end - - if package:config("iconv") then - package:add("deps", "libiconv") - end - if package:config("icu") then - package:add("deps", "icu4c") - end - if package:config("lzma") then - package:add("deps", "xz") - end - if package:config("zlib") then - package:add("deps", "zlib") - end - if package:config("readline") and package:is_plat("linux", "macosx") then - package:add("deps", "readline") end if package:config("python") then - assert(package:config("shared"), "package(libxml2) python interface require shared lib") if package:is_cross() then raise("libxml2 python interface does not support cross-compilation") end @@ -85,39 +40,137 @@ package("libxml2") raise("libxml2 python interface requires iconv to be enabled") end package:add("deps", "python 3.x") - package:addenv("PYTHONPATH", package:installdir("python")) + end + if package:config("iconv") then + package:add("deps", "libiconv") end end) - on_install(function (package) - local configs = {"-DLIBXML2_WITH_TESTS=OFF"} - table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release")) - table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF")) - for name, _ in pairs(import("configs").get_libxml2_configs()) do - local enabled = (package:config(name) and "ON" or "OFF") - table.insert(configs, format("-DLIBXML2_WITH_%s=%s", name:upper(), enabled)) + on_install("windows", function (package) + os.cd("win32") + local args = {"configure.js", "iso8859x=yes", "lzma=no", "zlib=no", "compiler=msvc"} + table.insert(args, "cruntime=/" .. package:config("vs_runtime")) + table.insert(args, "debug=" .. (package:debug() and "yes" or "no")) + table.insert(args, "iconv=" .. (package:config("iconv") and "yes" or "no")) + table.insert(args, "python=" .. (package:config("python") and "yes" or "no")) + table.insert(args, "prefix=" .. package:installdir()) + if package:config("iconv") then + table.insert(args, "include=" .. package:dep("libiconv"):installdir("include")) + table.insert(args, "lib=" .. package:dep("libiconv"):installdir("lib")) + end + os.vrunv("cscript", args) + import("package.tools.nmake").install(package, {"/f", "Makefile.msvc"}) + os.tryrm(path.join(package:installdir("bin"), "run*.exe")) + os.tryrm(path.join(package:installdir("bin"), "test*.exe")) + os.tryrm(path.join(package:installdir("lib"), "libxml2_a_dll.lib")) + if package:config("shared") then + os.tryrm(path.join(package:installdir("lib"), "libxml2_a.lib")) + else + os.tryrm(path.join(package:installdir("lib"), "libxml2.lib")) + os.tryrm(path.join(package:installdir("bin"), "libxml2.dll")) + end + package:addenv("PATH", package:installdir("bin")) + if package:config("python") then + os.cd("../python") + io.replace("libxml_wrap.h", "XML_IGNORE_PEDANTIC_WARNINGS", "XML_IGNORE_DEPRECATION_WARNINGS") + io.replace("setup.py", "[xml_includes]", "[xml_includes,\"" .. package:dep("libiconv"):installdir("include"):gsub("\\", "\\\\") .. "\"]", {plain = true}) + io.replace("setup.py", "WITHDLLS = 1", "WITHDLLS = 0", {plain = true}) + if not package:config("shared") then + io.replace("setup.py", "libdirs = [", format("libdirs = [\n'%s',", package:dep("libiconv"):installdir("lib"):gsub("\\", "\\\\")), {plain = true}) + io.replace("setup.py", "platformLibs = []", "platformLibs = ['iconv','wsock32','ws2_32']", {plain = true}) + io.replace("setup.py", "\"xml2\"", "\"xml2_a\"", {plain = true}) + io.replace("setup.py", "macros = []", "macros = [('LIBXML_STATIC','1')]", {plain = true}) + else + os.cp(path.join(package:installdir("bin"), "libxml2.dll"), path.join(package:installdir("lib"), "site-packages", "libxml2.dll")) + end + os.mkdir(path.join(package:installdir("lib"), "site-packages")) + os.vrunv("python", {"-m", "pip", "install", "--prefix=" .. package:installdir(), "."}, {envs = {PYTHONPATH = path.join(package:installdir("lib"), "site-packages")}}) + package:addenv("PYTHONPATH", path.join(package:installdir("lib"), "site-packages")) end + end) - local opt = {} - local lzma = package:dep("xz") - if lzma and not lzma:config("shared") then - opt.cxflags = "-DLZMA_API_STATIC" + on_install("macosx", "linux", "iphoneos", "android@!windows", "bsd", function (package) + if package:is_plat("iphoneos") then + io.replace("dict.c", "defined(HAVE_GETENTROPY)", "0", {plain = true}) -- getentropy is private on iOS end - import("package.tools.cmake").install(package, configs, opt) - if package:is_plat("windows") then - local libfiles = os.files(package:installdir("lib/*xml2*.lib"))[1] - local pc = package:installdir("lib/pkgconfig/libxml-2.0.pc") - io.replace(pc, "-lxml2", "-l" .. path.basename(libfiles), {plain = true}) + import("package.tools.autoconf") + local configs = {"--disable-dependency-tracking", + "--without-lzma", + "--without-zlib"} + if package:config("shared") then + table.insert(configs, "--enable-shared=yes") + table.insert(configs, "--enable-static=no") + else + table.insert(configs, "--enable-shared=no") + table.insert(configs, "--enable-static=yes") + end + if package:config("iconv") then + local iconvdir + local iconv = package:dep("libiconv"):fetch() + if iconv then + iconvdir = table.wrap(iconv.sysincludedirs or iconv.includedirs)[1] + end + if iconvdir then + table.insert(configs, "--with-iconv=" .. path.directory(iconvdir)) + else + table.insert(configs, "--with-iconv") + end + else + table.insert(configs, "--without-iconv") + end + if package:config("pic") ~= false then + table.insert(configs, "--with-pic") + end + local envs = autoconf.buildenvs(package) + if package:config("python") then + table.insert(configs, "--with-python") + table.insert(configs, "--with-ftp") + table.insert(configs, "--with-legacy") + local python = package:dep("python"):fetch() + if python then + local cflags, ldflags + for _, includedir in ipairs(python.sysincludedirs or python.includedirs) do + cflags = (cflags or "") .. " -I" .. includedir + end + for _, linkdir in ipairs(python.linkdirs) do + ldflags = (ldflags or "") .. " -L" .. linkdir + end + envs.PYTHON_CFLAGS = cflags + envs.PYTHON_LIBS = ldflags + end + else + table.insert(configs, "--without-python") + end + autoconf.install(package, configs, {envs = envs}) + package:addenv("PATH", package:installdir("bin")) + if package:config("python") then + os.cd("python") + io.replace("setup.py", "[xml_includes]", "[xml_includes,\"" .. package:dep("libiconv"):installdir("include") .. "\"]", {plain = true}) + if not package:config("shared") then + io.replace("setup.py", "libdirs = [", format("libdirs = [\n'%s',", package:dep("libiconv"):installdir("lib")), {plain = true}) + io.replace("setup.py", "platformLibs = [\"m\",\"z\"]", "platformLibs = [\"iconv\",\"m\"]", {plain = true}) + else + io.replace("setup.py", "platformLibs = [\"m\",\"z\"]", "platformLibs = [\"m\"]", {plain = true}) + end + local python = package:dep("python") + local pythonver = nil + if python:is_system() then + pythonver = import("core.base.semver").new(python:fetch().version) + else + pythonver = python:version() + end + os.vrunv("python3", {"-m", "pip", "install", "--prefix=" .. package:installdir(), "."}, {envs = {PYTHONPATH = path.join(package:installdir("lib"), format("python%s.%s", pythonver:major(), pythonver:minor()), "site-packages")}}) + package:addenv("PYTHONPATH", path.join(package:installdir("lib"), format("python%s.%s", pythonver:major(), pythonver:minor()), "site-packages")) end end) on_test(function (package) - assert(package:has_cfuncs("xmlInitParser", {includes = "libxml/parser.h"})) if package:config("python") then if package:is_plat("windows") then - os.vrun([[python -c "import libxml2"]]) + os.vrun("python -c \"import libxml2\"") else - os.vrun([[python3 -c "import libxml2"]]) + os.vrun("python3 -c \"import libxml2\"") end end + assert(package:has_cfuncs("xmlNewNode", {includes = {"libxml/parser.h", "libxml/tree.h"}})) end) diff --git a/packages/l/libzip/patches/1.11.1/mingw-shared.patch b/packages/l/libzip/patches/1.11.1/mingw-shared.patch deleted file mode 100644 index de099f3626a..00000000000 --- a/packages/l/libzip/patches/1.11.1/mingw-shared.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 4e6f0344690b747cbca2e183e3837c5044414513 Mon Sep 17 00:00:00 2001 -From: Thomas Klausner -Date: Mon, 23 Sep 2024 09:12:28 +0200 -Subject: [PATCH] Do not include zip.h from lib/*.c - ---- - lib/zip_dirent.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/lib/zip_dirent.c b/lib/zip_dirent.c -index 85c4c6dc..6e3e1a46 100644 ---- a/lib/zip_dirent.c -+++ b/lib/zip_dirent.c -@@ -39,7 +39,6 @@ - #include - #include - --#include "zip.h" - #include "zipint.h" - - static zip_string_t *_zip_dirent_process_ef_utf_8(const zip_dirent_t *de, zip_uint16_t id, zip_string_t *str, bool check_consistency); - diff --git a/packages/l/libzip/xmake.lua b/packages/l/libzip/xmake.lua index 930041682d4..e0566c2b47f 100644 --- a/packages/l/libzip/xmake.lua +++ b/packages/l/libzip/xmake.lua @@ -1,4 +1,5 @@ package("libzip") + set_homepage("https://libzip.org/") set_description("A C library for reading, creating, and modifying zip archives.") set_license("BSD-3-Clause") @@ -8,13 +9,10 @@ package("libzip") return tostring(version):sub(2) end}) add_urls("https://github.com/nih-at/libzip.git") - - add_versions("v1.11.1", "c0e6fa52a62ba11efd30262290dc6970947aef32e0cc294ee50e9005ceac092a") add_versions("v1.10.1", "9669ae5dfe3ac5b3897536dc8466a874c8cf2c0e3b1fdd08d75b273884299363") add_versions("v1.8.0", "30ee55868c0a698d3c600492f2bea4eb62c53849bcf696d21af5eb65f3f3839e") add_versions("v1.9.2", "fd6a7f745de3d69cf5603edc9cb33d2890f0198e415255d0987a0cf10d824c6f") - add_patches("1.11.1", "patches/1.11.1/mingw-shared.patch", "bdd27b2c68ff045160126a6005237105307af06cfc7f89df69e6728ce23fa36a") add_patches("<=1.10.1", "patches/1.10.1/mingw.patch", "17513dbef5feca0630ad16a2eacb507fd2ee3d3a47a7c9a660eba24b35ea3fa8") add_deps("cmake", "zlib") @@ -33,55 +31,24 @@ package("libzip") add_syslinks("advapi32") end - if on_check then - on_check("android", function (package) - if package:is_arch("armeabi-v7a") then - local ndkver = package:toolchain("ndk"):config("ndkver") - assert(ndkver and tonumber(ndkver) > 22, "package(libzip) require ndk version > 22") - end - end) - end - on_load(function (package) for config, dep in pairs(configdeps) do if package:config(config) then package:add("deps", dep) end end - - if not package:config("sahred") then - package:add("defines", "ZIP_STATIC") - end end) - on_install(function (package) + on_install("windows", "macosx", "linux", "mingw", function (package) io.replace("CMakeLists.txt", "Dist(", "#Dist(", {plain = true}) - - local configs = { - "-DBUILD_DOC=OFF", - "-DBUILD_EXAMPLES=OFF", - "-DBUILD_REGRESS=OFF", - "-DBUILD_OSSFUZZ=OFF", - "-DBUILD_TOOLS=ON", - } - table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release")) + local configs = {"-DBUILD_DOC=OFF", "-DBUILD_EXAMPLES=OFF", "-DBUILD_REGRESS=OFF", "-DBUILD_TOOLS=ON"} + table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release")) table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF")) table.insert(configs, "-DENABLE_GNUTLS=OFF") for config, dep in pairs(configdeps) do table.insert(configs, "-DENABLE_" .. config:upper() .. "=" .. (package:config(config) and "ON" or "OFF")) end - - if package:is_plat("windows") then - os.mkdir(path.join(package:buildir(), "src/pdb")) - os.mkdir(path.join(package:buildir(), "lib/pdb")) - end import("package.tools.cmake").install(package, configs) - - if package:is_plat("windows") and package:is_debug() then - local dir = package:installdir(package:config("shared") and "bin" or "lib") - os.vcp(path.join(package:buildir(), "src/*.pdb"), dir) - os.vcp(path.join(package:buildir(), "lib/*.pdb"), dir) - end end) on_test(function (package) diff --git a/packages/l/limonp/xmake.lua b/packages/l/limonp/xmake.lua index 635af38cd5b..82c6ec91db2 100644 --- a/packages/l/limonp/xmake.lua +++ b/packages/l/limonp/xmake.lua @@ -7,7 +7,6 @@ package("limonp") add_urls("https://github.com/yanyiwu/limonp/archive/refs/tags/$(version).tar.gz", "https://github.com/yanyiwu/limonp.git") - add_versions("v1.0.0", "57c088a10ceda774e05281b1fc7779455af2cc824969e331874871822452e24f") add_versions("v0.9.0", "92d90b262ab2e3375dd386731deeb028f88ee7d07d0695d53d10bef6887d2f5f") add_deps("cmake") diff --git a/packages/m/md4qt/xmake.lua b/packages/m/md4qt/xmake.lua index 0ab620f121f..141e8730cae 100644 --- a/packages/m/md4qt/xmake.lua +++ b/packages/m/md4qt/xmake.lua @@ -7,7 +7,6 @@ package("md4qt") add_urls("https://github.com/igormironchik/md4qt/archive/refs/tags/$(version).tar.gz", "https://github.com/igormironchik/md4qt.git") - add_versions("3.0.0", "757f94ce1818123abe899729bba00aa1d99150d4cbe934ab57a95b308fd536dd") add_versions("2.8.1", "02a046c1586da820be0c5dd36f635ca50060f893fe638b542546f4a7a07d3164") add_versions("2.8.0", "82ef6acc84ea3a7891e4547f7d79af4caaef0f4d6f152bdab2a5c6ed5a48d11b") add_versions("2.4.2", "76f3228dd9afa2661fe9326b51e5ec8dc29e364f99fb0f94704792610d543fa2") diff --git a/packages/m/mmloader/xmake.lua b/packages/m/mmloader/xmake.lua deleted file mode 100644 index a3f7ecc0435..00000000000 --- a/packages/m/mmloader/xmake.lua +++ /dev/null @@ -1,48 +0,0 @@ -package("mmloader") - set_homepage("http://tishion.github.io/mmLoader/") - set_description("A library for loading dll module bypassing windows PE loader from memory (x86/x64)") - set_license("MIT") - - add_urls("https://github.com/tishion/mmLoader.git") - - add_versions("2024.03.20", "ab1811869b987fb8c35d6d0fb695c50bf84c4df4") - - add_configs("shellcode", {description = "Generate the shellcode header files", default = false, type = "boolean"}) - add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true}) - - add_deps("cmake") - - if on_check then - on_check(function (package) - import("core.base.semver") - - local vs_sdkver = package:toolchain("msvc"):config("vs_sdkver") - assert(vs_sdkver and not semver.match(vs_sdkver):eq("10.0.19041"), "package(mmloader) require vs_sdkver != 10.0.19041.0") - end) - end - - on_install("windows|x64", "windows|x86", function (package) - local configs = {"-DBUILD_MMLOADER_DEMO=OFF"} - table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release")) - table.insert(configs, "-DBUILD_SHELLCODE_GEN=" .. (package:config("shellcode") and "ON" or "OFF")) - if package:is_arch("x86") then - table.insert(configs, "-DCMAKE_VS_PLATFORM_NAME=Win32") - elseif package:is_arch("x64") then - table.insert(configs, "-DCMAKE_VS_PLATFORM_NAME=x64") - end - - local opt = {} - if package:is_debug() then - opt.cxflags = "-D_DEBUG" - os.mkdir(path.join(package:buildir(), "tools/shellcode-generator/pdb")) - end - import("package.tools.cmake").install(package, configs, opt) - - if package:is_debug() then - os.vcp("output/**.pdb", package:installdir("lib")) - end - end) - - on_test(function (package) - assert(package:has_cfuncs("LoadMemModule", {includes = "mmLoader/mmLoader.h"})) - end) diff --git a/packages/m/mumps/xmake.lua b/packages/m/mumps/xmake.lua index cb8dacd23d2..2d40fde02cf 100644 --- a/packages/m/mumps/xmake.lua +++ b/packages/m/mumps/xmake.lua @@ -1,11 +1,10 @@ package("mumps") - set_homepage("https://mumps-solver.org/index.php") + set_homepage("http://mumps.enseeiht.fr/") set_description("MUMPS: MUltifrontal Massively Parallel sparse direct Solver") - add_urls("https://mumps-solver.org/MUMPS_$(version).tar.gz") + add_urls("http://mumps.enseeiht.fr/MUMPS_$(version).tar.gz") add_versions("5.4.1", "93034a1a9fe0876307136dcde7e98e9086e199de76f1c47da822e7d4de987fa8") - add_versions("5.7.3", "84a47f7c4231b9efdf4d4f631a2cae2bdd9adeaabc088261d15af040143ed112") add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true}) @@ -14,27 +13,22 @@ package("mumps") add_syslinks("pthread") end add_links("smumps", "dmumps", "cmumps", "zmumps", "mumps_common", "pord", "mpiseq") - on_install("linux", function (package) import("lib.detect.find_tool") - local fortranc = assert(find_tool("gfortran"), "gfortran not found!") + local fortranc = find_tool("gfortran") + if not fortranc then + raise("gfortran not found!") + end os.cp("Make.inc/Makefile.inc.generic.SEQ", "Makefile.inc") io.replace("Makefile.inc", "ORDERINGSF = -Dpord", "ORDERINGSF = -Dscotch -Dpord", {plain = true}) - local links = "-lopenblas" - if package:dep("openblas"):config("openmp") then - links = "-fopenmp " .. links - if package:dep("openblas"):dep("openmp"):dep("libomp") then - links = links .. " -lomp" - end - end - io.replace("Makefile.inc", "LAPACK = -llapack", "LAPACK = " .. links, {plain = true}) - io.replace("Makefile.inc", "LIBBLAS = -lblas", "LIBBLAS = " .. links, {plain = true}) + io.replace("Makefile.inc", "LAPACK = -llapack", "LAPACK = -lopenblas", {plain = true}) + io.replace("Makefile.inc", "LIBBLAS = -lblas", "LIBBLAS = -lopenblas", {plain = true}) io.replace("Makefile.inc", "f90", fortranc.program, {plain = true}) io.replace("Makefile.inc", "OPTF = -O", "OPTF = -O -std=legacy", {plain = true}) local envs = import("package.tools.make").buildenvs(package) local cflags, ldflags - for _, dep in ipairs(package:librarydeps()) do + for _, dep in ipairs(package:orderdeps()) do local fetchinfo = dep:fetch() if fetchinfo then for _, includedir in ipairs(fetchinfo.includedirs or fetchinfo.sysincludedirs) do diff --git a/packages/p/pedeps/xmake.lua b/packages/p/pedeps/xmake.lua deleted file mode 100644 index dd0551cdd0a..00000000000 --- a/packages/p/pedeps/xmake.lua +++ /dev/null @@ -1,52 +0,0 @@ -package("pedeps") - set_homepage("https://github.com/brechtsanders/pedeps") - set_description("Cross-platform C library to read data from PE/PE+ files (the format of Windows .exe and .dll files)") - set_license("MIT") - - add_urls("https://github.com/brechtsanders/pedeps/releases/download/$(version)/pedeps-$(version).tar.xz", - "https://github.com/brechtsanders/pedeps.git") - - add_versions("0.1.15", "41e6239ff27deed21ad435567f3f8f1c049d072c86a37c2005fd74aea906f1d3") - - add_configs("tools", {description = "Build tools", default = false, type = "boolean"}) - - on_install(function (package) - if not package:config("shared") and package:is_plat("windows", "mingw", "msys") then - package:add("defines", "STATIC") - end - - io.writefile("xmake.lua", [[ - option("tools", {default = false}) - add_rules("mode.debug", "mode.release") - rule("tools") - on_load(function (target) - if not get_config("tools") then - target:set("enabled", false) - return - end - - target:add("kind", "binary") - target:add("deps", "pedeps") - end) - target("pedeps") - set_kind("$(kind)") - add_files("lib/*.c") - add_headerfiles("lib/*.h") - add_includedirs("lib", {public = true}) - if is_kind("static") then - add_defines("BUILD_PEDEPS_STATIC") - elseif is_kind("shared") then - add_defines("BUILD_PEDEPS_DLL") - end - for _, file in ipairs(os.files("src/*.c")) do - target(path.basename(file)) - add_rules("tools") - add_files(file) - end - ]]) - import("package.tools.xmake").install(package, {tools = package:config("tools")}) - end) - - on_test(function (package) - assert(package:has_cfuncs("pefile_create", {includes = "pedeps.h"})) - end) diff --git a/packages/p/portaudio/xmake.lua b/packages/p/portaudio/xmake.lua index b6c6b4a509c..506b4a40a3f 100644 --- a/packages/p/portaudio/xmake.lua +++ b/packages/p/portaudio/xmake.lua @@ -4,7 +4,6 @@ package("portaudio") add_urls("https://github.com/PortAudio/portaudio.git") - add_versions("2024.08.25", "3beece1baedab8acd7084d028df781efacaf31c4") add_versions("2023.08.05", "95a5c4ba645e01b32f70458f8ddcd92edd62f982") add_configs("skeleton", {description = "Use skeleton host API", default = false, type = "boolean"}) @@ -16,7 +15,6 @@ package("portaudio") add_configs("wdmks", {description = "Enable support for WDMKS", default = true, type = "boolean"}) add_configs("wdmks_devcie_info", {description = "Use WDM/KS API for device info", default = true, type = "boolean"}) elseif is_plat("linux") then - add_configs("alsa", {description = "Enable support for ALSA", default = true, type = "boolean"}) add_configs("alsa_dynamic", {description = "Enable dynamically loading libasound with dlopen using PaAlsa_SetLibraryPathName", default = false, type = "boolean"}) end @@ -30,36 +28,8 @@ package("portaudio") add_deps("cmake") - on_load(function (package) - if package:config("alsa") then - package:add("deps", "alsa-lib") - package:add("defines", "PA_USE_ALSA=1") - end - if package:config("asio") then - package:add("defines", "PA_USE_ASIO=1") - end - if package:config("direct_sound") then - package:add("defines", "PA_USE_DS=1") - end - if package:config("wmme") then - package:add("defines", "PA_USE_WMME=1") - end - if package:config("wasapi") then - package:add("defines", "PA_USE_WASAPI=1") - end - if package:config("wdmks") then - package:add("defines", "PA_USE_WDMKS=1") - end - end) - - on_install("!iphoneos", function (package) - io.replace("CMakeLists.txt", [["${ALSA_LIBRARIES}"]], "ALSA::ALSA", {plain = true}) - - local configs = { - "-DPA_BUILD_TESTS=OFF", - "-DPA_BUILD_EXAMPLES=OFF", - "-DCMAKE_POLICY_DEFAULT_CMP0057=NEW", - } + on_install("windows", "linux", "macosx", "bsd", "mingw", "msys", "android", "wasm", "cross", function (package) + local configs = {"-DPA_BUILD_TESTS=OFF", "-DPA_BUILD_EXAMPLES=OFF"} if package:is_debug() then table.insert(configs, "-DCMAKE_BUILD_TYPE=Debug") table.insert(configs, "-DPA_ENABLE_DEBUG_OUTPUT=ON") @@ -78,7 +48,6 @@ package("portaudio") table.insert(configs, "-DPA_USE_WDMKS=" .. (package:config("wdmks") and "ON" or "OFF")) table.insert(configs, "-DPA_USE_WDMKS_DEVICE_INFO=" .. (package:config("wdmks_devcie_info") and "ON" or "OFF")) elseif package:is_plat("linux") then - table.insert(configs, "-DPA_USE_ALSA=" .. (package:config("alsa") and "ON" or "OFF")) table.insert(configs, "-DPA_ALSA_DYNAMIC=" .. (package:config("alsa_dynamic") and "ON" or "OFF")) end import("package.tools.cmake").install(package, configs) diff --git a/packages/s/scotch/patches/7.0.5/cmake.patch b/packages/s/scotch/patches/7.0.5/cmake.patch deleted file mode 100644 index 66388a123d8..00000000000 --- a/packages/s/scotch/patches/7.0.5/cmake.patch +++ /dev/null @@ -1,98 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ce3c5ba..b05667f 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -42,7 +42,7 @@ - ############################################################ - - cmake_minimum_required(VERSION 3.10) --project(SCOTCH LANGUAGES C Fortran) -+project(SCOTCH LANGUAGES C) - - # Add module directory - list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules) -diff --git a/src/esmumps/CMakeLists.txt b/src/esmumps/CMakeLists.txt -index 7d2fb92..fa2ca12 100644 ---- a/src/esmumps/CMakeLists.txt -+++ b/src/esmumps/CMakeLists.txt -@@ -135,6 +135,7 @@ install(TARGETS esmumps - EXPORT esmumpsTargets - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) - - # Dummy PTEsMUMPS library file -@@ -169,4 +170,5 @@ install(TARGETS ptesmumps - EXPORT ptesmumpsTargets - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) -diff --git a/src/libscotch/CMakeLists.txt b/src/libscotch/CMakeLists.txt -index f314d3a..e539ab9 100644 ---- a/src/libscotch/CMakeLists.txt -+++ b/src/libscotch/CMakeLists.txt -@@ -359,7 +359,7 @@ set(SCOTCH_C_SOURCES - library_context_graph_f.c - library_context_f.c - #library_errcom.c -- #library_error.c -+ library_error.c - #library_error_exit.c - library_f.h - library_geom.c -@@ -833,6 +833,7 @@ foreach(_target ${TARGETS_LIST}) - EXPORT ${_target}Targets - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) - - if (BUILD_PTSCOTCH) -@@ -847,6 +848,7 @@ foreach(_target ${TARGETS_LIST}) - EXPORT pt${_target}Targets - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) - - endif() -diff --git a/src/libscotchmetis/CMakeLists.txt b/src/libscotchmetis/CMakeLists.txt -index e08fe6a..ac8b089 100644 ---- a/src/libscotchmetis/CMakeLists.txt -+++ b/src/libscotchmetis/CMakeLists.txt -@@ -127,13 +127,15 @@ foreach(version 3 5) - EXPORT scotchmetisTargets - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) - else() - install(TARGETS scotchmetisv${version} - COMPONENT libscotch - EXPORT scotchmetisTargets - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - endif() - endforeach(version 3 5) - -@@ -204,13 +206,15 @@ if(BUILD_PTSCOTCH) - EXPORT ptscotchparmetisTargets - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) - else() - install(TARGETS ptscotchparmetisv${version} - COMPONENT libptscotch - EXPORT ptscotchparmetisTargets - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) - endif() - endforeach(version 3) - endif(BUILD_PTSCOTCH) diff --git a/packages/s/scotch/xmake.lua b/packages/s/scotch/xmake.lua index 3ff960d6d5c..23f1c8051b3 100644 --- a/packages/s/scotch/xmake.lua +++ b/packages/s/scotch/xmake.lua @@ -1,43 +1,26 @@ package("scotch") + set_homepage("https://www.labri.fr/perso/pelegrin/scotch/") set_description("Scotch: a software package for graph and mesh/hypergraph partitioning, graph clustering, and sparse matrix ordering") add_urls("https://gitlab.inria.fr/scotch/scotch/-/archive/$(version)/scotch-$(version).zip", "https://gitlab.inria.fr/scotch/scotch.git") - add_versions("v6.1.1", "21d001c390ec63ac60f987b9921f33cc1967b41cf07567e22cbf3253cda8962a") add_versions("v7.0.5", "fd52e97844115dce069220bacbfb45fccdf83d425614b02b67b44cedf9d72640") - if is_plat("windows", "mingw", "msys", "bsd") then - add_patches("7.0.5", "patches/7.0.5/cmake.patch", "5104181d78dcf31779ab70cae61bb80fa2f6f836ce5d73628ef9b2d074fb8d8c") - end - add_configs("zlib", {description = "Use ZLIB compression format.", default = true, type = "boolean"}) add_configs("lzma", {description = "Use LZMA compression format.", default = false, type = "boolean"}) add_configs("bz2", {description = "Use BZ2 compression format.", default = false, type = "boolean"}) - if is_plat("linux", "bsd") then + if is_plat("linux") then add_syslinks("pthread") end - add_links("ptesmumps", "esmumps", "scotch", "scotcherr", "scotcherrexit", "scotchmetis", "scotchmetisv5", "scotchmetisv3") - - if on_check then - on_check(function (package) - if package:is_cross() then - raise("package(scotch) unsupported cross-compilation") - end - end) - end - on_load(function (package) - if package:gitref() or package:version():ge("7.0.0") then + if package:version():ge("7.0.0") then package:add("deps", "cmake") package:add("deps", "flex", "bison") - if package:is_plat("linux", "macosx") then - package:add("deps", "gfortran", {kind = "binary"}) - end - + package:add("deps", "gfortran", {kind = "binary"}) if package:config("zlib") then package:add("deps", "zlib") end @@ -51,25 +34,17 @@ package("scotch") package:add("deps", "zlib") end end) - -- mingw require to fix xrepo flex package - on_install("windows|x64", "windows|arm64", "linux", "macosx", "bsd", function (package) - if package:gitref() or package:version():ge("7.0.0") then + + on_install("macosx", "linux", function (package) + if package:version():ge("7.0.0") then local configs = {"-DENABLE_TESTS=OFF", "-DBUILD_PTSCOTCH=OFF"} table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release")) table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF")) table.insert(configs, "-DUSE_ZLIB=" .. (package:config("zlib") and "ON" or "OFF")) table.insert(configs, "-DUSE_LZMA=" .. (package:config("lzma") and "ON" or "OFF")) table.insert(configs, "-DUSE_BZ2=" .. (package:config("bz2") and "ON" or "OFF")) - if package:is_plat("windows") then - os.mkdir(path.join(package:buildir(), "src/scotch/pdb")) - os.mkdir(path.join(package:buildir(), "src/esmumps/pdb")) - os.mkdir(path.join(package:buildir(), "src/libscotch/pdb")) - os.mkdir(path.join(package:buildir(), "src/libscotchmetis/pdb")) - if package:config("shared") then - table.insert(configs, "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON") - end - end import("package.tools.cmake").install(package, configs) + elseif package:is_plat("macosx", "linux") then import("package.tools.make") diff --git a/packages/t/tinyxml2/xmake.lua b/packages/t/tinyxml2/xmake.lua index 0b15bc189d8..471bddc6c13 100644 --- a/packages/t/tinyxml2/xmake.lua +++ b/packages/t/tinyxml2/xmake.lua @@ -1,39 +1,38 @@ package("tinyxml2") + set_homepage("http://www.grinninglizard.com/tinyxml2/") set_description("simple, small, efficient, C++ XML parser that can be easily integrating into other programs.") set_license("zlib") - add_urls("https://github.com/leethomason/tinyxml2/archive/refs/tags/$(version).tar.gz", - "https://github.com/leethomason/tinyxml2.git") - + add_urls("https://github.com/leethomason/tinyxml2/archive/$(version).tar.gz") + add_urls("https://github.com/leethomason/tinyxml2.git") add_versions("8.0.0", "6ce574fbb46751842d23089485ae73d3db12c1b6639cda7721bf3a7ee862012c") add_versions("9.0.0", "cc2f1417c308b1f6acc54f88eb70771a0bf65f76282ce5c40e54cfe52952702c") add_versions("10.0.0", "3bdf15128ba16686e69bce256cc468e76c7b94ff2c7f391cc5ec09e40bff3839") - add_deps("cmake") - - on_install(function (package) - if package:is_debug() then - package:add("defines", "TINYXML2_DEBUG") - end - if package:config("shared") and package:is_plat("windows") then - package:add("defines", "TINYXML2_IMPORT") - end - - if package:is_plat("android") and package:is_arch("armeabi-v7a") then - local ndk_sdkver = package:toolchain("ndk"):config("ndk_sdkver") - if ndk_sdkver and tonumber(ndk_sdkver) < 24 then - io.replace("tinyxml2.cpp", "ftello", "ftell", {plain = true}) - io.replace("tinyxml2.cpp", "fseeko", "fseek", {plain = true}) - end - end + if is_plat("linux", "macosx", "windows") then + add_deps("cmake") + end + on_install("linux", "macosx", "windows", function (package) local configs = {"-DBUILD_TESTING=OFF"} - table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release")) + table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release")) table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF")) import("package.tools.cmake").install(package, configs) end) + on_install("mingw", "android", "iphoneos", function (package) + io.writefile("xmake.lua", [[ + add_rules("mode.debug", "mode.release") + target("tinyxml2") + set_kind("$(kind)") + set_languages("cxx11") + add_headerfiles("tinyxml2.h") + add_files("tinyxml2.cpp") + ]]) + import("package.tools.xmake").install(package) + end) + on_test(function (package) assert(package:check_cxxsnippets({test = [[ void test(int argc, char** argv) { diff --git a/packages/t/trantor/xmake.lua b/packages/t/trantor/xmake.lua index 36aacbd0813..558c60f8433 100644 --- a/packages/t/trantor/xmake.lua +++ b/packages/t/trantor/xmake.lua @@ -6,7 +6,6 @@ package("trantor") add_urls("https://github.com/an-tao/trantor/archive/refs/tags/$(version).tar.gz", "https://github.com/an-tao/trantor.git") - add_versions("v1.5.21", "c267e8d3657a85751554a6877efd1199f6766a9fd6418d2c72839ad0a8943988") add_versions("v1.5.20", "4d3b98c228aafde1001cff581cf8d1a4a9f71f7b2a85a28978b560aefc21c038") add_versions("v1.5.19", "a2f55a98fd4b0737ba0e2cd77d2f237253e607b2047071be04a9ea76587bb608") add_versions("v1.5.18", "f8227eb5307671496db435736e0b856529afae420b148c60a2b36839d6738707") diff --git a/packages/u/upa-url/xmake.lua b/packages/u/upa-url/xmake.lua deleted file mode 100644 index 7035d39a990..00000000000 --- a/packages/u/upa-url/xmake.lua +++ /dev/null @@ -1,47 +0,0 @@ -package("upa-url") - set_homepage("https://upa-url.github.io/docs/") - set_description("An implementation of the WHATWG URL Standard in C++") - set_license("BSD-2-Clause") - - add_urls("https://github.com/upa-url/upa/archive/refs/tags/$(version).tar.gz", - "https://github.com/upa-url/upa.git", {submodules = false}) - - add_versions("v1.0.0", "9ad14357c177f7c038a447996a065995e074eb5447015467687726c5d221b5f4") - - add_configs("tools", {description = "Build tools", default = false, type = "boolean"}) - - add_deps("cmake") - - on_install(function (package) - if package:is_plat("windows") and package:config("shared") then - io.writefile("xmake.lua", [[ - add_rules("mode.debug", "mode.release") - set_languages("c++11") - target("upa_url") - set_kind("$(kind)") - add_files("src/*.cpp") - add_includedirs("include") - add_headerfiles("include/(upa/*.h)") - if is_plat("windows") and is_kind("shared") then - add_rules("utils.symbols.export_all", {export_classes = true}) - end - ]]) - import("package.tools.xmake").install(package) - else - io.replace("CMakeLists.txt", "STATIC", "", {plain = true}) - - local configs = {"-DURL_BUILD_TESTS=OFF", "-DUPA_BUILD_TESTS=OFF"} - table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release")) - table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF")) - table.insert(configs, "-DUPA_BUILD_TOOLS=" .. (package:config("tools") and "ON" or "OFF")) - import("package.tools.cmake").install(package, configs) - end - end) - - on_test(function (package) - assert(package:check_cxxsnippets({test = [[ - void test() { - upa::url url{"https://xmake.io/"}; - } - ]]}, {configs = {languages = "c++11"}, includes = "upa/url.h"})) - end) diff --git a/packages/w/winreg/xmake.lua b/packages/w/winreg/xmake.lua index b977abd1626..014113c500f 100644 --- a/packages/w/winreg/xmake.lua +++ b/packages/w/winreg/xmake.lua @@ -7,7 +7,6 @@ package("winreg") add_urls("https://github.com/GiovanniDicanio/WinReg/archive/refs/tags/$(version).tar.gz", "https://github.com/GiovanniDicanio/WinReg.git") - add_versions("v6.3.0", "5a8b47c19ce705172cb1107451acbbb9fa7d8aa1e8f5356a2e682c16cf5532e9") add_versions("v6.2.0", "9dc1b287fb8c765a35791bf0deea0da81e52a969827bc2d8777f54f26ade588d") add_versions("v6.1.0", "d4118ccfd4f4edee29e0f6b3706979791ad537278e2f74818c150bb66f8fcc53") diff --git a/packages/w/wxwidgets/xmake.lua b/packages/w/wxwidgets/xmake.lua index 70db80ef469..f29cbf79b7f 100644 --- a/packages/w/wxwidgets/xmake.lua +++ b/packages/w/wxwidgets/xmake.lua @@ -57,20 +57,21 @@ package("wxwidgets") add_configs("vs_runtime", {description = "Set vs compiler runtime.", default = "MD", readonly = true}) add_configs("debug", {description = "Enable debug symbols.", default = false, type = "boolean", readonly = true}) else - add_urls("https://github.com/wxWidgets/wxWidgets/archive/refs/tags/$(version).tar.gz", + add_urls("https://github.com/wxWidgets/wxWidgets/releases/download/v$(version)/wxWidgets-$(version).tar.bz2", "https://github.com/wxWidgets/wxWidgets.git") - add_versions("v3.2.0", "43480e3887f32924246eb439520a3a2bc04d7947712de1ea0590c5b58dedadd9") - add_versions("v3.2.2", "2a4ec4d1af3f22fbfd0a40b051385a5d82628d9f28bae8427f5c30d72bdaade7") - add_versions("v3.2.3", "0eb9499c06778c6746dbd4aee2a124f1995a5db331e282d15237b0046c1788af") - add_versions("v3.2.4", "b358b7f59f5b7cb934265120d114e5fd510a8b40802d00a111a85911eb5100d1") + add_versions("3.2.0", "356e9b55f1ae3d58ae1fed61478e9b754d46b820913e3bfbc971c50377c1903a") + add_versions("3.2.2", "8edf18672b7bc0996ee6b7caa2bee017a9be604aad1ee471e243df7471f5db5d") + add_versions("3.2.3", "c170ab67c7e167387162276aea84e055ee58424486404bba692c401730d1a67a") + add_versions("3.2.4", "0640e1ab716db5af2ecb7389dbef6138d7679261fbff730d23845ba838ca133e") + add_versions("3.2.5", "0ad86a3ad3e2e519b6a705248fc9226e3a09bbf069c6c692a02acf7c2d1c6b51") add_deps("cmake") - add_deps("libjpeg", "libpng", "nanosvg", "expat", "zlib") + add_deps("libjpeg", "libpng", "nanosvg", "expat", "zlib", "pango") if is_plat("linux") then - add_deps("gtk+3", "opengl") + add_deps("opengl") end end - + if is_plat("macosx") then add_defines("__WXOSX_COCOA__", "__WXMAC__", "__WXOSX__", "__WXMAC_XCODE__") add_frameworks("AudioToolbox", "WebKit", "CoreFoundation", "Security", "Carbon", "Cocoa", "IOKit", "QuartzCore") @@ -79,6 +80,9 @@ package("wxwidgets") add_defines("__WXGTK3__", "__WXGTK__") add_syslinks("pthread", "m", "dl") add_syslinks("X11", "Xext", "Xtst", "xkbcommon") + add_links( + "pango-1.0", "pangoxft-1.0", "pangocairo-1.0", "pangoft2-1.0" + ) elseif is_plat("windows") then add_defines("WXUSINGDLL", "__WXMSW__", "wxSUFFIX=u", "wxMSVC_VERSION=14x") add_links( @@ -110,6 +114,14 @@ package("wxwidgets") else package:add("deps", "libtiff") end + + if is_plat("linux") then + if package:config("shared") then + package:add("deps", "gtk3", {configs = {shared = true}}) + else + package:add("deps", "gtk3") + end + end end end) @@ -142,13 +154,13 @@ package("wxwidgets") end table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF")) if package:is_plat("linux") then - local libgtk3 = package:dep("gtk+3"):fetch() + local libgtk3 = package:dep("gtk3"):fetch() if libgtk3 then table.insert(configs, "-DGTK3_INCLUDE_DIRS=" .. table.concat(libgtk3.sysincludedirs, ";")) table.insert(configs, "-DGTK3_LIBRARIES=" .. table.concat(libgtk3.links, ";")) end end - import("package.tools.cmake").install(package, configs) + import("package.tools.cmake").install(package, configs, {packagedeps = {"pango", "at-spi2-core", "gtk3", "gdk-pixbuf"}}) local version = package:version() local subdir = "wx-" .. version:major() .. "." .. version:minor() local setupdir = package:is_plat("macosx") and "osx" or "gtk" diff --git a/packages/x/xz/xmake.lua b/packages/x/xz/xmake.lua index e3d0eefbd09..0e1b3437427 100644 --- a/packages/x/xz/xmake.lua +++ b/packages/x/xz/xmake.lua @@ -16,7 +16,11 @@ package("xz") end end) - on_install("windows", "mingw@windows,msys", function (package) + on_install("windows", "mingw@windows", function (package) + local configs = {} + if package:config("shared") then + configs.kind = "shared" + end io.writefile("xmake.lua", [[ add_rules("mode.release", "mode.debug") target("lzma") @@ -48,7 +52,7 @@ package("xz") add_headerfiles("src/liblzma/api/*.h") add_headerfiles("src/liblzma/api/(lzma/*.h)") ]]) - import("package.tools.xmake").install(package) + import("package.tools.xmake").install(package, configs) end) on_install("macosx", "linux", "mingw@linux,macosx", function (package) diff --git a/scripts/test.lua b/scripts/test.lua index 95d265cb8c4..887f1c6eae9 100644 --- a/scripts/test.lua +++ b/scripts/test.lua @@ -38,7 +38,6 @@ local options = , {nil, "appledev", "kv", nil, "The Apple Device Type" } , {nil, "mingw", "kv", nil, "Set the MingW directory." } , {nil, "toolchain", "kv", nil, "Set the toolchain name." } -, {nil, "toolchain_host", "kv", nil, "Set the host toolchain name." } , {nil, "packages", "vs", nil, "The package list." } } @@ -115,9 +114,6 @@ function _require_packages(argv, packages) if argv.toolchain then table.insert(config_argv, "--toolchain=" .. argv.toolchain) end - if argv.toolchain_host then - table.insert(config_argv, "--toolchain_host=" .. argv.toolchain_host) - end if argv.cflags then table.insert(config_argv, "--cflags=" .. argv.cflags) end @@ -127,7 +123,7 @@ function _require_packages(argv, packages) if argv.ldflags then table.insert(config_argv, "--ldflags=" .. argv.ldflags) end - os.vexecv(os.programfile(), config_argv) + os.vexecv("xmake", config_argv) local require_argv = {"require", "-f", "-y"} local check_argv = {"require", "-f", "-y", "--check"} if not argv.precompiled then @@ -184,7 +180,7 @@ function _require_packages(argv, packages) local install_packages = {} if _check_package_is_supported() then for _, package in ipairs(packages) do - local ok = os.vexecv(os.programfile(), table.join(check_argv, package), {try = true}) + local ok = os.vexecv("xmake", table.join(check_argv, package), {try = true}) if ok == 0 then table.insert(install_packages, package) end @@ -193,7 +189,7 @@ function _require_packages(argv, packages) install_packages = packages end if #install_packages > 0 then - os.vexecv(os.programfile(), table.join(require_argv, install_packages)) + os.vexecv("xmake", table.join(require_argv, install_packages)) else print("no testable packages on %s or you're using lower version xmake!", argv.plat or os.subhost()) end @@ -286,7 +282,7 @@ function main(...) os.tryrm(workdir) os.mkdir(workdir) os.cd(workdir) - os.execv(os.programfile(), {"create", "test"}) + os.exec("xmake create test") else os.cd(workdir) end @@ -294,16 +290,16 @@ function main(...) print(os.curdir()) -- do action for remote? if os.isdir("xmake-repo") then - os.execv(os.programfile(), {"service", "--disconnect"}) + os.exec("xmake service --disconnect") end if argv.remote then os.tryrm("xmake-repo") os.cp(path.join(repodir, "packages"), "xmake-repo/packages") - os.execv(os.programfile(), {"service", "--connect"}) + os.exec("xmake service --connect") repodir = "xmake-repo" end - os.execv(os.programfile(), {"repo", "--add", "local-repo", repodir}) - os.execv(os.programfile(), {"repo", "-l"}) + os.exec("xmake repo --add local-repo %s", repodir) + os.exec("xmake repo -l") -- require packages _require_packages(argv, packages)