Compare commits

..
12 Commits
Author SHA1 Message Date
sisungo e7d77b63b3 fix: llvm build configuration has invalid fields
Signed-off-by: sisungo <[email protected]>
2026-08-09 13:01:40 +08:00
sisungo 0238507da1 Merge pull request 'feat: add package semios-assembly' (#138) from sisungo/semios-packages:semios-assembly into master
Reviewed-on: semios/semios-packages#138
2026-08-04 10:09:57 +08:00
sisungo 21bb0c0416 feat: add package semios-assembly
Signed-off-by: sisungo <[email protected]>
2026-08-04 08:36:25 +08:00
sisungo 614aae909b Merge pull request 'feat: add package alsa-utils' (#125) from sisungo/semios-packages:alsa-utils into master
Reviewed-on: semios/semios-packages#125
2026-08-03 19:45:16 +08:00
sisungo 71ae4dd1cb Merge pull request 'feat: add package util-linux' (#134) from sisungo/semios-packages:util-linux into master
Reviewed-on: semios/semios-packages#134
2026-08-03 19:44:53 +08:00
sisungo 19d58033f0 Merge pull request 'fix: kmod is missing links' (#136) from sisungo/semios-packages:kmodfix into master
Reviewed-on: semios/semios-packages#136
2026-08-03 19:44:35 +08:00
sisungo 7c61d7ca8b Merge pull request 'fix: llvm is not well packaged' (#137) from sisungo/semios-packages:llvm-split into master
Reviewed-on: semios/semios-packages#137
2026-08-03 19:42:42 +08:00
sisungo cfb2a07fa4 fix: kmod is missing links
Signed-off-by: sisungo <[email protected]>
2026-07-24 16:26:27 +08:00
sisungo a7afab336b feat: add package util-linux
Signed-off-by: sisungo <[email protected]>
2026-07-24 15:49:11 +08:00
sisungo e0af0577bf Merge pull request 'feat: add package dbus' (#127) from sisungo/semios-packages:dbus into master
Reviewed-on: semios/semios-packages#127
2026-07-17 14:54:06 +08:00
sisungo aa19be566b feat: add package dbus
Signed-off-by: sisungo <[email protected]>
2026-07-17 13:54:24 +08:00
sisungo 2b3204cb9a feat: add package alsa-utils
Signed-off-by: sisungo <[email protected]>
2026-07-12 15:05:03 +08:00
10 changed files with 486 additions and 10 deletions
+1
View File
@@ -8,6 +8,7 @@ source_url("https://www.alsa-project.org/files/pub/lib/alsa-lib-1.2.16.1.tar.bz2
builddep("shortcut/c")
builddep("shortcut/autotools")
builddep(f"linux-dev @{arch.get_target()}")
def build():
+35
View File
@@ -0,0 +1,35 @@
from lib.make import *
from lib import cpp
version("1.2.16")
source_url("https://www.alsa-project.org/files/pub/utils/alsa-utils-1.2.16.tar.bz2")
builddep("shortcut/c")
builddep("shortcut/autotools")
builddep("pkgconf")
builddep(f"libncurses-dev @{arch.get_target()}")
builddep(f"alsa-lib-dev @{arch.get_target()}")
builddep(f"libintl-dev @{arch.get_target()}")
builddep("gettext")
def build():
cpp.configure([f"--prefix={get_prefix('alsa-utils')}", "--disable-nls"])
cpp.make()
cpp.make_install()
on_build(build)
def pack_alsa_utils(composer):
composer.add_dir("bin", "bin")
composer.add_dir("sbin", "bin", merge=True)
composer.add_dir("lib", "lib")
composer.makedir("share")
composer.add_dir("share/alsa", "share/alsa")
composer.add_dir("share/sounds", "share/sounds")
package("alsa-utils")
dep("semi-libc @same-arch")
dep("alsa-lib @same-arch")
dep("libncurses @same-arch")
on_pack(pack_alsa_utils)
+1
View File
@@ -56,6 +56,7 @@ package("aws-lc-tools")
cpp.use_auto_pack(["bin"])
dep("aws-lc-libcrypto (same)")
dep("aws-lc-libssl (same)")
dep("libcxx @same-arch")
package("aws-lc-dev")
cpp.use_auto_pack(["dev"])
+53
View File
@@ -0,0 +1,53 @@
import os
from lib.make import *
from lib import cpp
version("1.16.2")
source_url("https://dbus.freedesktop.org/releases/dbus/dbus-1.16.2.tar.xz")
builddep("shortcut/c")
builddep("shortcut/meson")
builddep("gettext")
builddep(f"libintl-dev @{arch.get_target()}")
builddep(f"glib-dev @{arch.get_target()}")
builddep("pkgconf")
def build():
cpp.meson_setup([
"-Dapparmor=disabled",
"-Dmessage_bus=false",
"-Druntime_dir=/run",
"-Dsystemd=disabled",
"--prefix=/",
f"--libdir={get_prefix('libdbus')}/lib",
f"--bindir={get_prefix('dbus-tools')}/bin",
f"--includedir={get_prefix('libdbus-dev')}/include",
"--sysconfdir=/var/config",
"--localstatedir=/var/db/dbus",
])
cpp.meson_compile()
cpp.meson_install()
on_build(build)
def pack_libdbus(composer):
composer.makedir("lib")
for i in os.listdir("lib"):
if not ".so" in i:
continue
composer.addfile(f"lib/{i}", f"lib/{i}")
os.symlink(f"{get_prefix('libdbus-dev')}/lib/dbus-1.0", f"{composer.workdir}/bundle/lib/dbus-1.0")
package("libdbus")
dep("semi-libc @same-arch")
on_pack(pack_libdbus)
package("dbus-tools")
dep("libdbus (same)")
cpp.use_auto_pack(["bin"])
package("libdbus-dev")
dep("libdbus (same)")
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"])
+3 -4
View File
@@ -130,6 +130,7 @@ def build_clang():
"-DCLANG_DEFAULT_CXX_STDLIB=libc++",
"-DCLANG_DEFAULT_RTLIB=compiler-rt",
"-DLLVM_INCLUDE_TESTS=OFF",
f"-DC_INCLUDE_DIRS=/lib/{arch.get_target()}/include",
]
cmake("clang", import_llvm() + options)
@@ -143,7 +144,7 @@ def build_polly():
cmake("polly", import_llvm())
def build_runtimes():
cflags = f"-isystem /lib/{arch.get_target()}/include -L/lib/{arch.get_target()} -B/lib/{arch.get_target()} -rtlib=compiler-rt"
os.makedirs("../_build_runtimes", exist_ok=True)
shutil.rmtree("../_build_runtimes")
options = [
# Configure runtimes
@@ -187,6 +188,7 @@ dep("semi-libc @same-arch")
dep("libunwind @same-arch")
dep("libcxx @same-arch")
dep("libcxxabi @same-arch")
dep("libffi @same-arch")
on_pack(lambda composer: auto_pack_glob(composer, ["lib/*.so*"]))
package("libllvm-dev")
@@ -249,9 +251,6 @@ def pack_clang(composer):
lrtlib = rtlib.replace(f"-{larch}", "")
composer.addfile(f"{linuxrtdir}/{rtlib}", f"{localrtdir}/{lrtlib}")
# Add symlink to system directories
os.symlink(f"/lib/{arch.get_target()}/include", f"{composer.workdir}/bundle/include")
# Add configuration
clang_cfg = f"-L/lib/{arch.get_target()}\n-B/lib/{arch.get_target()}\n-rtlib=compiler-rt\n"
clangxx_cfg = f"-stdlib=libc++\n{clang_cfg}"
+1
View File
@@ -21,4 +21,5 @@ def build():
on_build(build)
package("mandoc")
dep("libz @same-arch")
cpp.use_auto_pack(["bin"])
Binary file not shown.
+42
View File
@@ -0,0 +1,42 @@
import os
from lib.make import *
from lib import arch
def deplinux(s):
if "linux" in arch.get_target():
dep(s)
version("1.0.0")
source_url(f"file://{os.getcwd()}/empty.tar")
on_build(lambda: print("Building virtual package `semios-assembly`..."))
package("SemiOS.Assembly.CoreRuntime")
deplinux("semi-libc @same-arch")
deplinux("libgcc-compat @same-arch")
dep("libunwind @same-arch")
dep("mksh @same-arch")
dep("coreutils @same-arch")
dep("findutils @same-arch")
dep("diffutils @same-arch")
dep("grep @same-arch")
dep("packie @same-arch")
dep("iana-timezone-db")
on_pack(lambda _: print("Packing virtual package `SemiOS.Assembly.CoreRuntime`..."))
package("SemiOS.Assembly.Cli")
dep("less @same-arch")
dep("ncurses-tools @same-arch")
dep("ncurses-terminfo")
dep("mandoc @same-arch")
dep("neatvi @same-arch")
on_pack(lambda _: print("Packing virtual package `SemiOS.Assembly.Cli`..."))
package("SemiOS.Assembly.Networking")
dep("aws-lc-libssl @same-arch")
dep("aws-lc-tools @same-arch")
dep("ca-certificates")
dep("certutil @same-arch")
deplinux("iproute2 @same-arch")
on_pack(lambda _: print("Packing virtual package `SemiOS.Assembly.Networking`..."))
+323
View File
@@ -0,0 +1,323 @@
import os
from lib.make import *
from lib import cpp
builddep("shortcut/c")
builddep("shortcut/autotools")
builddep("gettext")
builddep("bash")
builddep(f"linux-dev @{arch.get_target()}")
builddep(f"libintl-dev @{arch.get_target()}")
builddep(f"libz-ng-dev @{arch.get_target()}")
builddep(f"libncurses-dev @{arch.get_target()}")
version("2.42.2")
source_url("https://www.kernel.org/pub/linux/utils/util-linux/v2.42/util-linux-2.42.2.tar.xz")
def build():
cpp.configure([
"--prefix=/",
"--enable-fs-paths-default=/bin",
"--disable-su",
"--disable-sulogin",
"--disable-chfn-chsh",
"--disable-login",
"--without-systemd",
"--disable-makeinstall-setuid",
"--disable-makeinstall-chown",
"--disable-makeinstall-tty-setgid",
])
cpp.make()
cpp.make_install()
on_build(build)
def fix_pc(libname: str):
pkgname_lib = f"lib{libname}"
pkgname_dev = f"lib{libname}-dev"
pc_path = f"lib/pkgconfig/{libname}.pc"
with open(pc_path, "r") as file:
pc_content = file.read()
pc_content = pc_content.replace(
"libdir=//lib", f"libdir={get_prefix(pkgname_lib)}/lib"
).replace(
"includedir=//include", f"includedir={get_prefix(pkgname_dev)}/include"
)
with open(pc_path, "wt") as file:
file.write(pc_content)
def pack_lib(composer, name):
composer.makedir("lib")
for i in os.listdir("lib"):
if name in i and "so" in i:
composer.addfile(f"lib/{i}", f"lib/{i}")
def pack_dev(composer, name):
fix_pc(name)
composer.makedir("lib")
for i in os.listdir("lib"):
if name in i and "so" not in i:
composer.addfile(f"lib/{i}", f"lib/{i}")
composer.makedir("lib/pkgconfig")
composer.addfile(f"lib/pkgconfig/{name}.pc", f"lib/pkgconfig/{name}.pc")
composer.makedir("include")
for i in os.listdir("include"):
if name in i:
composer.add_dir(f"include/{i}", f"include/{i}")
def pack_bin(composer, list):
composer.makedir("bin")
for i in list:
if i.startswith("sbin/"):
i = i.replace("sbin/", "")
composer.addfile(f"sbin/{i}", f"bin/{i}")
else:
composer.addfile(f"bin/{i}", f"bin/{i}")
package("libblkid")
dep("semi-libc @same-arch")
on_pack(lambda composer: pack_lib(composer, "blkid"))
package("libblkid-dev")
dep("libblkid (same)")
on_pack(lambda composer: pack_dev(composer, "blkid"))
package("libfdisk")
dep("libuuid (same)")
dep("libblkid (same)")
on_pack(lambda composer: pack_lib(composer, "fdisk"))
package("libfdisk-dev")
dep("libfdisk (same)")
on_pack(lambda composer: pack_dev(composer, "fdisk"))
package("libmount")
dep("libblkid (same)")
on_pack(lambda composer: pack_lib(composer, "mount"))
package("libmount-dev")
dep("libmount (same)")
on_pack(lambda composer: pack_dev(composer, "mount"))
package("libsmartcols")
dep("semi-libc @same-arch")
on_pack(lambda composer: pack_lib(composer, "smartcols"))
package("libsmartcols-dev")
dep("libsmartcols (same)")
on_pack(lambda composer: pack_dev(composer, "smartcols"))
package("libuuid")
dep("semi-libc @same-arch")
on_pack(lambda composer: pack_lib(composer, "uuid"))
package("libuuid-dev")
dep("libuuid (same)")
on_pack(lambda composer: pack_dev(composer, "uuid"))
package("util-linux-swap")
dep("libblkid (same)")
dep("libmount (same)")
dep("libsmartcols (same)")
on_pack(lambda composer: pack_bin(composer, ["sbin/swaplabel", "sbin/swapoff", "sbin/swapon", "sbin/mkswap"]))
package("util-linux-mount")
provide("mount")
dep("libmount (same)")
on_pack(lambda composer: pack_bin(composer, ["mount", "umount"]))
package("util-linux-fdisk")
provide("fdisk")
dep("libfdisk (same)")
dep("libsmartcols (same)")
dep("libncurses @same-arch")
on_pack(lambda composer: pack_bin(composer, ["sbin/fdisk"]))
package("util-linux-sfdisk")
provide("sfdisk")
dep("libfdisk (same)")
dep("libsmartcols (same)")
dep("libncurses @same-arch")
on_pack(lambda composer: pack_bin(composer, ["sbin/sfdisk"]))
package("util-linux-cfdisk")
provide("cfdisk")
dep("libfdisk (same)")
dep("libsmartcols (same)")
dep("libncurses @same-arch")
on_pack(lambda composer: pack_bin(composer, ["sbin/cfdisk"]))
package("util-linux-mkfs")
dep("semi-libc @same-arch")
dep("libz @same-arch")
provide("mkfs")
on_pack(lambda composer: pack_bin(composer, ["sbin/mkfs", "sbin/mkfs.bfs", "sbin/mkfs.cramfs", "sbin/mkfs.minix"]))
package("util-linux-fsck")
dep("libmount (same)")
dep("libblkid (same)")
dep("libz @same-arch")
provide("fsck")
on_pack(lambda composer: pack_bin(composer, ["sbin/fsck", "sbin/fsck.cramfs", "sbin/fsck.minix"]))
package("util-linux-fs")
dep("libblkid (same)")
dep("libsmartcols (same)")
dep("libmount (same)")
on_pack(lambda composer: pack_bin(composer, [
"sbin/addpart",
"sbin/resizepart",
"sbin/delpart",
"sbin/partx",
"sbin/losetup",
"sbin/blkdiscard",
"sbin/blkid",
"sbin/blkpr",
"sbin/blkzone",
"sbin/blockdev",
"sbin/findfs",
"sbin/fsfreeze",
"sbin/fstrim",
"copyfilerange",
"exch",
"fadvise",
"fallocate",
"fincore",
"flock",
"getino",
"hardlink",
"mountpoint",
"namei",
"rename",
"whereis",
"sbin/pivot_root",
"sbin/switch_root",
"sbin/wipefs",
"sbin/zramctl",
"findmnt",
]))
package("util-linux-security")
dep("libsmartcols (same)")
dep("libmount (same)")
on_pack(lambda composer: pack_bin(composer, [
"utmpdump",
"unshare",
"last",
"lastb",
"nsenter",
"lsns",
"sbin/nologin",
]))
package("util-linux-proc")
dep("libsmartcols (same)")
dep("semi-libc @same-arch")
on_pack(lambda composer: pack_bin(composer, [
"uclampset",
"waitpid",
"setsid",
"setpgid",
"taskset",
"chrt",
"coresched",
"prlimit",
"renice",
"ionice",
]))
package("util-linux-text")
dep("libncurses @same-arch")
dep("libsmartcols (same)")
on_pack(lambda composer: pack_bin(composer, [
"bits",
"cal",
"colcrt",
"colrm",
"column",
"getopt",
"hexdump",
"look",
"mcookie",
"rev",
"ul",
]))
package("util-linux-term")
dep("libncurses @same-arch")
on_pack(lambda composer: pack_bin(composer, [
"setterm",
"mesg",
"script",
"scriptlive",
"scriptreplay",
"wall",
"sbin/agetty",
"sbin/ldattach",
]))
package("util-linux-ipc")
dep("libmount (same)")
dep("libsmartcols (same)")
on_pack(lambda composer: pack_bin(composer, [
"ipcmk",
"ipcrm",
"ipcs",
"lslocks",
"pipesz",
"dmesg",
]))
package("util-linux-hardware")
dep("libsmartcols (same)")
dep("libncurses @same-arch")
on_pack(lambda composer: pack_bin(composer, [
"irqtop",
"lsirq",
"lsmem",
"wdctl",
"sbin/hwclock",
"sbin/readprofile",
"sbin/rfkill",
"sbin/rtcwake",
]))
package("isosize")
dep("semi-libc @same-arch")
on_pack(lambda composer: pack_bin(composer, ["isosize"]))
package("util-linux-arch")
dep("semi-libc @same-arch")
on_pack(lambda composer: pack_bin(composer, ["setarch", "uname26", "linux32", "linux64"]))
package("util-linux-uuid")
dep("libuuid (same)")
dep("libsmartcols (same)")
on_pack(lambda composer: pack_bin(composer, [
"uuidgen",
"uuidparse",
"sbin/uuidd",
]))
package("util-linux")
dep("util-linux-swap (same)")
dep("util-linux-mount (same)")
dep("util-linux-fdisk (same)")
dep("util-linux-sfdisk (same)")
dep("util-linux-cfdisk (same)")
dep("util-linux-mkfs (same)")
dep("util-linux-fsck (same)")
dep("util-linux-fs (same)")
dep("util-linux-security (same)")
dep("util-linux-proc (same)")
dep("util-linux-text (same)")
dep("util-linux-term (same)")
dep("util-linux-ipc (same)")
dep("util-linux-hardware (same)")
dep("isosize (same)")
dep("util-linux-arch (same)")
dep("util-linux-uuid (same)")
on_pack(lambda _composer: None)