feat: add package glib

Signed-off-by: sisungo <[email protected]>
This commit is contained in:
2026-07-16 02:03:17 +08:00
parent 65a884ddd4
commit 078ec7fb87
2 changed files with 63 additions and 1 deletions
+3 -1
View File
@@ -78,7 +78,7 @@ def meson_compile(rem: list[str] = []):
subprocess.run(["meson", "compile", "-C", "_meson_build"] + rem, check=True)
def meson_install(rem: list[str] | None = None, chdir: bool = True):
def meson_install(rem: list[str] | None = None, chdir: bool = True, move: bool = True):
default_rem = ["--destdir", f"{os.getcwd()}/../cpp_install"]
if not rem:
os.makedirs("../cpp_install", exist_ok=True)
@@ -87,6 +87,8 @@ def meson_install(rem: list[str] | None = None, chdir: bool = True):
)
if chdir:
os.chdir("../cpp_install")
if chdir and move:
_move_install()
def _do_auto_pack(pc: pkgcomposer.PkgComposer, srcdir: str, dstdir: str, filter):
+60
View File
@@ -0,0 +1,60 @@
import shutil
from lib.make import *
from lib import cpp
upstream_version = "2.89.2"
version(upstream_version)
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("pcre2-tools")
builddep(f"libpcre2-dev @{arch.get_target()}")
builddep(f"libffi-dev @{arch.get_target()}")
builddep("pkgconf")
builddep(f"libz-ng-dev @{arch.get_target()}")
builddep("libexpat")
def build():
cpp.meson_setup([
"-Druntime_dir=/run",
f"-Dgio_module_dir=/lib/{arch.get_target()}/gio/modules",
"--prefix=/",
f"--bindir={get_prefix('glib-tools')}/bin",
f"--libdir={get_prefix('glib')}/lib",
f"--includedir={get_prefix('glib-dev')}/include",
f"--libexecdir={get_prefix('glib')}/libexec",
f"--datadir={get_prefix('glib')}/share",
])
cpp.meson_compile()
cpp.meson_install()
on_build(build)
def pack_glib(composer):
composer.makedir("share")
composer.add_dir("share/glib-2.0", "share/glib-2.0")
composer.add_dir("libexec", "libexec")
composer.add_dir("lib", "lib")
shutil.rmtree(f"{composer.workdir}/bundle/lib/{arch.get_target()}")
shutil.rmtree(f"{composer.workdir}/bundle/lib/glib-2.0")
package("glib")
dep("semi-libc @same-arch")
dep("libz @same-arch")
dep("libpcre2 @same-arch")
dep("libffi @same-arch")
on_pack(pack_glib)
package("glib-tools")
dep("glib (same)")
cpp.use_auto_pack(["bin"])
package("glib-dev")
dep("glib (same)")
cpp.use_auto_pack(["dev"])