forked from semios/semios-packages
feat: add dependencies and provisions
Signed-off-by: sisungo <[email protected]>
This commit is contained in:
+23
@@ -1,5 +1,7 @@
|
|||||||
import typing
|
import typing
|
||||||
|
|
||||||
|
from lib import arch
|
||||||
|
|
||||||
from . import pkgcomposer, sources
|
from . import pkgcomposer, sources
|
||||||
|
|
||||||
_key_global = "@global"
|
_key_global = "@global"
|
||||||
@@ -8,11 +10,15 @@ _key_description = "description"
|
|||||||
_key_on_pack = "on_pack"
|
_key_on_pack = "on_pack"
|
||||||
_key_arch_any = "arch_any"
|
_key_arch_any = "arch_any"
|
||||||
_key_links = "links"
|
_key_links = "links"
|
||||||
|
_key_dependencies = "dependencies"
|
||||||
|
_key_provides = "provides"
|
||||||
|
|
||||||
_current_pkgname: str = _key_global
|
_current_pkgname: str = _key_global
|
||||||
_pkginfo: dict[str, dict[str, typing.Any]] = {
|
_pkginfo: dict[str, dict[str, typing.Any]] = {
|
||||||
_key_global: {
|
_key_global: {
|
||||||
_key_links: [],
|
_key_links: [],
|
||||||
|
_key_dependencies: [],
|
||||||
|
_key_provides: [],
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
_supported_arch: typing.Callable[[str], bool] = lambda x: True
|
_supported_arch: typing.Callable[[str], bool] = lambda x: True
|
||||||
@@ -25,6 +31,9 @@ def package(s: str):
|
|||||||
global _current_pkgname
|
global _current_pkgname
|
||||||
_current_pkgname = s
|
_current_pkgname = s
|
||||||
_pkginfo[s] = _pkginfo[_key_global].copy()
|
_pkginfo[s] = _pkginfo[_key_global].copy()
|
||||||
|
_pkginfo[s][_key_links] = _pkginfo[s][_key_links].copy()
|
||||||
|
_pkginfo[s][_key_dependencies] = _pkginfo[s][_key_dependencies].copy()
|
||||||
|
_pkginfo[s][_key_provides] = _pkginfo[s][_key_provides].copy()
|
||||||
|
|
||||||
|
|
||||||
def version(s: str):
|
def version(s: str):
|
||||||
@@ -39,6 +48,20 @@ def arch_any():
|
|||||||
_pkginfo[_current_pkgname][_key_arch_any] = True
|
_pkginfo[_current_pkgname][_key_arch_any] = True
|
||||||
|
|
||||||
|
|
||||||
|
def provide(s: str):
|
||||||
|
_pkginfo[_current_pkgname][_key_provides] += [
|
||||||
|
s.replace("@same-arch", f"@{arch.get_target()}")
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
def dep(s: str):
|
||||||
|
_pkginfo[_current_pkgname][_key_dependencies] += [
|
||||||
|
s.replace("(same)", "(same-version) @same-arch")
|
||||||
|
.replace("(same-version)", f"(={_pkginfo[_current_pkgname][_key_version]})")
|
||||||
|
.replace("@same-arch", f"@{arch.get_target()}")
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
def link(src: str, dst: str, default: bool = True):
|
def link(src: str, dst: str, default: bool = True):
|
||||||
_pkginfo[_current_pkgname][_key_links] += [
|
_pkginfo[_current_pkgname][_key_links] += [
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -27,3 +27,4 @@ def pack_airup(composer):
|
|||||||
|
|
||||||
package("airup")
|
package("airup")
|
||||||
on_pack(pack_airup)
|
on_pack(pack_airup)
|
||||||
|
dep("semi-libc @same-arch")
|
||||||
|
|||||||
@@ -29,12 +29,22 @@ def pack_libssl(composer):
|
|||||||
|
|
||||||
package("aws-lc-libcrypto")
|
package("aws-lc-libcrypto")
|
||||||
on_pack(pack_libcrypto)
|
on_pack(pack_libcrypto)
|
||||||
|
dep("semi-libc @same-arch")
|
||||||
|
provide("libcrypto@same-arch")
|
||||||
|
|
||||||
package("aws-lc-libssl")
|
package("aws-lc-libssl")
|
||||||
on_pack(pack_libssl)
|
on_pack(pack_libssl)
|
||||||
|
dep("aws-lc-libcrypto (same)")
|
||||||
|
provide("libssl@same-arch")
|
||||||
|
|
||||||
package("aws-lc-tools")
|
package("aws-lc-tools")
|
||||||
cpp.use_auto_pack(["bin"])
|
cpp.use_auto_pack(["bin"])
|
||||||
|
dep("aws-lc-libcrypto (same)")
|
||||||
|
dep("aws-lc-libssl (same)")
|
||||||
|
|
||||||
package("aws-lc-dev")
|
package("aws-lc-dev")
|
||||||
cpp.use_auto_pack(["dev"])
|
cpp.use_auto_pack(["dev"])
|
||||||
|
dep("aws-lc-libcrypto (same)")
|
||||||
|
dep("aws-lc-libssl (same)")
|
||||||
|
provide("libcrypto-dev@same-arch")
|
||||||
|
provide("libssl-dev@same-arch")
|
||||||
|
|||||||
@@ -21,9 +21,14 @@ on_build(build)
|
|||||||
|
|
||||||
package("libbzip2")
|
package("libbzip2")
|
||||||
cpp.use_auto_pack(["lib"])
|
cpp.use_auto_pack(["lib"])
|
||||||
|
dep("semi-libc @same-arch")
|
||||||
|
|
||||||
package("bzip2")
|
package("bzip2")
|
||||||
cpp.use_auto_pack(["bin"])
|
cpp.use_auto_pack(["bin"])
|
||||||
|
dep("libbzip2 (same)")
|
||||||
|
dep("sh")
|
||||||
|
dep("coreutils")
|
||||||
|
|
||||||
package("libbzip2-dev")
|
package("libbzip2-dev")
|
||||||
cpp.use_auto_pack(["dev"])
|
cpp.use_auto_pack(["dev"])
|
||||||
|
dep("libbzip2 (same)")
|
||||||
|
|||||||
@@ -98,3 +98,4 @@ package("coreutils")
|
|||||||
for func in functions:
|
for func in functions:
|
||||||
link(f"bin/coreutils", f"/bin/{func}")
|
link(f"bin/coreutils", f"/bin/{func}")
|
||||||
rust.use_auto_pack(["bin"])
|
rust.use_auto_pack(["bin"])
|
||||||
|
dep("semi-libc @same-arch")
|
||||||
|
|||||||
@@ -17,3 +17,4 @@ package("diffutils")
|
|||||||
rust.use_auto_pack(["bin"])
|
rust.use_auto_pack(["bin"])
|
||||||
link("bin/diffutils", "/bin/cmp")
|
link("bin/diffutils", "/bin/cmp")
|
||||||
link("bin/diffutils", "/bin/diff")
|
link("bin/diffutils", "/bin/diff")
|
||||||
|
dep("semi-libc @same-arch")
|
||||||
|
|||||||
@@ -20,9 +20,12 @@ on_build(build)
|
|||||||
|
|
||||||
package("libexpat")
|
package("libexpat")
|
||||||
cpp.use_auto_pack(["lib"])
|
cpp.use_auto_pack(["lib"])
|
||||||
|
dep("semi-libc @same-arch")
|
||||||
|
|
||||||
package("libexpat-tools")
|
package("libexpat-tools")
|
||||||
cpp.use_auto_pack(["bin"])
|
cpp.use_auto_pack(["bin"])
|
||||||
|
dep("libexpat (same)")
|
||||||
|
|
||||||
package("libexpat-dev")
|
package("libexpat-dev")
|
||||||
cpp.use_auto_pack(["dev"])
|
cpp.use_auto_pack(["dev"])
|
||||||
|
dep("libexpat (same)")
|
||||||
|
|||||||
@@ -14,3 +14,4 @@ on_build(build)
|
|||||||
|
|
||||||
package("findutils")
|
package("findutils")
|
||||||
rust.use_auto_pack(["bin"])
|
rust.use_auto_pack(["bin"])
|
||||||
|
dep("semi-libc @same-arch")
|
||||||
|
|||||||
@@ -15,3 +15,4 @@ on_build(build)
|
|||||||
|
|
||||||
package("gnu-make")
|
package("gnu-make")
|
||||||
cpp.use_auto_pack(["bin"])
|
cpp.use_auto_pack(["bin"])
|
||||||
|
dep("semi-libc @same-arch")
|
||||||
|
|||||||
@@ -20,9 +20,12 @@ on_build(build)
|
|||||||
|
|
||||||
package("libicu4c")
|
package("libicu4c")
|
||||||
cpp.use_auto_pack(["lib"])
|
cpp.use_auto_pack(["lib"])
|
||||||
|
dep("semi-libc @same-arch")
|
||||||
|
|
||||||
package("icu4c")
|
package("icu4c")
|
||||||
cpp.use_auto_pack(["bin"])
|
cpp.use_auto_pack(["bin"])
|
||||||
|
dep("libicu4c (same)")
|
||||||
|
|
||||||
package("libicu4c-dev")
|
package("libicu4c-dev")
|
||||||
cpp.use_auto_pack(["dev"])
|
cpp.use_auto_pack(["dev"])
|
||||||
|
dep("libicu4c (same)")
|
||||||
|
|||||||
@@ -18,9 +18,12 @@ on_build(build)
|
|||||||
|
|
||||||
package("libkmod")
|
package("libkmod")
|
||||||
cpp.use_auto_pack(["lib"])
|
cpp.use_auto_pack(["lib"])
|
||||||
|
dep("semi-libc @same-arch")
|
||||||
|
|
||||||
package("kmod")
|
package("kmod")
|
||||||
cpp.use_auto_pack(["bin"])
|
cpp.use_auto_pack(["bin"])
|
||||||
|
dep("libkmod (same)")
|
||||||
|
|
||||||
package("libkmod-dev")
|
package("libkmod-dev")
|
||||||
cpp.use_auto_pack(["dev"])
|
cpp.use_auto_pack(["dev"])
|
||||||
|
dep("libkmod (same)")
|
||||||
|
|||||||
@@ -17,9 +17,18 @@ on_build(build)
|
|||||||
|
|
||||||
package("libarchive")
|
package("libarchive")
|
||||||
cpp.use_auto_pack(["lib"])
|
cpp.use_auto_pack(["lib"])
|
||||||
|
dep("libcrypto@same-arch")
|
||||||
|
dep("libzstd @same-arch")
|
||||||
|
dep("libz @same-arch")
|
||||||
|
dep("liblzma @same-arch")
|
||||||
|
dep("semi-libc @same-arch")
|
||||||
|
dep("libzstd @same-arch")
|
||||||
|
|
||||||
package("libarchive-tools")
|
package("libarchive-tools")
|
||||||
cpp.use_auto_pack(["bin"])
|
cpp.use_auto_pack(["bin"])
|
||||||
|
dep("libarchive (same)")
|
||||||
|
provide("bsdtar")
|
||||||
|
|
||||||
package("libarchive-dev")
|
package("libarchive-dev")
|
||||||
cpp.use_auto_pack(["dev"])
|
cpp.use_auto_pack(["dev"])
|
||||||
|
dep("libarchive (same)")
|
||||||
|
|||||||
@@ -20,3 +20,5 @@ def pack_mksh(composer):
|
|||||||
|
|
||||||
package("mksh")
|
package("mksh")
|
||||||
on_pack(pack_mksh)
|
on_pack(pack_mksh)
|
||||||
|
dep("semi-libc @same-arch")
|
||||||
|
provide("sh")
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ on_build(build)
|
|||||||
|
|
||||||
package("libnghttp2")
|
package("libnghttp2")
|
||||||
cpp.use_auto_pack(["lib"])
|
cpp.use_auto_pack(["lib"])
|
||||||
|
dep("semi-libc @same-arch")
|
||||||
|
|
||||||
package("libnghttp2-dev")
|
package("libnghttp2-dev")
|
||||||
cpp.use_auto_pack(["dev"])
|
cpp.use_auto_pack(["dev"])
|
||||||
|
dep("libnghttp2 (same)")
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
import lib.cpp as cpp
|
|
||||||
from lib.make import *
|
from lib.make import *
|
||||||
|
|
||||||
version("1.13.2")
|
version("1.13.2")
|
||||||
@@ -21,3 +20,5 @@ def pack_ninja(composer):
|
|||||||
|
|
||||||
package("ninja")
|
package("ninja")
|
||||||
on_pack(pack_ninja)
|
on_pack(pack_ninja)
|
||||||
|
dep("semi-libc @same-arch")
|
||||||
|
dep("libcxx @same-arch")
|
||||||
|
|||||||
@@ -23,9 +23,12 @@ on_build(build)
|
|||||||
|
|
||||||
package("libpkgconf")
|
package("libpkgconf")
|
||||||
cpp.use_auto_pack(["lib"])
|
cpp.use_auto_pack(["lib"])
|
||||||
|
dep("semi-libc @same-arch")
|
||||||
|
|
||||||
package("pkgconf")
|
package("pkgconf")
|
||||||
cpp.use_auto_pack(["bin"])
|
cpp.use_auto_pack(["bin"])
|
||||||
|
dep("libpkgconf (same)")
|
||||||
|
|
||||||
package("libpkgconf-dev")
|
package("libpkgconf-dev")
|
||||||
cpp.use_auto_pack(["dev"])
|
cpp.use_auto_pack(["dev"])
|
||||||
|
dep("libpkgconf (same)")
|
||||||
|
|||||||
@@ -25,3 +25,4 @@ link("lib/libc.so", f"/lib/ld-musl-{musl_target()}.so.1")
|
|||||||
|
|
||||||
package("semi-libc-dev")
|
package("semi-libc-dev")
|
||||||
use_auto_pack(["dev"])
|
use_auto_pack(["dev"])
|
||||||
|
dep("semi-libc (same)")
|
||||||
|
|||||||
@@ -22,9 +22,12 @@ on_build(build)
|
|||||||
|
|
||||||
package("libsqlite")
|
package("libsqlite")
|
||||||
cpp.use_auto_pack(["lib"])
|
cpp.use_auto_pack(["lib"])
|
||||||
|
dep("semi-libc @same-arch")
|
||||||
|
|
||||||
package("sqlite")
|
package("sqlite")
|
||||||
cpp.use_auto_pack(["bin"])
|
cpp.use_auto_pack(["bin"])
|
||||||
|
dep("libsqlite (same)")
|
||||||
|
|
||||||
package("libsqlite-dev")
|
package("libsqlite-dev")
|
||||||
cpp.use_auto_pack(["dev"])
|
cpp.use_auto_pack(["dev"])
|
||||||
|
dep("libsqlite (same)")
|
||||||
|
|||||||
@@ -17,9 +17,12 @@ on_build(build)
|
|||||||
|
|
||||||
package("liblzma")
|
package("liblzma")
|
||||||
cpp.use_auto_pack(["lib"])
|
cpp.use_auto_pack(["lib"])
|
||||||
|
dep("semi-libc @same-arch")
|
||||||
|
|
||||||
package("xz")
|
package("xz")
|
||||||
cpp.use_auto_pack(["bin"])
|
cpp.use_auto_pack(["bin"])
|
||||||
|
dep("liblzma (same)")
|
||||||
|
|
||||||
package("liblzma-dev")
|
package("liblzma-dev")
|
||||||
cpp.use_auto_pack(["dev"])
|
cpp.use_auto_pack(["dev"])
|
||||||
|
dep("liblzma (same)")
|
||||||
|
|||||||
@@ -18,9 +18,14 @@ on_build(build)
|
|||||||
|
|
||||||
package("libz-ng")
|
package("libz-ng")
|
||||||
cpp.use_auto_pack(["lib"])
|
cpp.use_auto_pack(["lib"])
|
||||||
|
provide("libz")
|
||||||
|
dep("semi-libc @same-arch")
|
||||||
|
|
||||||
package("zlib-ng-tools")
|
package("zlib-ng-tools")
|
||||||
cpp.use_auto_pack(["bin"])
|
cpp.use_auto_pack(["bin"])
|
||||||
|
dep("libz-ng (same)")
|
||||||
|
|
||||||
package("libz-ng-dev")
|
package("libz-ng-dev")
|
||||||
cpp.use_auto_pack(["dev"])
|
cpp.use_auto_pack(["dev"])
|
||||||
|
dep("libz-ng (same)")
|
||||||
|
provide("libz-dev")
|
||||||
|
|||||||
@@ -19,9 +19,12 @@ on_build(build)
|
|||||||
|
|
||||||
package("libzstd")
|
package("libzstd")
|
||||||
cpp.use_auto_pack(["lib"])
|
cpp.use_auto_pack(["lib"])
|
||||||
|
dep("semi-libc @same-arch")
|
||||||
|
|
||||||
package("zstd")
|
package("zstd")
|
||||||
cpp.use_auto_pack(["bin"])
|
cpp.use_auto_pack(["bin"])
|
||||||
|
dep("libzstd (same)")
|
||||||
|
|
||||||
package("libzstd-dev")
|
package("libzstd-dev")
|
||||||
cpp.use_auto_pack(["dev"])
|
cpp.use_auto_pack(["dev"])
|
||||||
|
dep("libzstd (same)")
|
||||||
|
|||||||
@@ -79,6 +79,8 @@ def run_build_package(package: str):
|
|||||||
|
|
||||||
# Pack packages
|
# Pack packages
|
||||||
for pkgname in lib.make._pkginfo.keys():
|
for pkgname in lib.make._pkginfo.keys():
|
||||||
|
lib.make._current_pkgname = pkgname
|
||||||
|
|
||||||
if pkgname == lib.make._key_global:
|
if pkgname == lib.make._key_global:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
@@ -106,6 +108,8 @@ def run_build_package(package: str):
|
|||||||
"version": pkgver,
|
"version": pkgver,
|
||||||
"arch": pkgarch,
|
"arch": pkgarch,
|
||||||
"links": pkginfo[lib.make._key_links],
|
"links": pkginfo[lib.make._key_links],
|
||||||
|
"dependencies": pkginfo[lib.make._key_dependencies],
|
||||||
|
"provides": pkginfo[lib.make._key_provides],
|
||||||
}
|
}
|
||||||
composer.write_manifest(manifest)
|
composer.write_manifest(manifest)
|
||||||
composer.compose()
|
composer.compose()
|
||||||
|
|||||||
Reference in New Issue
Block a user