From b4dfc2b7318c703934d364eddb8603c99883b9d9 Mon Sep 17 00:00:00 2001 From: sisungo Date: Thu, 20 Aug 2026 15:02:35 +0800 Subject: [PATCH] feat: add package gobject-introspection Signed-off-by: sisungo --- packages/gobject-introspection/pkgbuild.py | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 packages/gobject-introspection/pkgbuild.py diff --git a/packages/gobject-introspection/pkgbuild.py b/packages/gobject-introspection/pkgbuild.py new file mode 100644 index 0000000..1b368b1 --- /dev/null +++ b/packages/gobject-introspection/pkgbuild.py @@ -0,0 +1,53 @@ +from lib.make import * +from lib import cpp + + +version("1.86.0") +description("to describe the APIs and collect them in a uniform, machine readable format") +maintainer("sisungo ") +source_url("https://download.gnome.org/sources/gobject-introspection/1.86/gobject-introspection-1.86.0.tar.xz") + +builddep("shortcut/c") +builddep("shortcut/meson") +builddep("pkgconf") +builddep(f"glib-dev @{arch.get_target()}") +builddep(f"libffi-dev @{arch.get_target()}") +builddep(f"setuptools.py @{arch.get_target()}") +builddep(f"libpython-dev @{arch.get_target()}") +builddep("libexpat") +builddep("flex") +builddep("bison") + + +def build(): + cpp.meson_setup([ + f"--prefix={get_prefix('gobject-introspection')}", + f"-Dgir_dir_prefix=/lib/{arch.get_target()}/include/gir", + "--bindir=/bin", + ]) + cpp.meson_compile() + cpp.meson_install() + +on_build(build) + + +def pack(composer): + composer.add_dir("bin", "bin") + composer.add_dir("lib", "lib") + composer.add_dir("include", "include") + composer.makedir("share") + composer.add_dir("share/gir-1.0", "share/gir-1.0") + composer.add_dir("share/gobject-introspection-1.0", "share/gobject-introspection-1.0") + +def pack_docs(composer): + composer.makedir("share") + composer.add_dir("share/man", "share/man") + +package("gobject-introspection") +dep("glib-dev @same-arch") +dep("libffi-dev @same-arch") +dep("semi-libc @same-arch") +on_pack(pack) + +package("gobject-introspection-docs") +on_pack(pack_docs)