From 40bdc7be464e2935712e0836c9300b9a6181e86b Mon Sep 17 00:00:00 2001 From: star9029 Date: Mon, 30 Sep 2024 23:10:25 +0800 Subject: [PATCH 1/2] libsvgtiny: add package --- packages/l/libsvgtiny/port/xmake.lua | 27 +++++++++++++++++++++++++++ packages/l/libsvgtiny/xmake.lua | 24 ++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 packages/l/libsvgtiny/port/xmake.lua create mode 100644 packages/l/libsvgtiny/xmake.lua diff --git a/packages/l/libsvgtiny/port/xmake.lua b/packages/l/libsvgtiny/port/xmake.lua new file mode 100644 index 00000000000..05bfc58e054 --- /dev/null +++ b/packages/l/libsvgtiny/port/xmake.lua @@ -0,0 +1,27 @@ +add_rules("mode.debug", "mode.release") + +add_requires("gperf") +add_packages("gperf") + +add_requires("libdom") +add_packages("libdom") + +target("svgtiny") + set_kind("$(kind)") + add_files("src/*.c") + add_includedirs("include") + add_headerfiles("include/(*.h)") + + if is_plat("windows") and is_kind("shared") then + add_rules("utils.symbols.export_all") + end + + before_build(function (target) + local gperf + if is_subhost("windows") then + gperf = path.join(target:pkg("gperf"):installdir(), "bin/gperf.exe") + else + gperf = "gperf" + end + os.vrunv(gperf, {"src/colors.gperf", "--output-file=src/autogenerated_colors.c"}) + end) diff --git a/packages/l/libsvgtiny/xmake.lua b/packages/l/libsvgtiny/xmake.lua new file mode 100644 index 00000000000..68e0d033a40 --- /dev/null +++ b/packages/l/libsvgtiny/xmake.lua @@ -0,0 +1,24 @@ +package("libsvgtiny") + set_homepage("https://www.netsurf-browser.org/projects/libsvgtiny") + set_description("Libsvgtiny is a library for parsing SVG files for display.") + set_license("MIT") + + set_urls("https://source.netsurf-browser.org/libsvgtiny.git/snapshot/libsvgtiny-release/$(version).tar.bz2", + "git://git.netsurf-browser.org/libsvgtiny.git") + + add_versions("0.1.8", "e9e772d3b8e17f26dae26d53187b42e146be9b53632c81e601a60bf9a6ec92a6") + + add_deps("gperf") + add_deps("libdom") + + on_install(function (package) + os.cd(package:version_str()) + io.replace("src/svgtiny.c", "calloc(sizeof(*diagram), 1);", "calloc(1, sizeof(*diagram));", {plain = true}) + + os.cp(path.join(package:scriptdir(), "port", "xmake.lua"), "xmake.lua") + import("package.tools.xmake").install(package) + end) + + on_test(function (package) + assert(package:has_cfuncs("svgtiny_create", {includes = "svgtiny.h"})) + end) From fc6c6b6852d4e7563eae6d292a75ca38b12dd4d5 Mon Sep 17 00:00:00 2001 From: star9029 Date: Mon, 30 Sep 2024 23:39:23 +0800 Subject: [PATCH 2/2] fix test --- packages/l/libsvgtiny/xmake.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/l/libsvgtiny/xmake.lua b/packages/l/libsvgtiny/xmake.lua index 68e0d033a40..a813ea963aa 100644 --- a/packages/l/libsvgtiny/xmake.lua +++ b/packages/l/libsvgtiny/xmake.lua @@ -14,11 +14,11 @@ package("libsvgtiny") on_install(function (package) os.cd(package:version_str()) io.replace("src/svgtiny.c", "calloc(sizeof(*diagram), 1);", "calloc(1, sizeof(*diagram));", {plain = true}) - + os.cp(path.join(package:scriptdir(), "port", "xmake.lua"), "xmake.lua") import("package.tools.xmake").install(package) end) on_test(function (package) - assert(package:has_cfuncs("svgtiny_create", {includes = "svgtiny.h"})) + assert(package:has_cfuncs("svgtiny_create", {includes = {"stddef.h", "svgtiny.h"}})) end)