From 6837ddb31ae83a11f20789420902caab163a6876b6ee062f1006bcec2b55f189 Mon Sep 17 00:00:00 2001 From: sisungo Date: Mon, 7 Sep 2026 03:19:34 +0000 Subject: [PATCH] feat: add package gobject-introspection Signed-off-by: sisungo --- packages/glib/pkgbuild.py | 10 +++-- packages/gobject-introspection/pkgbuild.py | 49 ++++++++++++++++++++++ packages/libxml2/pkgbuild.py | 13 +++--- 3 files changed, 62 insertions(+), 10 deletions(-) create mode 100644 packages/gobject-introspection/pkgbuild.py diff --git a/packages/glib/pkgbuild.py b/packages/glib/pkgbuild.py index c78305f..2d7f328 100644 --- a/packages/glib/pkgbuild.py +++ b/packages/glib/pkgbuild.py @@ -14,13 +14,14 @@ source_url("https://download.gnome.org/sources/glib/2.89/glib-2.89.2.tar.xz") builddep("shortcut/c++") builddep("shortcut/meson") builddep("gettext") -builddep(f"libintl-dev @{arch.get_target()}") +builddep("libintl-dev @target") builddep("pcre2-tools") -builddep(f"libpcre2-dev @{arch.get_target()}") -builddep(f"libffi-dev @{arch.get_target()}") +builddep("libpcre2-dev @target") +builddep("libffi-dev @target") builddep("pkgconf") -builddep(f"libz-ng-dev @{arch.get_target()}") +builddep("libz-ng-dev @target") builddep("libexpat") +builddep("gobject-introspection @target") def build(): @@ -29,6 +30,7 @@ def build(): cpp.meson_setup([ "-Druntime_dir=/run", f"-Dgio_module_dir=/lib/{arch.get_target()}/gio/modules", + "-Dintrospection=enabled", "--prefix=/", f"--bindir={get_prefix('glib-tools')}/bin", f"--libdir={get_prefix('glib-dev')}/lib", diff --git a/packages/gobject-introspection/pkgbuild.py b/packages/gobject-introspection/pkgbuild.py new file mode 100644 index 0000000..e898cd4 --- /dev/null +++ b/packages/gobject-introspection/pkgbuild.py @@ -0,0 +1,49 @@ +import shutil + +from lib.make import * +from lib import cpp, arch + + +version("1.86.0") +description("to describe the APIs and collect them in a uniform, machine readable format") +maintainer("sisungo ") +source_url("https://gitlab.gnome.org/GNOME/gobject-introspection/-/archive/1.86.0/gobject-introspection-1.86.0.tar.gz") + +builddep("shortcut/meson") +builddep("shortcut/c") +builddep("glib-dev @target") +builddep("setuptools.py @target") +builddep("libpython-dev @target") +builddep("flex") +builddep("bison") +builddep("libexpat @target") + + +def build(): + cpp.meson_setup([ + f"--prefix={get_prefix('gobject-introspection')}", + f"-Dgir_dir_prefix=/lib/{arch.get_target()}/include/gir", + "-Dcairo=disabled", + "-Dpython=/bin/python3", + "-Dtests=false", + ]) + cpp.meson_compile() + cpp.meson_install() + +on_build(build) + + +def pack(composer): + composer.add_dir("include") + composer.add_dir("share") + composer.add_dir("bin") + composer.add_dir("lib") + shutil.rmtree(f"{composer.workdir}/bundle/lib/{arch.get_target()}") + composer.add_dir(f"lib/{arch.get_target()}/include/gir", "include/gir") + +package("gobject-introspection") +dep("python @same-arch") +dep("setuptools.py @same-arch") +dep("glib-dev @same-arch") +on_pack(pack) + diff --git a/packages/libxml2/pkgbuild.py b/packages/libxml2/pkgbuild.py index d4e1933..836e7a2 100644 --- a/packages/libxml2/pkgbuild.py +++ b/packages/libxml2/pkgbuild.py @@ -1,15 +1,15 @@ from lib import arch, cpp from lib.make import * - - + + version("2.15.3") description("an XML toolkit implemented in C, originally developed for the GNOME Project") -maintainer("sisungo <[email protected]>") +maintainer("sisungo ") source_url("https://download.gnome.org/sources/libxml2/2.15/libxml2-2.15.3.tar.xz") - + builddep("shortcut/autotools") builddep("shortcut/c") - + def build(): cpp.configure([ @@ -27,5 +27,6 @@ dep("semi-libc @same-arch") cpp.use_auto_pack(["lib"]) package("libxml2-dev") -dep("semi-libc @same-arch") +dep("libxml2 (same)") +dep("semi-libc-dev @same-arch") cpp.use_auto_pack(["dev"])