Compare commits

...
24 Commits
Author SHA1 Message Date
sisungo 16a1087785 feat: add package file
Signed-off-by: sisungo <[email protected]>
2026-06-27 18:28:20 +08:00
sisungo d0186dacb5 Merge pull request 'feat: add package python' (#49) from sisungo/semios-packages:python into master
Reviewed-on: semios/semios-packages#49
2026-06-27 13:45:30 +08:00
sisungo 574f8a5996 Merge pull request 'feat: update semi-libc to v1.2.6' (#50) from sisungo/semios-packages:semi-libc-new into master
Reviewed-on: semios/semios-packages#50
2026-06-27 13:44:27 +08:00
sisungo bb3c5b2741 feat: update semi-libc to v1.2.6
Signed-off-by: sisungo <[email protected]>
2026-06-27 13:43:36 +08:00
sisungo e749a4f1f9 feat: add package python
Signed-off-by: sisungo <[email protected]>
2026-06-27 10:46:20 +08:00
sisungo 10ca4e4931 Merge pull request 'feat: add package openssh' (#47) from sisungo/semios-packages:openssh into master
Reviewed-on: semios/semios-packages#47
2026-06-26 19:58:49 +08:00
sisungo e65eee4bf1 Merge pull request 'feat: add package iana-timezone' (#46) from sisungo/semios-packages:iana-timezone into master
Reviewed-on: semios/semios-packages#46
2026-06-26 19:58:39 +08:00
sisungo 7797e7674c Merge pull request 'feat: add package mandoc' (#45) from sisungo/semios-packages:mandoc into master
Reviewed-on: semios/semios-packages#45
2026-06-26 19:58:24 +08:00
sisungo d9b7a01d01 Merge pull request 'feat: add package ncurses' (#48) from sisungo/semios-packages:ncurses into master
Reviewed-on: semios/semios-packages#48
2026-06-26 19:58:08 +08:00
sisungo 232d8c51d6 feat: add package ncurses
Signed-off-by: sisungo <[email protected]>
2026-06-26 18:11:33 +08:00
sisungo 56998f9787 feat: add package openssh
Signed-off-by: sisungo <[email protected]>
2026-06-26 17:07:35 +08:00
sisungo 510eca1ab6 feat: add package iana-timezone
Signed-off-by: sisungo <[email protected]>
2026-06-26 16:43:12 +08:00
sisungo 057330e43f feat: add package mandoc
Signed-off-by: sisungo <[email protected]>
2026-06-26 14:30:24 +08:00
sisungo 0ba3f9a31c Merge pull request 'feat: add package ripgrep' (#41) from sisungo/semios-packages:ripgrep into master
Reviewed-on: semios/semios-packages#41
2026-06-26 14:12:41 +08:00
sisungo 63c3485f5e Merge pull request 'feat: add package sed' (#42) from sisungo/semios-packages:sed into master
Reviewed-on: semios/semios-packages#42
2026-06-26 14:12:26 +08:00
sisungo 9835791b4c Merge pull request 'feat: add package nextvi' (#40) from sisungo/semios-packages:nextvi into master
Reviewed-on: semios/semios-packages#40
2026-06-26 14:12:15 +08:00
sisungo 204f650c63 Merge pull request 'fix: some dependencies are invalid' (#44) from sisungo/semios-packages:fix-deps into master
Reviewed-on: semios/semios-packages#44
2026-06-26 14:12:01 +08:00
sisungo e9fe74358f Merge pull request 'feat: add link to /bin/sh in mksh' (#39) from sisungo/semios-packages:mksh-link into master
Reviewed-on: semios/semios-packages#39
2026-06-26 14:11:48 +08:00
sisungo 962c916ae1 fix: some dependencies are invalid
Signed-off-by: sisungo <[email protected]>
2026-06-26 13:37:12 +08:00
sisungo 248c0bbc66 Merge pull request 'feat: add unix functions to coreutils' (#38) from sisungo/semios-packages:coreutils-unix into master
Reviewed-on: semios/semios-packages#38
2026-06-25 21:52:24 +08:00
sisungo 33d3df6dfc feat: add package nextvi
Signed-off-by: sisungo <[email protected]>
2026-06-25 06:46:24 +08:00
sisungo bffd8e3cdc feat: add link to /bin/sh in mksh
Signed-off-by: sisungo <[email protected]>
2026-06-25 06:19:26 +08:00
sisungo 51368da8ff feat: add package ripgrep
Signed-off-by: sisungo <[email protected]>
2026-06-25 06:14:38 +08:00
sisungo f8f18ce917 feat: add package sed
Signed-off-by: sisungo <[email protected]>
2026-06-25 06:10:15 +08:00
14 changed files with 382 additions and 5 deletions
+43
View File
@@ -0,0 +1,43 @@
import subprocess
from lib import cpp
from lib.make import *
VERSION = "5.48"
version(VERSION)
source_git("https://github.com/file/file.git", "FILE5_48")
def build():
subprocess.run(["autoreconf", "-fiv"], check=True)
cpp.configure(["--prefix=/", f"--datadir=/share/file"])
cpp.make()
cpp.make_install()
on_build(build)
def pack_magic_db(composer):
composer.add_dir(f"share/file", "share")
package("file-magic-db")
arch_any()
link("share/misc/magic.mgc", "/share/file/misc/magic.mgc")
on_pack(pack_magic_db)
package("libmagic")
dep("semi-libc @same-arch")
dep("file-magic-db (same-version) @any")
cpp.use_auto_pack(["lib"])
package("libmagic-dev")
dep("libmagic (same)")
cpp.use_auto_pack(["dev"])
package("file")
dep("libmagic (same)")
cpp.use_auto_pack(["bin"])
+33
View File
@@ -0,0 +1,33 @@
import os
from lib import cpp
from lib.make import *
version("2026.4.22")
source_url("https://data.iana.org/time-zones/releases/tzdb-2026b.tar.lz")
def build():
cpp.make()
cpp.make_install()
os.chdir("usr")
on_build(build)
def pack_db(composer):
composer.makedir("share")
composer.add_dir("share/zoneinfo", "share/zoneinfo")
package("iana-timezone-db")
arch_any()
on_pack(pack_db)
package("iana-timezone-tools")
dep("semi-libc @same-arch")
cpp.use_auto_pack(["bin"])
package("iana-timezone-dev")
cpp.use_auto_pack(["dev"])
+2
View File
@@ -19,6 +19,8 @@ on_build(build)
package("libkmod")
cpp.use_auto_pack(["lib"])
dep("semi-libc @same-arch")
dep("libzstd @same-arch")
dep("libcrypto @same-arch")
package("kmod")
cpp.use_auto_pack(["bin"])
+22
View File
@@ -0,0 +1,22 @@
import os
import subprocess
from lib import cpp
from lib.make import *
version("1.14.6")
source_url("https://mandoc.bsd.lv/snapshots/mandoc-1.14.6.tar.gz")
def build():
cpp.configure()
cpp.make([f"CC={os.environ['CC']}"])
cpp.make_install()
os.chdir("usr/local")
subprocess.run(["sh", "-c", "chmod +w bin/* sbin/*"], check=True)
on_build(build)
package("mandoc")
cpp.use_auto_pack(["bin"])
+1
View File
@@ -22,3 +22,4 @@ package("mksh")
on_pack(pack_mksh)
dep("semi-libc @same-arch")
provide("sh")
link("bin/mksh", "/bin/sh")
+62
View File
@@ -0,0 +1,62 @@
import os
from lib import cpp
from lib.make import *
version("6.6")
source_url("https://invisible-island.net/archives/ncurses/ncurses-6.6.tar.gz")
def build():
cpp.configure(
[
"--prefix=/",
"--enable-pc-files",
"--with-shared",
"--with-terminfo-dirs=/share/terminfo",
"--enable-symlinks",
"--enable-sp-funcs",
"--enable-ext-colors",
"--enable-rgb-color",
"--enable-ext-mouse",
"--enable-ext-putwin",
"--enable-no-padding",
"--enable-sigwinch",
"--enable-tcap-names",
"--with-pthread",
"--enable-pthreads-eintr",
"--enable-weak-symbols",
"--enable-reentrant",
"--without-develop",
]
)
cpp.make()
cpp.make_install()
os.unlink("lib/terminfo")
os.rename("usr/lib/pkgconfig", "lib/pkgconfig")
on_build(build)
package("libncurses")
dep("semi-libc @same-arch")
cpp.use_auto_pack(["lib"])
package("ncurses-tools")
dep("libncurses (same)")
cpp.use_auto_pack(["bin"])
package("libncurses-dev")
dep("libncurses (same)")
cpp.use_auto_pack(["dev"])
def pack_terminfo(composer):
composer.makedir("share")
composer.add_dir("share/tabset", "share/tabset")
composer.add_dir("share/terminfo", "share/terminfo")
package("ncurses-terminfo")
arch_any()
on_pack(pack_terminfo)
+27
View File
@@ -0,0 +1,27 @@
import os
import subprocess
from lib import cpp
from lib.make import *
version("5.3")
source_url("https://github.com/kyx0r/nextvi/archive/refs/tags/5.3.tar.gz")
def build():
os.environ["PREFIX"] = "/"
subprocess.run(["./cbuild.sh"])
on_build(build)
def pack(composer):
composer.makedir("bin")
composer.addfile("vi", "bin/vi")
package("nextvi")
on_pack(pack)
dep("semi-libc @same-arch")
provide("vi")
+55
View File
@@ -0,0 +1,55 @@
from lib import cpp
from lib.make import *
version("10.3.1")
source_url("https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-10.3p1.tar.gz")
def build():
cpp.configure(
[
"--prefix=/",
"--sysconfdir=/var/config",
"--disable-etc-default-login",
"--with-linux-memlock-onfault",
"--without-shadow",
"--with-pam",
"--with-pie",
]
)
cpp.make()
cpp.make_install()
on_build(build)
def pack_client(composer):
composer.add_dir("bin", "bin")
composer.makedir("libexec")
composer.addfile("libexec/ssh-sk-helper", "libexec/ssh-sk-helper")
composer.addfile("libexec/ssh-pkcs11-helper", "libexec/ssh-pkcs11-helper")
package("openssh-client")
dep("semi-libc @same-arch")
dep("libcrypto @same-arch")
dep("libz @same-arch")
on_pack(pack_client)
provide("ssh")
def pack_server(composer):
composer.makedir("bin")
composer.addfile("sbin/sshd", "bin/sshd")
composer.makedir("libexec")
composer.addfile("libexec/sftp-server", "libexec/sftp-server")
composer.addfile("libexec/ssh-keysign", "libexec/ssh-keysign")
composer.addfile("libexec/sshd-auth", "libexec/sshd-auth")
composer.addfile("libexec/sshd-session", "libexec/sshd-session")
package("openssh-server")
dep("openssh-client (same)")
dep("libpam @same-arch")
on_pack(pack_server)
+100
View File
@@ -0,0 +1,100 @@
import os
import shutil
import subprocess
from lib import arch, cpp
from lib.make import *
VERSION_BASE = "3.14"
VERSION_APPEND = "6"
VERSION_FULL = f"{VERSION_BASE}.{VERSION_APPEND}"
version(VERSION_FULL)
source_url(
f"https://www.python.org/ftp/python/{VERSION_FULL}/Python-{VERSION_FULL}.tar.xz"
)
def build():
cpp.configure(
[
"--prefix=/",
f"--with-platlibdir=lib/{arch.get_target()}",
"--enable-shared",
"--enable-safety",
"--enable-optimizations",
"--enable-loadable-sqlite-extensions",
"--enable-ipv6",
"--with-lto=thin",
"--with-tzpath=/share/zoneinfo",
"--with-system-expat",
"--with-system-libmpdec",
"--with-readline=editline",
"--with-tail-call-interp",
"--without-ensurepip",
]
)
cpp.make()
try:
shutil.rmtree("../cpp_install")
except:
pass
cpp.make_install()
os.rename(
f"lib/{arch.get_target()}/python{VERSION_BASE}", f"lib/python{VERSION_BASE}"
)
os.rmdir(f"lib/{arch.get_target()}")
on_build(build)
def python_config_target():
return arch.get_target().replace("-semios-linux", "-linux-musl")
def pack_libpython(composer):
# Pack the standard library
pystdpath = f"{composer.workdir}/bundle/lib/python{VERSION_BASE}"
composer.makedir("lib")
composer.add_dir(f"lib/python{VERSION_BASE}", f"lib/python{VERSION_BASE}")
shutil.rmtree(f"{pystdpath}/test")
os.remove(
f"{pystdpath}/config-{VERSION_BASE}-{python_config_target()}/libpython{VERSION_BASE}.a"
)
os.remove(f"{pystdpath}/config-{VERSION_BASE}-{python_config_target()}/python.o")
# Pack native libraries
composer.addfile(
f"lib/libpython{VERSION_BASE}.so", f"lib/libpython{VERSION_BASE}.so"
)
composer.addfile(
f"lib/libpython{VERSION_BASE}.so.1.0", f"lib/libpython{VERSION_BASE}.so.1.0"
)
composer.addfile("lib/libpython3.so", "lib/libpython3.so")
package("libpython")
dep("semi-libc @same-arch")
on_pack(pack_libpython)
package("python")
dep("libpython (same)")
cpp.use_auto_pack(["bin"])
link(f"bin/python{VERSION_BASE}", "/bin/python3")
link(f"bin/python{VERSION_BASE}", "/bin/python")
package("libpython-dev")
dep("libpython (same)")
cpp.use_auto_pack(["dev"])
def pack_test(composer):
composer.makedirs(f"lib/python{VERSION_BASE}")
composer.add_dir(f"lib/python{VERSION_BASE}/test", f"lib/python{VERSION_BASE}/test")
package("python-test")
dep("libpython (same)")
on_pack(pack_test)
+16
View File
@@ -0,0 +1,16 @@
from lib import rust
from lib.make import *
version("15.1.0")
source_url("https://github.com/BurntSushi/ripgrep/archive/refs/tags/15.1.0.tar.gz")
def build():
rust.build()
on_build(build)
package("ripgrep")
dep("semi-libc @same-arch")
rust.use_auto_pack(["bin"])
+16
View File
@@ -0,0 +1,16 @@
from lib import rust
from lib.make import *
version("0.1.1")
source_url("https://github.com/uutils/sed/releases/download/0.1.1/source.tar.gz")
def build():
rust.build()
on_build(build)
package("sed")
dep("semi-libc @same-arch")
rust.use_auto_pack(["bin"])
+2 -2
View File
@@ -2,9 +2,9 @@ import lib.arch as arch
from lib.cpp import *
from lib.make import *
source_url("https://gitea.semilabs.org/semios/semi-libc/archive/v1.2.5.tar.gz")
version("1.2.5")
version("1.2.6")
source_url("https://gitea.semilabs.org/semios/semi-libc/archive/v1.2.6.tar.gz")
def build():
configure(["--prefix=/"])
+2 -2
View File
@@ -18,7 +18,7 @@ on_build(build)
package("libz-ng")
cpp.use_auto_pack(["lib"])
provide("libz")
provide("libz@same-arch")
dep("semi-libc @same-arch")
package("zlib-ng-tools")
@@ -28,4 +28,4 @@ dep("libz-ng (same)")
package("libz-ng-dev")
cpp.use_auto_pack(["dev"])
dep("libz-ng (same)")
provide("libz-dev")
provide("libz-dev@same-arch")
+1 -1
View File
@@ -10,7 +10,7 @@ source_url(
def build():
cpp.make()
cpp.make(["HAVE_ZLIB=0", "HAVE_LZMA=0", "HAVE_LZ4=0"])
cpp.make_install()
os.chdir("usr/local")