Author SHA256 Message Date
sisungo 7e4e1ece86 feat: add package init-scripts
Signed-off-by: sisungo <[email protected]>
2026-09-14 07:57:44 +00:00
10 changed files with 78 additions and 114 deletions
+20
View File
@@ -41,6 +41,16 @@ def autolink_share_pkgconfig():
if i.is_file(): if i.is_file():
make.link(f"share/pkgconfig/{i.name}", "/share/pkgconfig/" + i.name) make.link(f"share/pkgconfig/{i.name}", "/share/pkgconfig/" + i.name)
def autolink_services():
for i in common.treedir("share/services"):
if i.is_file() and os.access(i.path, os.F_OK):
make.link(f"share/services/{i.name}", "/share/services/" + i.name)
def autolink_milestones():
for i in common.treedir("share/milestones"):
if i.is_file() and os.access(i.path, os.F_OK):
make.link(f"share/milestones/{i.name}", "/share/milestones/" + i.name)
def autolink(composer: pkgcomposer.PkgComposer): def autolink(composer: pkgcomposer.PkgComposer):
os.chdir(composer.workdir + "/bundle/") os.chdir(composer.workdir + "/bundle/")
@@ -64,3 +74,13 @@ def autolink(composer: pkgcomposer.PkgComposer):
autolink_share_pkgconfig() autolink_share_pkgconfig()
except: except:
pass pass
try:
autolink_services()
except:
pass
try:
autolink_milestones()
except:
pass
+2 -2
View File
@@ -1,8 +1,8 @@
{ {
"os_name": "\u001b[36;4mSemiOS\u001b[0m", "os_name": "\u001b[36;4mSemiOS\u001b[0m",
"config_dir": "/var/config/airup", "config_dir": "/var/config/airup",
"service_dir": "/share/airup/services", "service_dir": "/share/services",
"milestone_dir": "/share/airup/milestones", "milestone_dir": "/share/milestones",
"runtime_dir": "/run/airup", "runtime_dir": "/run/airup",
"env_vars": {}, "env_vars": {},
"early_cmds": [] "early_cmds": []
+19 -2
View File
@@ -16,14 +16,30 @@ def build():
shutil.copy2("../../build_manifest.json", "build_manifest.json") shutil.copy2("../../build_manifest.json", "build_manifest.json")
rust.build() rust.build()
on_build(build) on_build(build)
def patch_logger_airs(path):
with open(path) as fd:
content = fd.read()
content = content.replace(
"/usr/libexec/airup/airup-fallback-logger",
get_prefix('airup') + "/libexec/airup-fallback-logger",
)
with open(path, 'wt+') as fd:
fd.write(content)
def pack_airup(composer): def pack_airup(composer):
os.chdir(rust.artifacts_dir())
composer.makedir("bin") composer.makedir("bin")
composer.makedir("libexec") composer.makedir("libexec")
composer.makedirs("share/services")
patch_logger_airs("docs/resources/airup-fallback-logger.airs")
composer.addfile("docs/resources/airup-fallback-logger.airs", "share/services/airup-fallback-logger.airs")
composer.addfile("docs/resources/airupd.airs", "share/services/airupd.airs")
os.chdir(rust.artifacts_dir())
composer.addfile("airup", "bin/airup") composer.addfile("airup", "bin/airup")
composer.addfile("airupd", "bin/airupd") composer.addfile("airupd", "bin/airupd")
composer.addfile("airup-fallback-logger", "libexec/airup-fallback-logger") composer.addfile("airup-fallback-logger", "libexec/airup-fallback-logger")
@@ -32,3 +48,4 @@ def pack_airup(composer):
package("airup") package("airup")
on_pack(pack_airup) on_pack(pack_airup)
dep("semi-libc @same-arch") dep("semi-libc @same-arch")
link("bin/airupd", "/bin/init")
+4 -6
View File
@@ -14,14 +14,13 @@ source_url("https://download.gnome.org/sources/glib/2.89/glib-2.89.2.tar.xz")
builddep("shortcut/c++") builddep("shortcut/c++")
builddep("shortcut/meson") builddep("shortcut/meson")
builddep("gettext") builddep("gettext")
builddep("libintl-dev @target") builddep(f"libintl-dev @{arch.get_target()}")
builddep("pcre2-tools") builddep("pcre2-tools")
builddep("libpcre2-dev @target") builddep(f"libpcre2-dev @{arch.get_target()}")
builddep("libffi-dev @target") builddep(f"libffi-dev @{arch.get_target()}")
builddep("pkgconf") builddep("pkgconf")
builddep("libz-ng-dev @target") builddep(f"libz-ng-dev @{arch.get_target()}")
builddep("libexpat") builddep("libexpat")
builddep("gobject-introspection @target")
def build(): def build():
@@ -30,7 +29,6 @@ def build():
cpp.meson_setup([ cpp.meson_setup([
"-Druntime_dir=/run", "-Druntime_dir=/run",
f"-Dgio_module_dir=/lib/{arch.get_target()}/gio/modules", f"-Dgio_module_dir=/lib/{arch.get_target()}/gio/modules",
"-Dintrospection=enabled",
"--prefix=/", "--prefix=/",
f"--bindir={get_prefix('glib-tools')}/bin", f"--bindir={get_prefix('glib-tools')}/bin",
f"--libdir={get_prefix('glib-dev')}/lib", f"--libdir={get_prefix('glib-dev')}/lib",
@@ -1,49 +0,0 @@
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 <[email protected]>")
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)
+26
View File
@@ -0,0 +1,26 @@
import subprocess
import os
import lib
from lib.make import *
version("0.1.0-alpha.1")
description("SemiOS init scripts")
maintainer("sisungo <[email protected]>")
source_url("https://gitea.semilabs.org/semios/init-scripts/archive/0.1.0-alpha.1.tar.gz")
def build():
subprocess.run(["env", f"PREFIX={get_prefix('init-scripts')}", "sh", "install.sh"], check=True)
os.chdir("./target")
on_build(build)
def pack(composer):
composer.add("share")
composer.add("bin")
package("init-scripts")
arch_any()
on_pack(pack)
@@ -1,6 +0,0 @@
--- a/gudev/meson.build
+++ b/gudev/meson.build
36c36
< '-export-dynamic',
---
> '-Wl,-export-dynamic',
-42
View File
@@ -1,42 +0,0 @@
from lib import cpp
from lib.make import *
version("238")
description("Input device management and event handling library")
maintainer("sisungo <[email protected]>")
source_url("https://gitlab.gnome.org/GNOME/libgudev/-/archive/238/libgudev-238.tar.gz")
builddep("shortcut/c")
builddep("shortcut/meson")
builddep("gobject-introspection @target")
builddep("glib-dev @target")
builddep("lxdeviced-libudev-dev @target")
builddep("glib-tools")
builddep("libexpat")
def build():
cpp.meson_setup([
"--prefix=/",
f"--libdir={get_prefix('libgudev')}/lib",
f"--includedir={get_prefix('libgudev-dev')}/include",
"-Dintrospection=enabled",
])
cpp.meson_compile()
cpp.meson_install()
on_build(build)
package("libgudev")
dep("semi-libc @same-arch")
dep("lxdeviced-libudev @same-arch")
dep("libglib @same-arch")
dep("libgobject @same-arch")
cpp.use_auto_pack(["lib"])
package("libgudev-dev")
dep("libgudev (same)")
dep("lxdeviced-libudev-dev @same-arch")
dep("glib-dev @same-arch")
cpp.use_auto_pack(["dev"])
+6 -7
View File
@@ -1,15 +1,15 @@
from lib import arch, cpp from lib import arch, cpp
from lib.make import * from lib.make import *
version("2.15.3") version("2.15.3")
description("an XML toolkit implemented in C, originally developed for the GNOME Project") description("an XML toolkit implemented in C, originally developed for the GNOME Project")
maintainer("sisungo <[email protected]>") maintainer("sisungo <[email protected]>")
source_url("https://download.gnome.org/sources/libxml2/2.15/libxml2-2.15.3.tar.xz") source_url("https://download.gnome.org/sources/libxml2/2.15/libxml2-2.15.3.tar.xz")
builddep("shortcut/autotools") builddep("shortcut/autotools")
builddep("shortcut/c") builddep("shortcut/c")
def build(): def build():
cpp.configure([ cpp.configure([
@@ -27,6 +27,5 @@ dep("semi-libc @same-arch")
cpp.use_auto_pack(["lib"]) cpp.use_auto_pack(["lib"])
package("libxml2-dev") package("libxml2-dev")
dep("libxml2 (same)") dep("semi-libc @same-arch")
dep("semi-libc-dev @same-arch")
cpp.use_auto_pack(["dev"]) cpp.use_auto_pack(["dev"])
+1
View File
@@ -35,6 +35,7 @@ Libs: -L${libdir} -ludev
def pack(composer): def pack(composer):
composer.makedirs("share/device") composer.makedirs("share/device")
composer.add_dir("misc/rules", "share/device/rules") composer.add_dir("misc/rules", "share/device/rules")
composer.add_dir("misc/airup", "share/services")
oldpwd = os.getcwd() oldpwd = os.getcwd()
os.chdir(rust.artifacts_dir()) os.chdir(rust.artifacts_dir())
composer.makedir("bin") composer.makedir("bin")