2
0
Эх сурвалжийг харах

add loguru, pegtl and utfcpp (#717)

* add loguru

* add utfcpp

* update icu4c

* update vtk

* fix loguru cross compilation

* fix bsd build

* add pegtl
Hoildkv 3 жил өмнө
parent
commit
1e071114bf

+ 33 - 0
packages/i/icu4c/patches/70.1/replace-py-3.patch

@@ -0,0 +1,33 @@
+diff --git a/source/data/makedata.mak b/source/data/makedata.mak
+--- a/source/data/makedata.mak
++++ b/source/data/makedata.mak
+@@ -33,7 +33,7 @@ ICU_LIB_TARGET=$(DLL_OUTPUT)\$(U_ICUDATA_NAME).dll
+ !ENDIF
+ !MESSAGE ICU data make path is $(ICUMAKE)
+ 
+-!IF [py -3 -c "exit(0)"]!=0
++!IF [python -c "exit(0)"]!=0
+ !MESSAGE Information: Unable to find Python 3. Data will fail to build from source.
+ !ENDIF
+ 
+@@ -303,7 +303,7 @@
+ $(COREDATA_TS):
+ 	@cd "$(ICUSRCDATA)"
+ 	set PYTHONPATH=$(ICUP)\source\python;%PYTHONPATH%
+-	py -3 -B -m icutools.databuilder \
++	python -B -m icutools.databuilder \
+ 		--mode windows-exec \
+ 		--src_dir "$(ICUSRCDATA)" \
+ 		--tool_dir "$(ICUTOOLS)" \
+diff --git a/source/test/testdata/testdata.mak b/source/test/testdata/testdata.mak
+--- a/source/test/testdata/testdata.mak
++++ b/source/test/testdata/testdata.mak
+@@ -35,7 +35,7 @@ CREATE_DIRS :
+ "$(TESTDATAOUT)\testdata.dat" :
+ 	@echo Building test data
+ 	set PYTHONPATH=$(ICUP)\source\python;%PYTHONPATH%
+-	py -3 -B -m icutools.databuilder \
++	python -B -m icutools.databuilder \
+ 		--mode windows-exec \
+ 		--tool_dir "$(ICUTOOLS)" \
+ 		--tool_cfg "$(CFG)" \

+ 2 - 0
packages/i/icu4c/xmake.lua

@@ -6,12 +6,14 @@ package("icu4c")
     add_urls("https://github.com/unicode-org/icu/releases/download/release-$(version)-src.tgz", {version = function (version)
             return (version:gsub("%.", "-")) .. "/icu4c-" .. (version:gsub("%.", "_"))
         end})
+    add_versions("70.1", "8d205428c17bf13bb535300669ed28b338a157b1c01ae66d31d0d3e2d47c3fd5")
     add_versions("69.1", "4cba7b7acd1d3c42c44bb0c14be6637098c7faf2b330ce876bc5f3b915d09745")
     add_versions("68.2", "c79193dee3907a2199b8296a93b52c5cb74332c26f3d167269487680d479d625")
     add_versions("68.1", "a9f2e3d8b4434b8e53878b4308bd1e6ee51c9c7042e2b1a376abefb6fbb29f2d")
     add_versions("64.2", "627d5d8478e6d96fc8c90fed4851239079a561a6a8b9e48b0892f24e82d31d6c")
 
     add_patches("69.1", path.join(os.scriptdir(), "patches", "69.1", "replace-py-3.patch"), "ae27a55b0e79a8420024d6d349a7bae850e1dd403a8e1131e711c405ddb099b9")
+    add_patches("70.1", path.join(os.scriptdir(), "patches", "70.1", "replace-py-3.patch"), "6469739da001721122b62af513370ed62901caf43af127de3f27ea2128830e35")
 
     add_links("icuuc", "icutu", "icui18n", "icuio", "icudata")
     if is_plat("linux") then

+ 56 - 0
packages/l/loguru/xmake.lua

@@ -0,0 +1,56 @@
+package("loguru")
+
+    set_homepage("https://github.com/emilk/loguru")
+    set_description("A lightweight C++ logging library")
+
+    add_urls("https://github.com/emilk/loguru/archive/refs/tags/$(version).tar.gz",
+             "https://github.com/emilk/loguru.git")
+    add_versions("v2.1.0", "1a3be62ebec5609af60b1e094109a93b7412198b896bb88f31dcfe4d95b79ce7")
+
+    add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true})
+    add_configs("fmt", {description = "Use fmt to format the log.", default = false, type = "boolean"})
+
+    if is_plat("linux") then
+        add_syslinks("pthread", "dl")
+    elseif is_plat("bsd") then
+        add_syslinks("pthread", "dl", "execinfo")
+    end
+    on_load(function (package)
+        if package:config("fmt") then
+            package:add("deps", "fmt")
+            package:add("defines", "LOGURU_USE_FMTLIB")
+        end
+    end)
+
+    on_install(function (package)
+        io.writefile("xmake.lua", [[
+            add_rules("mode.debug", "mode.release")
+            set_languages("cxx11")
+            option("with_fmt", {default = false, showmenu = true})
+            if has_config("with_fmt") then
+                add_requires("fmt")
+            end
+            target("loguru")
+                set_kind("static")
+                add_files("loguru.cpp")
+                add_headerfiles("loguru.hpp")
+                if is_plat("cross") then
+                    add_defines("LOGURU_STACKTRACES=0")
+                end
+                if has_config("with_fmt") then
+                    add_packages("fmt")
+                    add_defines("LOGURU_USE_FMTLIB")
+                end
+        ]])
+        import("package.tools.xmake").install(package, {with_fmt = package:config("fmt")})
+    end)
+
+    on_test(function (package)
+        assert(package:check_cxxsnippets({test = [[
+            #include <loguru.hpp>
+            void test(int argc, char* argv[]) {
+                loguru::init(argc, argv);
+                LOG_F(INFO, "Hello from main.cpp!");
+            }
+        ]]}, {configs = {languages = "c++11"}}))
+    end)

+ 25 - 0
packages/p/pegtl/xmake.lua

@@ -0,0 +1,25 @@
+package("pegtl")
+
+    set_kind("library", {headeronly = true})
+    set_homepage("https://github.com/taocpp/PEGTL")
+    set_description("Parsing Expression Grammar Template Library")
+    set_license("BSL-1.0")
+
+    add_urls("https://github.com/taocpp/PEGTL/archive/refs/tags/$(version).tar.gz",
+             "https://github.com/taocpp/PEGTL.git")
+    add_versions("3.2.2", "c6616275e78c618c016b79054eed0a0bdf4c1934f830d3ab33d3c3dac7320b03")
+
+    add_deps("cmake")
+    on_install("windows", "macosx", "linux", "mingw", function (package)
+        import("package.tools.cmake").install(package, {"-DPEGTL_BUILD_TESTS=OFF", "-DPEGTL_BUILD_EXAMPLES=OFF"})
+    end)
+
+    on_test(function (package)
+        assert(package:check_cxxsnippets({test = [[
+            #include <tao/pegtl.hpp>
+            namespace pegtl = TAO_PEGTL_NAMESPACE;
+            void test(int argc, char *argv[]) {
+                pegtl::argv_input in(argv, 1);
+            }
+        ]]}, {configs = {languages = "c++17"}}))
+    end)

+ 30 - 0
packages/u/utfcpp/xmake.lua

@@ -0,0 +1,30 @@
+package("utfcpp")
+
+    set_kind("library", {headeronly = true})
+    set_homepage("https://github.com/nemtrif/utfcpp")
+    set_description("UTF8-CPP: UTF-8 with C++ in a Portable Way")
+    set_license("BSL-1.0")
+
+    add_urls("https://github.com/nemtrif/utfcpp/archive/refs/tags/$(version).tar.gz",
+             "https://github.com/nemtrif/utfcpp.git")
+    add_versions("v3.2.1", "8d6aa7d77ad0abb35bb6139cb9a33597ac4c5b33da6a004ae42429b8598c9605")
+
+    add_extsources("apt::libutfcpp-dev")
+
+    add_deps("cmake")
+    on_install(function (package)
+        local configs = {"-DUTF8_TESTS=OFF", "-DUTF8_INSTALL=ON", "-DUTF8_SAMPLES=OFF"}
+        import("package.tools.cmake").install(package, configs)
+    end)
+
+    on_test(function (package)
+        assert(package:check_cxxsnippets({test = [[
+            #define UTF_CPP_CPLUSPLUS 201103L
+            #include <utf8cpp/utf8.h>
+            void test() {
+                std::string line("你好,世界");
+                std::u16string u16line = utf8::utf8to16(line);
+                std::string u8line = utf8::utf16to8(u16line);
+            }
+        ]]}, {configs = {languages = "c++11"}}))
+    end)

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 1 - 0
packages/v/vtk/xmake.lua


Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно