From 4493a9ef13d410b3e8626a0c369d91653c988ad0 Mon Sep 17 00:00:00 2001 From: Hoildkv <42310255+xq114@users.noreply.github.com> Date: Thu, 18 Jan 2024 20:33:58 +0800 Subject: [PATCH] update openblas, metis and rapidjson (#3124) * update openblas * update metis * update rapidjson * fix metis * revert stat.h --- packages/m/metis/patches/5.2.1/gklib.patch | 61 ++++++++++++++++++++++ packages/m/metis/xmake.lua | 29 ++++++---- packages/o/openblas/xmake.lua | 3 ++ packages/r/rapidjson/xmake.lua | 3 +- 4 files changed, 85 insertions(+), 11 deletions(-) create mode 100644 packages/m/metis/patches/5.2.1/gklib.patch diff --git a/packages/m/metis/patches/5.2.1/gklib.patch b/packages/m/metis/patches/5.2.1/gklib.patch new file mode 100644 index 000000000..29e25c8f3 --- /dev/null +++ b/packages/m/metis/patches/5.2.1/gklib.patch @@ -0,0 +1,61 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a15d19a..7fb5cd0 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -3,11 +3,7 @@ project(METIS C) + + set(SHARED FALSE CACHE BOOL "build a shared library") + +-if(MSVC) +- set(METIS_INSTALL FALSE) +-else() +- set(METIS_INSTALL TRUE) +-endif() ++set(METIS_INSTALL TRUE) + + # Configure libmetis library. + if(SHARED) +@@ -16,7 +12,7 @@ else() + set(METIS_LIBRARY_TYPE STATIC) + endif(SHARED) + +-include(./conf/gkbuild.cmake) ++include(${GKLIB_PATH}/GKlibSystem.cmake) + + # METIS' custom options + #option(IDX64 "enable 64 bit ints" OFF) +@@ -37,8 +33,8 @@ include(./conf/gkbuild.cmake) + + # Add include directories. + # i.e., the -I equivalent +-include_directories(build/xinclude) +-include_directories(${GKLIB_PATH}/include) ++include_directories(include) ++include_directories(${GKLIB_PATH}) + include_directories(${CMAKE_INSTALL_PREFIX}/include) + + # List of paths that the compiler will search for library files. +@@ -47,6 +43,5 @@ link_directories(${GKLIB_PATH}/lib) + link_directories(${CMAKE_INSTALL_PREFIX}/lib) + + # Recursively look for CMakeLists.txt in subdirs. +-add_subdirectory("build/xinclude") ++add_subdirectory("include") + add_subdirectory("libmetis") +-add_subdirectory("programs") +diff --git a/libmetis/CMakeLists.txt b/libmetis/CMakeLists.txt +index fc6cec6..e713c2c 100644 +--- a/libmetis/CMakeLists.txt ++++ b/libmetis/CMakeLists.txt +@@ -5,7 +5,10 @@ include_directories(.) + file(GLOB metis_sources *.c) + + # Build libmetis. +-add_library(metis ${METIS_LIBRARY_TYPE} ${metis_sources}) ++if (MSVC) ++ set(GKlib_sources ${GKlib_sources} ${GKLIB_PATH}/win32/adapt.c) ++endif (MSVC) ++add_library(metis ${METIS_LIBRARY_TYPE} ${metis_sources} ${GKlib_sources}) + + if(METIS_INSTALL) + install(TARGETS metis diff --git a/packages/m/metis/xmake.lua b/packages/m/metis/xmake.lua index e03f2510e..311b07550 100644 --- a/packages/m/metis/xmake.lua +++ b/packages/m/metis/xmake.lua @@ -2,24 +2,33 @@ package("metis") set_homepage("http://glaros.dtc.umn.edu/gkhome/metis/metis/overview") set_description("Serial Graph Partitioning and Fill-reducing Matrix Ordering") + set_license("Apache-2.0") - add_urls("https://github.com/xq114/METIS/archive/v$(version).tar.gz") - add_versions("5.1.1", "945d381d3b50ca70ac93f0daf32c80e6f16f11514879d5ff1438aa82c20a0ba5") + add_urls("https://github.com/KarypisLab/METIS/archive/refs/tags/$(version).tar.gz") + add_versions("v5.2.1", "1a4665b2cd07edc2f734e30d7460afb19c1217c2547c2ac7bf6e1848d50aff7a") + + add_patches("5.2.1", "patches/5.2.1/gklib.patch", "63e5035241f23ee664800ec1811ea8baa69895c71ec007ab1a95103a290c11eb") + add_resources("5.2.1", "gklib", "https://github.com/KarypisLab/GKlib.git", "8bd6bad750b2b0d90800c632cf18e8ee93ad72d7") - add_deps("cmake") add_configs("long_index", {description = "Use 64-bit uint as index.", default = false, type = "boolean"}) add_configs("double", {description = "Use double precision floats.", default = true, type = "boolean"}) + add_deps("cmake") + if is_plat("linux") then + add_syslinks("m") + end on_install("windows", "macosx", "linux", function (package) - if package:config("long_index") then - io.gsub(path.join("include", "metis.h"), "define IDXTYPEWIDTH %d+", "define IDXTYPEWIDTH 64") - end - if package:config("double") then - io.gsub(path.join("include", "metis.h"), "define REALTYPEWIDTH %d+", "define REALTYPEWIDTH 64") - end + local idx_width = package:config("long_index") and 64 or 32 + io.gsub(path.join("include", "metis.h"), "//#define IDXTYPEWIDTH %d+", "#define IDXTYPEWIDTH " .. idx_width) + local real_width = package:config("double") and 64 or 32 + io.gsub(path.join("include", "metis.h"), "//#define REALTYPEWIDTH %d+", "#define REALTYPEWIDTH " .. real_width) + io.replace(path.join(package:resourcefile("gklib"), "gk_arch.h"), "gk_ms_stdint.h", "stdint.h", {plain = true}) + io.replace(path.join(package:resourcefile("gklib"), "gk_arch.h"), "gk_ms_inttypes.h", "inttypes.h", {plain = true}) + local configs = {} - table.insert(configs, "-DSHARED=" .. (package:config("shared") and "ON" or "OFF")) table.insert(configs, "-DDEBUG=" .. (package:debug() and "ON" or "OFF")) + table.insert(configs, "-DSHARED=" .. (package:config("shared") and "ON" or "OFF")) + table.insert(configs, "-DGKLIB_PATH=" .. package:resourcefile("gklib"):gsub("\\", "/")) import("package.tools.cmake").install(package, configs) end) diff --git a/packages/o/openblas/xmake.lua b/packages/o/openblas/xmake.lua index 427dad0a9..990a60590 100644 --- a/packages/o/openblas/xmake.lua +++ b/packages/o/openblas/xmake.lua @@ -17,6 +17,7 @@ package("openblas") add_versions("0.3.21", "ecf1853ce92696fb8531c941c50e983ea8fa673c118a87298a075c045d52a3ca") add_versions("0.3.23", "e3a82e60db8d6197228790567e7cf74f2c421a65b29f848977a07b5457debdaa") add_versions("0.3.24", "6335128ee7117ea2dd2f5f96f76dafc17256c85992637189a2d5f6da0c608163") + add_versions("0.3.26", "859c510a962a30ef1b01aa93cde26fdb5fb1050f94ad5ab2802eba3731935e06") elseif is_arch("x86") then add_urls("https://github.com/OpenMathLib/OpenBLAS/releases/download/v$(version)/OpenBLAS-$(version)-x86.zip") add_versions("0.3.15", "bcde933737b477813eaac290de5cb8756d3b42199e8ef5f44b23ae5f06fe0834") @@ -26,6 +27,7 @@ package("openblas") add_versions("0.3.20", "0ee249246af7ce2fd66f86cb9350f5f5a7b97496b9b997bfd0680048dd194158") add_versions("0.3.21", "936416a0fec5506af9cf040c9de5c7edbd0ff18b53431799d1a43e47f9eba64e") add_versions("0.3.24", "92f8e0c73e1eec3c428b210fbd69b91e966f8cf1f998f3b60a52f024b2bf9d27") + add_versions("0.3.26", "9c3d48c3c21cd2341d642a63ee8a655205587befdab46462df7e0104d6771f67") end add_configs("shared", {description = "Build shared library.", default = true, type = "boolean", readonly = true}) @@ -41,6 +43,7 @@ package("openblas") add_versions("0.3.21", "f36ba3d7a60e7c8bcc54cd9aaa9b1223dd42eaf02c811791c37e8ca707c241ca") add_versions("0.3.23", "5d9491d07168a5d00116cdc068a40022c3455bf9293c7cb86a65b1054d7e5114") add_versions("0.3.24", "ceadc5065da97bd92404cac7254da66cc6eb192679cf1002098688978d4d5132") + add_versions("0.3.26", "4e6e4f5cb14c209262e33e6816d70221a2fe49eb69eaf0a06f065598ac602c68") add_configs("fortran", {description = "Compile with fortran enabled.", default = is_plat("linux"), type = "boolean"}) add_configs("openmp", {description = "Compile with OpenMP enabled.", default = not is_plat("macosx"), type = "boolean"}) diff --git a/packages/r/rapidjson/xmake.lua b/packages/r/rapidjson/xmake.lua index ea72302f2..8c2fb2d44 100644 --- a/packages/r/rapidjson/xmake.lua +++ b/packages/r/rapidjson/xmake.lua @@ -2,10 +2,11 @@ package("rapidjson") set_homepage("https://github.com/Tencent/rapidjson") set_description("RapidJSON is a JSON parser and generator for C++.") + set_license("MIT") set_urls("https://github.com/Tencent/rapidjson/archive/$(version).zip", "https://github.com/Tencent/rapidjson.git") - + add_versions("2023.12.6", "6089180ecb704cb2b136777798fa1be303618975") add_versions("2022.7.20", "27c3a8dc0e2c9218fe94986d249a12b5ed838f1d") add_versions("v1.1.0", "8e00c38829d6785a2dfb951bb87c6974fa07dfe488aa5b25deec4b8bc0f6a3ab") -- This commit is used in arrow 7.0.0 https://github.com/apache/arrow/blob/release-7.0.0/cpp/thirdparty/versions.txt#L80