11 Commits
Author SHA256 Message Date
sisungo c62b2fc8f6 Merge pull request 'feat: add package gobject-introspection & libgudev' (#2) from sisungo/ports:gobject-introspection into main
Reviewed-on: semios/ports#2
2026-09-22 22:47:35 +08:00
sisungo e7eaa7273c Merge pull request 'feat: add libinput & libmtdev & libevdev & libwacom' (#5) from sisungo/ports:libinput into main
Reviewed-on: semios/ports#5
2026-09-22 12:53:50 +08:00
sisungo f7adbdebd8 Merge pull request 'feat: add few multimedia format libraries' (#8) from sisungo/ports:multimedia into main
Reviewed-on: semios/ports#8
2026-09-22 12:53:22 +08:00
sisungo 8c4b7a429c Merge pull request 'feat: add package init-scripts' (#14) from sisungo/ports:init-scripts into main
Reviewed-on: semios/ports#14
2026-09-22 12:52:02 +08:00
sisungo 367985bc61 Merge pull request 'feat: add support for configure scripts' (#7) from sisungo/ports:configure into main
Reviewed-on: semios/ports#7
2026-09-16 10:11:48 +08:00
sisungo 7e4e1ece86 feat: add package init-scripts
Signed-off-by: sisungo <[email protected]>
2026-09-14 07:57:44 +00:00
sisungo 8a82bcf29e feat: add few multimedia format libraries
Signed-off-by: sisungo <[email protected]>
2026-09-11 07:26:14 +00:00
sisungo f2c2fa93c9 feat: add support for configure scripts
Signed-off-by: sisungo <[email protected]>
2026-09-11 07:24:46 +00:00
sisungo e61e796eda feat: add package libgudev
Signed-off-by: sisungo <[email protected]>
2026-09-07 05:18:21 +00:00
sisungo 6645a7f537 feat: add libinput & libmtdev & libevdev & libwacom
Signed-off-by: sisungo <[email protected]>
2026-09-07 05:17:11 +00:00
sisungo 6837ddb31a feat: add package gobject-introspection
Signed-off-by: sisungo <[email protected]>
2026-09-07 03:19:34 +00:00
39 changed files with 540 additions and 618 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
+8
View File
@@ -16,6 +16,7 @@ _key_links = "links"
_key_dependencies = "dependencies" _key_dependencies = "dependencies"
_key_recommendations = "recommendations" _key_recommendations = "recommendations"
_key_provides = "provides" _key_provides = "provides"
_key_configure = "configure"
_current_pkgname: str = _key_global _current_pkgname: str = _key_global
_pkginfo: dict[str, dict[str, typing.Any]] = { _pkginfo: dict[str, dict[str, typing.Any]] = {
@@ -25,6 +26,7 @@ _pkginfo: dict[str, dict[str, typing.Any]] = {
_key_maintainers: [], _key_maintainers: [],
_key_provides: [], _key_provides: [],
_key_recommendations: [], _key_recommendations: [],
_key_configure: [],
}, },
} }
_supported_arch: typing.Callable[[str], bool] = lambda x: True _supported_arch: typing.Callable[[str], bool] = lambda x: True
@@ -87,6 +89,12 @@ def provide(s: str):
] ]
def configure_script(s: str):
_pkginfo[_current_pkgname][_key_configure] += [
os.path.realpath(s)
]
def _translate_dep_spec(s: str) -> str: def _translate_dep_spec(s: str) -> str:
return ( return (
s.replace("(same)", "(same-version) @same-arch") s.replace("(same)", "(same-version) @same-arch")
+9
View File
@@ -25,6 +25,15 @@ class PkgComposer:
json.dump(link, f) json.dump(link, f)
f.write("\n") f.write("\n")
def add_configure(self, path: str, name: str = None):
if name is None:
name = os.path.basename(path)
configuredir = self.workdir + "/configure/"
dstpath = configuredir + name
os.makedirs(configuredir, exist_ok=True)
shutil.copy2(path, dstpath)
os.chmod(dstpath, 0o755)
def compose(self): def compose(self):
subprocess.run( subprocess.run(
[ [
-40
View File
@@ -1,40 +0,0 @@
import os
from lib.make import *
from lib import cpp, packie
version("2.1")
description("a software implementation of the JBIG1 data compression standard")
maintainer("sisungo <[email protected]>")
source_url("https://www.cl.cam.ac.uk/~mgk25/jbigkit/download/jbigkit-2.1.tar.gz")
builddep("shortcut/c")
builddep("shortcut/autotools")
def build():
cpp.make(["CC=cc"])
on_build(build)
def pack_bin(composer):
composer.makedir("bin")
for i in ["pbmtojbg", "jbgtopbm", "pbmtojbg85", "jbgtopbm85"]:
composer.addfile(f"pbmtools/{i}", f"bin/{i}")
def pack_dev(composer):
composer.makedir("lib")
composer.makedir("include")
for i in ["jbig.h", "jbig85.h", "jbig_ar.h"]:
composer.addfile(f"libjbig/{i}", f"include/{i}")
for i in ["libjbig.a", "libjbig85.a"]:
composer.addfile(f"libjbig/{i}", f"lib/{i}")
package("jbig-kit")
dep("semi-libc @same-arch")
on_pack(pack_bin)
package("libjbig-dev")
on_pack(pack_dev)
-42
View File
@@ -1,42 +0,0 @@
from lib.make import *
from lib import cpp, arch
version("2.19.1")
description("A free, open source, CMM engine. It provides fast transforms between ICC profiles.")
maintainer("sisungo <[email protected]>")
source_url("https://github.com/mm2/Little-CMS/releases/download/lcms2.19.1/lcms2-2.19.1.tar.gz")
builddep("shortcut/c")
builddep("shortcut/autotools")
builddep("libjpeg-turbo-dev @target")
builddep("libtiff-dev @target")
def build():
cpp.configure([
"--prefix=/",
f"--libdir={get_prefix('liblcms')}/lib",
f"--bindir={get_prefix('liblcms-tools')}/bin",
f"--includedir={get_prefix('liblcms-dev')}/include",
])
cpp.make()
cpp.make_install()
on_build(build)
package("liblcms")
dep("semi-libc @same-arch")
cpp.use_auto_pack(["lib"])
package("liblcms-tools")
dep("libjpeg-turbo @same-arch")
dep("libtiff @same-arch")
dep("liblcms (same)")
cpp.use_auto_pack(["bin"])
package("liblcms-dev")
dep("liblcms (same)")
dep("semi-libc-dev @same-arch")
cpp.use_auto_pack(["dev"])
+1 -1
View File
@@ -4,7 +4,7 @@ from lib import cpp
version("1.4.357.0") version("1.4.357.0")
description("SPIR-V headers") description("SPIR-V headers")
maintainer("sisungo <[email protected]>") maintainer("sisungo <[email protected]>")
source_url("https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/vulkan-sdk-1.4.357.0.tar.gz") source_url("https://github.com/KhronosGroup/SPIRV-Headers/archive/refs/tags/vulkan-sdk-1.4.357.0.tar.gz")
builddep("shortcut/cmake") builddep("shortcut/cmake")
-27
View File
@@ -1,27 +0,0 @@
from lib.make import *
from lib import cpp
version("1.4.357.0")
description("Vulkan headers")
maintainer("sisungo <[email protected]>")
source_url("https://github.com/KhronosGroup/Vulkan-Headers/archive/refs/tags/vulkan-sdk-1.4.357.0.tar.gz")
builddep("shortcut/cmake")
builddep("shortcut/c++")
def build():
cpp.cmake([f"-DCMAKE_INSTALL_PREFIX={get_prefix('vulkan-headers')}"])
cpp.ninja()
cpp.ninja_install()
on_build(build)
def pack(composer):
composer.add("include")
composer.add("share", "lib")
package("vulkan-headers")
on_pack(pack)
@@ -1,12 +0,0 @@
--- a/loader/loader.c
+++ b/loader/loader.c
3731a3732,3735
> vk_result = copy_data_file_info(inst, LIBDIR, relative_location, rel_size, &search_paths);
> if (VK_SUCCESS != vk_result) {
> goto out;
> }
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
304a305
> target_compile_definitions(loader_common_options INTERFACE LIBDIR="${SYSLIBDIR}")
-45
View File
@@ -1,45 +0,0 @@
import os
import shutil
from lib.make import *
from lib import cpp, arch
sdk_version = "1.4.357.0"
version(sdk_version)
description("the Khronos official Vulkan Loader for all platforms")
maintainer("sisungo <[email protected]>")
source_url("https://github.com/KhronosGroup/Vulkan-Loader/archive/refs/tags/vulkan-sdk-1.4.357.0.tar.gz")
builddep("shortcut/cmake")
builddep("shortcut/c++")
builddep(f"vulkan-headers (={sdk_version}) @target")
builddep("libwayland-dev @target")
def build():
cpp.cmake([
"-DCMAKE_INSTALL_PREFIX=/",
"-DCMAKE_INSTALL_SYSCONFDIR=/var/config",
f"-DSYSLIBDIR=/lib/{arch.get_target()}",
f"-DVulkanHeaders_DIR=/lib/{arch.get_target()}/cmake/VulkanHeaders",
f"-DCMAKE_INSTALL_LIBDIR={get_prefix('libvulkan')}/lib",
f"-DCMAKE_INSTALL_INCLUDEDIR={get_prefix('libvulkan-dev')}/include",
"-DBUILD_WSI_XCB_SUPPORT=OFF",
"-DBUILD_WSI_XLIB_SUPPORT=OFF",
"-DBUILD_WSI_WAYLAND_SUPPORT=ON",
])
cpp.ninja()
cpp.ninja_install()
on_build(build)
package("libvulkan")
dep("semi-libc @same-arch")
cpp.use_auto_pack(["lib"])
package("libvulkan-dev")
dep("libvulkan (same)")
cpp.use_auto_pack(["dev"])
+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")
@@ -0,0 +1,6 @@
#!/bin/sh
[ "${ACTION}" = "remove" ] && exit 0
command -v certutil >/dev/null 2>&1 || exit 0
certutil refresh
+2
View File
@@ -27,4 +27,6 @@ def pack(composer):
package("ca-certificates") package("ca-certificates")
arch_any() arch_any()
configure_script("configure/refresh")
recommend("certutil")
on_pack(pack) on_pack(pack)
+6 -4
View File
@@ -14,13 +14,14 @@ 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(f"libintl-dev @{arch.get_target()}") builddep("libintl-dev @target")
builddep("pcre2-tools") builddep("pcre2-tools")
builddep(f"libpcre2-dev @{arch.get_target()}") builddep("libpcre2-dev @target")
builddep(f"libffi-dev @{arch.get_target()}") builddep("libffi-dev @target")
builddep("pkgconf") builddep("pkgconf")
builddep(f"libz-ng-dev @{arch.get_target()}") builddep("libz-ng-dev @target")
builddep("libexpat") builddep("libexpat")
builddep("gobject-introspection @target")
def build(): def build():
@@ -29,6 +30,7 @@ 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",
@@ -0,0 +1,49 @@
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
@@ -1,26 +0,0 @@
from lib.make import *
from lib import cpp
version("0.411")
description("hwdata contains various hardware identification and configuration data, such as the pci.ids and usb.ids databases.")
maintainer("sisungo <[email protected]>")
source_url("https://github.com/vcrhonek/hwdata/archive/refs/tags/v0.411.tar.gz")
builddep("shortcut/autotools")
def build():
cpp.configure(["--disable-blacklist", f"--prefix={get_prefix('hwdata')}"])
cpp.make()
cpp.make_install()
on_build(build)
def pack(composer):
composer.add("share")
package("hwdata")
arch_any()
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)
-33
View File
@@ -1,33 +0,0 @@
import os
from lib.make import *
from lib import cpp, packie
version("4.2.0")
description("an open-source image or raster format which supports rapid encoding and decoding for any pixel type")
maintainer("sisungo <[email protected]>")
source_url("https://github.com/Esri/lerc/archive/refs/tags/v4.2.0.tar.gz")
builddep("shortcut/c++")
builddep("shortcut/cmake")
def build():
cpp.cmake([
f"-DCMAKE_INSTALL_LIBDIR={get_prefix('liblerc')}/lib",
f"-DCMAKE_INSTALL_INCLUDEDIR={get_prefix('liblerc-dev')}/include",
])
cpp.ninja()
cpp.ninja_install()
on_build(build)
package("liblerc")
dep("semi-libc @same-arch")
cpp.use_auto_pack(["lib"])
package("liblerc-dev")
dep("liblerc (same)")
dep("semi-libc-dev @same-arch")
cpp.use_auto_pack(["dev"])
-42
View File
@@ -1,42 +0,0 @@
import os
from lib.make import *
from lib import cpp
version("0.4.0")
description("EDID and DisplayID library")
maintainer("sisungo <[email protected]>")
source_url("https://gitlab.freedesktop.org/emersion/libdisplay-info/-/archive/0.4.0/libdisplay-info-0.4.0.tar.gz")
builddep("shortcut/c")
builddep("shortcut/meson")
builddep("hwdata @any")
def build():
os.environ["PKG_CONFIG_PATH"] = os.environ.get("PKG_CONFIG_PATH", "") + ":/share/pkgconfig"
cpp.meson_setup([
"--prefix=/",
f"--libdir={get_prefix('libdisplay-info')}/lib",
f"--bindir={get_prefix('libdisplay-info-tools')}/bin",
f"--includedir={get_prefix('libdisplay-info-dev')}/include",
])
cpp.meson_compile()
cpp.meson_install()
on_build(build)
package("libdisplay-info")
dep("semi-libc @same-arch")
cpp.use_auto_pack(["lib"])
package("libdisplay-info-tools")
dep("libdisplay-info (same)")
cpp.use_auto_pack(["bin"])
package("libdisplay-info-dev")
dep("libdisplay-info (same)")
dep("semi-libc-dev @same-arch")
cpp.use_auto_pack(["dev"])
+38
View File
@@ -0,0 +1,38 @@
from lib import cpp
from lib.make import *
version("1.13.7")
description("Wrapper library for evdev devices")
maintainer("sisungo <[email protected]>")
source_url("https://gitlab.freedesktop.org/libevdev/libevdev/-/archive/libevdev-1.13.7/libevdev-libevdev-1.13.7.tar.gz?ref_type=tags")
builddep("shortcut/c")
builddep("shortcut/meson")
builddep("linux-dev @target")
def build():
cpp.meson_setup([
"--prefix=/",
f"--libdir={get_prefix('libevdev')}/lib",
f"--includedir={get_prefix('libevdev-dev')}/include",
"-Dtests=disabled",
"-Ddocumentation=disabled",
])
cpp.meson_compile()
cpp.meson_install()
on_build(build)
package("libevdev")
dep("semi-libc @same-arch")
cpp.use_auto_pack(["lib"])
package("libevdev-tools")
dep("libevdev (same)")
cpp.use_auto_pack(["bin"])
package("libevdev-dev")
dep("libevdev (same)")
cpp.use_auto_pack(["dev"])
+1 -4
View File
@@ -73,7 +73,6 @@ dep("libgldispatch (same)")
on_pack(lambda composer: pack_librun(composer, "libEGL")) on_pack(lambda composer: pack_librun(composer, "libEGL"))
package("libegl-dev") package("libegl-dev")
dep("libgldispatch-dev (same)")
dep("libegl (same)") dep("libegl (same)")
on_pack(lambda composer: pack_libdev(composer, "libegl", "egl.pc", ["EGL"])) on_pack(lambda composer: pack_libdev(composer, "libegl", "egl.pc", ["EGL"]))
@@ -83,7 +82,6 @@ on_pack(lambda composer: pack_librun(composer, "libGLESv1_CM"))
package("libglesv1-cm-dev") package("libglesv1-cm-dev")
dep("libglesv1-cm (same)") dep("libglesv1-cm (same)")
dep("libgldispatch-dev (same)")
on_pack(lambda composer: pack_libdev(composer, "libglesv1-cm", "glesv1_cm.pc", ["GLES"])) on_pack(lambda composer: pack_libdev(composer, "libglesv1-cm", "glesv1_cm.pc", ["GLES"]))
package("libglesv2") package("libglesv2")
@@ -92,7 +90,6 @@ on_pack(lambda composer: pack_librun(composer, "libGLESv2"))
package("libglesv2-dev") package("libglesv2-dev")
dep("libglesv2 (same)") dep("libglesv2 (same)")
dep("libgldispatch-dev (same)")
on_pack(lambda composer: pack_libdev(composer, "libglesv2", "glesv2.pc", ["GLES2", "GLES3"])) on_pack(lambda composer: pack_libdev(composer, "libglesv2", "glesv2.pc", ["GLES2", "GLES3"]))
package("libopengl") package("libopengl")
@@ -101,5 +98,5 @@ on_pack(lambda composer: pack_librun(composer, "libOpenGL"))
package("libopengl-dev") package("libopengl-dev")
dep("libopengl (same)") dep("libopengl (same)")
dep("libgldispatch-dev (same)")
on_pack(lambda composer: pack_libdev(composer, "libopengl", "opengl.pc", ["GL"])) on_pack(lambda composer: pack_libdev(composer, "libopengl", "opengl.pc", ["GL"]))
@@ -0,0 +1,6 @@
--- a/gudev/meson.build
+++ b/gudev/meson.build
36c36
< '-export-dynamic',
---
> '-Wl,-export-dynamic',
+42
View File
@@ -0,0 +1,42 @@
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"])
+58
View File
@@ -0,0 +1,58 @@
import glob
from lib import cpp
from lib.make import *
version("1.30.4")
description("Input device management and event handling library")
maintainer("sisungo <[email protected]>")
source_url("https://gitlab.freedesktop.org/libinput/libinput/-/archive/1.30.4/libinput-1.30.4.tar.gz")
builddep("shortcut/c")
builddep("shortcut/meson")
builddep("lxdeviced-libudev-dev @target")
builddep("libevdev-dev @target")
builddep("libmtdev-dev @target")
builddep("libwacom-dev @target")
builddep("linux-dev @target")
def build():
cpp.meson_setup([
"--prefix=/",
f"--libdir={get_prefix('libinput')}/lib",
f"--libexecdir={get_prefix('libinput-tools')}/libexec",
f"--includedir={get_prefix('libinput-dev')}/include",
"--sysconfdir=/var/config",
f"--datadir={get_prefix('libinput')}/share",
"-Ddebug-gui=false",
"-Dtests=false",
])
cpp.meson_compile()
cpp.meson_install()
on_build(build)
def pack(composer):
composer.makedir("lib")
for i in glob.glob("lib/*so*"):
composer.add(i)
composer.makedir("share")
composer.add("share/libinput")
def pack_tools(composer):
composer.add("bin")
composer.add("libexec")
package("libinput")
dep("semi-libc @same-arch")
on_pack(pack)
package("libinput-tools")
dep("libinput (same)")
on_pack(pack_tools)
package("libinput-dev")
dep("libinput (same)")
cpp.use_auto_pack(["dev"])
-47
View File
@@ -1,47 +0,0 @@
from lib.make import *
from lib import cpp, packie
version("3.2.0")
description("a JPEG image codec that uses SIMD instructions to accelerate baseline and progressive JPEG compression and decompression")
maintainer("sisungo <[email protected]>")
source_url("https://github.com/libjpeg-turbo/libjpeg-turbo/releases/download/3.2.0/libjpeg-turbo-3.2.0.tar.gz")
builddep("shortcut/c")
builddep("shortcut/cmake")
builddep("libspng-dev @target")
builddep("libz-ng-dev @target")
def build():
cpp.cmake([
f"-DCMAKE_INSTALL_LIBDIR={get_prefix('libjpeg-turbo')}/lib",
f"-DCMAKE_INSTALL_INCLUDEDIR={get_prefix('libjpeg-turbo-dev')}/include",
"-DWITH_JPEG8=1",
"-DWITH_SYSTEM_SPNG=1",
"-DWITH_SYSTEM_ZLIB=1",
f"-DZLIB_LIBRARY={packie.prefix_of('libz-ng')}/lib/libz.so",
f"-DZLIB_INCLUDE_DIR={packie.prefix_of('libz-ng-dev')}/include",
])
cpp.ninja()
cpp.ninja_install()
on_build(build)
package("libjpeg-turbo")
dep("semi-libc @same-arch")
dep("libspng @same-arch")
cpp.use_auto_pack(["lib"])
provide("libjpeg @same-arch")
package("libjpeg-turbo-tools")
dep("libjpeg-turbo (same)")
cpp.use_auto_pack(["bin"])
package("libjpeg-turbo-dev")
dep("libjpeg-turbo (same)")
dep("semi-libc-dev @same-arch")
dep("libspng-dev @same-arch")
cpp.use_auto_pack(["dev"])
provide("libjpeg-dev @same-arch")
-39
View File
@@ -1,39 +0,0 @@
import os
from lib.make import *
from lib import cpp
version("0.5.0")
description("Lightweight KMS plane library")
maintainer("sisungo <[email protected]>")
source_url("https://gitlab.freedesktop.org/emersion/libliftoff/-/archive/v0.5.0/libliftoff-v0.5.0.tar.gz")
builddep("shortcut/c")
builddep("shortcut/meson")
builddep("libdrm-dev @target")
builddep("linux-dev @target")
def build():
cpp.meson_setup([
"--prefix=/",
f"--libdir={get_prefix('libliftoff')}/lib",
f"--includedir={get_prefix('libliftoff-dev')}/include",
])
cpp.meson_compile()
cpp.meson_install()
on_build(build)
package("libliftoff")
dep("libdrm @same-arch")
dep("semi-libc @same-arch")
cpp.use_auto_pack(["lib"])
package("libliftoff-dev")
dep("libliftoff (same)")
dep("semi-libc-dev @same-arch")
dep("libdrm-dev @same-arch")
cpp.use_auto_pack(["dev"])
+32
View File
@@ -0,0 +1,32 @@
from lib import cpp
from lib.make import *
version("1.1.7")
description("a stand-alone library which transforms all variants of kernel MT events to the slotted type B protocol")
maintainer("sisungo <[email protected]>")
source_url("https://bitmath.se/org/code/mtdev/mtdev-1.1.7.tar.gz")
builddep("shortcut/c")
builddep("shortcut/autotools")
builddep("linux-dev @target")
def build():
cpp.configure([
"--prefix=/",
f"--libdir={get_prefix('libmtdev')}/lib",
f"--includedir={get_prefix('libmtdev-dev')}/include",
])
cpp.make()
cpp.make_install()
on_build(build)
package("libmtdev")
dep("semi-libc @same-arch")
cpp.use_auto_pack(["lib"])
package("libmtdev-dev")
dep("libmtdev (same)")
cpp.use_auto_pack(["dev"])
+33
View File
@@ -0,0 +1,33 @@
from lib import cpp
from lib.make import *
version("1.3.6")
description("Ogg container format libraries")
maintainer("sisungo <[email protected]>")
source_url("https://downloads.xiph.org/releases/ogg/libogg-1.3.6.tar.xz")
builddep("shortcut/c")
builddep("shortcut/autotools")
def build():
cpp.configure(
[
"--prefix=/",
f"--libdir={get_prefix('libogg')}/lib",
f"--includedir={get_prefix('libogg-dev')}/include",
]
)
cpp.make()
cpp.make_install()
on_build(build)
package("libogg")
dep("semi-libc @same-arch")
cpp.use_auto_pack(["lib"])
package("libogg-dev")
dep("libogg (same)")
cpp.use_auto_pack(["dev"])
-35
View File
@@ -1,35 +0,0 @@
from lib.make import *
from lib import cpp
version("0.7.4")
description("a C library for reading and writing Portable Network Graphics (PNG) format files with a focus on security and ease of use")
maintainer("sisungo <[email protected]>")
source_url("https://github.com/randy408/libspng/archive/v0.7.4.tar.gz")
builddep("shortcut/c")
builddep("shortcut/meson")
builddep("libz-dev @target")
def build():
cpp.meson_setup([
f"--libdir={get_prefix('libspng')}/lib",
f"--includedir={get_prefix('libspng-dev')}/include",
])
cpp.meson_compile()
cpp.meson_install()
on_build(build)
package("libspng")
dep("semi-libc @same-arch")
dep("libz @same-arch")
cpp.use_auto_pack(["lib"])
package("libspng-dev")
dep("libspng (same)")
dep("semi-libc-dev @same-arch")
dep("libz-dev @same-arch")
cpp.use_auto_pack(["dev"])
-65
View File
@@ -1,65 +0,0 @@
from lib.make import *
from lib import cpp
version("4.7.2")
description("TIFF Library and Utilities")
maintainer("sisungo <[email protected]>")
source_url("http://download.osgeo.org/libtiff/tiff-4.7.2.tar.xz")
builddep("shortcut/c++")
builddep("shortcut/autotools")
builddep("libz-dev @target")
builddep("liblzma-dev @target")
builddep("libzstd-dev @target")
builddep("libjbig-dev @target")
builddep("liblerc-dev @target")
builddep("libwebp-dev @target")
builddep("libjpeg-turbo-dev @target")
def build():
cpp.configure([
"--prefix=/",
f"--bindir={get_prefix('libtiff-tools')}/bin",
f"--libdir={get_prefix('libtiff')}/lib",
f"--includedir={get_prefix('libtiff-dev')}/include",
"--disable-thunder",
"--disable-next",
"--disable-libdeflate",
"--disable-pixarlog",
"--disable-old-jpeg",
"--enable-defer-strile-load",
])
cpp.make()
cpp.make_install()
on_build(build)
package("libtiff")
dep("semi-libc @same-arch")
dep("libwebp @same-arch")
dep("libzstd @same-arch")
dep("liblzma @same-arch")
dep("liblerc @same-arch")
dep("libjpeg-turbo @same-arch")
dep("libz @same-arch")
dep("libcxx @same-arch")
cpp.use_auto_pack(["lib"])
package("libtiff-tools")
dep("libtiff (same)")
cpp.use_auto_pack(["bin"])
package("libtiff-dev")
dep("libtiff (same)")
dep("semi-libc-dev @same-arch")
dep("libwebp-dev @same-arch")
dep("libzstd-dev @same-arch")
dep("liblzma-dev @same-arch")
dep("liblerc-dev @same-arch")
dep("libjpeg-turbo-dev @same-arch")
dep("libz-dev @same-arch")
dep("libcxx-dev @same-arch")
cpp.use_auto_pack(["dev"])
+35
View File
@@ -0,0 +1,35 @@
from lib import cpp
from lib.make import *
version("1.3.7")
description("Reference implementation of the Ogg Vorbis audio format.")
maintainer("sisungo <[email protected]>")
source_url("https://downloads.xiph.org/releases/vorbis/libvorbis-1.3.7.tar.gz")
builddep("shortcut/c")
builddep("shortcut/autotools")
builddep("libogg-dev @target")
def build():
cpp.configure(
[
"--prefix=/",
f"--libdir={get_prefix('libvorbis')}/lib",
f"--includedir={get_prefix('libvorbis-dev')}/include",
"--disable-oggtest",
]
)
cpp.make()
cpp.make_install()
on_build(build)
package("libvorbis")
dep("semi-libc @same-arch")
cpp.use_auto_pack(["lib"])
package("libvorbis-dev")
dep("libvorbis (same)")
cpp.use_auto_pack(["dev"])
+48
View File
@@ -0,0 +1,48 @@
from lib import cpp
from lib.make import *
version("2.19.1")
description("libwacom is a tablet description library")
maintainer("sisungo <[email protected]>")
source_url("https://github.com/linuxwacom/libwacom/releases/download/libwacom-2.19.1/libwacom-2.19.1.tar.xz")
builddep("shortcut/c")
builddep("shortcut/meson")
builddep("linux-dev @target")
builddep("libgudev-dev @target")
builddep("libevdev-dev @target")
def build():
cpp.meson_setup([
"--prefix=/",
f"--libdir={get_prefix('libwacom')}/lib",
f"--bindir={get_prefix('libwacom-tools')}/bin",
f"--includedir={get_prefix('libwacom-dev')}/include",
f"--datadir={get_prefix('libwacom')}/share",
"-Dtests=disabled",
])
cpp.meson_compile()
cpp.meson_install()
on_build(build)
package("libwacom")
dep("semi-libc @same-arch")
dep("libgudev @same-arch")
dep("libgobject @same-arch")
dep("libglib @same-arch")
dep("libevdev @same-arch")
cpp.use_auto_pack(["lib"])
package("libwacom-tools")
dep("libwacom (same)")
cpp.use_auto_pack(["bin"])
package("libwacom-dev")
dep("libwacom (same)")
dep("libgudev-dev @same-arch")
dep("glib-dev @same-arch")
dep("libevdev-dev @same-arch")
cpp.use_auto_pack(["dev"])
+79
View File
@@ -0,0 +1,79 @@
import os
import shutil
from lib.make import *
from lib import cpp
version("1.6.0")
description("a library to encode and decode images in WebP format")
maintainer("sisungo <[email protected]>")
source_url("https://github.com/webmproject/libwebp/archive/refs/tags/v1.6.0.tar.gz")
builddep("shortcut/c")
builddep("shortcut/cmake")
def split_libsharpyuv():
os.makedirs("sharpyuv/libdev/pkgconfig")
os.makedirs("sharpyuv/lib")
os.makedirs("sharpyuv/include")
os.rename("lib/pkgconfig/libsharpyuv.pc", "sharpyuv/libdev/pkgconfig/libsharpyuv.pc")
os.system("mv lib/libsharpyuv* sharpyuv/lib/")
os.rename("include/webp/sharpyuv", "sharpyuv/include/sharpyuv")
with open("sharpyuv/libdev/pkgconfig/libsharpyuv.pc", "r") as pcf:
pc = pcf.read()
pc = pc.replace(get_prefix("libwebp"), get_prefix("libsharpyuv"))
pc = pc.replace(f"{get_prefix('libwebp-dev')}/include/webp", f"{get_prefix('libsharpyuv-dev')}/include")
with open("sharpyuv/libdev/pkgconfig/libsharpyuv.pc", "wt+") as pcf:
pcf.write(pc)
def build():
cpp.cmake([
"-DBUILD_SHARED_LIBS=1",
f"-DCMAKE_INSTALL_LIBDIR={get_prefix('libwebp')}/lib",
f"-DCMAKE_INSTALL_BINDIR={get_prefix('libwebp-tools')}/bin",
f"-DCMAKE_INSTALL_INCLUDEDIR={get_prefix('libwebp-dev')}/include",
])
cpp.ninja()
if os.path.exists("../cpp_install"):
shutil.rmtree("../cpp_install")
cpp.ninja_install()
split_libsharpyuv()
on_build(build)
def pack_libsharpyuv(composer):
composer.add_dir("sharpyuv/lib", "lib")
def pack_libsharpyuv_dev(composer):
composer.add_dir("sharpyuv/libdev", "lib")
composer.add_dir("sharpyuv/include", "include")
package("libsharpyuv")
description("Library for sharp RGB to YUV conversion")
dep("semi-libc @same-arch")
on_pack(pack_libsharpyuv)
package("libsharpyuv-dev")
description("Library for sharp RGB to YUV conversion")
dep("libsharpyuv (same)")
dep("semi-libc-dev @same-arch")
on_pack(pack_libsharpyuv_dev)
package("libwebp")
dep("semi-libc @same-arch")
dep("libsharpyuv (same)")
cpp.use_auto_pack(["lib"])
package("libwebp-tools")
dep("libwebp (same)")
cpp.use_auto_pack(["bin"])
package("libwebp-dev")
dep("libwebp (same)")
dep("libsharpyuv-dev (same)")
dep("semi-libc-dev @same-arch")
cpp.use_auto_pack(["dev"])
+3 -2
View File
@@ -4,7 +4,7 @@ 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")
@@ -27,5 +27,6 @@ dep("semi-libc @same-arch")
cpp.use_auto_pack(["lib"]) cpp.use_auto_pack(["lib"])
package("libxml2-dev") package("libxml2-dev")
dep("semi-libc @same-arch") dep("libxml2 (same)")
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")
-42
View File
@@ -1,42 +0,0 @@
import os
from lib.make import *
from lib import cpp
version("0.9.3")
description("A minimal seat management daemon, and a universal seat management library.")
maintainer("sisungo <[email protected]>")
source_url("https://git.sr.ht/~kennylevinsen/seatd/archive/0.9.3.tar.gz")
builddep("shortcut/c")
builddep("shortcut/meson")
builddep("linux-dev @target")
def build():
os.environ["CFLAGS"] = os.environ.get("CFLAGS", "") + " -Wno-error"
cpp.meson_setup([
f"--libdir={get_prefix('libseat')}/lib",
f"--includedir={get_prefix('libseat-dev')}/include",
f"--bindir={get_prefix('seatd')}/bin",
"-Ddefaultpath=/run/seatd.sock",
])
cpp.meson_compile()
cpp.meson_install()
on_build(build)
package("libseat")
dep("semi-libc @same-arch")
cpp.use_auto_pack(["lib"])
package("seatd")
dep("semi-libc @same-arch")
cpp.use_auto_pack(["bin"])
package("libseat-dev")
dep("semi-libc @same-arch")
dep("libseat (same)")
cpp.use_auto_pack(["dev"])
+3 -6
View File
@@ -9,18 +9,16 @@ source_url("https://gitlab.freedesktop.org/wayland/wayland-protocols/-/archive/1
builddep("shortcut/meson") builddep("shortcut/meson")
builddep("shortcut/c++") builddep("shortcut/c++")
builddep("libffi-dev @target") builddep(f"libffi-dev @{arch.get_target()}")
builddep("libexpat-dev @target") builddep(f"libexpat-dev @{arch.get_target()}")
builddep("pkgconf @target") builddep(f"pkgconf @{arch.get_target()}")
builddep("gnu-sed") builddep("gnu-sed")
builddep("libwayland-dev @target")
def build(): def build():
cpp.meson_setup([ cpp.meson_setup([
f"--prefix={get_prefix('wayland-protocols')}", f"--prefix={get_prefix('wayland-protocols')}",
f"--datadir={get_prefix('wayland-protocols')}/share", f"--datadir={get_prefix('wayland-protocols')}/share",
f"--includedir={get_prefix('wayland-protocols')}/include",
"-Dtests=false", "-Dtests=false",
]) ])
cpp.meson_compile() cpp.meson_compile()
@@ -34,7 +32,6 @@ def pack(composer):
composer.add_dir("share/pkgconfig", "lib/pkgconfig") composer.add_dir("share/pkgconfig", "lib/pkgconfig")
composer.makedir("share") composer.makedir("share")
composer.add_dir("share/wayland-protocols") composer.add_dir("share/wayland-protocols")
composer.add_dir("include")
package("wayland-protocols") package("wayland-protocols")
on_pack(pack) on_pack(pack)
-92
View File
@@ -1,92 +0,0 @@
import os
from lib.make import *
from lib import cpp
version("0.20.2")
description("A modular Wayland compositor library")
maintainer("sisungo <[email protected]>")
source_url("https://gitlab.freedesktop.org/wlroots/wlroots/-/archive/0.20.2/wlroots-0.20.2.tar.gz")
builddep("shortcut/c")
builddep("shortcut/meson")
builddep("libwayland-dev @target")
builddep("libdrm-dev @target")
builddep("libegl-dev @target")
builddep("libglesv2-dev @target")
builddep("libvulkan-dev @target")
builddep("vulkan-headers @target")
builddep("glslang @target")
builddep("libxkbcommon-dev @target")
builddep("libpixman-dev @target")
builddep("libseat-dev @target")
builddep("libinput-dev @target")
builddep("wayland-protocols @target")
builddep("libgbm-dev @target")
builddep("liblcms-dev (~2) @target")
builddep("lxdeviced-libudev-dev @target")
builddep("hwdata @any")
builddep("libdisplay-info-dev @target")
builddep("libliftoff-dev @target")
builddep("linux-dev @target")
def build():
os.environ["PKG_CONFIG_PATH"] = os.environ.get("PKG_CONFIG_PATH", "") + ":/share/pkgconfig"
os.environ["CFLAGS"] = os.environ.get("CFLAGS", "") + " -Wno-error -DATOMIC_POINTER_LOCK_FREE"
cpp.meson_setup([
"--prefix=/",
f"--libdir={get_prefix('libwlr')}/lib",
f"--includedir={get_prefix('libwlr-dev')}/include",
"--datadir=/share",
"-Dexamples=false",
"-Drenderers=gles2,vulkan",
"-Dbackends=drm,libinput",
"-Dsession=enabled",
"-Dcolor-management=enabled",
"-Dlibliftoff=enabled",
])
cpp.meson_compile()
cpp.meson_install()
on_build(build)
package("libwlr")
dep("libwayland @same-arch")
dep("libdrm @same-arch")
dep("libxkbcommon @same-arch")
dep("libpixman @same-arch")
dep("libegl @same-arch")
dep("libgbm @same-arch")
dep("libglesv2 @same-arch")
dep("libvulkan @same-arch")
dep("liblcms @same-arch")
dep("lxdeviced-libudev @same-arch")
dep("libseat @same-arch")
dep("libdisplay-info @same-arch")
dep("libliftoff @same-arch")
dep("libinput @same-arch")
dep("semi-libc @same-arch")
cpp.use_auto_pack(["lib"])
package("libwlr-dev")
dep("libwlr (same)")
dep("libwayland-dev @same-arch")
dep("libdrm-dev @same-arch")
dep("libxkbcommon-dev @same-arch")
dep("libpixman-dev @same-arch")
dep("libegl-dev @same-arch")
dep("libgbm-dev @same-arch")
dep("libglesv2-dev @same-arch")
dep("libvulkan-dev @same-arch")
dep("liblcms-dev @same-arch")
dep("lxdeviced-libudev-dev @same-arch")
dep("libseat-dev @same-arch")
dep("libdisplay-info-dev @same-arch")
dep("libliftoff-dev @same-arch")
dep("libinput-dev @same-arch")
dep("semi-libc-dev @same-arch")
dep("wayland-protocols @same-arch")
cpp.use_auto_pack(["dev"])
+3
View File
@@ -123,6 +123,9 @@ def cmd_build_package(package: str):
} }
composer.write_manifest(manifest) composer.write_manifest(manifest)
composer.write_links(pkginfo[lib.make._key_links]) composer.write_links(pkginfo[lib.make._key_links])
for i in pkginfo[lib.make._key_configure]:
composer.add_configure(i)
composer.compose() composer.compose()
# Build success # Build success