forked from semios/ports
Compare commits
10
Commits
init-scripts
...
main
| Author | SHA256 | Date | |
|---|---|---|---|
|
|
c62b2fc8f6 | ||
|
|
e7eaa7273c | ||
|
|
f7adbdebd8 | ||
|
|
8c4b7a429c | ||
|
|
367985bc61 | ||
|
|
8a82bcf29e | ||
|
|
f2c2fa93c9 | ||
|
|
e61e796eda | ||
|
|
6645a7f537 | ||
|
|
6837ddb31a |
@@ -16,6 +16,7 @@ _key_links = "links"
|
||||
_key_dependencies = "dependencies"
|
||||
_key_recommendations = "recommendations"
|
||||
_key_provides = "provides"
|
||||
_key_configure = "configure"
|
||||
|
||||
_current_pkgname: str = _key_global
|
||||
_pkginfo: dict[str, dict[str, typing.Any]] = {
|
||||
@@ -25,6 +26,7 @@ _pkginfo: dict[str, dict[str, typing.Any]] = {
|
||||
_key_maintainers: [],
|
||||
_key_provides: [],
|
||||
_key_recommendations: [],
|
||||
_key_configure: [],
|
||||
},
|
||||
}
|
||||
_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:
|
||||
return (
|
||||
s.replace("(same)", "(same-version) @same-arch")
|
||||
|
||||
@@ -25,6 +25,15 @@ class PkgComposer:
|
||||
json.dump(link, f)
|
||||
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):
|
||||
subprocess.run(
|
||||
[
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
[ "${ACTION}" = "remove" ] && exit 0
|
||||
command -v certutil >/dev/null 2>&1 || exit 0
|
||||
|
||||
certutil refresh
|
||||
@@ -27,4 +27,6 @@ def pack(composer):
|
||||
|
||||
package("ca-certificates")
|
||||
arch_any()
|
||||
configure_script("configure/refresh")
|
||||
recommend("certutil")
|
||||
on_pack(pack)
|
||||
|
||||
@@ -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/meson")
|
||||
builddep("gettext")
|
||||
builddep(f"libintl-dev @{arch.get_target()}")
|
||||
builddep("libintl-dev @target")
|
||||
builddep("pcre2-tools")
|
||||
builddep(f"libpcre2-dev @{arch.get_target()}")
|
||||
builddep(f"libffi-dev @{arch.get_target()}")
|
||||
builddep("libpcre2-dev @target")
|
||||
builddep("libffi-dev @target")
|
||||
builddep("pkgconf")
|
||||
builddep(f"libz-ng-dev @{arch.get_target()}")
|
||||
builddep("libz-ng-dev @target")
|
||||
builddep("libexpat")
|
||||
builddep("gobject-introspection @target")
|
||||
|
||||
|
||||
def build():
|
||||
@@ -29,6 +30,7 @@ def build():
|
||||
cpp.meson_setup([
|
||||
"-Druntime_dir=/run",
|
||||
f"-Dgio_module_dir=/lib/{arch.get_target()}/gio/modules",
|
||||
"-Dintrospection=enabled",
|
||||
"--prefix=/",
|
||||
f"--bindir={get_prefix('glib-tools')}/bin",
|
||||
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)
|
||||
|
||||
@@ -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"])
|
||||
@@ -0,0 +1,6 @@
|
||||
--- a/gudev/meson.build
|
||||
+++ b/gudev/meson.build
|
||||
36c36
|
||||
< '-export-dynamic',
|
||||
---
|
||||
> '-Wl,-export-dynamic',
|
||||
@@ -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"])
|
||||
@@ -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"])
|
||||
@@ -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"])
|
||||
@@ -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"])
|
||||
@@ -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"])
|
||||
@@ -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"])
|
||||
@@ -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"])
|
||||
@@ -4,7 +4,7 @@ from lib.make import *
|
||||
|
||||
version("2.15.3")
|
||||
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")
|
||||
|
||||
builddep("shortcut/autotools")
|
||||
@@ -27,5 +27,6 @@ dep("semi-libc @same-arch")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
|
||||
package("libxml2-dev")
|
||||
dep("semi-libc @same-arch")
|
||||
dep("libxml2 (same)")
|
||||
dep("semi-libc-dev @same-arch")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
|
||||
Reference in New Issue
Block a user