Compare commits

..
3 Commits
Author SHA1 Message Date
sisungo cfb2a07fa4 fix: kmod is missing links
Signed-off-by: sisungo <[email protected]>
2026-07-24 16:26:27 +08:00
sisungo da5c4329bf Merge pull request 'feat: add package glib' (#128) from sisungo/semios-packages:glib into master
Reviewed-on: semios/semios-packages#128
2026-07-17 14:52:12 +08:00
sisungo 05cb5c94c5 feat: add package glib
Signed-off-by: sisungo <[email protected]>
2026-07-17 13:01:21 +08:00
4 changed files with 152 additions and 51 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):
-44
View File
@@ -1,44 +0,0 @@
import os
from lib import cpp, arch
from lib.make import *
version("0.195")
source_url("https://sourceware.org/elfutils/ftp/0.195/elfutils-0.195.tar.bz2")
builddep("shortcut/c++")
builddep("shortcut/autotools")
builddep(f"libargp-dev @{arch.get_target()}")
builddep("gettext")
builddep(f"libintl-dev @{arch.get_target()}")
builddep("pkgconf")
builddep(f"libz-ng-dev @{arch.get_target()}")
builddep(f"libbzip2-dev @{arch.get_target()}")
builddep(f"liblzma-dev @{arch.get_target()}")
builddep(f"libzstd-dev @{arch.get_target()}")
builddep(f"libfts-dev @{arch.get_target()}")
builddep(f"libiberty-obstack-dev @{arch.get_target()}")
builddep(f"libcurl-dev @{arch.get_target()}")
builddep("bzip2")
builddep("gnu-m4")
builddep(f"linux-dev @{arch.get_target()}")
def build():
os.environ["LIBS"] = "-liberty_obstack -largp -lfts"
os.environ["ac_cv_search__obstack_free"] = "yes"
cpp.configure(
[
"--prefix=/",
"--disable-stacktrace",
"--disable-demangler",
#"--enable-libdebuginfod",
#"--enable-debuginfod",
#"--enable-debuginfod-ima-verification",
]
)
cpp.make()
cpp.make_install()
on_build(build)
+122
View File
@@ -0,0 +1,122 @@
import shutil
import os
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():
os.environ["CFLAGS"] = os.environ.get("CFLAGS", "") + " -Wno-missing-include-dirs"
os.environ["CXXFLAGS"] = os.environ.get("CXXLAGS", "") + os.environ["CFLAGS"]
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('libglib')}/libexec",
f"--datadir={get_prefix('glib')}/share",
])
cpp.meson_compile()
cpp.meson_install()
on_build(build)
def pack_libxxx(composer, prefix):
composer.makedirs("lib")
for i in os.listdir("lib"):
if not i.startswith(prefix):
continue
composer.addfile(f"lib/{i}", f"lib/{i}")
def pack_libglib(composer):
composer.add_dir("libexec", "libexec")
pack_libxxx(composer, "libglib")
package("libglib")
dep("semi-libc @same-arch")
dep("libpcre2 @same-arch")
on_pack(pack_libglib)
package("libgobject")
dep("libglib (same)")
dep("libffi @same-arch")
on_pack(lambda composer: pack_libxxx(composer, "libgobject"))
package("libgthread")
dep("libglib (same)")
dep("semi-libc @same-arch")
on_pack(lambda composer: pack_libxxx(composer, "libgthread"))
package("libgmodule")
dep("libglib (same)")
dep("semi-libc @same-arch")
on_pack(lambda composer: pack_libxxx(composer, "libgmodule"))
package("libgio")
dep("libglib (same)")
dep("libgobject (same)")
dep("libgmodule (same)")
dep("libz @same-arch")
dep("semi-libc @same-arch")
on_pack(lambda composer: pack_libxxx(composer, "libgio"))
package("libgirepository")
dep("libglib (same)")
dep("libgobject (same)")
dep("libgmodule (same)")
dep("libffi @same-arch")
dep("semi-libc @same-arch")
on_pack(lambda composer: pack_libxxx(composer, "libgirepository"))
def pack_glib(composer):
composer.makedir("lib")
for i in os.listdir("lib"):
if not i.endswith(".so"):
continue
pkgname = i.split("-")[0]
os.symlink(f"{get_prefix(pkgname)}/lib/{i}", f"{composer.workdir}/bundle/lib/{i}")
os.symlink(f"{get_prefix('glib-dev')}/lib/glib-2.0", f"{composer.workdir}/bundle/lib/glib-2.0")
composer.add_dir("share", "share")
package("glib")
dep("libglib (same)")
dep("libgobject (same)")
dep("libgthread (same)")
dep("libgmodule (same)")
dep("libgio (same)")
dep("libgirepository (same)")
on_pack(pack_glib)
package("glib-tools")
dep("glib (same)")
cpp.use_auto_pack(["bin"])
package("glib-dev")
dep("glib (same)")
dep("libz-dev @same-arch")
dep("libpcre2-dev @same-arch")
dep("libffi-dev @same-arch")
cpp.use_auto_pack(["dev"])
+27 -6
View File
@@ -1,17 +1,30 @@
import os
import lib.cpp as cpp
from lib import cpp, arch
from lib.make import *
version("1.34")
source_url("https://github.com/kmod-project/kmod/archive/refs/tags/v34.tar.gz")
builddep("shortcut/c")
builddep("shortcut/meson")
builddep(f"linux-dev @{arch.get_target()}")
builddep(f"libzstd-dev @{arch.get_target()}")
builddep(f"aws-lc-dev @{arch.get_target()}")
builddep(f"liblzma-dev @{arch.get_target()}")
builddep(f"libz-ng-dev @{arch.get_target()}")
builddep("pkgconf")
def build():
cpp.meson_setup()
cpp.meson_setup([
"-Dprefix=/",
f"-Ddistconfdir={get_prefix('libkmod')}/share",
"-Dmoduledir=/lib/lkm",
"-Dtools=true",
"-Ddlopen=all",
"-Dmanpages=false",
])
cpp.meson_compile()
cpp.meson_install()
os.chdir("usr")
on_build(build)
@@ -19,12 +32,20 @@ on_build(build)
package("libkmod")
cpp.use_auto_pack(["lib"])
dep("semi-libc @same-arch")
dep("libzstd @same-arch")
dep("libcrypto @same-arch")
recommend("libzstd @same-arch")
recommend("libz @same-arch")
recommend("liblzma @same-arch")
package("kmod")
cpp.use_auto_pack(["bin"])
dep("libkmod (same)")
link("bin/kmod", "/bin/depmod")
link("bin/kmod", "/bin/insmod")
link("bin/kmod", "/bin/lsmod")
link("bin/kmod", "/bin/modinfo")
link("bin/kmod", "/bin/modprobe")
link("bin/kmod", "/bin/rmmod")
package("libkmod-dev")
cpp.use_auto_pack(["dev"])