@@ -0,0 +1,29 @@
|
||||
import os
|
||||
|
||||
from lib.make import *
|
||||
from lib import python
|
||||
|
||||
|
||||
python.version("1.4.1")
|
||||
description("A super-fast templating language that borrows the best ideas from the existing templating languages.")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://files.pythonhosted.org/packages/2a/12/b5fa2353e2754cd67fb9f83793fa48ff42c213a5da7e719869d2301f6ab8/mako-1.4.1.tar.gz")
|
||||
|
||||
python.builddep("$shortcut")
|
||||
python.builddep("MarkupSafe.py")
|
||||
|
||||
|
||||
def build():
|
||||
python.build()
|
||||
python.install()
|
||||
os.chdir("lib")
|
||||
while len(os.listdir(".")) == 1:
|
||||
os.chdir(os.listdir(".")[0])
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
package("Mako.py")
|
||||
python.dep("python")
|
||||
python.dep("MarkupSafe.py")
|
||||
python.use_auto_pack()
|
||||
@@ -0,0 +1,22 @@
|
||||
from lib.make import *
|
||||
from lib import python
|
||||
|
||||
|
||||
python.version("3.0.3")
|
||||
description("Safely add untrusted strings to HTML/XML markup.")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz")
|
||||
|
||||
python.builddep("$shortcut")
|
||||
|
||||
|
||||
def build():
|
||||
python.build()
|
||||
python.install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
package("MarkupSafe.py")
|
||||
python.dep("python")
|
||||
python.use_auto_pack()
|
||||
@@ -0,0 +1,22 @@
|
||||
from lib.make import *
|
||||
from lib import python
|
||||
|
||||
|
||||
python.version("6.0.3")
|
||||
description("YAML parser and emitter for Python")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz")
|
||||
|
||||
python.builddep("$shortcut")
|
||||
|
||||
|
||||
def build():
|
||||
python.build()
|
||||
python.install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
package("PyYAML.py")
|
||||
python.dep("python")
|
||||
python.use_auto_pack()
|
||||
@@ -0,0 +1,27 @@
|
||||
from lib.make import *
|
||||
from lib import cpp
|
||||
|
||||
|
||||
version("1.4.357.0")
|
||||
description("SPIR-V headers")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/KhronosGroup/SPIRV-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('spirv-headers')}"])
|
||||
cpp.ninja()
|
||||
cpp.ninja_install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack(composer):
|
||||
composer.add_dir("include", "include")
|
||||
composer.add_dir("share", "lib")
|
||||
|
||||
package("spirv-headers")
|
||||
on_pack(pack)
|
||||
@@ -0,0 +1,38 @@
|
||||
from lib.make import *
|
||||
from lib import cpp, packie
|
||||
|
||||
|
||||
version("22.1.5")
|
||||
description("A tool and a library for bi-directional translation between SPIR-V and LLVM IR")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/KhronosGroup/SPIRV-LLVM-Translator/archive/refs/tags/v22.1.5.tar.gz")
|
||||
|
||||
builddep("shortcut/cmake")
|
||||
builddep("shortcut/c++")
|
||||
builddep("libllvm-dev (~22.1.0) @target")
|
||||
builddep("libllvm-static (~22.1.0) @target")
|
||||
builddep("pkgconf @target")
|
||||
builddep("spirv-headers @target")
|
||||
builddep("spirv-tools-dev @target")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.cmake([
|
||||
"-DLLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR=ON",
|
||||
f"-DLLVM_DIR={packie.prefix_of('libllvm-dev')}/lib/cmake/llvm",
|
||||
f"-DCMAKE_INSTALL_PREFIX={get_prefix('libllvmspirv-dev')}",
|
||||
])
|
||||
cpp.ninja()
|
||||
cpp.ninja_install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
package("libllvmspirv-dev")
|
||||
dep("libllvm-dev (~22.1.0) @same-arch")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
|
||||
package("llvm-spirv")
|
||||
dep("libllvm (~22.1.0) @same-arch")
|
||||
dep("libcxx @same-arch")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
@@ -0,0 +1,40 @@
|
||||
import os
|
||||
import shutil
|
||||
|
||||
from lib.make import *
|
||||
from lib import cpp
|
||||
|
||||
|
||||
sdk_version = "1.4.357.0"
|
||||
|
||||
version(sdk_version)
|
||||
description("an API and commands for processing SPIR-V modules")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/KhronosGroup/SPIRV-Tools/archive/refs/tags/vulkan-sdk-1.4.357.0.tar.gz")
|
||||
|
||||
builddep("shortcut/cmake")
|
||||
builddep("shortcut/c++")
|
||||
builddep(f"spirv-headers (={sdk_version}) @target")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.cmake([
|
||||
f"-DSPIRV-Headers_SOURCE_DIR=/lib/{arch.get_target()}",
|
||||
"-DCMAKE_CXX_FLAGS=-Wno-error=switch",
|
||||
f"-DCMAKE_INSTALL_BINDIR={get_prefix('spirv-tools')}/bin",
|
||||
f"-DCMAKE_INSTALL_LIBDIR={get_prefix('spirv-tools-dev')}/lib",
|
||||
f"-DCMAKE_INSTALL_INCLUDEDIR={get_prefix('spirv-tools-dev')}/include",
|
||||
])
|
||||
cpp.ninja()
|
||||
cpp.ninja_install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
package("spirv-tools")
|
||||
dep("libcxx @same-arch")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
|
||||
package("spirv-tools-dev")
|
||||
dep("spirv-tools (same)")
|
||||
cpp.use_auto_pack(["lib", "dev"])
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"os_name": "\u001b[36;4mSemiOS\u001b[0m",
|
||||
"config_dir": "/var/config/airup",
|
||||
"service_dir": "/share/airup/services",
|
||||
"milestone_dir": "/share/airup/milestones",
|
||||
"runtime_dir": "/run/airup",
|
||||
"env_vars": {},
|
||||
"early_cmds": []
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
import os
|
||||
import shutil
|
||||
|
||||
from lib import rust
|
||||
from lib.make import *
|
||||
|
||||
version("0.10.9")
|
||||
description("Modern, portable and fast implementation of service supervisor and the init daemon.")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/sisungo/airup/archive/refs/tags/v0.10.9.tar.gz")
|
||||
|
||||
builddep("shortcut/rust")
|
||||
|
||||
|
||||
def build():
|
||||
shutil.copy2("../../build_manifest.json", "build_manifest.json")
|
||||
rust.build()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack_airup(composer):
|
||||
os.chdir(rust.artifacts_dir())
|
||||
composer.makedir("bin")
|
||||
composer.makedir("libexec")
|
||||
composer.addfile("airup", "bin/airup")
|
||||
composer.addfile("airupd", "bin/airupd")
|
||||
composer.addfile("airup-fallback-logger", "libexec/airup-fallback-logger")
|
||||
|
||||
|
||||
package("airup")
|
||||
on_pack(pack_airup)
|
||||
dep("semi-libc @same-arch")
|
||||
@@ -0,0 +1,55 @@
|
||||
from lib import arch, cpp
|
||||
from lib.make import *
|
||||
|
||||
upstream_version = "1.2.16.1"
|
||||
|
||||
version(upstream_version)
|
||||
description("audio and MIDI functionality for the Linux operating system")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://www.alsa-project.org/files/pub/lib/alsa-lib-1.2.16.1.tar.bz2")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
builddep(f"linux-dev @{arch.get_target()}")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure(
|
||||
[
|
||||
"--prefix=/",
|
||||
f"--libdir={get_prefix('alsa-lib')}/lib",
|
||||
f"--includedir={get_prefix('alsa-lib-dev')}/include",
|
||||
"--enable-symbolic-functions",
|
||||
f"--with-configdir={get_prefix('alsa-lib')}/share/alsa",
|
||||
f"--with-plugindir=/lib/{arch.get_target()}/alsa/plugins",
|
||||
]
|
||||
)
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack_alsa_lib(composer):
|
||||
composer.makedir("lib")
|
||||
for i in [
|
||||
"libasound.so",
|
||||
"libasound.so.2",
|
||||
"libasound.so.2.0.0",
|
||||
"libatopology.so",
|
||||
"libatopology.so.2",
|
||||
"libatopology.so.2.0.0",
|
||||
]:
|
||||
composer.addfile(f"lib/{i}", f"lib/{i}")
|
||||
composer.makedir("share")
|
||||
composer.add_dir("share/alsa", "share/alsa")
|
||||
|
||||
|
||||
package("alsa-lib")
|
||||
dep("semi-libc @same-arch")
|
||||
on_pack(pack_alsa_lib)
|
||||
|
||||
package("alsa-lib-dev")
|
||||
dep("alsa-lib (same)")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
@@ -0,0 +1,37 @@
|
||||
from lib.make import *
|
||||
from lib import cpp
|
||||
|
||||
version("1.2.16")
|
||||
description("audio and MIDI functionality for the Linux operating system")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://www.alsa-project.org/files/pub/utils/alsa-utils-1.2.16.tar.bz2")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
builddep("pkgconf")
|
||||
builddep(f"libncurses-dev @{arch.get_target()}")
|
||||
builddep(f"alsa-lib-dev @{arch.get_target()}")
|
||||
builddep(f"libintl-dev @{arch.get_target()}")
|
||||
builddep("gettext")
|
||||
|
||||
def build():
|
||||
cpp.configure([f"--prefix={get_prefix('alsa-utils')}", "--disable-nls"])
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack_alsa_utils(composer):
|
||||
composer.add_dir("bin", "bin")
|
||||
composer.add_dir("sbin", "bin", merge=True)
|
||||
composer.add_dir("lib", "lib")
|
||||
composer.makedir("share")
|
||||
composer.add_dir("share/alsa", "share/alsa")
|
||||
composer.add_dir("share/sounds", "share/sounds")
|
||||
|
||||
package("alsa-utils")
|
||||
dep("semi-libc @same-arch")
|
||||
dep("alsa-lib @same-arch")
|
||||
dep("libncurses @same-arch")
|
||||
on_pack(pack_alsa_utils)
|
||||
@@ -0,0 +1,30 @@
|
||||
import os
|
||||
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("2026.4.26")
|
||||
description("The One True Awk programming language")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/onetrueawk/awk/archive/refs/tags/20260426.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
builddep("bison")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.make()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack(composer):
|
||||
composer.makedir("bin")
|
||||
composer.addfile("a.out", "bin/awk")
|
||||
|
||||
|
||||
package("awk")
|
||||
dep("semi-libc @same-arch")
|
||||
on_pack(pack)
|
||||
@@ -0,0 +1,11 @@
|
||||
--- a/crypto/x509/x509_def.c
|
||||
+++ b/crypto/x509/x509_def.c
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
// TODO(fork): cleanup
|
||||
|
||||
-#define OPENSSLDIR "/etc/ssl"
|
||||
+#define OPENSSLDIR "/var/config/ssl"
|
||||
|
||||
#define X509_CERT_AREA OPENSSLDIR
|
||||
#define X509_CERT_DIR OPENSSLDIR "/certs"
|
||||
@@ -0,0 +1,74 @@
|
||||
import os
|
||||
|
||||
import lib.cpp as cpp
|
||||
from lib.make import *
|
||||
|
||||
version("5.5.0")
|
||||
description("a general-purpose cryptographic library maintained by the AWS Cryptography team")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/aws/aws-lc/archive/refs/tags/v5.5.0.tar.gz")
|
||||
|
||||
builddep("shortcut/c++")
|
||||
builddep("shortcut/cmake")
|
||||
|
||||
|
||||
def _fix_pc(name, prefix):
|
||||
filepath = f"lib/pkgconfig/{name}.pc"
|
||||
with open(filepath, "r") as f:
|
||||
content = f.read()
|
||||
new_content = content.replace("prefix=/", f"prefix={prefix}").replace("libdir=${prefix}/usr/lib", "libdir=${prefix}/lib")
|
||||
with open(filepath, "w") as f:
|
||||
f.write(new_content)
|
||||
|
||||
|
||||
def build():
|
||||
cpp.cmake(
|
||||
[
|
||||
"-DBUILD_SHARED_LIBS=1",
|
||||
"-DBUILD_TESTING=OFF",
|
||||
"-DDISABLE_GO=ON",
|
||||
"-DDISABLE_PERL=ON",
|
||||
"-DCMAKE_INSTALL_PREFIX=/",
|
||||
f"-DCMAKE_INSTALL_INCLUDEDIR={get_prefix('aws-lc-dev')}/include",
|
||||
]
|
||||
)
|
||||
cpp.ninja()
|
||||
cpp.ninja_install()
|
||||
_fix_pc("libssl", get_prefix("aws-lc-libssl"))
|
||||
_fix_pc("libcrypto", get_prefix("aws-lc-libcrypto"))
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack_libcrypto(composer):
|
||||
composer.makedir("lib")
|
||||
composer.addfile("lib/libcrypto.so", "lib/libcrypto.so")
|
||||
|
||||
|
||||
def pack_libssl(composer):
|
||||
composer.makedir("lib")
|
||||
composer.addfile("lib/libssl.so", "lib/libssl.so")
|
||||
|
||||
|
||||
package("aws-lc-libcrypto")
|
||||
on_pack(pack_libcrypto)
|
||||
dep("semi-libc @same-arch")
|
||||
provide("libcrypto@same-arch")
|
||||
|
||||
package("aws-lc-libssl")
|
||||
on_pack(pack_libssl)
|
||||
dep("aws-lc-libcrypto (same)")
|
||||
provide("libssl@same-arch")
|
||||
|
||||
package("aws-lc-tools")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
dep("aws-lc-libcrypto (same)")
|
||||
dep("aws-lc-libssl (same)")
|
||||
dep("libcxx @same-arch")
|
||||
|
||||
package("aws-lc-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")
|
||||
@@ -0,0 +1,85 @@
|
||||
import os
|
||||
|
||||
from lib.make import *
|
||||
from lib import cpp
|
||||
|
||||
version("5.3")
|
||||
description("the Bourne Again SHell")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://ftp.gnu.org/gnu/bash/bash-5.3.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
builddep(f"libncurses-dev @{arch.get_target()}")
|
||||
|
||||
def build():
|
||||
cpp.configure([
|
||||
f"--prefix={get_prefix('bash')}",
|
||||
f"--datarootdir={get_prefix('bash-doc')}/share",
|
||||
f"--localedir={get_prefix('bash')}/share/locale",
|
||||
"--enable-alias",
|
||||
"--enable-alt-array-implementation",
|
||||
"--enable-arith-for-command",
|
||||
"--enable-array-variables",
|
||||
"--enable-bang-history",
|
||||
"--enable-brace-expansion",
|
||||
"--enable-casemod-attributes",
|
||||
"--enable-casemod-expansions",
|
||||
"--enable-command-timing",
|
||||
"--enable-cond-command",
|
||||
"--enable-cond-regexp",
|
||||
"--enable-coprocesses",
|
||||
"--enable-directory-stack",
|
||||
"--enable-dparen-arithmetic",
|
||||
"--enable-extended-glob",
|
||||
"--enable-function-import",
|
||||
"--enable-glob-asciiranges-default",
|
||||
"--enable-help-builtin",
|
||||
"--enable-history",
|
||||
"--enable-job-control",
|
||||
"--enable-multibyte",
|
||||
"--enable-net-redirections",
|
||||
"--enable-process-substitution",
|
||||
"--enable-progcomp",
|
||||
"--enable-prompt-string-decoding",
|
||||
"--enable-readline",
|
||||
"--enable-restricted",
|
||||
"--enable-select",
|
||||
"--enable-separate-helpfiles",
|
||||
"--enable-single-help-strings",
|
||||
"--enable-translatable-strings",
|
||||
"--without-bash-malloc",
|
||||
])
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
def pack_bash(composer):
|
||||
composer.add_dir("bin", "bin")
|
||||
composer.makedir("lib")
|
||||
composer.add_dir("lib/bash", "lib/bash")
|
||||
os.remove(f"{composer.workdir}/bundle/lib/bash/loadables.h")
|
||||
os.remove(f"{composer.workdir}/bundle/lib/bash/Makefile.inc")
|
||||
os.remove(f"{composer.workdir}/bundle/lib/bash/Makefile.sample")
|
||||
composer.makedir("share")
|
||||
composer.add_dir("share/locale", "share/locale")
|
||||
|
||||
def pack_doc(composer):
|
||||
composer.makedir("share")
|
||||
composer.add_dir("share/bash", "share/bash")
|
||||
composer.add_dir("share/doc", "share/doc")
|
||||
composer.add_dir("share/info", "share/info")
|
||||
composer.add_dir("share/man", "share/man")
|
||||
|
||||
package("bash")
|
||||
dep("semi-libc @same-arch")
|
||||
dep("libncurses @same-arch")
|
||||
on_pack(pack_bash)
|
||||
|
||||
package("bash-dev")
|
||||
dep("bash (same)")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
|
||||
package("bash-doc")
|
||||
on_pack(pack_doc)
|
||||
@@ -0,0 +1,34 @@
|
||||
from lib import arch, cpp
|
||||
from lib.make import *
|
||||
|
||||
version("7.0.3")
|
||||
description("An implementation of the POSIX bc calculator with GNU extensions and dc")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/gavinhoward/bc/releases/download/7.0.3/bc-7.0.3.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
|
||||
|
||||
def build():
|
||||
predefined_build_type = "GDH"
|
||||
if "-linux" in arch.get_target():
|
||||
predefined_build_type = "GNU"
|
||||
cpp.configure(
|
||||
[
|
||||
"--disable-nls",
|
||||
"--opt=3",
|
||||
f"--predefined-build-type={predefined_build_type}",
|
||||
f"--prefix={get_prefix('bc')}",
|
||||
]
|
||||
)
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("bc")
|
||||
dep("semi-libc @same-arch")
|
||||
provide("dc")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
@@ -0,0 +1,38 @@
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("3.7.91")
|
||||
description("a general-purpose parser generator that converts an annotated context-free grammar into a deterministic LR or generalized LR (GLR) parser employing LALR(1) parser tables")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://alpha.gnu.org/gnu/bison/bison-3.7.91.tar.xz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
builddep("gnu-m4")
|
||||
|
||||
block_hook("autolink")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure([f"--prefix={get_prefix('bison')}", "--enable-relocatable"])
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack_bison(composer):
|
||||
composer.add_dir("bin", "bin")
|
||||
composer.add_dir("lib", "lib")
|
||||
composer.makedir("share")
|
||||
composer.add_dir("share/aclocal", "share/aclocal")
|
||||
composer.add_dir("share/bison", "share/bison")
|
||||
|
||||
|
||||
package("bison")
|
||||
dep("semi-libc @same-arch")
|
||||
dep("gnu-m4")
|
||||
on_pack(pack_bison)
|
||||
link("bin/bison", "/bin/bison")
|
||||
link("bin/yacc", "/bin/yacc", default=False)
|
||||
@@ -0,0 +1,44 @@
|
||||
--- a/unit-tests/Makefile
|
||||
+++ b/unit-tests/Makefile
|
||||
@@ -62,7 +62,6 @@
|
||||
TESTS+= cmd-errors
|
||||
TESTS+= cmd-errors-jobs
|
||||
TESTS+= cmd-errors-lint
|
||||
-TESTS+= cmd-interrupt
|
||||
TESTS+= cmdline
|
||||
TESTS+= cmdline-redirect-stdin
|
||||
TESTS+= cmdline-undefined
|
||||
@@ -139,7 +138,6 @@
|
||||
TESTS+= deptgt-begin-fail
|
||||
TESTS+= deptgt-begin-fail-indirect
|
||||
TESTS+= deptgt-default
|
||||
-TESTS+= deptgt-delete_on_error
|
||||
TESTS+= deptgt-end
|
||||
TESTS+= deptgt-end-fail
|
||||
TESTS+= deptgt-end-fail-all
|
||||
@@ -147,7 +145,6 @@
|
||||
TESTS+= deptgt-end-jobs
|
||||
TESTS+= deptgt-error
|
||||
TESTS+= deptgt-ignore
|
||||
-TESTS+= deptgt-interrupt
|
||||
TESTS+= deptgt-main
|
||||
TESTS+= deptgt-makeflags
|
||||
TESTS+= deptgt-no_parallel
|
||||
@@ -511,8 +508,6 @@
|
||||
|
||||
.if ${.MAKE.OS:NIRIX*} == ""
|
||||
BROKEN_TESTS+= \
|
||||
- cmd-interrupt \
|
||||
- deptgt-interrupt \
|
||||
job-output-null \
|
||||
opt-chdir \
|
||||
opt-debug-x-trace \
|
||||
@@ -538,7 +533,6 @@
|
||||
BROKEN_TESTS+= job-output-null
|
||||
.else
|
||||
BROKEN_TESTS+= \
|
||||
- cmd-interrupt \
|
||||
job-flags \
|
||||
|
||||
.endif
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
import os
|
||||
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
VERSION = "2026.6.19"
|
||||
|
||||
version(VERSION)
|
||||
description("The BSD make utility ported to non-BSD systems")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://www.crufty.net/ftp/pub/sjg/bmake-20260619.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
builddep("bc")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure(
|
||||
[
|
||||
"--prefix=/",
|
||||
f"--with-default-sys-path=/pkg/bmake={VERSION}@{arch.get_target()}/share/mk",
|
||||
]
|
||||
)
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack_bmake(composer):
|
||||
composer.makedir("bin")
|
||||
composer.addfile("bin/bmake", "bin/bmake")
|
||||
composer.makedir("share")
|
||||
composer.add_dir("share/mk", "share/mk")
|
||||
|
||||
|
||||
package("bmake")
|
||||
dep("semi-libc @same-arch")
|
||||
on_pack(pack_bmake)
|
||||
@@ -0,0 +1,39 @@
|
||||
import os
|
||||
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
|
||||
version("1.2.0")
|
||||
description("Brotli compression format")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/google/brotli/archive/refs/tags/v1.2.0.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/cmake")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.cmake([
|
||||
f"-DCMAKE_INSTALL_LIBDIR={get_prefix('libbrotli')}/lib",
|
||||
f"-DCMAKE_INSTALL_INCLUDEDIR={get_prefix('libbrotli-dev')}/include",
|
||||
f"-DCMAKE_INSTALL_BINDIR={get_prefix('brotli')}/bin",
|
||||
])
|
||||
cpp.ninja()
|
||||
cpp.ninja_install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
package("libbrotli")
|
||||
dep("semi-libc @same-arch")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
|
||||
package("brotli")
|
||||
dep("libbrotli (same)")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
|
||||
package("libbrotli-dev")
|
||||
dep("libbrotli (same)")
|
||||
dep("semi-libc-dev @same-arch")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
@@ -0,0 +1,24 @@
|
||||
from lib.make import *
|
||||
from lib import python
|
||||
|
||||
|
||||
python.version("1.5.0")
|
||||
description("A simple, correct Python build frontend")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://files.pythonhosted.org/packages/78/e0/df5e171f685f82f37b12e1f208064e24244911079d7b767447d1af7e0d70/build-1.5.0.tar.gz")
|
||||
|
||||
python.builddep("$shortcut")
|
||||
python.builddep("packaging.py (>=25.0)")
|
||||
|
||||
|
||||
def build():
|
||||
python.build()
|
||||
python.install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
package("build.py")
|
||||
python.dep("python")
|
||||
python.dep("packaging.py (>=25.0)")
|
||||
python.use_auto_pack()
|
||||
@@ -0,0 +1,27 @@
|
||||
import os
|
||||
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("2.0")
|
||||
description("Berkeley yacc")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://www.invisible-island.net/archives/byacc/byacc-2.0.tgz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure([f"--prefix={get_prefix('byacc')}", "--enable-btyacc"])
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
os.rename("bin/yacc", "bin/byacc")
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("byacc")
|
||||
dep("semi-libc @same-arch")
|
||||
cpp.use_auto_pack(["bin", "lib", "dev"])
|
||||
link("bin/byacc", "/bin/yacc")
|
||||
@@ -0,0 +1,50 @@
|
||||
import os
|
||||
import shutil
|
||||
|
||||
import lib.cpp as cpp
|
||||
from lib.make import *
|
||||
|
||||
upstream_version = "1.0.8"
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
|
||||
version(f"{upstream_version}")
|
||||
description("a freely available, patent free, high-quality data compressor")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url(f"https://sourceware.org/pub/bzip2/bzip2-{upstream_version}.tar.gz")
|
||||
|
||||
|
||||
def build():
|
||||
makevars = [f"CC={os.environ.get('CC', 'cc')}"]
|
||||
cpp.make(["-f", "Makefile-libbz2_so"] + makevars)
|
||||
try:
|
||||
shutil.rmtree("../cpp_install")
|
||||
except Exception:
|
||||
pass
|
||||
cpp.make_install(["PREFIX=../cpp_install"] + makevars, chdir=False)
|
||||
shutil.copy2(
|
||||
f"libbz2.so.{upstream_version}",
|
||||
f"../cpp_install/lib/libbz2.so.{upstream_version}",
|
||||
)
|
||||
os.symlink(f"libbz2.so.{upstream_version}", "../cpp_install/lib/libbz2.so.1.0")
|
||||
os.symlink(f"libbz2.so.{upstream_version}", "../cpp_install/lib/libbz2.so.1")
|
||||
os.symlink(f"libbz2.so.{upstream_version}", "../cpp_install/lib/libbz2.so")
|
||||
os.chdir("../cpp_install")
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("libbzip2")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
dep("semi-libc @same-arch")
|
||||
|
||||
package("bzip2")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
dep("libbzip2 (same)")
|
||||
dep("sh")
|
||||
dep("coreutils")
|
||||
|
||||
package("libbzip2-dev")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
dep("libbzip2 (same)")
|
||||
@@ -0,0 +1,35 @@
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("1.34.8")
|
||||
description("A C library for asynchronous DNS requests")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url(
|
||||
"https://github.com/c-ares/c-ares/releases/download/v1.34.8/c-ares-1.34.8.tar.gz"
|
||||
)
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure(
|
||||
[
|
||||
"--prefix=/",
|
||||
f"--libdir={get_prefix('libcares')}/lib",
|
||||
f"--includedir={get_prefix('libcares-dev')}/include",
|
||||
]
|
||||
)
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("libcares")
|
||||
dep("semi-libc @same-arch")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
|
||||
package("libcares-dev")
|
||||
dep("libcares (same)")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
@@ -0,0 +1,30 @@
|
||||
import os
|
||||
|
||||
from lib.make import *
|
||||
|
||||
version("2026.7.4")
|
||||
description("SemiOS system-level trusted CA database")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url(
|
||||
"https://gitea.semilabs.org/semios/ca-certificates/releases/download/v2026.07.04/ca-certificates-2026.07.04.tar"
|
||||
)
|
||||
|
||||
block_hook("autolink")
|
||||
|
||||
|
||||
def build():
|
||||
for i in os.listdir("."):
|
||||
link(f"share/ca-certificates/{i}", f"/share/ca-certificates/{i}")
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack(composer):
|
||||
composer.makedir("share")
|
||||
composer.add_dir(".", "share/ca-certificates")
|
||||
|
||||
|
||||
package("ca-certificates")
|
||||
arch_any()
|
||||
on_pack(pack)
|
||||
@@ -0,0 +1,33 @@
|
||||
from lib.make import *
|
||||
from lib import rust
|
||||
|
||||
|
||||
version("0.98.0")
|
||||
description("The Rust package manager")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/rust-lang/cargo/archive/refs/tags/0.98.0.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("cargo")
|
||||
builddep("rust")
|
||||
builddep(f"aws-lc-dev @{arch.get_target()}")
|
||||
builddep(f"pkgconf @{arch.get_target()}")
|
||||
builddep(f"libz-ng-dev @{arch.get_target()}")
|
||||
builddep(f"libcurl-dev @{arch.get_target()}")
|
||||
builddep(f"libgit2-dev @{arch.get_target()}")
|
||||
builddep(f"libssh2-dev @{arch.get_target()}")
|
||||
|
||||
|
||||
def build():
|
||||
rust.build()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
package("cargo")
|
||||
dep("libssl @same-arch")
|
||||
dep("libcrypto @same-arch")
|
||||
dep("libz @same-arch")
|
||||
dep("semi-libc @same-arch")
|
||||
recommend("rust")
|
||||
rust.use_auto_pack(["bin"])
|
||||
@@ -0,0 +1,20 @@
|
||||
from lib import rust
|
||||
from lib.make import *
|
||||
|
||||
version("0.1.0")
|
||||
description("SemiOS certification utility")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://gitea.semilabs.org/semios/certutil/archive/v0.1.0.tar.gz")
|
||||
|
||||
builddep("shortcut/rust")
|
||||
|
||||
|
||||
def build():
|
||||
rust.build()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("certutil")
|
||||
dep("semi-libc @same-arch")
|
||||
rust.use_auto_pack(["bin"])
|
||||
@@ -0,0 +1,67 @@
|
||||
import subprocess
|
||||
import os
|
||||
|
||||
from lib import cpp, arch
|
||||
from lib.make import *
|
||||
|
||||
|
||||
upstream_version = "4.4.2"
|
||||
[upstream_major, upstream_minor, upstream_rev] = upstream_version.split(".")
|
||||
|
||||
version(upstream_version)
|
||||
description("a cross-platform, open-source build system generator")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url(
|
||||
"https://github.com/Kitware/CMake/releases/download/v4.4.2/cmake-4.4.2.tar.gz"
|
||||
)
|
||||
|
||||
builddep("shortcut/c++")
|
||||
builddep("shortcut/autotools")
|
||||
builddep("shortcut/cmake")
|
||||
builddep(f"libcurl-dev @{arch.get_target()}")
|
||||
builddep(f"aws-lc-dev @{arch.get_target()}")
|
||||
builddep(f"libcurl-dev @{arch.get_target()}")
|
||||
builddep(f"libexpat-dev @{arch.get_target()}")
|
||||
builddep(f"libz-dev @{arch.get_target()}")
|
||||
builddep(f"libbzip2-dev @{arch.get_target()}")
|
||||
builddep(f"liblzma-dev @{arch.get_target()}")
|
||||
builddep(f"libzstd-dev @{arch.get_target()}")
|
||||
builddep(f"libnghttp2-dev @{arch.get_target()}")
|
||||
builddep(f"librhash-dev @{arch.get_target()}")
|
||||
builddep(f"libarchive-dev @{arch.get_target()}")
|
||||
builddep(f"linux-dev @{arch.get_target()}")
|
||||
|
||||
|
||||
def build():
|
||||
os.environ["CMAKE_PREFIX_PATH"] = f"/lib/{arch.get_target()}"
|
||||
cpp.cmake([
|
||||
f"-DCMAKE_INSTALL_PREFIX={get_prefix('cmake')}",
|
||||
"-DCMAKE_USE_SYSTEM_CURL=ON",
|
||||
"-DCMAKE_USE_SYSTEM_ZLIB=ON",
|
||||
"-DCMAKE_USE_SYSTEM_ZSTD=ON",
|
||||
"-DCMAKE_USE_SYSTEM_LIBRHASH=ON",
|
||||
"-DCMAKE_USE_SYSTEM_LIBARCHIVE=ON",
|
||||
"-DCMAKE_USE_SYSTEM_LIBLZMA=ON",
|
||||
"-DCMAKE_USE_SYSTEM_EXPAT=ON",
|
||||
"-DCMAKE_USE_SYSTEM_BZIP2=ON",
|
||||
])
|
||||
cpp.ninja()
|
||||
cpp.ninja_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
def pack_cmake(composer):
|
||||
composer.add_dir("bin", "bin")
|
||||
composer.makedir("share")
|
||||
composer.add_dir(f"share/cmake-{upstream_major}.{upstream_minor}")
|
||||
|
||||
package("cmake")
|
||||
dep("semi-libc @same-arch")
|
||||
dep("libcxx @same-arch")
|
||||
dep("libcurl @same-arch")
|
||||
dep("librhash @same-arch")
|
||||
dep("libz @same-arch")
|
||||
dep("libarchive @same-arch")
|
||||
dep("libexpat @same-arch")
|
||||
on_pack(pack_cmake)
|
||||
@@ -0,0 +1,133 @@
|
||||
import lib.rust as rust
|
||||
from lib.make import *
|
||||
|
||||
version("0.10.0")
|
||||
description("system core utilities")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/uutils/coreutils/archive/refs/tags/0.10.0.tar.gz")
|
||||
block_hook("autolink")
|
||||
|
||||
builddep("shortcut/rust")
|
||||
|
||||
|
||||
def build():
|
||||
rust.build(["--features", "unix"])
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
functions = [
|
||||
"[",
|
||||
"arch",
|
||||
"b2sum",
|
||||
"base32",
|
||||
"base64",
|
||||
"basename",
|
||||
"basenc",
|
||||
"cat",
|
||||
"chgrp",
|
||||
"chmod",
|
||||
"chown",
|
||||
"chroot",
|
||||
"cksum",
|
||||
"comm",
|
||||
"cp",
|
||||
"csplit",
|
||||
"cut",
|
||||
"date",
|
||||
"dd",
|
||||
"df",
|
||||
"dir",
|
||||
"dircolors",
|
||||
"dirname",
|
||||
"du",
|
||||
"echo",
|
||||
"env",
|
||||
"expand",
|
||||
"expr",
|
||||
"factor",
|
||||
"false",
|
||||
"fmt",
|
||||
"fold",
|
||||
"groups",
|
||||
"head",
|
||||
"hostid",
|
||||
"hostname",
|
||||
"id",
|
||||
"install",
|
||||
"join",
|
||||
"kill",
|
||||
"link",
|
||||
"ln",
|
||||
"logname",
|
||||
"ls",
|
||||
"md5sum",
|
||||
"mkdir",
|
||||
"mkfifo",
|
||||
"mknod",
|
||||
"mktemp",
|
||||
"more",
|
||||
"mv",
|
||||
"nice",
|
||||
"nl",
|
||||
"nohup",
|
||||
"nproc",
|
||||
"numfmt",
|
||||
"od",
|
||||
"paste",
|
||||
"pathchk",
|
||||
"pinky",
|
||||
"pr",
|
||||
"printenv",
|
||||
"printf",
|
||||
"ptx",
|
||||
"pwd",
|
||||
"readlink",
|
||||
"realpath",
|
||||
"rm",
|
||||
"rmdir",
|
||||
"seq",
|
||||
"sha1sum",
|
||||
"sha224sum",
|
||||
"sha256sum",
|
||||
"sha384sum",
|
||||
"sha512sum",
|
||||
"shred",
|
||||
"shuf",
|
||||
"sleep",
|
||||
"sort",
|
||||
"split",
|
||||
"stat",
|
||||
"stdbuf",
|
||||
"stty",
|
||||
"sum",
|
||||
"sync",
|
||||
"tac",
|
||||
"tail",
|
||||
"tee",
|
||||
"test",
|
||||
"timeout",
|
||||
"touch",
|
||||
"tr",
|
||||
"true",
|
||||
"truncate",
|
||||
"tsort",
|
||||
"tty",
|
||||
"uname",
|
||||
"unexpand",
|
||||
"uniq",
|
||||
"unlink",
|
||||
"uptime",
|
||||
"users",
|
||||
"vdir",
|
||||
"wc",
|
||||
"who",
|
||||
"whoami",
|
||||
"yes",
|
||||
]
|
||||
|
||||
package("coreutils")
|
||||
for func in functions:
|
||||
link(f"bin/coreutils", f"/bin/{func}")
|
||||
rust.use_auto_pack(["bin"])
|
||||
dep("semi-libc @same-arch")
|
||||
@@ -0,0 +1,104 @@
|
||||
from lib import cpp, arch
|
||||
from lib.make import *
|
||||
|
||||
version("8.21.0")
|
||||
description("command line tool and library for transferring data with URLs")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://curl.se/download/curl-8.21.0.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
builddep(f"libnghttp2-dev @{arch.get_target()}")
|
||||
builddep(f"libcares-dev @{arch.get_target()}")
|
||||
builddep(f"aws-lc-dev @{arch.get_target()}")
|
||||
builddep(f"libbrotli-dev @{arch.get_target()}")
|
||||
builddep(f"libz-dev @{arch.get_target()}")
|
||||
builddep(f"libzstd-dev @{arch.get_target()}")
|
||||
builddep(f"libpsl-dev @{arch.get_target()}")
|
||||
|
||||
def build():
|
||||
cpp.configure(
|
||||
[
|
||||
"--prefix=/",
|
||||
f"--bindir={get_prefix('curl')}/bin",
|
||||
f"--libdir={get_prefix('libcurl')}/lib",
|
||||
f"--includedir={get_prefix('libcurl-dev')}/include",
|
||||
"--enable-optimize",
|
||||
"--disable-debug",
|
||||
"--enable-warnings",
|
||||
"--enable-symbol-hiding",
|
||||
"--enable-ares",
|
||||
"--enable-http",
|
||||
"--enable-ftp",
|
||||
"--enable-file",
|
||||
"--enable-ipfs",
|
||||
"--disable-ldap",
|
||||
"--disable-ldaps",
|
||||
"--enable-rtsp",
|
||||
"--enable-proxy",
|
||||
"--enable-dict",
|
||||
"--enable-telnet",
|
||||
"--enable-tftp",
|
||||
"--enable-pop3",
|
||||
"--enable-imap",
|
||||
"--enable-smb",
|
||||
"--enable-smtp",
|
||||
"--enable-gopher",
|
||||
"--enable-mqtt",
|
||||
"--disable-init-mem-debug",
|
||||
"--enable-manual",
|
||||
"--enable-docs",
|
||||
"--enable-libcurl-option",
|
||||
"--enable-ipv6",
|
||||
"--enable-openssl-auto-load-config",
|
||||
"--with-ca-path=/var/config/ssl/certs",
|
||||
"--enable-versioned-symbols",
|
||||
"--enable-typecheck",
|
||||
"--enable-verbose",
|
||||
"--disable-tls-srp",
|
||||
"--enable-unix-sockets",
|
||||
"--enable-cookies",
|
||||
"--enable-socketpair",
|
||||
"--enable-http-auth",
|
||||
"--enable-doh",
|
||||
"--enable-mime",
|
||||
"--enable-bindlocal",
|
||||
"--enable-form-api",
|
||||
"--enable-dateparse",
|
||||
"--enable-netrc",
|
||||
"--enable-progress-meter",
|
||||
"--enable-get-easy-options",
|
||||
"--enable-alt-svc",
|
||||
"--enable-headers-api",
|
||||
"--enable-hsts",
|
||||
"--enable-websockets",
|
||||
"--with-openssl",
|
||||
"--with-nghttp2",
|
||||
"--without-libidn2",
|
||||
]
|
||||
)
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("libcurl")
|
||||
dep("semi-libc @same-arch")
|
||||
dep("libpsl @same-arch")
|
||||
dep("libz @same-arch")
|
||||
dep("libcares @same-arch")
|
||||
dep("libnghttp2 @same-arch")
|
||||
dep("libssl @same-arch")
|
||||
dep("libcrypto @same-arch")
|
||||
dep("libzstd @same-arch")
|
||||
dep("libbrotli @same-arch")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
|
||||
package("curl")
|
||||
dep("libcurl (same)")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
|
||||
package("libcurl-dev")
|
||||
dep("libcurl (same)")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
@@ -0,0 +1,26 @@
|
||||
from lib.make import *
|
||||
from lib import cpp
|
||||
|
||||
version("1.37")
|
||||
description("Linux D-Bus Message Broker")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/bus1/dbus-broker/releases/download/v37/dbus-broker-37.tar.xz")
|
||||
|
||||
supported_arch(lambda arch: "linux" in arch)
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/meson")
|
||||
builddep("linux-dev @target")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.meson_setup(["-Dlauncher=false", "--prefix=/"])
|
||||
cpp.meson_compile()
|
||||
cpp.meson_install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("dbus-broker")
|
||||
dep("semi-libc @same-arch")
|
||||
provide("dbus-daemon")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
@@ -0,0 +1,56 @@
|
||||
import os
|
||||
|
||||
from lib.make import *
|
||||
from lib import cpp
|
||||
|
||||
version("1.16.2")
|
||||
description("a message bus system, a simple way for applications to talk to one another")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://dbus.freedesktop.org/releases/dbus/dbus-1.16.2.tar.xz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/meson")
|
||||
builddep("gettext")
|
||||
builddep("libintl-dev @target")
|
||||
builddep("glib-dev @target")
|
||||
builddep("pkgconf @target")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.meson_setup([
|
||||
"-Dapparmor=disabled",
|
||||
"-Dmessage_bus=false",
|
||||
"-Druntime_dir=/run",
|
||||
"-Dsystemd=disabled",
|
||||
"--prefix=/",
|
||||
f"--libdir={get_prefix('libdbus')}/lib",
|
||||
f"--bindir={get_prefix('dbus-tools')}/bin",
|
||||
f"--includedir={get_prefix('libdbus-dev')}/include",
|
||||
"--sysconfdir=/var/config",
|
||||
"--localstatedir=/var/lib/dbus",
|
||||
])
|
||||
cpp.meson_compile()
|
||||
cpp.meson_install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack_libdbus(composer):
|
||||
composer.makedir("lib")
|
||||
for i in os.listdir("lib"):
|
||||
if not ".so" in i:
|
||||
continue
|
||||
composer.addfile(f"lib/{i}", f"lib/{i}")
|
||||
composer.link_external(f"{get_prefix('libdbus-dev')}/lib/dbus-1.0", f"lib/dbus-1.0")
|
||||
|
||||
package("libdbus")
|
||||
dep("semi-libc @same-arch")
|
||||
on_pack(pack_libdbus)
|
||||
|
||||
package("dbus-tools")
|
||||
dep("libdbus (same)")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
|
||||
package("libdbus-dev")
|
||||
dep("libdbus (same)")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
@@ -0,0 +1,24 @@
|
||||
import lib.rust as rust
|
||||
from lib.make import *
|
||||
|
||||
version("0.5.0")
|
||||
description("utility to compute difference between text files")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/uutils/diffutils/archive/refs/tags/v0.5.0.tar.gz")
|
||||
|
||||
builddep("shortcut/rust")
|
||||
|
||||
block_hook("autolink")
|
||||
|
||||
|
||||
def build():
|
||||
rust.build()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("diffutils")
|
||||
rust.use_auto_pack(["bin"])
|
||||
link("bin/diffutils", "/bin/cmp")
|
||||
link("bin/diffutils", "/bin/diff")
|
||||
dep("semi-libc @same-arch")
|
||||
@@ -0,0 +1,39 @@
|
||||
import os
|
||||
|
||||
import lib.cpp as cpp
|
||||
from lib.make import *
|
||||
|
||||
|
||||
version("2.8.3")
|
||||
description("Fast streaming XML parser written in C99")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url(
|
||||
"https://github.com/libexpat/libexpat/releases/download/R_2_8_3/expat-2.8.3.tar.gz"
|
||||
)
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/cmake")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.cmake([
|
||||
f"-DCMAKE_INSTALL_LIBDIR={get_prefix('libexpat')}/lib",
|
||||
f"-DCMAKE_INSTALL_INCLUDEDIR={get_prefix('libexpat-dev')}/include",
|
||||
])
|
||||
cpp.ninja()
|
||||
cpp.ninja_install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
package("libexpat")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
dep("semi-libc @same-arch")
|
||||
|
||||
package("libexpat-tools")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
dep("libexpat (same)")
|
||||
|
||||
package("libexpat-dev")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
dep("libexpat (same)")
|
||||
@@ -0,0 +1,62 @@
|
||||
import subprocess
|
||||
|
||||
from lib import arch, cpp
|
||||
from lib.make import *
|
||||
|
||||
VERSION = "5.48"
|
||||
|
||||
version(VERSION)
|
||||
description("utility to infer file type and information")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_git("https://github.com/file/file.git", "FILE5_48")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
builddep(f"libz-dev @{arch.get_target()}")
|
||||
builddep(f"libzstd-dev @{arch.get_target()}")
|
||||
builddep(f"liblzma-dev @{arch.get_target()}")
|
||||
builddep(f"libbzip2-dev @{arch.get_target()}")
|
||||
|
||||
|
||||
def build():
|
||||
subprocess.run(["autoreconf", "-fiv"], check=True)
|
||||
cpp.configure([
|
||||
"--prefix=/",
|
||||
f"--libdir={get_prefix('libmagic')}/lib",
|
||||
f"--includedir={get_prefix('libmagic-dev')}/include",
|
||||
f"--bindir={get_prefix('file')}/bin",
|
||||
f"--datadir={get_prefix('file-magic-db')}/share",
|
||||
])
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack_magic_db(composer):
|
||||
composer.makedir("share")
|
||||
composer.add_dir("share/misc")
|
||||
|
||||
|
||||
package("file-magic-db")
|
||||
arch_any()
|
||||
on_pack(pack_magic_db)
|
||||
|
||||
|
||||
package("libmagic")
|
||||
dep("semi-libc @same-arch")
|
||||
dep("file-magic-db (same-version) @any")
|
||||
dep("libz @same-arch")
|
||||
dep("libzstd @same-arch")
|
||||
dep("liblzma @same-arch")
|
||||
dep("libbzip2 @same-arch")
|
||||
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"])
|
||||
@@ -0,0 +1,21 @@
|
||||
import lib.rust as rust
|
||||
from lib.make import *
|
||||
|
||||
version("0.10.0")
|
||||
description("implementation of the UNIX findutils")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/uutils/findutils/archive/refs/tags/0.10.0.tar.gz")
|
||||
|
||||
builddep("shortcut/rust")
|
||||
|
||||
|
||||
def build():
|
||||
rust.build()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
package("findutils")
|
||||
rust.use_auto_pack(["bin"])
|
||||
dep("semi-libc @same-arch")
|
||||
@@ -0,0 +1,29 @@
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("2.6.4")
|
||||
description("The Fast Lexical Analyzer - scanner generator for lexing in C and C++")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/westes/flex/releases/download/v2.6.4/flex-2.6.4.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
builddep("m4")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure(
|
||||
[
|
||||
f"--prefix={get_prefix('flex')}",
|
||||
"--disable-nls",
|
||||
]
|
||||
)
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("flex")
|
||||
dep("semi-libc @same-arch")
|
||||
cpp.use_auto_pack(["bin", "lib", "dev"])
|
||||
@@ -0,0 +1,50 @@
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
|
||||
version("2.18.3")
|
||||
description("a library for configuring and customizing font access")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://gitlab.freedesktop.org/fontconfig/fontconfig/-/archive/2.18.3/fontconfig-2.18.3.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/meson")
|
||||
builddep("gettext")
|
||||
builddep("pkgconf")
|
||||
builddep("gperf")
|
||||
builddep("libintl-dev @target")
|
||||
builddep("libfreetype-dev @target")
|
||||
builddep("libexpat-dev @target")
|
||||
builddep("libpng-dev @target")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.meson_setup([
|
||||
f"--datadir={get_prefix('libfontconfig')}/share",
|
||||
"--sysconfdir=/var/config",
|
||||
"-Dnls=enabled",
|
||||
"-Dtools=enabled",
|
||||
"-Dcache-build=disabled",
|
||||
"-Dxml-backend=expat",
|
||||
"-Ddefault-fonts-dirs=/share/fonts",
|
||||
])
|
||||
cpp.meson_compile()
|
||||
cpp.meson_install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
package("libfontconfig")
|
||||
dep("libexpat @same-arch")
|
||||
dep("libfreetype @same-arch")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
|
||||
package("fontconfig")
|
||||
dep("libfontconfig (same)")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
|
||||
package("libfontconfig-dev")
|
||||
dep("libfontconfig (same)")
|
||||
dep("libexpat-dev @same-arch")
|
||||
dep("libfreetype-dev @same-arch")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
@@ -0,0 +1,43 @@
|
||||
from lib import arch, cpp
|
||||
from lib.make import *
|
||||
|
||||
|
||||
version("2.14.3")
|
||||
description("a freely available software library to render fonts")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://download.savannah.gnu.org/releases/freetype/freetype-2.14.3.tar.xz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
builddep("pkgconf")
|
||||
builddep(f"libz-ng-dev @{arch.get_target()}")
|
||||
builddep(f"libbzip2-dev @{arch.get_target()}")
|
||||
builddep(f"libpng-dev @{arch.get_target()}")
|
||||
builddep(f"libbrotli-dev @{arch.get_target()}")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure([
|
||||
f"--libdir={get_prefix('libfreetype')}/lib",
|
||||
f"--includedir={get_prefix('libfreetype-dev')}/include",
|
||||
])
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
package("libfreetype")
|
||||
dep("libz @same-arch")
|
||||
dep("libpng @same-arch")
|
||||
dep("libbzip2 @same-arch")
|
||||
dep("libbrotli @same-arch")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
|
||||
package("libfreetype-dev")
|
||||
dep("libfreetype (same)")
|
||||
dep("libz-dev @same-arch")
|
||||
dep("libpng-dev @same-arch")
|
||||
dep("libbzip2-dev @same-arch")
|
||||
dep("libbrotli-dev @same-arch")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
@@ -0,0 +1,33 @@
|
||||
import os
|
||||
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("0.3.3")
|
||||
description("small implementation of gettext and libintl")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url(
|
||||
"https://github.com/sabotage-linux/gettext-tiny/releases/download/v0.3.3/gettext-tiny-0.3.3.tar.xz"
|
||||
)
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.make(["LIBINTL=musl"])
|
||||
cpp.make_install(
|
||||
["LIBINTL=musl", "DESTDIR=../cpp_install", "prefix=/"], chdir=False, move=False
|
||||
)
|
||||
os.chdir("../cpp_install")
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("libintl-dev")
|
||||
dep("semi-libc-dev @same-arch")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
|
||||
package("gettext")
|
||||
dep("semi-libc @same-arch")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
@@ -0,0 +1,47 @@
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("2.55.0")
|
||||
description("a free and open source distributed version control system")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://www.kernel.org/pub/software/scm/git/git-2.55.0.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/rust")
|
||||
builddep("shortcut/autotools")
|
||||
builddep("libintl-dev @target")
|
||||
builddep("libz-dev @target")
|
||||
builddep("aws-lc-dev @target")
|
||||
builddep("linux-dev @target")
|
||||
builddep("libcurl-dev @target")
|
||||
builddep("libexpat-dev @target")
|
||||
builddep("gettext")
|
||||
builddep("libarchive-tools")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure([
|
||||
f"--prefix={get_prefix('git')}",
|
||||
"--with-gitconfig=/var/config/git/config.ini",
|
||||
"--with-gitattributes=/var/config/git/attributes.txt",
|
||||
])
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack_git(composer):
|
||||
composer.add_dir("bin", "bin")
|
||||
composer.add_dir("libexec", "libexec")
|
||||
composer.makedir("share")
|
||||
composer.add_dir("share/git-core")
|
||||
composer.add_dir("share/gitweb")
|
||||
composer.add_dir("share/perl5")
|
||||
|
||||
|
||||
package("git")
|
||||
dep("semi-libc @same-arch")
|
||||
dep("libz @same-arch")
|
||||
on_pack(pack_git)
|
||||
@@ -0,0 +1,124 @@
|
||||
import shutil
|
||||
import os
|
||||
|
||||
from lib.make import *
|
||||
from lib import cpp
|
||||
|
||||
upstream_version = "2.89.2"
|
||||
|
||||
version(upstream_version)
|
||||
description("a general-purpose, portable utility library")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
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("pcre2-tools")
|
||||
builddep(f"libpcre2-dev @{arch.get_target()}")
|
||||
builddep(f"libffi-dev @{arch.get_target()}")
|
||||
builddep("pkgconf")
|
||||
builddep(f"libz-ng-dev @{arch.get_target()}")
|
||||
builddep("libexpat")
|
||||
|
||||
|
||||
def build():
|
||||
os.environ["CFLAGS"] = os.environ.get("CFLAGS", "") + " -Wno-missing-include-dirs"
|
||||
os.environ["CXXFLAGS"] = os.environ.get("CXXLAGS", "") + os.environ["CFLAGS"]
|
||||
cpp.meson_setup([
|
||||
"-Druntime_dir=/run",
|
||||
f"-Dgio_module_dir=/lib/{arch.get_target()}/gio/modules",
|
||||
"--prefix=/",
|
||||
f"--bindir={get_prefix('glib-tools')}/bin",
|
||||
f"--libdir={get_prefix('glib-dev')}/lib",
|
||||
f"--includedir={get_prefix('glib-dev')}/include",
|
||||
f"--libexecdir={get_prefix('libglib')}/libexec",
|
||||
f"--datadir={get_prefix('glib')}/share",
|
||||
])
|
||||
cpp.meson_compile()
|
||||
cpp.meson_install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack_libxxx(composer, prefix):
|
||||
composer.makedirs("lib")
|
||||
for i in os.listdir("lib"):
|
||||
if not i.startswith(prefix):
|
||||
continue
|
||||
composer.addfile(f"lib/{i}", f"lib/{i}")
|
||||
|
||||
|
||||
def pack_libglib(composer):
|
||||
composer.add_dir("libexec", "libexec")
|
||||
pack_libxxx(composer, "libglib")
|
||||
|
||||
|
||||
package("libglib")
|
||||
dep("semi-libc @same-arch")
|
||||
dep("libpcre2 @same-arch")
|
||||
on_pack(pack_libglib)
|
||||
|
||||
|
||||
package("libgobject")
|
||||
dep("libglib (same)")
|
||||
dep("libffi @same-arch")
|
||||
on_pack(lambda composer: pack_libxxx(composer, "libgobject"))
|
||||
|
||||
package("libgthread")
|
||||
dep("libglib (same)")
|
||||
dep("semi-libc @same-arch")
|
||||
on_pack(lambda composer: pack_libxxx(composer, "libgthread"))
|
||||
|
||||
package("libgmodule")
|
||||
dep("libglib (same)")
|
||||
dep("semi-libc @same-arch")
|
||||
on_pack(lambda composer: pack_libxxx(composer, "libgmodule"))
|
||||
|
||||
package("libgio")
|
||||
dep("libglib (same)")
|
||||
dep("libgobject (same)")
|
||||
dep("libgmodule (same)")
|
||||
dep("libz @same-arch")
|
||||
dep("semi-libc @same-arch")
|
||||
on_pack(lambda composer: pack_libxxx(composer, "libgio"))
|
||||
|
||||
package("libgirepository")
|
||||
dep("libglib (same)")
|
||||
dep("libgobject (same)")
|
||||
dep("libgmodule (same)")
|
||||
dep("libffi @same-arch")
|
||||
dep("semi-libc @same-arch")
|
||||
on_pack(lambda composer: pack_libxxx(composer, "libgirepository"))
|
||||
|
||||
|
||||
def pack_glib(composer):
|
||||
composer.makedir("lib")
|
||||
for i in os.listdir("lib"):
|
||||
if not i.endswith(".so"):
|
||||
continue
|
||||
pkgname = i.split("-")[0]
|
||||
os.symlink(f"{get_prefix(pkgname)}/lib/{i}", f"{composer.workdir}/bundle/lib/{i}")
|
||||
os.symlink(f"{get_prefix('glib-dev')}/lib/glib-2.0", f"{composer.workdir}/bundle/lib/glib-2.0")
|
||||
composer.add_dir("share", "share")
|
||||
|
||||
package("glib")
|
||||
dep("libglib (same)")
|
||||
dep("libgobject (same)")
|
||||
dep("libgthread (same)")
|
||||
dep("libgmodule (same)")
|
||||
dep("libgio (same)")
|
||||
dep("libgirepository (same)")
|
||||
on_pack(pack_glib)
|
||||
|
||||
package("glib-tools")
|
||||
dep("glib (same)")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
|
||||
package("glib-dev")
|
||||
dep("glib (same)")
|
||||
dep("libz-dev @same-arch")
|
||||
dep("libpcre2-dev @same-arch")
|
||||
dep("libffi-dev @same-arch")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
@@ -0,0 +1,43 @@
|
||||
import subprocess
|
||||
import os
|
||||
|
||||
from lib.make import *
|
||||
from lib import cpp, arch
|
||||
|
||||
|
||||
version("16.5.0")
|
||||
description("Khronos-reference front end for GLSL/ESSL, partial front end for HLSL, and a SPIR-V generator")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/KhronosGroup/glslang/archive/refs/tags/16.5.0.tar.gz")
|
||||
|
||||
builddep("shortcut/cmake")
|
||||
builddep("shortcut/c++")
|
||||
builddep("spirv-tools-dev")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.cmake([
|
||||
"-DALLOW_EXTERNAL_SPIRV_TOOLS=ON",
|
||||
f"-DSPIRV-Tools-opt_DIR=/lib/{arch.get_target()}/cmake/SPIRV-Tools-opt",
|
||||
f"-DSPIRV-Tools_DIR=/lib/{arch.get_target()}/cmake/SPIRV-Tools",
|
||||
"-DGLSLANG_TESTS=OFF",
|
||||
f"-DCMAKE_INSTALL_LIBDIR={get_prefix('glslang-dev')}/lib",
|
||||
f"-DCMAKE_INSTALL_INCLUDEDIR={get_prefix('glslang-dev')}/include",
|
||||
f"-DCMAKE_INSTALL_BINDIR={get_prefix('glslang')}/bin",
|
||||
])
|
||||
cpp.ninja()
|
||||
cpp.ninja_install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack_glslang(composer):
|
||||
composer.add_dir("bin")
|
||||
|
||||
package("glslang")
|
||||
dep("libcxx @same-arch")
|
||||
on_pack(pack_glslang)
|
||||
|
||||
package("glslang-dev")
|
||||
dep("libcxx-dev @same-arch")
|
||||
cpp.use_auto_pack(["lib", "dev"])
|
||||
@@ -0,0 +1,31 @@
|
||||
import os
|
||||
|
||||
from lib import cpp, arch
|
||||
from lib.make import *
|
||||
|
||||
version("1.4.21")
|
||||
description("an implementation of the traditional Unix macro processor")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://ftp.gnu.org/gnu/m4/m4-1.4.21.tar.xz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
builddep(f"linux-dev @{arch.get_target()}")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure(
|
||||
[f"--prefix={get_prefix('gnu-m4')}", "--enable-changeword", "--disable-nls"]
|
||||
)
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
os.rename("bin/m4", "bin/gnu-m4")
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("gnu-m4")
|
||||
provide("m4")
|
||||
dep("semi-libc @same-arch")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
link("bin/gnu-m4", "/bin/m4")
|
||||
@@ -0,0 +1,36 @@
|
||||
--- a/lib/fnmatch.c
|
||||
+++ b/lib/fnmatch.c
|
||||
@@ -120,9 +120,6 @@
|
||||
/* Avoid depending on library functions or files
|
||||
whose names are inconsistent. */
|
||||
|
||||
-# if !defined _LIBC && !defined getenv
|
||||
-extern char *getenv ();
|
||||
-# endif
|
||||
|
||||
# ifndef errno
|
||||
extern int errno;
|
||||
|
||||
--- a/src/getopt.c
|
||||
+++ b/src/getopt.c
|
||||
@@ -202,7 +202,7 @@ static char *posixly_correct;
|
||||
whose names are inconsistent. */
|
||||
|
||||
#ifndef getenv
|
||||
-extern char *getenv ();
|
||||
+extern char *getenv (const char *);
|
||||
#endif
|
||||
|
||||
static char *
|
||||
|
||||
--- a/src/getopt.h
|
||||
+++ b/src/getopt.h
|
||||
@@ -102,7 +102,7 @@ struct option
|
||||
errors, only prototype getopt for the GNU C library. */
|
||||
extern int getopt (int argc, char *const *argv, const char *shortopts);
|
||||
#else /* not __GNU_LIBRARY__ */
|
||||
-extern int getopt ();
|
||||
+extern int getopt (int, char * const*, const char *);
|
||||
#endif /* __GNU_LIBRARY__ */
|
||||
extern int getopt_long (int argc, char *const *argv, const char *shortopts,
|
||||
const struct option *longopts, int *longind);
|
||||
@@ -0,0 +1,23 @@
|
||||
import lib.cpp as cpp
|
||||
from lib.make import *
|
||||
|
||||
version("4.4.1")
|
||||
description("a tool which controls the generation of executables and other non-source files of a program from the program's source files")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://ftp.gnu.org/gnu/make/make-4.4.1.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure([f"--prefix={get_prefix('gnu-make')}"])
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("gnu-make")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
dep("semi-libc @same-arch")
|
||||
@@ -0,0 +1,37 @@
|
||||
import os
|
||||
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("4.10")
|
||||
description("a non-interactive command-line text editor")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://ftp.gnu.org/gnu/sed/sed-4.10.tar.gz")
|
||||
|
||||
block_hook("autolink")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure(
|
||||
[
|
||||
f"--prefix={get_prefix('gnu-sed')}",
|
||||
"--disable-i18n",
|
||||
"--disable-nls",
|
||||
]
|
||||
)
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
os.rename("bin/sed", "bin/gsed")
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("gnu-sed")
|
||||
provide("sed")
|
||||
dep("semi-libc @same-arch")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
link("bin/gsed", "/bin/gsed")
|
||||
link("bin/gsed", "/bin/sed")
|
||||
@@ -0,0 +1,24 @@
|
||||
from lib import arch, cpp
|
||||
from lib.make import *
|
||||
|
||||
|
||||
version("3.3")
|
||||
description("GNU perfect hash function generator")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://ftp.gnu.org/pub/gnu/gperf/gperf-3.3.tar.gz")
|
||||
|
||||
builddep("shortcut/c++")
|
||||
builddep("shortcut/autotools")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure()
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
package("gperf")
|
||||
dep("libcxx @same-arch")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
@@ -0,0 +1,48 @@
|
||||
import os
|
||||
|
||||
import lib.cpp as cpp
|
||||
from lib.make import *
|
||||
|
||||
|
||||
version("1.3.15")
|
||||
description("Graphite is a \"smart font\" system developed specifically to handle the complexities of lesser-known languages of the world.")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/silnrsi/graphite/releases/download/1.3.15/graphite2-1.3.15.tgz")
|
||||
|
||||
builddep("shortcut/c++")
|
||||
builddep("shortcut/cmake")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.cmake([
|
||||
f"-DCMAKE_INSTALL_PREFIX={get_prefix('libgraphite-dev')}",
|
||||
])
|
||||
cpp.ninja()
|
||||
cpp.ninja_install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack_dev(composer):
|
||||
composer.add_dir("bin", "bin")
|
||||
composer.add_dir("include", "include")
|
||||
composer.add_dir("share", "share")
|
||||
composer.makedir("lib")
|
||||
composer.add_dir("lib/pkgconfig", "lib/pkgconfig")
|
||||
for i in os.listdir("lib"):
|
||||
if not os.path.isfile(f"lib/{i}"):
|
||||
continue
|
||||
if ".so" in i:
|
||||
os.symlink(f"{get_prefix('libgraphite')}/lib/{i}", f"{composer.workdir}/bundle/lib/{i}")
|
||||
else:
|
||||
composer.addfile(f"lib/{i}", f"lib/{i}")
|
||||
|
||||
|
||||
package("libgraphite")
|
||||
dep("semi-libc @same-arch")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
|
||||
package("libgraphite-dev")
|
||||
dep("libgraphite (same)")
|
||||
dep("semi-libc-dev @same-arch")
|
||||
on_pack(pack_dev)
|
||||
@@ -0,0 +1,34 @@
|
||||
import subprocess
|
||||
|
||||
from lib.make import *
|
||||
|
||||
version("15.1.3")
|
||||
description("SemiOS file pattern searcher")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://gitea.semilabs.org/semios/grep/archive/v15.1.3.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep(f"libpcre2-dev @{arch.get_target()}")
|
||||
builddep("pcre2-tools")
|
||||
builddep(f"libbzip2-dev @{arch.get_target()}")
|
||||
builddep(f"libz-ng-dev @{arch.get_target()}")
|
||||
|
||||
|
||||
def build():
|
||||
subprocess.run(["./build.sh"], check=True)
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack_grep(composer):
|
||||
composer.makedir("bin")
|
||||
composer.addfile("grep", "bin/grep")
|
||||
|
||||
|
||||
package("grep")
|
||||
dep("semi-libc @same-arch")
|
||||
dep("libpcre2 @same-arch")
|
||||
on_pack(pack_grep)
|
||||
link("bin/grep", "/bin/egrep")
|
||||
link("bin/grep", "/bin/fgrep")
|
||||
@@ -0,0 +1,30 @@
|
||||
from lib.make import *
|
||||
from lib import cpp
|
||||
|
||||
|
||||
version("3.5.2")
|
||||
description("an interactive process viewer")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/htop-dev/htop/releases/download/3.5.2/htop-3.5.2.tar.xz")
|
||||
|
||||
builddep("shortcut/autotools")
|
||||
builddep("shortcut/c")
|
||||
builddep(f"libncurses-dev @{arch.get_target()}")
|
||||
builddep(f"linux-dev @{arch.get_target()}")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure([
|
||||
f"--prefix={get_prefix('htop')}",
|
||||
"--enable-unicode",
|
||||
])
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
package("htop")
|
||||
dep("libncurses @same-arch")
|
||||
dep("semi-libc @same-arch")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
@@ -0,0 +1,37 @@
|
||||
import os
|
||||
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("2026.4.22")
|
||||
description("code and data that represent the history of local time for many representative locations worldwide")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://data.iana.org/time-zones/releases/tzdb-2026b.tar.lz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
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"])
|
||||
@@ -0,0 +1,45 @@
|
||||
import os
|
||||
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("78.3")
|
||||
description("a mature, widely used set of C/C++ libraries providing Unicode and Globalization support for software applications")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url(
|
||||
"https://github.com/unicode-org/icu/releases/download/release-78.3/icu4c-78.3-sources.tgz"
|
||||
)
|
||||
|
||||
builddep("shortcut/c++")
|
||||
builddep("shortcut/autotools")
|
||||
|
||||
|
||||
def build():
|
||||
os.chdir("source")
|
||||
cpp.configure(
|
||||
[
|
||||
"--enable-plugins",
|
||||
"--prefix=/",
|
||||
f"--bindir={get_prefix('icu4c')}/bin",
|
||||
f"--sbindir={get_prefix('icu4c')}/sbin",
|
||||
f"--libdir={get_prefix('libicu4c')}/lib",
|
||||
f"--includedir={get_prefix('libicu4c-dev')}/include",
|
||||
]
|
||||
)
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("libicu4c")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
dep("semi-libc @same-arch")
|
||||
|
||||
package("icu4c")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
dep("libicu4c (same)")
|
||||
|
||||
package("libicu4c-dev")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
dep("libicu4c (same)")
|
||||
@@ -0,0 +1,22 @@
|
||||
from lib.make import *
|
||||
from lib import python
|
||||
|
||||
|
||||
python.version("1.0.1")
|
||||
description("A library for installing Python wheels.")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://files.pythonhosted.org/packages/06/fe/b9f481cf0cc867958a21338baa900357b7b7d86cac9b025948049d77923c/installer-1.0.1.tar.gz")
|
||||
|
||||
python.builddep("$shortcut")
|
||||
|
||||
|
||||
def build():
|
||||
python.build()
|
||||
python.install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
package("installer.py")
|
||||
python.dep("python")
|
||||
python.use_auto_pack()
|
||||
@@ -0,0 +1,40 @@
|
||||
import os
|
||||
import shutil
|
||||
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("7.1.0")
|
||||
description("a collection of userspace utilities for controlling and monitoring various aspects of networking in the Linux kernel")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_git("https://git.kernel.org/pub/scm/network/iproute2/iproute2.git", "v7.1.0")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
builddep("git")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure()
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack_iproute2(composer):
|
||||
composer.makedirs("lib/iproute2")
|
||||
composer.makedir("share")
|
||||
composer.add_dir("sbin", "bin")
|
||||
composer.add_dir("share/iproute2", "share/iproute2")
|
||||
composer.add_dir("lib/tc", "lib/iproute2/tc")
|
||||
|
||||
|
||||
package("iproute2")
|
||||
dep("semi-libc @same-arch")
|
||||
on_pack(pack_iproute2)
|
||||
|
||||
package("iproute2-dev")
|
||||
dep("semi-libc @same-arch")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
@@ -0,0 +1,60 @@
|
||||
from lib import cpp, arch
|
||||
from lib.make import *
|
||||
|
||||
version("1.34")
|
||||
description("a set of tools to handle common tasks with Linux kernel modules like insert, remove, list, check properties, resolve dependencies and aliases")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/kmod-project/kmod/archive/refs/tags/v34.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/meson")
|
||||
builddep(f"linux-dev @{arch.get_target()}")
|
||||
builddep(f"libzstd-dev @{arch.get_target()}")
|
||||
builddep(f"aws-lc-dev @{arch.get_target()}")
|
||||
builddep(f"liblzma-dev @{arch.get_target()}")
|
||||
builddep(f"libz-ng-dev @{arch.get_target()}")
|
||||
builddep("pkgconf")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.meson_setup([
|
||||
"-Dprefix=/",
|
||||
f"-Dlibdir={get_prefix('libkmod')}/lib",
|
||||
f"-Dincludedir={get_prefix('libkmod-dev')}/include",
|
||||
f"-Dbindir={get_prefix('kmod')}/bin",
|
||||
f"-Ddistconfdir={get_prefix('libkmod')}/share",
|
||||
"-Dmoduledir=/lib/lkm",
|
||||
"-Dtools=true",
|
||||
"-Ddlopen=all",
|
||||
"-Dmanpages=false",
|
||||
])
|
||||
cpp.meson_compile()
|
||||
cpp.meson_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("libkmod")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
dep("semi-libc @same-arch")
|
||||
dep("libcrypto @same-arch")
|
||||
recommend("libzstd @same-arch")
|
||||
recommend("libz @same-arch")
|
||||
recommend("liblzma @same-arch")
|
||||
|
||||
package("kmod")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
dep("libkmod (same)")
|
||||
link("bin/kmod", "/bin/depmod")
|
||||
link("bin/kmod", "/bin/insmod")
|
||||
link("bin/kmod", "/bin/lsmod")
|
||||
link("bin/kmod", "/bin/modinfo")
|
||||
link("bin/kmod", "/bin/modprobe")
|
||||
link("bin/kmod", "/bin/rmmod")
|
||||
|
||||
package("libkmod-dev")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
dep("libkmod (same)")
|
||||
dep("libzstd-dev @same-arch")
|
||||
dep("libz-dev @same-arch")
|
||||
dep("liblzma-dev @same-arch")
|
||||
@@ -0,0 +1,25 @@
|
||||
from lib import arch, cpp
|
||||
from lib.make import *
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
builddep(f"libncurses-dev @{arch.get_target()}")
|
||||
|
||||
version("704")
|
||||
description("a free, open-source file pager")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://www.greenwoodsoftware.com/less/less-704.tar.gz")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure([f"--prefix={get_prefix('less')}", "--with-regex=posix"])
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("less")
|
||||
dep("semi-libc @same-arch")
|
||||
dep("libncurses @same-arch")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
@@ -0,0 +1,57 @@
|
||||
import lib.cpp as cpp
|
||||
from lib.make import *
|
||||
|
||||
version("3.8.9")
|
||||
description("Multi-format archive and compression library")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url(
|
||||
"https://github.com/libarchive/libarchive/releases/download/v3.8.9/libarchive-3.8.9.tar.gz"
|
||||
)
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
builddep(f"aws-lc-dev @{arch.get_target()}")
|
||||
builddep(f"libz-ng-dev @{arch.get_target()}")
|
||||
builddep(f"libzstd-dev @{arch.get_target()}")
|
||||
builddep(f"libbzip2-dev @{arch.get_target()}")
|
||||
builddep(f"liblzma-dev @{arch.get_target()}")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure(
|
||||
[
|
||||
"--prefix=/",
|
||||
f"--bindir={get_prefix('libarchive-tools')}/bin",
|
||||
f"--libdir={get_prefix('libarchive')}/lib",
|
||||
f"--includedir={get_prefix('libarchive-dev')}/include",
|
||||
]
|
||||
)
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("libarchive")
|
||||
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")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
dep("libarchive (same)")
|
||||
provide("tar")
|
||||
provide("cpio")
|
||||
provide("unzip")
|
||||
link("bin/bsdtar", "/bin/tar")
|
||||
link("bin/bsdcpio", "/bin/cpio")
|
||||
link("bin/bsdunzip", "/bin/unzip")
|
||||
|
||||
package("libarchive-dev")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
dep("libarchive (same)")
|
||||
dep("aws-lc-dev @same-arch")
|
||||
@@ -0,0 +1,43 @@
|
||||
import os
|
||||
|
||||
from lib.make import *
|
||||
from lib import cpp, arch
|
||||
|
||||
|
||||
version("2.4.134")
|
||||
description("libdrm Direct Rendering Manager library and headers")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://gitlab.freedesktop.org/mesa/libdrm/-/archive/libdrm-2.4.134/libdrm-libdrm-2.4.134.tar.gz")
|
||||
|
||||
builddep("shortcut/meson")
|
||||
builddep("shortcut/c")
|
||||
builddep("linux-dev @target")
|
||||
builddep("pkgconf")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.meson_setup([
|
||||
"--prefix", get_prefix('libdrm-dev'),
|
||||
"--libdir", f"{get_prefix('libdrm')}/lib",
|
||||
"--datadir", f"{get_prefix('libdrm')}/share",
|
||||
])
|
||||
cpp.meson_compile()
|
||||
cpp.meson_install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack_libdrm(composer):
|
||||
composer.add_dir("share")
|
||||
composer.makedir("lib")
|
||||
for i in os.listdir("lib"):
|
||||
if ".so" in i:
|
||||
composer.addfile(f"lib/{i}", f"lib/{i}")
|
||||
|
||||
package("libdrm")
|
||||
dep("semi-libc @same-arch")
|
||||
on_pack(pack_libdrm)
|
||||
|
||||
package("libdrm-dev")
|
||||
dep("libdrm (same)")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
@@ -0,0 +1,38 @@
|
||||
from lib import arch, cpp
|
||||
from lib.make import *
|
||||
|
||||
version("3.7.1")
|
||||
description("A portable foreign-function interface library")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url(
|
||||
"https://github.com/libffi/libffi/releases/download/v3.7.1/libffi-3.7.1.tar.gz"
|
||||
)
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
builddep(f"linux-dev @{arch.get_target()}")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure(
|
||||
[
|
||||
"--prefix=/",
|
||||
f"--libdir={get_prefix('libffi')}/lib",
|
||||
f"--includedir={get_prefix('libffi-dev')}/include",
|
||||
"--enable-portable-binary",
|
||||
"--disable-multi-os-directory",
|
||||
]
|
||||
)
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("libffi")
|
||||
dep("semi-libc @same-arch")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
|
||||
package("libffi-dev")
|
||||
dep("libffi (same)")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
@@ -0,0 +1,33 @@
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
from lib import arch
|
||||
from lib.make import *
|
||||
|
||||
version("0.2.0")
|
||||
description("provides compatibility objects to gcc runtime libraries")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://gitea.semilabs.org/semios/libgcc-compat/archive/v0.2.0.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep(f"libunwind-dev @{arch.get_target()}")
|
||||
builddep(f"linux-dev @{arch.get_target()}")
|
||||
|
||||
|
||||
def build():
|
||||
subprocess.run(["./build.sh"], check=True)
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack(composer):
|
||||
composer.makedir("lib")
|
||||
composer.addfile("libgcc_s.so.1", "lib/libgcc_s.so.1")
|
||||
composer.addfile("libatomic.so.1", "lib/libatomic.so.1")
|
||||
|
||||
|
||||
package("libgcc-compat")
|
||||
dep("semi-libc @same-arch")
|
||||
dep("libunwind @same-arch")
|
||||
on_pack(pack)
|
||||
@@ -0,0 +1,102 @@
|
||||
import os
|
||||
|
||||
from lib.make import *
|
||||
from lib import cpp
|
||||
|
||||
|
||||
version("1.7.0")
|
||||
description("The GL Vendor-Neutral Dispatch library")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://gitlab.freedesktop.org/glvnd/libglvnd/-/archive/v1.7.0/libglvnd-v1.7.0.tar.gz")
|
||||
|
||||
builddep("shortcut/meson")
|
||||
builddep("shortcut/c")
|
||||
builddep("libexpat")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.meson_setup([
|
||||
"--sysconfdir=/var/config",
|
||||
"--datadir=/share",
|
||||
|
||||
"-Degl=true",
|
||||
"-Dentrypoint-patching=disabled",
|
||||
|
||||
# X11 Stuff
|
||||
# We don't have X11 yet, so leave them disabled
|
||||
"-Dx11=disabled",
|
||||
"-Dglx=disabled",
|
||||
])
|
||||
cpp.meson_compile()
|
||||
cpp.meson_install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def fix_pc(path, name):
|
||||
with open(path, 'r') as file:
|
||||
content = file.read()
|
||||
devpkgname = f"{name}-dev"
|
||||
content = content.replace("prefix=/usr/local", f"prefix=/")
|
||||
content = content.replace("includedir=${prefix}/include", f"includedir={get_prefix(devpkgname)}/include")
|
||||
content = content.replace("libdir=${prefix}/lib", f"libdir={get_prefix(name)}/lib")
|
||||
with open(path, 'wt+') as file:
|
||||
file.write(content)
|
||||
|
||||
def pack_librun(composer, libname):
|
||||
composer.makedir("lib")
|
||||
for i in os.listdir("lib"):
|
||||
if ".so" in i and i.startswith(libname):
|
||||
composer.addfile(f"lib/{i}", f"lib/{i}")
|
||||
|
||||
def pack_libdev(composer, pkgname, pkgconfname, includenames):
|
||||
composer.makedirs("lib/pkgconfig")
|
||||
for i in os.listdir("lib/pkgconfig"):
|
||||
if pkgconfname == i:
|
||||
composer.addfile(f"lib/pkgconfig/{i}", f"lib/pkgconfig/{i}")
|
||||
fix_pc(f"{composer.workdir}/bundle/lib/pkgconfig/{i}", pkgname)
|
||||
composer.makedir("include")
|
||||
for i in includenames:
|
||||
composer.add_dir(f"include/{i}", f"include/{i}")
|
||||
|
||||
|
||||
package("libgldispatch")
|
||||
dep("semi-libc @same-arch")
|
||||
on_pack(lambda composer: pack_librun(composer, "libGLdispatch"))
|
||||
|
||||
package("libgldispatch-dev")
|
||||
dep("semi-libc @same-arch")
|
||||
on_pack(lambda composer: pack_libdev(composer, "libgldispatch", "libglvnd.pc", ["glvnd", "KHR"]))
|
||||
|
||||
package("libegl")
|
||||
dep("libgldispatch (same)")
|
||||
on_pack(lambda composer: pack_librun(composer, "libEGL"))
|
||||
|
||||
package("libegl-dev")
|
||||
dep("libegl (same)")
|
||||
on_pack(lambda composer: pack_libdev(composer, "libegl", "egl.pc", ["EGL"]))
|
||||
|
||||
package("libglesv1-cm")
|
||||
dep("libgldispatch (same)")
|
||||
on_pack(lambda composer: pack_librun(composer, "libGLESv1_CM"))
|
||||
|
||||
package("libglesv1-cm-dev")
|
||||
dep("libglesv1-cm (same)")
|
||||
on_pack(lambda composer: pack_libdev(composer, "libglesv1-cm", "glesv1_cm.pc", ["GLES"]))
|
||||
|
||||
package("libglesv2")
|
||||
dep("libgldispatch (same)")
|
||||
on_pack(lambda composer: pack_librun(composer, "libGLESv2"))
|
||||
|
||||
package("libglesv2-dev")
|
||||
dep("libglesv2 (same)")
|
||||
on_pack(lambda composer: pack_libdev(composer, "libglesv2", "glesv2.pc", ["GLES2", "GLES3"]))
|
||||
|
||||
package("libopengl")
|
||||
dep("libgldispatch (same)")
|
||||
on_pack(lambda composer: pack_librun(composer, "libOpenGL"))
|
||||
|
||||
package("libopengl-dev")
|
||||
dep("libopengl (same)")
|
||||
on_pack(lambda composer: pack_libdev(composer, "libopengl", "opengl.pc", ["GL"]))
|
||||
|
||||
@@ -0,0 +1,124 @@
|
||||
import os
|
||||
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
upstream_version = "3.2.25"
|
||||
|
||||
version(upstream_version)
|
||||
source_url("https://www.infradead.org/~tgr/libnl/files/libnl-3.2.25.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
builddep("flex")
|
||||
builddep("bison")
|
||||
builddep("gnu-m4")
|
||||
builddep("linux-dev @target")
|
||||
|
||||
def build():
|
||||
cpp.configure([
|
||||
"--prefix=/",
|
||||
"--sysconfdir=/var/config",
|
||||
f"--includedir={get_prefix('libnl-dev')}/include",
|
||||
])
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
SO_SUFFIX = ["", ".200", ".200.20.0"]
|
||||
|
||||
|
||||
def pack_core(composer):
|
||||
composer.makedir("lib")
|
||||
for i in SO_SUFFIX:
|
||||
composer.addfile(f"lib/libnl-3.so{i}", f"lib/libnl-3.so{i}")
|
||||
|
||||
package("libnl-core")
|
||||
dep("semi-libc @same-arch")
|
||||
on_pack(pack_core)
|
||||
|
||||
def pack_genl(composer):
|
||||
composer.makedir("lib")
|
||||
for i in SO_SUFFIX:
|
||||
composer.addfile(f"lib/libnl-genl-3.so{i}", f"lib/libnl-genl-3.so{i}")
|
||||
|
||||
package("libnl-genl")
|
||||
dep("libnl-core (same)")
|
||||
on_pack(pack_genl)
|
||||
|
||||
def pack_idiag(composer):
|
||||
composer.makedir("lib")
|
||||
for i in SO_SUFFIX:
|
||||
composer.addfile(f"lib/libnl-idiag-3.so{i}", f"lib/libnl-idiag-3.so{i}")
|
||||
|
||||
package("libnl-idiag")
|
||||
dep("libnl-core (same)")
|
||||
on_pack(pack_idiag)
|
||||
|
||||
def pack_route(composer):
|
||||
composer.makedir("lib")
|
||||
for i in SO_SUFFIX:
|
||||
composer.addfile(f"lib/libnl-route-3.so{i}", f"lib/libnl-route-3.so{i}")
|
||||
|
||||
package("libnl-route")
|
||||
dep("libnl-core (same)")
|
||||
on_pack(pack_route)
|
||||
|
||||
def pack_nf(composer):
|
||||
composer.makedir("lib")
|
||||
for i in SO_SUFFIX:
|
||||
composer.addfile(f"lib/libnl-nf-3.so{i}", f"lib/libnl-nf-3.so{i}")
|
||||
|
||||
package("libnl-nf")
|
||||
dep("libnl-core (same)")
|
||||
dep("libnl-route (same)")
|
||||
on_pack(pack_nf)
|
||||
|
||||
def pack_cli(composer):
|
||||
composer.makedir("lib")
|
||||
for i in SO_SUFFIX:
|
||||
composer.addfile(f"lib/libnl-cli-3.so{i}", f"lib/libnl-cli-3.so{i}")
|
||||
|
||||
package("libnl-cli")
|
||||
dep("libnl-core (same)")
|
||||
dep("libnl-nf (same)")
|
||||
dep("libnl-route (same)")
|
||||
on_pack(pack_cli)
|
||||
|
||||
def pack_libnl(composer):
|
||||
composer.makedir("lib")
|
||||
for soname in ["-3", "-nf-3", "-route-3", "-idiag-3", "-genl-3"]:
|
||||
if soname == "-3":
|
||||
pkgname = "libnl-core"
|
||||
elif "nf" in soname:
|
||||
pkgname = "libnl-nf"
|
||||
elif "route" in soname:
|
||||
pkgname = "libnl-route"
|
||||
elif "idiag" in soname:
|
||||
pkgname = "libnl-idiag"
|
||||
elif "genl" in soname:
|
||||
pkgname = "libnl-genl"
|
||||
for suffix in SO_SUFFIX:
|
||||
fullname = f"libnl{soname}.so{suffix}"
|
||||
os.symlink(
|
||||
f"/pkg/{pkgname}={upstream_version}@{arch.get_target()}/lib/{fullname}",
|
||||
f"{composer.workdir}/bundle/lib/{fullname}",
|
||||
)
|
||||
|
||||
package("libnl")
|
||||
dep("libnl-core (same)")
|
||||
dep("libnl-nf (same)")
|
||||
dep("libnl-route (same)")
|
||||
dep("libnl-idiag (same)")
|
||||
dep("libnl-genl (same)")
|
||||
on_pack(pack_libnl)
|
||||
|
||||
package("libnl-tools")
|
||||
dep("libnl (same)")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
|
||||
package("libnl-dev")
|
||||
dep("libnl (same)")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
@@ -0,0 +1,33 @@
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("1.6.1")
|
||||
description("a totally open, royalty-free, highly versatile audio codec")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://downloads.xiph.org/releases/opus/opus-1.6.1.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure(
|
||||
[
|
||||
"--prefix=/",
|
||||
f"--libdir={get_prefix('libopus')}/lib",
|
||||
f"--includedir={get_prefix('libopus-dev')}/include",
|
||||
]
|
||||
)
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("libopus")
|
||||
dep("semi-libc @same-arch")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
|
||||
package("libopus-dev")
|
||||
dep("libopus (same)")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
@@ -0,0 +1,56 @@
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
|
||||
version("1.6.58")
|
||||
description("the official PNG reference library")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/pnggroup/libpng/archive/refs/tags/v1.6.58.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
builddep("libz-ng-dev @target")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure([
|
||||
f"--libdir={get_prefix('libpng')}/lib",
|
||||
f"--includedir={get_prefix('libpng')}/include",
|
||||
"--enable-hardware-optimizations=on",
|
||||
])
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack_tools(composer):
|
||||
composer.makedir("bin")
|
||||
composer.addfile("bin/png-fix-itxt")
|
||||
composer.addfile("bin/pngfix")
|
||||
|
||||
def pack_dev(composer):
|
||||
composer.makedir("lib")
|
||||
composer.addfile("lib/libpng.a")
|
||||
composer.addfile("lib/libpng.la")
|
||||
composer.addfile("lib/libpng16.a")
|
||||
composer.addfile("lib/libpng16.la")
|
||||
composer.add_dir("lib/pkgconfig")
|
||||
composer.makedir("bin")
|
||||
composer.addfile("bin/libpng-config")
|
||||
composer.addfile("bin/libpng16-config")
|
||||
composer.add_dir("include")
|
||||
|
||||
|
||||
package("libpng")
|
||||
dep("libz @same-arch")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
|
||||
package("libpng-tools")
|
||||
dep("libpng (same)")
|
||||
on_pack(pack_tools)
|
||||
|
||||
package("libpng-dev")
|
||||
dep("libpng (same)")
|
||||
dep("libz-dev @same-arch")
|
||||
on_pack(pack_dev)
|
||||
@@ -0,0 +1,43 @@
|
||||
from lib import cpp, arch
|
||||
from lib.make import *
|
||||
|
||||
version("0.23.1")
|
||||
description("C library for the Public Suffix List")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url(
|
||||
"https://github.com/rockdaboot/libpsl/releases/download/0.23.1/libpsl-0.23.1.tar.gz"
|
||||
)
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
builddep(f"libicu4c-dev @{arch.get_target()}")
|
||||
builddep("pkgconf")
|
||||
|
||||
def build():
|
||||
cpp.configure(
|
||||
[
|
||||
"--prefix=/",
|
||||
f"--libdir={get_prefix('libpsl')}/lib",
|
||||
f"--includedir={get_prefix('libpsl-dev')}/include",
|
||||
"--disable-nls",
|
||||
"--enable-runtime=libicu",
|
||||
]
|
||||
)
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("libpsl")
|
||||
dep("semi-libc @same-arch")
|
||||
dep("libicu4c @same-arch")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
|
||||
package("libpsl-tools")
|
||||
dep("libpsl (same)")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
|
||||
package("libpsl-dev")
|
||||
dep("libpsl (same)")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
@@ -0,0 +1,40 @@
|
||||
from lib.make import *
|
||||
from lib import cpp, arch
|
||||
|
||||
|
||||
version("2.24.1")
|
||||
description("an implementation for VA-API")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/intel/libva/releases/download/2.24.1/libva-2.24.1.tar.bz2")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
builddep("libwayland-dev @target")
|
||||
builddep("libdrm-dev @target")
|
||||
builddep("libffi-dev @target")
|
||||
builddep("pkgconf @target")
|
||||
builddep("linux-dev @target")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure([
|
||||
f"--libdir={get_prefix('libva')}/lib",
|
||||
f"--includedir={get_prefix('libva-dev')}/include",
|
||||
"--enable-wayland",
|
||||
])
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
package("libva")
|
||||
dep("libdrm @same-arch")
|
||||
dep("libwayland @same-arch")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
|
||||
package("libva-dev")
|
||||
dep("libva (same)")
|
||||
dep("libwayland-dev @same-arch")
|
||||
dep("libdrm-dev @same-arch")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
@@ -0,0 +1,31 @@
|
||||
from lib import arch, cpp
|
||||
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]>")
|
||||
source_url("https://download.gnome.org/sources/libxml2/2.15/libxml2-2.15.3.tar.xz")
|
||||
|
||||
builddep("shortcut/autotools")
|
||||
builddep("shortcut/c")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure([
|
||||
f"--libdir={get_prefix('libxml2')}/lib",
|
||||
f"--includedir={get_prefix('libxml2-dev')}/include",
|
||||
])
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
package("libxml2")
|
||||
dep("semi-libc @same-arch")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
|
||||
package("libxml2-dev")
|
||||
dep("semi-libc @same-arch")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
@@ -0,0 +1,19 @@
|
||||
from lib.make import *
|
||||
|
||||
version("2.0")
|
||||
description("A small self-contained alternative to readline and libedit")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/antirez/linenoise/archive/refs/tags/2.0.tar.gz")
|
||||
|
||||
on_build(lambda: None)
|
||||
|
||||
|
||||
def pack_dev(composer):
|
||||
composer.addfile("linenoise.c", "linenoise.c")
|
||||
composer.addfile("linenoise.h", "linenoise.h")
|
||||
composer.addfile("Makefile", "Makefile")
|
||||
|
||||
|
||||
package("linenoise-dev")
|
||||
arch_any()
|
||||
on_pack(pack_dev)
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,84 @@
|
||||
import os
|
||||
import shutil
|
||||
|
||||
import lib.arch as arch
|
||||
import lib.cpp as cpp
|
||||
from lib.make import *
|
||||
|
||||
upstream_version = "6.18.45"
|
||||
|
||||
version(f"{upstream_version}")
|
||||
description("the Linux operating system kernel")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url(
|
||||
f"https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-{upstream_version}.tar.xz"
|
||||
)
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
builddep("libncurses-dev")
|
||||
builddep("aws-lc-dev")
|
||||
builddep("aws-lc-tools")
|
||||
|
||||
|
||||
def get_arch():
|
||||
return arch.get_target().split("-")[0].replace("aarch64", "arm64")
|
||||
|
||||
|
||||
def build():
|
||||
makeopts = [f"ARCH={get_arch()}", "LLVM=1", f"HOSTCC={os.environ.get('HOSTCC', 'cc')}"]
|
||||
config_name = get_arch()
|
||||
if os.environ.get("LINUX_VARIANT"):
|
||||
config_name += "-" + os.environ["LINUX_VARIANT"]
|
||||
config_file = "../../configs/config." + config_name
|
||||
|
||||
shutil.copy2(config_file, ".config")
|
||||
|
||||
cpp.make(makeopts + ["olddefconfig"])
|
||||
cpp.make(makeopts)
|
||||
cpp.make(["headers_install", "INSTALL_HDR_PATH=../kheaders_install"])
|
||||
cpp.make(["install", "INSTALL_PATH=../kimage_install"])
|
||||
cpp.make(
|
||||
["modules_install", "INSTALL_MOD_STRIP=1", "INSTALL_MOD_PATH=../kmod_install"]
|
||||
)
|
||||
os.remove(f"../kmod_install/lib/modules/{upstream_version}/build")
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
base_name = "linux"
|
||||
if os.environ.get("LINUX_VARIANT"):
|
||||
base_name += "-" + os.environ["LINUX_VARIANT"]
|
||||
|
||||
|
||||
def pack_linux_dev(composer):
|
||||
composer.add_dir(
|
||||
"../kheaders_install/include",
|
||||
"include",
|
||||
)
|
||||
|
||||
|
||||
package(f"{base_name}-dev")
|
||||
on_pack(pack_linux_dev)
|
||||
|
||||
|
||||
def pack_linux(composer):
|
||||
try:
|
||||
composer.addfile(f"../kimage_install/vmlinux-{upstream_version}", "vmlinux")
|
||||
except Exception:
|
||||
pass
|
||||
try:
|
||||
composer.addfile(f"../kimage_install/vmlinuz-{upstream_version}", "vmlinuz")
|
||||
except Exception:
|
||||
pass
|
||||
try:
|
||||
composer.addfile(
|
||||
f"../kimage_install/System.map-{upstream_version}", "System.map"
|
||||
)
|
||||
except Exception:
|
||||
pass
|
||||
composer.add_dir(f"../kmod_install/lib/modules/{upstream_version}", "modules")
|
||||
|
||||
|
||||
package(f"{base_name}")
|
||||
on_pack(pack_linux)
|
||||
@@ -0,0 +1,334 @@
|
||||
import os
|
||||
import subprocess
|
||||
import shutil
|
||||
import glob
|
||||
|
||||
import lib
|
||||
from lib import arch, cpp
|
||||
from lib.make import *
|
||||
|
||||
pkgver = "22.1.8"
|
||||
[pkgver_major, pkgver_minor, pkgver_rev] = pkgver.split(".")
|
||||
|
||||
version(pkgver)
|
||||
description("a collection of modular and reusable compiler and toolchain technologies")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url(f"https://github.com/llvm/llvm-project/releases/download/llvmorg-{pkgver}/llvm-project-{pkgver}.src.tar.xz")
|
||||
|
||||
builddep("shortcut/c++")
|
||||
builddep("shortcut/cmake")
|
||||
builddep(f"linux-dev @{arch.get_target()}")
|
||||
builddep(f"libffi-dev @{arch.get_target()}")
|
||||
builddep(f"libz-ng-dev @{arch.get_target()}")
|
||||
builddep(f"aws-lc-dev @{arch.get_target()}")
|
||||
builddep(f"libunwind-dev @{arch.get_target()}")
|
||||
|
||||
|
||||
srcdir = None
|
||||
packname = None
|
||||
|
||||
def llvm_host_triple():
|
||||
return arch.get_target().replace("-semios-linux", "-unknown-linux-musl")
|
||||
|
||||
def cmake(sourcedir, args):
|
||||
builddir = os.getcwd() + f"/../_build_{sourcedir}"
|
||||
installdir = os.getcwd() + f"/../_cpp_install/{sourcedir}"
|
||||
template_args = [
|
||||
"cmake", "-G", "Ninja", "-S", sourcedir, "-B", builddir,
|
||||
"-DCMAKE_BUILD_TYPE=Release",
|
||||
|
||||
f"-DLLVM_DEFAULT_TARGET_TRIPLE={llvm_host_triple()}",
|
||||
f"-DLLVM_HOST_TRIPLE={llvm_host_triple()}",
|
||||
|
||||
"-DLLVM_ENABLE_EH=ON",
|
||||
"-DLLVM_ENABLE_RTTI=ON",
|
||||
"-DLLVM_ENABLE_ASSERTIONS=OFF",
|
||||
"-DLLVM_BUILD_LLVM_DYLIB=ON",
|
||||
"-DLLVM_LINK_LLVM_DYLIB=ON",
|
||||
|
||||
"-DLLVM_ENABLE_LIBCXX=ON",
|
||||
"-DLLVM_ENABLE_LLD=ON",
|
||||
"-DLLVM_ENABLE_FFI=ON",
|
||||
]
|
||||
subprocess.run(template_args + args, check=True)
|
||||
subprocess.run(["cmake", "--build", builddir], check=True)
|
||||
os.environ["DESTDIR"] = installdir
|
||||
subprocess.run(["cmake", "--install", builddir], check=True)
|
||||
|
||||
def import_llvm():
|
||||
return [f"-DLLVM_ROOT={os.getcwd()}/../_cpp_install/llvm/usr/local"]
|
||||
|
||||
def import_clang():
|
||||
return [f"-DClang_DIR={os.getcwd()}/../_cpp_install/clang/usr/local"]
|
||||
|
||||
def enter_install(name):
|
||||
global packname
|
||||
packname = name
|
||||
|
||||
def auto_pack_static(composer):
|
||||
composer.makedir("lib")
|
||||
for i in os.listdir("lib"):
|
||||
if ".a" in i:
|
||||
composer.addfile(f"lib/{i}", f"lib/{i}")
|
||||
|
||||
def auto_pack_dev(composer, name, devbins=[], extdirs=["lib/cmake"]):
|
||||
composer.add_dir("include", "include")
|
||||
composer.makedir("lib")
|
||||
for i in os.listdir("lib"):
|
||||
prefix = None
|
||||
if os.path.isdir(f"lib/{i}") and f"lib/{i}" in extdirs:
|
||||
composer.add_dir(f"lib/{i}", f"lib/{i}")
|
||||
elif ".so" in i:
|
||||
prefix = get_prefix(f"lib{name}")
|
||||
elif ".a" in i:
|
||||
prefix = get_prefix(f"lib{name}-static")
|
||||
if prefix:
|
||||
os.symlink(f"{prefix}/lib/{i}", f"{composer.workdir}/bundle/lib/{i}")
|
||||
composer.makedir("bin")
|
||||
for i in devbins:
|
||||
composer.addfile(f"bin/{i}", f"bin/{i}")
|
||||
for i in os.listdir("bin"):
|
||||
if i in devbins:
|
||||
continue
|
||||
prefix = get_prefix(name)
|
||||
os.symlink(f"{prefix}/bin/{i}", f"{composer.workdir}/bundle/bin/{i}")
|
||||
|
||||
def auto_pack_runtime_lib(composer, name):
|
||||
composer.makedir("lib")
|
||||
for i in os.listdir("lib"):
|
||||
if name in i and ".so" in i:
|
||||
composer.addfile(f"lib/{i}", f"lib/{i}")
|
||||
|
||||
def auto_pack_glob(composer, matches):
|
||||
for matchable in matches:
|
||||
for i in glob.glob(matchable):
|
||||
composer.makedirs(f"{os.path.dirname(i)}")
|
||||
if os.path.isdir(i):
|
||||
composer.add_dir(i, i)
|
||||
else:
|
||||
composer.addfile(i, i)
|
||||
|
||||
|
||||
old_on_pack = on_pack
|
||||
def new_on_pack(f):
|
||||
current_packname = packname
|
||||
def wrap_f(composer):
|
||||
pkgdir = f"{srcdir}/../_cpp_install/{current_packname}/usr/local"
|
||||
os.chdir(pkgdir)
|
||||
f(composer)
|
||||
old_on_pack(wrap_f)
|
||||
lib.make.on_pack = new_on_pack
|
||||
on_pack = new_on_pack
|
||||
|
||||
|
||||
def build_llvm():
|
||||
cmake("llvm", [])
|
||||
|
||||
def build_bolt():
|
||||
cmake("bolt", import_llvm())
|
||||
|
||||
def build_clang():
|
||||
options = [
|
||||
"-DCLANG_DEFAULT_CXX_STDLIB=libc++",
|
||||
"-DCLANG_DEFAULT_RTLIB=compiler-rt",
|
||||
"-DLLVM_INCLUDE_TESTS=OFF",
|
||||
f"-DC_INCLUDE_DIRS=/lib/{arch.get_target()}/include:{get_prefix('clang')}/lib/clang/{pkgver_major}/include",
|
||||
]
|
||||
cmake("clang", import_llvm() + options)
|
||||
|
||||
def build_lldb():
|
||||
cmake("lldb", import_llvm() + import_clang())
|
||||
|
||||
def build_lld():
|
||||
cmake("lld", import_llvm())
|
||||
|
||||
def build_polly():
|
||||
cmake("polly", import_llvm())
|
||||
|
||||
def build_runtimes():
|
||||
os.makedirs("../_build_runtimes", exist_ok=True)
|
||||
shutil.rmtree("../_build_runtimes")
|
||||
options = [
|
||||
# Configure runtimes
|
||||
"-DLLVM_ENABLE_RUNTIMES=libunwind;libcxxabi;libcxx",
|
||||
|
||||
# Configure libcxx
|
||||
"-DLIBCXX_HAS_MUSL_LIBC=ON",
|
||||
]
|
||||
cmake("runtimes", options)
|
||||
shutil.rmtree("../_build_runtimes")
|
||||
options = [
|
||||
# Configure runtimes
|
||||
"-DLLVM_ENABLE_RUNTIMES=compiler-rt",
|
||||
|
||||
# Configure compiler-rt
|
||||
"-DCOMPILER_RT_USE_BUILTINS_LIBRARY=ON",
|
||||
"-DCOMPILER_RT_BUILD_GWP_ASAN=OFF",
|
||||
"-DCOMPILER_RT_BUILD_LIBFUZZER=OFF",
|
||||
]
|
||||
cmake("runtimes", options)
|
||||
|
||||
|
||||
def build():
|
||||
global srcdir
|
||||
srcdir = os.getcwd()
|
||||
build_llvm()
|
||||
build_bolt()
|
||||
build_clang()
|
||||
build_lldb()
|
||||
build_lld()
|
||||
build_polly()
|
||||
build_runtimes()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
enter_install("llvm")
|
||||
|
||||
package("libllvm")
|
||||
dep("semi-libc @same-arch")
|
||||
dep("libunwind @same-arch")
|
||||
dep("libcxx @same-arch")
|
||||
dep("libcxxabi @same-arch")
|
||||
dep("libffi @same-arch")
|
||||
on_pack(lambda composer: auto_pack_glob(composer, ["lib/*.so*"]))
|
||||
|
||||
package("libllvm-dev")
|
||||
dep("libllvm (same)")
|
||||
on_pack(lambda composer: auto_pack_dev(composer, "llvm", ["llvm-config"]))
|
||||
|
||||
package("libllvm-static")
|
||||
on_pack(auto_pack_static)
|
||||
|
||||
def pack_llvm(composer):
|
||||
composer.add_dir("bin", "bin")
|
||||
os.remove(f"{composer.workdir}/bundle/bin/llvm-config")
|
||||
composer.add_dir("share", "share")
|
||||
|
||||
package("llvm")
|
||||
dep("libllvm (same)")
|
||||
on_pack(pack_llvm)
|
||||
for i in ["strip", "ar", "ranlib", "readelf", "objcopy", "objdump", "strings", "nm"]:
|
||||
link(f"bin/llvm-{i}", f"/bin/{i}")
|
||||
|
||||
|
||||
enter_install("bolt")
|
||||
|
||||
package("bolt")
|
||||
dep("libcxx @same-arch")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
|
||||
|
||||
enter_install("clang")
|
||||
|
||||
package("libclang")
|
||||
dep("libllvm (same)")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
|
||||
package("libclang-static")
|
||||
on_pack(auto_pack_static)
|
||||
|
||||
package("libclang-dev")
|
||||
dep("libclang (same)")
|
||||
on_pack(lambda composer: auto_pack_dev(composer, "clang"))
|
||||
|
||||
def pack_clang(composer):
|
||||
# Add base files
|
||||
composer.add_dir("bin", "bin")
|
||||
composer.add_dir("libexec", "libexec")
|
||||
composer.makedir("share")
|
||||
for i in ["clang", "scan-build", "scan-view"]:
|
||||
composer.add_dir(f"share/{i}", f"share/{i}")
|
||||
|
||||
# Add resource files
|
||||
composer.makedir("lib")
|
||||
composer.add_dir("lib/clang", "lib/clang")
|
||||
|
||||
# Add compiler-rt for current architecture
|
||||
linuxrtdir = "../../../runtimes/usr/local/lib/linux"
|
||||
localrtdir = f"lib/clang/{pkgver_major}/lib/{llvm_host_triple()}"
|
||||
composer.makedirs(localrtdir)
|
||||
for rtlib in os.listdir(linuxrtdir):
|
||||
larch = llvm_host_triple().split("-")[0]
|
||||
lrtlib = rtlib.replace(f"-{larch}", "")
|
||||
composer.addfile(f"{linuxrtdir}/{rtlib}", f"{localrtdir}/{lrtlib}")
|
||||
|
||||
# Add symlink to system directories, which is required for finding libc++
|
||||
os.symlink(f"/lib/{arch.get_target()}/include", f"{composer.workdir}/bundle/include")
|
||||
|
||||
# Add configuration
|
||||
clang_cfg = f"-L/lib/{arch.get_target()}\n-B/lib/{arch.get_target()}\n-rtlib=compiler-rt\n"
|
||||
clangxx_cfg = f"-stdlib=libc++\n{clang_cfg}"
|
||||
with open(f"{composer.workdir}/bundle/bin/clang.cfg", "wt+") as file:
|
||||
file.write(clang_cfg)
|
||||
with open(f"{composer.workdir}/bundle/bin/clang++.cfg", "wt+") as file:
|
||||
file.write(clangxx_cfg)
|
||||
|
||||
package("clang")
|
||||
dep("libclang (same)")
|
||||
on_pack(pack_clang)
|
||||
link("bin/clang", "/bin/cc")
|
||||
link("bin/clang++", "/bin/c++")
|
||||
link("bin/clang-cpp", "/bin/cpp")
|
||||
|
||||
|
||||
enter_install("lld")
|
||||
|
||||
package("lld")
|
||||
dep("libllvm (same)")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
link("bin/ld.lld", "/bin/ld")
|
||||
|
||||
package("lld-dev")
|
||||
dep("lld (same)")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
|
||||
|
||||
enter_install("lldb")
|
||||
|
||||
package("liblldb")
|
||||
dep("libclang (same)")
|
||||
dep("libllvm (same)")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
|
||||
package("liblldb-dev")
|
||||
dep("liblldb (same)")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
|
||||
package("lldb")
|
||||
dep("liblldb (same)")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
|
||||
|
||||
enter_install("polly")
|
||||
|
||||
package("polly")
|
||||
dep("libcxx @same-arch")
|
||||
on_pack(lambda composer: auto_pack_glob(composer, ["*"]))
|
||||
|
||||
|
||||
enter_install("runtimes")
|
||||
|
||||
package("libunwind")
|
||||
dep("semi-libc @same-arch")
|
||||
on_pack(lambda composer: auto_pack_runtime_lib(composer, "unwind"))
|
||||
|
||||
package("libunwind-dev")
|
||||
dep("libunwind (same)")
|
||||
on_pack(lambda composer: auto_pack_glob(composer, ["lib/libunwind.a", "include/*unwind*", "include/mach-o"]))
|
||||
|
||||
package("libcxxabi")
|
||||
dep("libunwind (same)")
|
||||
on_pack(lambda composer: auto_pack_runtime_lib(composer, "libc++abi"))
|
||||
|
||||
package("libcxxabi-dev")
|
||||
dep("libcxxabi (same)")
|
||||
on_pack(lambda composer: auto_pack_glob(composer, ["lib/libc++abi.a"]))
|
||||
|
||||
package("libcxx")
|
||||
dep("libcxxabi (same)")
|
||||
on_pack(lambda composer: auto_pack_runtime_lib(composer, "libc++"))
|
||||
|
||||
package("libcxx-dev")
|
||||
dep("libcxx (same)")
|
||||
on_pack(lambda composer: auto_pack_glob(composer, ["lib/libc++experimental.a", "lib/libc++.a", "lib/libc++.modules.json", "include/c++", "share/libc++"]))
|
||||
@@ -0,0 +1,28 @@
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
from lib import arch, cpp
|
||||
from lib.make import *
|
||||
|
||||
version("1.14.6")
|
||||
description("a suite of tools compiling mdoc, the roff macro language, and man")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://mandoc.bsd.lv/snapshots/mandoc-1.14.6.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
builddep(f"libz-ng-dev @{arch.get_target()}")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure()
|
||||
cpp.make([f"CC={os.environ['CC']}"])
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("mandoc")
|
||||
dep("libz @same-arch")
|
||||
dep("semi-libc @same-arch")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
@@ -0,0 +1,259 @@
|
||||
import glob
|
||||
import os
|
||||
|
||||
from lib.make import *
|
||||
from lib import cpp, arch
|
||||
|
||||
|
||||
version("26.2.0")
|
||||
description("Open source implementations of OpenGL, OpenGL ES, Vulkan, OpenCL, and more")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://archive.mesa3d.org/mesa-26.2.0.tar.xz")
|
||||
|
||||
builddep("shortcut/meson")
|
||||
builddep("shortcut/c++")
|
||||
builddep("libwayland-dev @target")
|
||||
builddep("wayland-protocols @target")
|
||||
builddep("libffi-dev @target")
|
||||
builddep("libexpat-dev @target")
|
||||
builddep("pkgconf @target")
|
||||
builddep("libllvm-dev @target")
|
||||
builddep("libclang-dev @target")
|
||||
builddep("libunwind-dev @target")
|
||||
builddep("libz-ng-dev @target")
|
||||
builddep("libzstd-dev @target")
|
||||
builddep("libgldispatch-dev @target")
|
||||
builddep("libegl-dev @target")
|
||||
builddep("libopengl-dev @target")
|
||||
builddep("libglesv2-dev @target")
|
||||
builddep("libva-dev @target")
|
||||
builddep("libdrm-dev @target")
|
||||
builddep("libllvmspirv-dev @target")
|
||||
builddep("spirv-tools-dev @target")
|
||||
builddep("libpng-dev @target")
|
||||
builddep("libarchive-dev @target")
|
||||
builddep("aws-lc-dev @target")
|
||||
builddep("libxml2-dev @target")
|
||||
builddep("linux-dev @target")
|
||||
builddep("bison")
|
||||
builddep("flex")
|
||||
builddep("PyYAML.py")
|
||||
builddep("Mako.py")
|
||||
builddep("packaging.py")
|
||||
builddep("pycparser.py")
|
||||
builddep("glslang")
|
||||
|
||||
archspec = {
|
||||
"aarch64-semios-linux": {
|
||||
"vulkan_drivers": [
|
||||
"mesa-vulkan-asahi",
|
||||
"mesa-vulkan-freedreno",
|
||||
"mesa-vulkan-intel",
|
||||
"mesa-vulkan-lvp",
|
||||
"mesa-vulkan-panfrost",
|
||||
],
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
def build():
|
||||
cpp.meson_setup([
|
||||
# Generic directories
|
||||
f"--libdir=/lib/{arch.get_target()}",
|
||||
f"--includedir=/lib/{arch.get_target()}/include",
|
||||
f"--datadir=/share",
|
||||
|
||||
# Platform selection
|
||||
"-Dplatforms=wayland",
|
||||
|
||||
# User Features
|
||||
"-Dshader-cache=enabled",
|
||||
"-Dxmlconfig=enabled",
|
||||
|
||||
# Gallium
|
||||
"-Dgallium-drivers=auto",
|
||||
"-Dgallium-va=enabled",
|
||||
f"-Dva-libs-path=/lib/{arch.get_target()}/dri",
|
||||
|
||||
# Vulkan
|
||||
"-Dvulkan-drivers=auto",
|
||||
"-Dvulkan-layers=device-select,overlay,screenshot,anti-lag,vram-report-limit",
|
||||
f"-Dvulkan-icd-dir=/lib/{arch.get_target()}/vulkan/icd.d",
|
||||
"-Dvulkan-manifest-per-architecture=false",
|
||||
f"-Dvulkan-loader-rpath=/lib/{arch.get_target()}",
|
||||
|
||||
# GLES
|
||||
"-Dgles1=disabled",
|
||||
"-Dgles2=enabled",
|
||||
|
||||
# GBM
|
||||
"-Dgbm=enabled",
|
||||
f"-Dgbm-backends-path=/lib/{arch.get_target()}/gbm",
|
||||
f"-Ddri-drivers-path=/lib/{arch.get_target()}/dri",
|
||||
|
||||
# EGL
|
||||
"-Degl=enabled",
|
||||
"-Degl-native-platform=surfaceless",
|
||||
|
||||
# GLVND
|
||||
"-Dglvnd=enabled",
|
||||
|
||||
# Hardware Video Decoding
|
||||
"-Dvideo-codecs=all_free",
|
||||
|
||||
# Intel
|
||||
"-Dintel-rt=enabled",
|
||||
|
||||
# LLVM Configuration
|
||||
"-Dllvm=enabled",
|
||||
"-Dshared-llvm=enabled",
|
||||
"-Dllvm-orcjit=true",
|
||||
|
||||
# Libraries to use
|
||||
"-Dexpat=enabled",
|
||||
"-Dzstd=enabled",
|
||||
"-Dzlib=enabled",
|
||||
|
||||
# X11-related stuff
|
||||
# We don't have X11 yet, so leave them disabled.
|
||||
"-Dxlib-lease=disabled",
|
||||
"-Dglx=disabled",
|
||||
])
|
||||
cpp.meson_compile()
|
||||
cpp.meson_install(move=False)
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
libdir = f"lib/{arch.get_target()}"
|
||||
includedir = f"{libdir}/include"
|
||||
|
||||
def composer_add(composer, src, dst):
|
||||
if os.path.isdir(src):
|
||||
composer.add_dir(src, dst)
|
||||
else:
|
||||
composer.addfile(src, dst)
|
||||
|
||||
def pack_lib_simple(composer, name):
|
||||
composer.makedir("lib")
|
||||
for i in os.listdir(libdir):
|
||||
if name in i:
|
||||
composer_add(composer, f"{libdir}/{i}", f"lib/{i}")
|
||||
|
||||
def pack_dev_simple(composer, name):
|
||||
composer.makedirs("lib/pkgconfig")
|
||||
composer.makedir("include")
|
||||
for i in os.listdir(f"{libdir}/pkgconfig"):
|
||||
if name in i:
|
||||
composer.addfile(f"{libdir}/pkgconfig/{i}", f"lib/pkgconfig/{i}")
|
||||
for i in os.listdir(includedir):
|
||||
if name in i:
|
||||
composer_add(composer, f"{includedir}/{i}", f"include/{i}")
|
||||
|
||||
def pack_dri_dev(composer):
|
||||
composer.makedir("include")
|
||||
composer.add_dir(f"{includedir}/GL", "include/GL")
|
||||
composer.makedirs("lib/pkgconfig")
|
||||
composer.addfile(f"{libdir}/pkgconfig/dri.pc", "lib/pkgconfig/dri.pc")
|
||||
|
||||
def pack_libgallium(composer):
|
||||
pack_lib_simple(composer, "gallium")
|
||||
composer.add_dir(f"{libdir}/dri", "lib/dri")
|
||||
composer.add_dir("share/drirc.d", "share/drirc.d")
|
||||
|
||||
def pack_libegl(composer):
|
||||
pack_lib_simple(composer, "EGL")
|
||||
composer.add_dir("share/glvnd", "share/glvnd")
|
||||
|
||||
def pack_vulkan(composer, name):
|
||||
composer.makedir("lib")
|
||||
composer.addfile(f"{libdir}/libvulkan_{name}.so", f"lib/libvulkan_{name}.so")
|
||||
composer.makedirs("lib/vulkan/icd.d")
|
||||
composer.addfile(f"{libdir}/vulkan/icd.d/{name}_icd.json", f"lib/vulkan/icd.d/{name}_icd.json")
|
||||
|
||||
def hasvulkan(name):
|
||||
return name in archspec[arch.get_target()]["vulkan_drivers"]
|
||||
|
||||
|
||||
package("libgbm")
|
||||
dep("libdrm @same-arch")
|
||||
dep("semi-libc @same-arch")
|
||||
on_pack(lambda composer: pack_lib_simple(composer, "gbm"))
|
||||
|
||||
package("libgbm-dev")
|
||||
dep("libdrm-dev @same-arch")
|
||||
dep("libgbm (same)")
|
||||
on_pack(lambda composer: pack_dev_simple(composer, "gbm"))
|
||||
|
||||
package("libgallium")
|
||||
dep("libdrm @same-arch")
|
||||
dep("libllvm @same-arch")
|
||||
dep("libexpat @same-arch")
|
||||
dep("libz @same-arch")
|
||||
dep("libzstd @same-arch")
|
||||
dep("libcxx @same-arch")
|
||||
on_pack(pack_libgallium)
|
||||
|
||||
package("mesa-dri-dev")
|
||||
on_pack(pack_dri_dev)
|
||||
|
||||
package("libegl-mesa")
|
||||
dep("libgallium (same)")
|
||||
dep("libgbm (same)")
|
||||
dep("libexpat @same-arch")
|
||||
dep("libdrm @same-arch")
|
||||
dep("libwayland @same-arch")
|
||||
on_pack(pack_libegl)
|
||||
|
||||
package("libegl-mesa-dev")
|
||||
dep("libgbm-dev (same)")
|
||||
dep("libexpat-dev @same-arch")
|
||||
dep("libdrm-dev @same-arch")
|
||||
dep("libwayland-dev @same-arch")
|
||||
dep("libegl-mesa (same)")
|
||||
on_pack(lambda composer: pack_dev_simple(composer, "EGL"))
|
||||
|
||||
if hasvulkan("mesa-vulkan-asahi"):
|
||||
package("mesa-vulkan-asahi")
|
||||
dep("libdrm @same-arch")
|
||||
dep("libwayland @same-arch")
|
||||
dep("libz @same-arch")
|
||||
dep("libzstd @same-arch")
|
||||
dep("libcxx @same-arch")
|
||||
on_pack(lambda composer: pack_vulkan(composer, "asahi"))
|
||||
|
||||
if hasvulkan("mesa-vulkan-freedreno"):
|
||||
package("mesa-vulkan-freedreno")
|
||||
dep("libdrm @same-arch")
|
||||
dep("libwayland @same-arch")
|
||||
dep("libz @same-arch")
|
||||
dep("libzstd @same-arch")
|
||||
dep("libcxx @same-arch")
|
||||
on_pack(lambda composer: pack_vulkan(composer, "freedreno"))
|
||||
|
||||
if hasvulkan("mesa-vulkan-intel"):
|
||||
package("mesa-vulkan-intel")
|
||||
dep("libdrm @same-arch")
|
||||
dep("libwayland @same-arch")
|
||||
dep("libz @same-arch")
|
||||
dep("libzstd @same-arch")
|
||||
dep("libcxx @same-arch")
|
||||
on_pack(lambda composer: pack_vulkan(composer, "intel"))
|
||||
|
||||
if hasvulkan("mesa-vulkan-lvp"):
|
||||
package("mesa-vulkan-lvp")
|
||||
dep("libdrm @same-arch")
|
||||
dep("libwayland @same-arch")
|
||||
dep("libz @same-arch")
|
||||
dep("libzstd @same-arch")
|
||||
dep("libcxx @same-arch")
|
||||
on_pack(lambda composer: pack_vulkan(composer, "lvp"))
|
||||
|
||||
if hasvulkan("mesa-vulkan-panfrost"):
|
||||
package("mesa-vulkan-panfrost")
|
||||
dep("libdrm @same-arch")
|
||||
dep("libwayland @same-arch")
|
||||
dep("libz @same-arch")
|
||||
dep("libzstd @same-arch")
|
||||
dep("libcxx @same-arch")
|
||||
on_pack(lambda composer: pack_vulkan(composer, "panfrost"))
|
||||
@@ -0,0 +1,37 @@
|
||||
import subprocess
|
||||
import os
|
||||
|
||||
from lib.make import *
|
||||
|
||||
version("1.12.0")
|
||||
description("The Meson Build System")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/mesonbuild/meson/releases/download/1.12.0/meson-1.12.0.tar.gz")
|
||||
|
||||
builddep("python")
|
||||
|
||||
|
||||
def build():
|
||||
if os.path.exists("meson"):
|
||||
os.remove("meson")
|
||||
subprocess.run([
|
||||
"python3",
|
||||
"./packaging/create_zipapp.py",
|
||||
"--outfile",
|
||||
"meson",
|
||||
"--interpreter",
|
||||
"/bin/python3"
|
||||
])
|
||||
os.chmod("meson", 0o555)
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack_meson(composer):
|
||||
composer.makedir("bin")
|
||||
composer.addfile("meson", "bin/meson")
|
||||
|
||||
package("meson")
|
||||
dep("python @same-arch")
|
||||
recommend("ninja")
|
||||
on_pack(pack_meson)
|
||||
@@ -0,0 +1,32 @@
|
||||
import subprocess
|
||||
|
||||
from lib.make import *
|
||||
|
||||
version("1.59.2")
|
||||
description("the MirBSD Korn Shell, a minimal and useful implementation of the POSIX shell with extensions")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url(
|
||||
"https://github.com/mirabilos/mksh-cvs2git/archive/refs/tags/mksh-R59c.tar.gz"
|
||||
)
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("gnu-sed")
|
||||
|
||||
|
||||
def build():
|
||||
subprocess.run(["sh", "./Build.sh"], check=True)
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack_mksh(composer):
|
||||
composer.makedir("bin")
|
||||
composer.addfile("mksh", "bin/mksh")
|
||||
|
||||
|
||||
package("mksh")
|
||||
on_pack(pack_mksh)
|
||||
dep("semi-libc @same-arch")
|
||||
provide("sh")
|
||||
link("bin/mksh", "/bin/sh")
|
||||
@@ -0,0 +1,70 @@
|
||||
import os
|
||||
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("6.6")
|
||||
description("the ncurses terminal library")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://invisible-island.net/archives/ncurses/ncurses-6.6.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure(
|
||||
[
|
||||
"--prefix=/",
|
||||
f"--bindir={get_prefix('ncurses-tools')}/bin",
|
||||
f"--sbindir={get_prefix('ncurses-tools')}/sbin",
|
||||
f"--libdir={get_prefix('libncurses')}/lib",
|
||||
f"--includedir={get_prefix('libncurses')}/include",
|
||||
"--enable-pc-files",
|
||||
"--with-shared",
|
||||
f"--with-terminfo-dirs={get_prefix('ncurses-terminfo')}/share/terminfo:/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")
|
||||
|
||||
|
||||
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")
|
||||
composer.add_dir("share/terminfo")
|
||||
|
||||
|
||||
package("ncurses-terminfo")
|
||||
arch_any()
|
||||
on_pack(pack_terminfo)
|
||||
@@ -0,0 +1,30 @@
|
||||
import os
|
||||
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("19")
|
||||
description("A vi/ex editor for editing UTF-8 text")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/aligrudi/neatvi/archive/refs/tags/19.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.make([f"CC={os.environ['CC']}"])
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack(composer):
|
||||
composer.makedir("bin")
|
||||
composer.addfile("vi", "bin/vi")
|
||||
|
||||
|
||||
package("neatvi")
|
||||
provide("vi")
|
||||
dep("semi-libc @same-arch")
|
||||
on_pack(pack)
|
||||
@@ -0,0 +1,32 @@
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("5.3")
|
||||
description("A small vi/ex terminal text editor (neatvi rewrite)")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/kyx0r/nextvi/archive/refs/tags/5.3.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
|
||||
|
||||
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")
|
||||
@@ -0,0 +1,32 @@
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
|
||||
version("1.70.0")
|
||||
description("nghttp2 - HTTP/2 C Library and tools")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url(
|
||||
"https://github.com/nghttp2/nghttp2/releases/download/v1.70.0/nghttp2-1.70.0.tar.gz"
|
||||
)
|
||||
|
||||
builddep("shortcut/c++")
|
||||
builddep("shortcut/cmake")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.cmake([
|
||||
f"-DCMAKE_INSTALL_LIBDIR={get_prefix('libnghttp2')}/lib",
|
||||
f"-DCMAKE_INSTALL_INCLUDEDIR={get_prefix('libnghttp2-dev')}/include",
|
||||
])
|
||||
cpp.ninja()
|
||||
cpp.ninja_install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("libnghttp2")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
dep("semi-libc @same-arch")
|
||||
|
||||
package("libnghttp2-dev")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
dep("libnghttp2 (same)")
|
||||
@@ -0,0 +1,29 @@
|
||||
import os
|
||||
|
||||
from lib.make import *
|
||||
|
||||
version("1.13.2")
|
||||
description("a small build system with a focus on speed")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/ninja-build/ninja/archive/refs/tags/v1.13.2.tar.gz")
|
||||
|
||||
builddep("shortcut/c++")
|
||||
builddep("sed")
|
||||
|
||||
|
||||
def build():
|
||||
os.system("python3 ./configure.py --bootstrap")
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack_ninja(composer):
|
||||
composer.makedir("bin")
|
||||
composer.addfile("ninja", "bin/ninja")
|
||||
|
||||
|
||||
package("ninja")
|
||||
on_pack(pack_ninja)
|
||||
dep("semi-libc @same-arch")
|
||||
dep("libcxx @same-arch")
|
||||
@@ -0,0 +1,62 @@
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("10.3.1")
|
||||
description("the premier connectivity tool for remote login with the SSH protocol")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-10.3p1.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
builddep(f"libz-ng-dev @{arch.get_target()}")
|
||||
builddep(f"aws-lc-dev @{arch.get_target()}")
|
||||
|
||||
|
||||
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)
|
||||
@@ -0,0 +1,22 @@
|
||||
from lib.make import *
|
||||
from lib import python
|
||||
|
||||
|
||||
python.version("26.3")
|
||||
description("Core utilities for Python packages")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://files.pythonhosted.org/packages/7d/fa/3944b40b07da9ce895c0e6303a5ab7d53da063554f534556b134a54d6093/packaging-26.3.tar.gz")
|
||||
|
||||
python.builddep("$shortcut")
|
||||
|
||||
|
||||
def build():
|
||||
python.build()
|
||||
python.install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
package("packaging.py")
|
||||
python.dep("python")
|
||||
python.use_auto_pack()
|
||||
@@ -0,0 +1,22 @@
|
||||
from lib import rust
|
||||
from lib.make import *
|
||||
|
||||
|
||||
version("0.1.0-alpha.1")
|
||||
description("SemiOS package manager")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://gitea.semilabs.org/semios/packie/archive/0.1.0-alpha.1.tar.gz")
|
||||
|
||||
builddep("shortcut/rust")
|
||||
|
||||
|
||||
def build():
|
||||
rust.build(["--package", "packie-cli"])
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
package("packie")
|
||||
dep("semi-libc @same-arch")
|
||||
rust.use_auto_pack(["bin"])
|
||||
@@ -0,0 +1,28 @@
|
||||
import shutil
|
||||
import subprocess
|
||||
|
||||
from lib.make import *
|
||||
|
||||
version("15.1.1")
|
||||
description("the SemiOS fork of the UNIX patch utility")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://gitea.semilabs.org/semios/patch/archive/v15.1.1.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
|
||||
|
||||
def build():
|
||||
subprocess.run(["./build.sh"], check=True)
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack_patch(composer):
|
||||
composer.makedir("bin")
|
||||
composer.addfile("patch", "bin/patch")
|
||||
|
||||
|
||||
package("patch")
|
||||
dep("semi-libc @same-arch")
|
||||
on_pack(pack_patch)
|
||||
@@ -0,0 +1,41 @@
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("10.47")
|
||||
description("a set of C functions that implement regular expression pattern matching")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url(
|
||||
"https://github.com/PCRE2Project/pcre2/releases/download/pcre2-10.47/pcre2-10.47.tar.gz"
|
||||
)
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure(
|
||||
[
|
||||
"--prefix=/",
|
||||
f"--libdir={get_prefix('libpcre2')}/lib",
|
||||
f"--bindir={get_prefix('pcre2-tools')}/bin",
|
||||
f"--includedir={get_prefix('libpcre2-dev')}/include",
|
||||
"--enable-jit",
|
||||
]
|
||||
)
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("libpcre2")
|
||||
dep("semi-libc @same-arch")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
|
||||
package("pcre2-tools")
|
||||
dep("libpcre2 (same)")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
|
||||
package("libpcre2-dev")
|
||||
dep("semi-libc @same-arch")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
@@ -0,0 +1,77 @@
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
from lib import arch, cpp
|
||||
from lib.make import *
|
||||
|
||||
upstream_version = "5.42.2"
|
||||
|
||||
version(upstream_version)
|
||||
description("Perl is a highly capable, feature-rich programming language with over 37 years of development")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://www.cpan.org/src/5.0/perl-5.42.2.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
|
||||
block_hook("autolink")
|
||||
|
||||
|
||||
def build():
|
||||
subprocess.run(
|
||||
[
|
||||
"./Configure",
|
||||
"-de",
|
||||
f"-Dcc={os.environ.get('CC', 'cc')}",
|
||||
f"-Doptimize={os.environ.get('CFLAGS', '')}",
|
||||
"-Dusethreads",
|
||||
"-Duseshrplib",
|
||||
"-Dprefix=/",
|
||||
"-Dvendorprefix=/",
|
||||
f"-Dprivlib={get_prefix('libperl')}/share/core_perl",
|
||||
f"-Darchlib={get_prefix('libperl')}/lib/core_perl",
|
||||
f"-Dsitelib=/lib/{arch.get_target()}/perl5/site_perl",
|
||||
f"-Dsitearch=/lib/{arch.get_target()}/perl5/site_arch",
|
||||
f"-Dvendorlib=/lib/{arch.get_target()}/perl5/vendor_perl",
|
||||
f"-Dvendorarch=/lib/{arch.get_target()}/perl5/vendor_arch",
|
||||
f"-Dscriptdir={get_prefix('perl')}/bin/core_perl",
|
||||
"-Dsitescript=/bin/site_perl",
|
||||
"-Dvendorscript=/bin/vendor_perl",
|
||||
"-Dinc_version_list=none",
|
||||
"-Dman1dir=/share/man/man1",
|
||||
"-Dman3dir=/share/man/man3",
|
||||
"-Dman1ext=1perl",
|
||||
"-Dman3ext=3perl",
|
||||
f"-Dlddlflags=-shared {os.environ.get('LDFLAGS', '')}",
|
||||
f"-Dldflags={os.environ.get('LDFLAGS', '')}",
|
||||
],
|
||||
check=True,
|
||||
)
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack_libperl(composer):
|
||||
composer.makedir("lib")
|
||||
composer.makedir("share")
|
||||
composer.add_dir("lib/core_perl", "lib/core_perl")
|
||||
composer.add_dir("share/core_perl", "share/core_perl")
|
||||
|
||||
|
||||
package("libperl")
|
||||
dep("semi-libc @same-arch")
|
||||
on_pack(pack_libperl)
|
||||
|
||||
|
||||
def pack_perl(composer):
|
||||
composer.add_dir("bin", "bin")
|
||||
|
||||
|
||||
package("perl")
|
||||
dep("libperl (same)")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
link("bin/perl", "/bin/perl")
|
||||
link(f"bin/perl{upstream_version}", f"/bin/perl{upstream_version}")
|
||||
@@ -0,0 +1,31 @@
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
|
||||
version("0.46.4")
|
||||
description("a low-level software library for pixel manipulation")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://gitlab.freedesktop.org/pixman/pixman/-/archive/pixman-0.46.4/pixman-pixman-0.46.4.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/meson")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.meson_setup([
|
||||
f"--libdir={get_prefix('libpixman')}/lib",
|
||||
f"--includedir={get_prefix('libpixman-dev')}/include",
|
||||
])
|
||||
cpp.meson_compile()
|
||||
cpp.meson_install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
package("libpixman")
|
||||
dep("semi-libc @same-arch")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
|
||||
package("libpixman-dev")
|
||||
dep("libpixman (same)")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
@@ -0,0 +1,42 @@
|
||||
import lib.cpp as cpp
|
||||
from lib import arch
|
||||
from lib.make import *
|
||||
|
||||
version("2.5.1")
|
||||
description("package compiler and linker metadata toolkit")
|
||||
source_url("https://distfiles.ariadne.space/pkgconf/pkgconf-2.5.1.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure(
|
||||
[
|
||||
"--prefix=/",
|
||||
f"--bindir={get_prefix('pkgconf')}/bin",
|
||||
f"--libdir={get_prefix('libpkgconf')}/lib",
|
||||
f"--includedir={get_prefix('libpkgconf-dev')}/include",
|
||||
f"--with-system-libdir=/lib:/lib/{arch.get_target()}",
|
||||
f"--with-system-includedir=/lib/{arch.get_target()}/include",
|
||||
f"--with-pkg-config-dir=/lib/{arch.get_target()}/pkgconfig",
|
||||
]
|
||||
)
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("libpkgconf")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
dep("semi-libc @same-arch")
|
||||
|
||||
package("pkgconf")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
dep("libpkgconf (same)")
|
||||
link("bin/pkgconf", "/bin/pkg-config")
|
||||
|
||||
package("libpkgconf-dev")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
dep("libpkgconf (same)")
|
||||
@@ -0,0 +1,47 @@
|
||||
import subprocess
|
||||
|
||||
from lib import cpp, arch
|
||||
from lib.make import *
|
||||
|
||||
|
||||
version("4.0.7")
|
||||
description("Command line and full screen utilities for browsing procfs")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://sourceforge.net/projects/procps-ng/files/Production/procps-ng-4.0.7.tar.xz/download")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
builddep("libintl-dev @target")
|
||||
builddep("gettext")
|
||||
builddep("pkgconf @target")
|
||||
builddep("libncurses-dev @target")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure([
|
||||
f"--libdir={get_prefix('libproc2')}/lib",
|
||||
f"--includedir={get_prefix('libproc2-dev')}/include",
|
||||
f"--bindir={get_prefix('procps-ng')}/bin",
|
||||
"--enable-harden-flags",
|
||||
"--enable-colorwatch",
|
||||
"--enable-watch8bit",
|
||||
"--enable-sigwinch",
|
||||
"--disable-kill",
|
||||
])
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("libproc2")
|
||||
dep("semi-libc @same-arch")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
|
||||
package("libproc2-dev")
|
||||
dep("libproc2 (same)")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
|
||||
package("procps-ng")
|
||||
dep("libproc2 (same)")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
@@ -0,0 +1,22 @@
|
||||
from lib.make import *
|
||||
from lib import python
|
||||
|
||||
|
||||
python.version("3.0")
|
||||
description("C parser in Python")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://files.pythonhosted.org/packages/1b/7d/92392ff7815c21062bea51aa7b87d45576f649f16458d78b7cf94b9ab2e6/pycparser-3.0.tar.gz")
|
||||
|
||||
python.builddep("$shortcut")
|
||||
|
||||
|
||||
def build():
|
||||
python.build()
|
||||
python.install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
package("pycparser.py")
|
||||
python.dep("python")
|
||||
python.use_auto_pack()
|
||||
@@ -0,0 +1,114 @@
|
||||
import os
|
||||
import shutil
|
||||
|
||||
from lib import arch, cpp
|
||||
from lib.make import *
|
||||
|
||||
VERSION_BASE = "3.14"
|
||||
VERSION_APPEND = "7"
|
||||
|
||||
VERSION_FULL = f"{VERSION_BASE}.{VERSION_APPEND}"
|
||||
|
||||
version(VERSION_FULL)
|
||||
description("the Python programming language")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url(
|
||||
f"https://www.python.org/ftp/python/{VERSION_FULL}/Python-{VERSION_FULL}.tar.xz"
|
||||
)
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
builddep(f"liblzma-dev @{arch.get_target()}")
|
||||
builddep(f"libzstd-dev @{arch.get_target()}")
|
||||
builddep(f"libz-ng-dev @{arch.get_target()}")
|
||||
builddep(f"aws-lc-dev @{arch.get_target()}")
|
||||
builddep(f"libexpat-dev @{arch.get_target()}")
|
||||
builddep(f"libsqlite-dev @{arch.get_target()}")
|
||||
builddep(f"libncurses-dev @{arch.get_target()}")
|
||||
builddep(f"libbzip2-dev @{arch.get_target()}")
|
||||
builddep(f"libffi-dev @{arch.get_target()}")
|
||||
builddep("pkgconf")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure(
|
||||
[
|
||||
"--prefix=/",
|
||||
f"--libdir={get_prefix('libpython')}/lib",
|
||||
f"--bindir={get_prefix('python')}/bin",
|
||||
f"--includedir={get_prefix('libpython-dev')}/include",
|
||||
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",
|
||||
"--with-ssl-default-suites=openssl",
|
||||
]
|
||||
)
|
||||
cpp.make()
|
||||
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)
|
||||
@@ -0,0 +1,11 @@
|
||||
prefix=/
|
||||
exec_prefix=${prefix}
|
||||
libdir=
|
||||
includedir=
|
||||
|
||||
Name: librhash
|
||||
Description: LibRHash shared library
|
||||
Version:
|
||||
Cflags: -I${includedir}
|
||||
Libs: -L${libdir} -lrhash
|
||||
Libs.private:
|
||||
@@ -0,0 +1,56 @@
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
import os
|
||||
|
||||
upstream_version = "1.4.6"
|
||||
|
||||
version(upstream_version)
|
||||
description("Great utility for computing hash sums")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/rhash/RHash/archive/refs/tags/v1.4.6.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
|
||||
with open("files/librhash.pc") as f:
|
||||
librhash_pc = f.read()
|
||||
|
||||
def build():
|
||||
global librhash_pc
|
||||
cpp.configure(
|
||||
[
|
||||
"--prefix=/",
|
||||
f"--bindir={get_prefix('rhash-tools')}/bin",
|
||||
f"--libdir={get_prefix('librhash')}/lib",
|
||||
"--disable-gettext",
|
||||
"--enable-lib-static",
|
||||
]
|
||||
)
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
os.symlink("librhash.so.1", "./lib/librhash.so")
|
||||
os.makedirs("./lib/pkgconfig", exist_ok=True)
|
||||
with open("./lib/pkgconfig/librhash.pc", "w+") as file:
|
||||
librhash_pc = (librhash_pc
|
||||
.replace("libdir=", f"libdir={get_prefix('librhash')}/lib")
|
||||
.replace("includedir=", f"includedir={get_prefix('librhash-dev')}/include")
|
||||
.replace("Version:", f"Version: {upstream_version}")
|
||||
)
|
||||
file.write(librhash_pc)
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("librhash")
|
||||
dep("semi-libc @same-arch")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
|
||||
package("rhash-tools")
|
||||
dep("librhash (same)")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
|
||||
package("librhash-dev")
|
||||
dep("librhash (same)")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
@@ -0,0 +1,20 @@
|
||||
from lib import rust
|
||||
from lib.make import *
|
||||
|
||||
version("15.2.0")
|
||||
description("ripgrep recursively searches directories for a regex pattern while respecting your gitignore")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://github.com/BurntSushi/ripgrep/archive/refs/tags/15.2.0.tar.gz")
|
||||
|
||||
builddep("shortcut/rust")
|
||||
|
||||
|
||||
def build():
|
||||
rust.build()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("ripgrep")
|
||||
dep("semi-libc @same-arch")
|
||||
rust.use_auto_pack(["bin"])
|
||||
@@ -0,0 +1,741 @@
|
||||
# bootstrap.toml.in: Bootstrap Config Template
|
||||
#
|
||||
# Replacing Stubs:
|
||||
# - %RUSTVERSION%: Version of rust
|
||||
# - %CARGOPATH%: Absolute path of cargo
|
||||
# - %RUSTCPATH%: Absolute path of rustc
|
||||
# - %INSTALLPREFIX%: Install prefix
|
||||
# - %MUSLROOT%: Virtual musl root
|
||||
|
||||
# =============================================================================
|
||||
# Global Settings
|
||||
# =============================================================================
|
||||
|
||||
# Use different pre-set defaults than the global defaults.
|
||||
#
|
||||
# See `src/bootstrap/defaults` for more information.
|
||||
# Note that this has no default value (x.py uses the defaults in `bootstrap.example.toml`).
|
||||
profile = "dist"
|
||||
|
||||
# =============================================================================
|
||||
# Tweaking how LLVM is compiled
|
||||
# =============================================================================
|
||||
|
||||
# Don't download Rust CI LLVM, instead, we compile it by our own.
|
||||
llvm.download-ci-llvm = false
|
||||
|
||||
# Indicates whether the LLVM build is a Release or Debug build
|
||||
llvm.optimize = true
|
||||
|
||||
# Indicates whether LLVM should be built with ThinLTO. Note that this will
|
||||
# only succeed if you use clang, lld, llvm-ar, and llvm-ranlib in your C/C++
|
||||
# toolchain (see the `cc`, `cxx`, `linker`, `ar`, and `ranlib` options below).
|
||||
# More info at: https://clang.llvm.org/docs/ThinLTO.html#clang-bootstrap
|
||||
llvm.thin-lto = true
|
||||
|
||||
# Indicates whether an LLVM Release build should include debug info
|
||||
llvm.release-debuginfo = false
|
||||
|
||||
# Indicates whether the LLVM assertions are enabled or not
|
||||
# NOTE: When assertions are disabled, bugs in the integration between rustc and LLVM can lead to
|
||||
# unsoundness (segfaults, etc.) in the rustc process itself, not just in the generated code.
|
||||
llvm.assertions = false
|
||||
|
||||
# Indicates whether the LLVM testsuite is enabled in the build or not. Does
|
||||
# not execute the tests as part of the build as part of x.py build et al,
|
||||
# just makes it possible to do `ninja check-llvm` in the staged LLVM build
|
||||
# directory when doing LLVM development as part of Rust development.
|
||||
llvm.tests = false
|
||||
|
||||
# Indicates whether the LLVM plugin is enabled or not
|
||||
llvm.plugins = false
|
||||
|
||||
# Whether to build Enzyme as AutoDiff backend.
|
||||
llvm.enzyme = false
|
||||
|
||||
# Whether to build LLVM with support for it's gpu offload runtime.
|
||||
llvm.offload = false
|
||||
|
||||
# Absolute path to the directory containing ClangConfig.cmake
|
||||
llvm.offload-clang-dir = ""
|
||||
|
||||
# When true, link libstdc++ statically into the rustc_llvm.
|
||||
# This is useful if you don't want to use the dynamic version of that
|
||||
# library provided by LLVM.
|
||||
llvm.static-libstdcpp = false
|
||||
|
||||
# Enable LLVM to use zstd for compression.
|
||||
llvm.libzstd = false
|
||||
|
||||
# Whether to use Ninja to build LLVM. This runs much faster than make.
|
||||
llvm.ninja = true
|
||||
|
||||
# LLVM targets to build support for.
|
||||
#llvm.targets = <default value>
|
||||
|
||||
# LLVM experimental targets to build support for.
|
||||
#llvm.experimental-targets = <default value>
|
||||
|
||||
# Cap the number of parallel linker invocations when compiling LLVM.
|
||||
#llvm.link-jobs = <default value>
|
||||
|
||||
# Whether to build LLVM as a dynamically linked library (as opposed to statically linked).
|
||||
# Under the hood, this passes `--shared` to llvm-config.
|
||||
# NOTE: To avoid performing LTO multiple times, we suggest setting this to `true` when `thin-lto` is enabled.
|
||||
llvm.link-shared = true
|
||||
|
||||
# When building llvm, this configures what is being appended to the version.
|
||||
llvm.version-suffix = "-rust-%RUSTVERSION%"
|
||||
|
||||
# Use libc++ when building LLVM instead of libstdc++. This is the default on
|
||||
# platforms already use libc++ as the default C++ library, but this option
|
||||
# allows you to use libc++ even on platforms when it's not. You need to ensure
|
||||
# that your host compiler ships with libc++.
|
||||
llvm.use-libcxx = true
|
||||
|
||||
# The value specified here will be passed as `-DLLVM_USE_LINKER` to CMake.
|
||||
#llvm.use-linker = <none> (path)
|
||||
|
||||
# Whether or not to specify `-DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=YES`
|
||||
#llvm.allow-old-toolchain = false
|
||||
|
||||
# Whether to include the Polly optimizer.
|
||||
llvm.polly = false
|
||||
|
||||
# Whether to build the clang compiler.
|
||||
llvm.clang = false
|
||||
|
||||
# Whether to enable llvm compilation warnings.
|
||||
llvm.enable-warnings = false
|
||||
|
||||
# Custom CMake defines to set when building LLVM.
|
||||
llvm.build-config = {"LLVM_ENABLE_LIBCXX" = "ON"}
|
||||
|
||||
# =============================================================================
|
||||
# General build configuration options
|
||||
# =============================================================================
|
||||
|
||||
# The default stage to use for the `check` subcommand
|
||||
#build.check-stage = 0
|
||||
|
||||
# The default stage to use for the `doc` subcommand
|
||||
#build.doc-stage = 0
|
||||
|
||||
# The default stage to use for the `build` subcommand
|
||||
#build.build-stage = 1
|
||||
|
||||
# The default stage to use for the `test` subcommand
|
||||
#build.test-stage = 1
|
||||
|
||||
# The default stage to use for the `dist` subcommand
|
||||
#build.dist-stage = 2
|
||||
|
||||
# The default stage to use for the `install` subcommand
|
||||
#build.install-stage = 2
|
||||
|
||||
# The default stage to use for the `bench` subcommand
|
||||
#build.bench-stage = 2
|
||||
|
||||
# A descriptive string to be appended to version output (e.g., `rustc --version`),
|
||||
# which is also used in places like debuginfo `DW_AT_producer`. This may be useful for
|
||||
# supplementary build information, like distro-specific package versions.
|
||||
#
|
||||
# IMPORTANT: Changing this value changes crate IDs and symbol name mangling, making
|
||||
# compiled artifacts incompatible. PGO profiles cannot be reused across different
|
||||
# descriptions, and incremental compilation caches are invalidated. Keep this value
|
||||
# consistent when reusing build artifacts.
|
||||
#
|
||||
# The Rust compiler will differentiate between versions of itself, including
|
||||
# based on this string, which means that if you wish to be compatible with
|
||||
# upstream Rust you need to set this to "". However, note that if you set this to "" but
|
||||
# are not actually compatible -- for example if you've backported patches that change
|
||||
# behavior -- this may lead to miscompilations or other bugs.
|
||||
#build.description = ""
|
||||
|
||||
# Build triple for the pre-compiled snapshot compiler. If `rustc` is set, this must match its host
|
||||
# triple (see `rustc --version --verbose`; cross-compiling the rust build system itself is NOT
|
||||
# supported). If `rustc` is unset, this must be a platform with pre-compiled host tools
|
||||
# (https://doc.rust-lang.org/nightly/rustc/platform-support.html). The current platform must be
|
||||
# able to run binaries of this build triple.
|
||||
#
|
||||
# If `rustc` is present in path, this defaults to the host it was compiled for.
|
||||
# Otherwise, `x.py` will try to infer it from the output of `uname`.
|
||||
# If `uname` is not found in PATH, we assume this is `x86_64-pc-windows-msvc`.
|
||||
# This may be changed in the future.
|
||||
#build.build = "x86_64-unknown-linux-gnu" (as an example)
|
||||
|
||||
# Which triples to produce a compiler toolchain for. Each of these triples will be bootstrapped from
|
||||
# the build triple themselves. In other words, this is the list of triples for which to build a
|
||||
# compiler that can RUN on that triple.
|
||||
#
|
||||
# Defaults to just the `build` triple.
|
||||
#build.host = [build.build] (list of triples)
|
||||
|
||||
# Which triples to build libraries (core/alloc/std/test/proc_macro) for. Each of these triples will
|
||||
# be bootstrapped from the build triple themselves. In other words, this is the list of triples for
|
||||
# which to build a library that can CROSS-COMPILE to that triple.
|
||||
#
|
||||
# Defaults to `host`. If you set this explicitly, you likely want to add all
|
||||
# host triples to this list as well in order for those host toolchains to be
|
||||
# able to compile programs for their native target.
|
||||
#build.target = build.host (list of triples)
|
||||
|
||||
# Use this directory to store build artifacts. Paths are relative to the current directory, not to
|
||||
# the root of the repository.
|
||||
#build.build-dir = "build"
|
||||
|
||||
# Instead of downloading the src/stage0 version of Cargo specified, use
|
||||
# this Cargo binary instead to build all Rust code
|
||||
# If you set this, you likely want to set `rustc` as well.
|
||||
build.cargo = "%CARGOPATH%"
|
||||
|
||||
# Instead of downloading the src/stage0 version of the compiler
|
||||
# specified, use this rustc binary instead as the stage0 snapshot compiler.
|
||||
# If you set this, you likely want to set `cargo` as well.
|
||||
build.rustc = "%RUSTCPATH%"
|
||||
|
||||
# Use this rustdoc binary as the stage0 snapshot rustdoc.
|
||||
# If unspecified, then the binary "rustdoc" (with platform-specific extension, e.g. ".exe")
|
||||
# in the same directory as "rustc" will be used.
|
||||
#build.rustdoc = "/path/to/rustdoc"
|
||||
|
||||
# Instead of downloading the src/stage0 version of rustfmt specified,
|
||||
# use this rustfmt binary instead as the stage0 snapshot rustfmt.
|
||||
#build.rustfmt = "/path/to/rustfmt"
|
||||
|
||||
# Instead of downloading the src/stage0 version of cargo-clippy specified,
|
||||
# use this cargo-clippy binary instead as the stage0 snapshot cargo-clippy.
|
||||
#
|
||||
# Note that this option should be used with the same toolchain as the `rustc` option above.
|
||||
# Otherwise, clippy is likely to fail due to a toolchain conflict.
|
||||
#build.cargo-clippy = "/path/to/cargo-clippy"
|
||||
|
||||
# Whether to build documentation by default. If false, rustdoc and
|
||||
# friends will still be compiled but they will not be used to generate any
|
||||
# documentation.
|
||||
#
|
||||
# You can still build documentation when this is disabled by explicitly passing paths,
|
||||
# e.g. `x doc library`.
|
||||
build.docs = true
|
||||
|
||||
# Flag to specify whether CSS, JavaScript, and HTML are minified when
|
||||
# docs are generated. JSON is always minified, because it's enormous,
|
||||
# and generated in already-minified form from the beginning.
|
||||
build.docs-minification = true
|
||||
|
||||
# Flag to specify whether private items should be included in the library docs.
|
||||
build.library-docs-private-items = false
|
||||
|
||||
# Indicate whether to build compiler documentation by default.
|
||||
# You can still build documentation when this is disabled by explicitly passing a path: `x doc compiler`.
|
||||
build.compiler-docs = false
|
||||
|
||||
# Indicate whether git submodules are managed and updated automatically.
|
||||
build.submodules = false
|
||||
|
||||
# The path to (or name of) the GDB executable to use. This is only used for
|
||||
# executing the debuginfo test suite.
|
||||
#build.gdb = <not required>
|
||||
|
||||
# The path to (or name of) the LLDB executable to use. This is only used for
|
||||
# executing the debuginfo test suite.
|
||||
#build.lldb = <not required>
|
||||
|
||||
# The node.js executable to use. Note that this is only used for the emscripten
|
||||
# target when running tests, otherwise this can be omitted.
|
||||
#build.nodejs = <not required>
|
||||
|
||||
# The yarn executable to use. Note that this is used for rustdoc-gui tests and
|
||||
# tidy js extra-checks, otherwise this can be omitted.
|
||||
#
|
||||
# Under Windows this should be `yarn.cmd` or path to it (verified on nodejs v18.06), or
|
||||
# error will be emitted.
|
||||
#build.yarn = <not required>
|
||||
|
||||
# Python interpreter to use for various tasks throughout the build, notably
|
||||
# rustdoc tests, and some dist bits and pieces.
|
||||
#
|
||||
# Defaults to the Python interpreter used to execute x.py.
|
||||
#build.python = <default>
|
||||
|
||||
# The path to the REUSE executable to use. Note that REUSE is not required in
|
||||
# most cases, as our tooling relies on a cached (and shrunk) copy of the
|
||||
# REUSE output present in the git repository and in our source tarballs.
|
||||
#
|
||||
# REUSE is only needed if your changes caused the overall licensing of the
|
||||
# repository to change, and the cached copy has to be regenerated.
|
||||
#
|
||||
# Defaults to the "reuse" command in the system path.
|
||||
#build.reuse = <not required>
|
||||
|
||||
# Force Cargo to check that Cargo.lock describes the precise dependency
|
||||
# set that all the Cargo.toml files create, instead of updating it.
|
||||
build.locked-deps = false
|
||||
|
||||
# Indicate whether the vendored sources are used for Rust dependencies or not.
|
||||
#
|
||||
# Vendoring requires additional setup. We recommend using the pre-generated source tarballs if you
|
||||
# want to use vendoring. See https://forge.rust-lang.org/infra/other-installation-methods.html#source-code.
|
||||
#build.vendor = <default>
|
||||
|
||||
# If you build the compiler more than twice (stage3+) or the standard library more than once
|
||||
# (stage 2+), the third compiler and second library will get uplifted from stage2 and stage1,
|
||||
# respectively. If you would like to disable this uplifting, and rather perform a full bootstrap,
|
||||
# then you can set this option to true.
|
||||
#
|
||||
# This is only useful for verifying that rustc generates reproducible builds.
|
||||
build.full-bootstrap = false
|
||||
|
||||
# Set the bootstrap/download cache path. It is useful when building rust
|
||||
# repeatedly in a CI environment.
|
||||
#build.bootstrap-cache-path = /path/to/shared/cache
|
||||
|
||||
# Enable a build of the extended Rust tool set which is not only the compiler
|
||||
# but also tools such as Cargo. This will also produce "combined installers"
|
||||
# which are used to install Rust and Cargo together.
|
||||
# The `tools` (check `bootstrap.example.toml` to see its default value) option specifies
|
||||
# which tools should be built if `extended = true`.
|
||||
#
|
||||
# This is disabled by default.
|
||||
build.extended = false
|
||||
|
||||
# Set of tools to be included in the installation.
|
||||
#
|
||||
# If `extended = false`, the only one of these built by default is rustdoc.
|
||||
#
|
||||
# If `extended = true`, they are all included.
|
||||
#
|
||||
# If any enabled tool fails to build, the installation fails.
|
||||
#build.tools = <default>
|
||||
|
||||
# Specify build configuration specific for some tool, such as enabled features.
|
||||
# This option has no effect on which tools are enabled: refer to the `tools` option for that.
|
||||
#
|
||||
# For example, to build Miri with tracing support, use `tool.miri.features = ["tracing"]`
|
||||
#
|
||||
# The default value for the `features` array is `[]`. However, please note that other flags in
|
||||
# `bootstrap.toml` might influence the features enabled for some tools. Also, enabling features
|
||||
# in tools which are not part of the internal "extra-features" preset might not always work.
|
||||
#build.tool.TOOL_NAME.features = [FEATURE1, FEATURE2]
|
||||
|
||||
# Verbosity level: 0 == not verbose, 1 == verbose, 2 == very verbose, 3 == print environment variables on each rustc invocation
|
||||
#build.verbose = <default>
|
||||
|
||||
# Build the sanitizer runtimes
|
||||
build.sanitizers = false
|
||||
|
||||
# Build the profiler runtime (required when compiling with options that depend
|
||||
# on this runtime, such as `-C profile-generate` or `-C instrument-coverage`).
|
||||
build.profiler = false
|
||||
|
||||
# Use the optimized LLVM C intrinsics for `compiler_builtins`, rather than Rust intrinsics.
|
||||
# Choosing true requires the LLVM submodule to be managed by bootstrap (i.e. not external)
|
||||
# so that `compiler-rt` sources are available.
|
||||
#
|
||||
# Setting this to a path removes the requirement for a C toolchain, but requires setting the
|
||||
# path to an existing library containing the builtins library from LLVM's compiler-rt.
|
||||
#
|
||||
# Setting this to `false` generates slower code, but removes the requirement for a C toolchain in
|
||||
# order to run `x check`.
|
||||
build.optimized-compiler-builtins = true
|
||||
|
||||
# Indicates whether the native libraries linked into Cargo will be statically
|
||||
# linked or not.
|
||||
build.cargo-native-static = false
|
||||
|
||||
# Number of parallel jobs to be used for building and testing. If set to `0` or
|
||||
# omitted, it will be automatically determined. This is the `-j`/`--jobs` flag
|
||||
# passed to cargo invocations.
|
||||
#build.jobs = <default>
|
||||
|
||||
# Default value for the `--extra-checks` flag of tidy.
|
||||
#
|
||||
# See `./x test tidy --help` for details.
|
||||
#
|
||||
# Note that if any value is manually given to bootstrap such as
|
||||
# `./x test tidy --extra-checks=js`, this value is ignored.
|
||||
# Use `--extra-checks=''` to temporarily disable all extra checks.
|
||||
#
|
||||
# Automatically enabled in the "tools" profile.
|
||||
# Set to the empty string to force disable (recommended for hdd systems).
|
||||
#build.tidy-extra-checks = ""
|
||||
|
||||
# Indicates whether ccache is used when building certain artifacts (e.g. LLVM).
|
||||
# Set to `true` to use the first `ccache` in PATH, or set an absolute path to use
|
||||
# a specific version.
|
||||
build.ccache = false
|
||||
|
||||
# List of paths to exclude from the build and test processes.
|
||||
# For example, exclude = ["tests/ui", "src/tools/tidy"].
|
||||
#build.exclude = []
|
||||
|
||||
# =============================================================================
|
||||
# General install configuration options
|
||||
# =============================================================================
|
||||
|
||||
# Where to install the generated toolchain. Must be an absolute path.
|
||||
install.prefix = "%INSTALLPREFIX%"
|
||||
|
||||
# Where to install system configuration files.
|
||||
# If this is a relative path, it will get installed in `prefix` above
|
||||
install.sysconfdir = "/var/config"
|
||||
|
||||
# Where to install documentation in `prefix` above
|
||||
install.docdir = "share/doc/rust"
|
||||
|
||||
# Where to install binaries in `prefix` above
|
||||
install.bindir = "bin"
|
||||
|
||||
# Where to install libraries in `prefix` above
|
||||
install.libdir = "lib"
|
||||
|
||||
# Where to install man pages in `prefix` above
|
||||
install.mandir = "share/man"
|
||||
|
||||
# Where to install data in `prefix` above
|
||||
install.datadir = "share"
|
||||
|
||||
# =============================================================================
|
||||
# Options for compiling Rust code itself
|
||||
# =============================================================================
|
||||
|
||||
# Whether or not to optimize when compiling the compiler and standard library,
|
||||
# and what level of optimization to use.
|
||||
# WARNING: Building with optimize = false is NOT SUPPORTED. Due to bootstrapping,
|
||||
# building without optimizations takes much longer than optimizing. Further, some platforms
|
||||
# fail to build without this optimization (c.f. #65352).
|
||||
# The valid options are:
|
||||
# true - Enable optimizations (same as 3).
|
||||
# false - Disable optimizations.
|
||||
# 0 - Disable optimizations.
|
||||
# 1 - Basic optimizations.
|
||||
# 2 - Some optimizations.
|
||||
# 3 - All optimizations.
|
||||
# "s" - Optimize for binary size.
|
||||
# "z" - Optimize for binary size, but also turn off loop vectorization.
|
||||
#rust.optimize = true
|
||||
|
||||
# Indicates that the build should be configured for debugging Rust. A
|
||||
# `debug`-enabled compiler and standard library will be somewhat
|
||||
# slower (due to e.g. checking of debug assertions) but should remain
|
||||
# usable.
|
||||
#
|
||||
# Note: If this value is set to `true`, it will affect a number of
|
||||
# configuration options below as well, if they have been left
|
||||
# unconfigured in this file.
|
||||
#
|
||||
# Note: changes to the `debug` setting do *not* affect `optimize`
|
||||
# above. In theory, a "maximally debuggable" environment would
|
||||
# set `optimize` to `false` above to assist the introspection
|
||||
# facilities of debuggers like lldb and gdb. To recreate such an
|
||||
# environment, explicitly set `optimize` to `false` and `debug`
|
||||
# to `true`. In practice, everyone leaves `optimize` set to
|
||||
# `true`, because an unoptimized rustc with debugging
|
||||
# enabled becomes *unusably slow* (e.g. rust-lang/rust#24840
|
||||
# reported a 25x slowdown) and bootstrapping the supposed
|
||||
# "maximally debuggable" environment (notably libstd) takes
|
||||
# hours to build.
|
||||
#
|
||||
rust.debug = false
|
||||
|
||||
# Whether to download the stage 1 and 2 compilers from CI. This is useful if you
|
||||
# are working on tools, doc-comments, or library (you will be able to build the
|
||||
# standard library without needing to build the compiler).
|
||||
#
|
||||
# Set this to "if-unchanged" if you are working on `src/tools`, `tests` or
|
||||
# `library` (on CI, `library` changes triggers in-tree compiler build) to speed
|
||||
# up the build process if you don't need to build a compiler from the latest
|
||||
# commit from `master`.
|
||||
#
|
||||
# Set this to `true` to always download or `false` to always use the in-tree
|
||||
# compiler.
|
||||
rust.download-rustc = false
|
||||
|
||||
# Number of codegen units to use for each compiler invocation. A value of 0
|
||||
# means "the number of cores on this machine", and 1+ is passed through to the
|
||||
# compiler.
|
||||
#
|
||||
# Uses the rustc defaults: https://doc.rust-lang.org/rustc/codegen-options/index.html#codegen-units
|
||||
rust.codegen-units = 1
|
||||
|
||||
# Sets the number of codegen units to build the standard library with,
|
||||
# regardless of what the codegen-unit setting for the rest of the compiler is.
|
||||
# NOTE: building with anything other than 1 is known to occasionally have bugs.
|
||||
rust.codegen-units-std = 1
|
||||
|
||||
# Whether or not debug assertions are enabled for the compiler and standard library.
|
||||
# These can help find bugs at the cost of a small runtime slowdown.
|
||||
#
|
||||
# Defaults to rust.debug value
|
||||
rust.debug-assertions = false
|
||||
|
||||
# Whether or not debug assertions are enabled for the standard library.
|
||||
# Overrides the `debug-assertions` option, if defined.
|
||||
#
|
||||
# Defaults to rust.debug-assertions value
|
||||
rust.debug-assertions-std = false
|
||||
|
||||
# Whether or not debug assertions are enabled for the tools built by bootstrap.
|
||||
# Overrides the `debug-assertions` option, if defined.
|
||||
#
|
||||
# Defaults to rust.debug-assertions value
|
||||
rust.debug-assertions-tools = false
|
||||
|
||||
# Whether or not to leave debug! and trace! calls in the rust binary.
|
||||
#
|
||||
# Defaults to rust.debug-assertions value
|
||||
#
|
||||
# If you see a message from `tracing` saying "some trace filter directives would enable traces that
|
||||
# are disabled statically" because `max_level_info` is enabled, set this value to `true`.
|
||||
rust.debug-logging = false
|
||||
|
||||
# Whether or not to build rustc, tools and the libraries with randomized type layout
|
||||
rust.randomize-layout = false
|
||||
|
||||
# Whether or not overflow checks are enabled for the compiler and standard
|
||||
# library.
|
||||
#
|
||||
# Defaults to rust.debug value
|
||||
rust.overflow-checks = false
|
||||
|
||||
# Whether or not overflow checks are enabled for the standard library.
|
||||
# Overrides the `overflow-checks` option, if defined.
|
||||
#
|
||||
# Defaults to rust.overflow-checks value
|
||||
rust.overflow-checks-std = false
|
||||
|
||||
# Debuginfo level for most of Rust code, corresponds to the `-C debuginfo=N` option of `rustc`.
|
||||
# See https://doc.rust-lang.org/rustc/codegen-options/index.html#debuginfo for available options.
|
||||
#
|
||||
# Can be overridden for specific subsets of Rust code (rustc, std or tools).
|
||||
# Debuginfo for tests run with compiletest is not controlled by this option
|
||||
# and needs to be enabled separately with `debuginfo-level-tests`.
|
||||
#
|
||||
# Note that debuginfo-level = 2 generates several gigabytes of debuginfo
|
||||
# and will slow down the linking process significantly.
|
||||
rust.debuginfo-level = 0
|
||||
|
||||
# Debuginfo level for the compiler.
|
||||
rust.debuginfo-level-rustc = 0
|
||||
|
||||
# Debuginfo level for the standard library.
|
||||
rust.debuginfo-level-std = 0
|
||||
|
||||
# Debuginfo level for the tools.
|
||||
rust.debuginfo-level-tools = 0
|
||||
|
||||
# Debuginfo level for the test suites run with compiletest.
|
||||
# FIXME(#61117): Some tests fail when this option is enabled.
|
||||
#rust.debuginfo-level-tests = 0 <omitted>
|
||||
|
||||
# Whether or not `panic!`s generate backtraces (RUST_BACKTRACE)
|
||||
rust.backtrace = true
|
||||
|
||||
# Whether to always use incremental compilation when building rustc
|
||||
rust.incremental = false
|
||||
|
||||
# The default linker that will be hard-coded into the generated
|
||||
# compiler for targets that don't specify a default linker explicitly
|
||||
# in their target specifications. Note that this is not the linker
|
||||
# used to link said compiler. It can also be set per-target (via the
|
||||
# `[target.<triple>]` block), which may be useful in a cross-compilation
|
||||
# setting.
|
||||
#
|
||||
# See https://doc.rust-lang.org/rustc/codegen-options/index.html#linker for more information.
|
||||
#rust.default-linker = <default>
|
||||
|
||||
# The "channel" for the Rust build to produce. The stable/beta channels only
|
||||
# allow using stable features, whereas the nightly and dev channels allow using
|
||||
# nightly features.
|
||||
#
|
||||
# You can set the channel to "auto-detect" to load the channel name from `src/ci/channel`.
|
||||
#
|
||||
# If using tarball sources, default value is "auto-detect", otherwise, it's "dev".
|
||||
rust.channel = "auto-detect"
|
||||
|
||||
# The root location of the musl installation directory. The library directory
|
||||
# will also need to contain libunwind.a for an unwinding implementation. Note
|
||||
# that this option only makes sense for musl targets that produce statically
|
||||
# linked binaries.
|
||||
#
|
||||
# Defaults to /usr on musl hosts. Has no default otherwise.
|
||||
#rust.musl-root = <not required>
|
||||
|
||||
# By default the `rustc` executable is built with `-Wl,-rpath` flags on Unix
|
||||
# platforms to ensure that the compiler is usable by default from the build
|
||||
# directory (as it links to a number of dynamic libraries). This may not be
|
||||
# desired in distributions, for example.
|
||||
rust.rpath = true
|
||||
|
||||
# Additional flags to pass to `rustc`.
|
||||
# Takes precedence over bootstrap's own flags but not over per target rustflags nor env. vars. like RUSTFLAGS.
|
||||
# Applies to all stages and targets.
|
||||
#
|
||||
#rust.rustflags = []
|
||||
|
||||
# Indicates whether symbols should be stripped using `-Cstrip=symbols`.
|
||||
rust.strip = true
|
||||
|
||||
# Forces frame pointers to be used with `-Cforce-frame-pointers`.
|
||||
# This can be helpful for profiling at a small performance cost.
|
||||
rust.frame-pointers = false
|
||||
|
||||
# Indicates whether stack protectors should be used
|
||||
# via the unstable option `-Zstack-protector`.
|
||||
#
|
||||
# Valid options are : `none`(default),`basic`,`strong`, or `all`.
|
||||
# `strong` and `basic` options may be buggy and are not recommended, see rust-lang/rust#114903.
|
||||
rust.stack-protector = "none"
|
||||
|
||||
# Prints each test name as it is executed, to help debug issues in the test harness itself.
|
||||
rust.verbose-tests = false
|
||||
|
||||
# Flag indicating whether tests are compiled with optimizations (the -O flag).
|
||||
rust.optimize-tests = true
|
||||
|
||||
# Flag indicating whether codegen tests will be run or not. If you get an error
|
||||
# saying that the FileCheck executable is missing, you may want to disable this.
|
||||
# Also see the target's llvm-filecheck option.
|
||||
rust.codegen-tests = false
|
||||
|
||||
# Flag indicating whether git info will be retrieved from .git automatically.
|
||||
# Having the git information can cause a lot of rebuilds during development.
|
||||
rust.omit-git-hash = false
|
||||
|
||||
# Whether to create a source tarball by default when running `x dist`.
|
||||
#
|
||||
# You can still build a source tarball when this is disabled by explicitly passing `x dist rustc-src`.
|
||||
rust.dist-src = false
|
||||
|
||||
# After building or testing an optional component (e.g. the nomicon or reference), append the
|
||||
# result (broken, compiling, testing) into this JSON file.
|
||||
#rust.save-toolstates = <none> (path)
|
||||
|
||||
# This array serves three distinct purposes:
|
||||
# - Backends in this list will be automatically compiled and included in the sysroot of each
|
||||
# rustc compiled by bootstrap.
|
||||
# - The first backend in this list will be configured as the **default codegen backend** by each
|
||||
# rustc compiled by bootstrap. In other words, if the first backend is e.g. cranelift, then when
|
||||
# we build a stage 1 rustc, it will by default compile Rust programs using the Cranelift backend.
|
||||
# This also means that stage 2 rustc would get built by the Cranelift backend.
|
||||
# - Running `x dist` (without additional arguments, or with `--include-default-paths`) will produce
|
||||
# a dist component/tarball for the Cranelift backend if it is included in this array.
|
||||
#
|
||||
# Note that the LLVM codegen backend is special and will always be built and distributed.
|
||||
#
|
||||
# Currently, the only standard options supported here are `"llvm"`, `"cranelift"` and `"gcc"`.
|
||||
rust.codegen-backends = ["llvm"]
|
||||
|
||||
# Indicates whether LLD will be compiled and made available in the sysroot for rustc to execute,
|
||||
rust.lld = false
|
||||
|
||||
# Indicates if we should override the linker used to link Rust crates during bootstrap to be LLD.
|
||||
# If set to `true` or `"external"`, a global `lld` binary that has to be in $PATH
|
||||
# will be used.
|
||||
# If set to `"self-contained"`, rust-lld from the snapshot compiler will be used.
|
||||
#
|
||||
# On MSVC, LLD will not be used if we're cross linking.
|
||||
#
|
||||
# Explicitly setting the linker for a target will override this option when targeting MSVC.
|
||||
rust.bootstrap-override-lld = false
|
||||
|
||||
# Indicates whether some LLVM tools, like llvm-objdump, will be made available in the
|
||||
# sysroot.
|
||||
rust.llvm-tools = false
|
||||
|
||||
# Indicates whether the `self-contained` llvm-bitcode-linker, will be made available
|
||||
# in the sysroot. It is required for running nvptx tests.
|
||||
rust.llvm-bitcode-linker = false
|
||||
|
||||
# Whether to deny warnings in crates. Set to `false` to avoid
|
||||
# error: warnings are denied by `build.warnings` configuration
|
||||
rust.deny-warnings = false
|
||||
|
||||
# Print backtrace on internal compiler errors during bootstrap
|
||||
rust.backtrace-on-ice = false
|
||||
|
||||
# Whether to verify generated LLVM IR
|
||||
rust.verify-llvm-ir = false
|
||||
|
||||
# Compile the compiler with a non-default ThinLTO import limit. This import
|
||||
# limit controls the maximum size of functions imported by ThinLTO. Decreasing
|
||||
# will make code compile faster at the expense of lower runtime performance.
|
||||
#rust.thin-lto-import-instr-limit = <default>
|
||||
|
||||
# Map debuginfo paths to `/rust/$sha/...`.
|
||||
# Useful for reproducible builds. Generally only set for releases
|
||||
rust.remap-debuginfo = true
|
||||
|
||||
# Link the compiler and LLVM against `jemalloc` instead of the default libc allocator.
|
||||
# This option is only tested on Linux and OSX. It can also be configured per-target in the
|
||||
# [target.<tuple>] section.
|
||||
rust.jemalloc = false
|
||||
|
||||
# Run tests in various test suites with the "nll compare mode" in addition to
|
||||
# running the tests in normal mode. Largely only used on CI and during local
|
||||
# development of NLL
|
||||
rust.test-compare-mode = false
|
||||
|
||||
# Global default for llvm-libunwind for all targets. See the target-specific
|
||||
# documentation for llvm-libunwind below. Note that the target-specific
|
||||
# option will override this if set.
|
||||
rust.llvm-libunwind = 'system'
|
||||
|
||||
# Enable symbol-mangling-version v0. This can be helpful when profiling rustc,
|
||||
# as generics will be preserved in symbols (rather than erased into opaque T).
|
||||
# When no setting is given, the new scheme will be used when compiling the
|
||||
# compiler and its tools and the legacy scheme will be used when compiling the
|
||||
# standard library.
|
||||
# If an explicit setting is given, it will be used for all parts of the codebase.
|
||||
rust.new-symbol-mangling = true
|
||||
|
||||
# Size limit in bytes for move/copy annotations (-Zannotate-moves). Only types
|
||||
# at or above this size will be annotated. If not specified, uses the default
|
||||
# limit (65 bytes).
|
||||
#rust.annotate-moves-size-limit = <default>
|
||||
|
||||
# Select LTO mode that will be used for compiling rustc. By default, thin local LTO
|
||||
# (LTO within a single crate) is used (like for any Rust crate). You can also select
|
||||
# "thin" or "fat" to apply Thin/Fat LTO to the `rustc_driver` dylib, or "off" to disable
|
||||
# LTO entirely.
|
||||
rust.lto = "thin-local"
|
||||
|
||||
# Build compiler with the optimization enabled and -Zvalidate-mir, currently only for `std`
|
||||
#rust.validate-mir-opts = 3
|
||||
|
||||
# Configure `std` features used during bootstrap.
|
||||
#
|
||||
# Default features will be expanded in the following cases:
|
||||
# - If `rust.llvm-libunwind` or `target.llvm-libunwind` is enabled:
|
||||
# - "llvm-libunwind" will be added for in-tree LLVM builds.
|
||||
# - "system-llvm-libunwind" will be added for system LLVM builds.
|
||||
# - If `rust.backtrace` is enabled, "backtrace" will be added.
|
||||
# - If `rust.profiler` or `target.profiler` is enabled, "profiler" will be added.
|
||||
# - If building for a zkvm target, "compiler-builtins-mem" will be added.
|
||||
#
|
||||
# Since libstd also builds libcore and liballoc as dependencies and all their features are mirrored
|
||||
# as libstd features, this option can also be used to configure features such as optimize_for_size.
|
||||
#rust.std-features = <default>
|
||||
|
||||
# Set the number of threads for the compiler frontend used during compilation of Rust code (passed to `-Zthreads`).
|
||||
# The valid options are:
|
||||
# 0 - Set the number of threads according to the detected number of threads of the host system
|
||||
# 1 - Use a single thread for compilation of Rust code (the default)
|
||||
# N - Number of threads used for compilation of Rust code
|
||||
#
|
||||
rust.parallel-frontend-threads = 1
|
||||
|
||||
[target.x86_64-unknown-linux-musl]
|
||||
llvm-libunwind = "system"
|
||||
crt-static = false
|
||||
musl-root = "%MUSLROOT%"
|
||||
|
||||
[target.aarch64-unknown-linux-musl]
|
||||
llvm-libunwind = "system"
|
||||
crt-static = false
|
||||
musl-root = "%MUSLROOT%"
|
||||
|
||||
[target.riscv64-unknown-linux-musl]
|
||||
llvm-libunwind = "system"
|
||||
crt-static = false
|
||||
musl-root = "%MUSLROOT%"
|
||||
@@ -0,0 +1,70 @@
|
||||
import os
|
||||
import shutil
|
||||
import subprocess
|
||||
|
||||
from lib.make import *
|
||||
from lib import arch
|
||||
|
||||
|
||||
upstream_version = "1.97.1"
|
||||
|
||||
version(upstream_version)
|
||||
description("A language empowering everyone to build reliable and efficient software")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url(f"https://static.rust-lang.org/dist/rustc-{upstream_version}-src.tar.xz")
|
||||
|
||||
builddep("shortcut/cmake")
|
||||
builddep("shortcut/c++")
|
||||
builddep("python")
|
||||
builddep(f"libz-ng-dev @{arch.get_target()}")
|
||||
builddep(f"linux-dev @{arch.get_target()}")
|
||||
builddep(f"libunwind-dev @{arch.get_target()}")
|
||||
builddep("curl")
|
||||
builddep("grep")
|
||||
builddep("sed")
|
||||
|
||||
|
||||
def setup_musl_root():
|
||||
os.makedirs("../musl_root/lib", exist_ok=True)
|
||||
for i in ["libc.a", "crt1.o", "Scrt1.o", "rcrt1.o", "crti.o", "crtn.o", "libunwind.a"]:
|
||||
shutil.copy2(f"/lib/{arch.get_target()}/{i}", f"../musl_root/lib/{i}")
|
||||
|
||||
def configure():
|
||||
with open("../../bootstrap.toml.in") as file:
|
||||
content = file.read()
|
||||
content = content.replace("%RUSTVERSION%", upstream_version)
|
||||
content = content.replace("%CARGOPATH%", shutil.which("cargo") or "cargo")
|
||||
content = content.replace("%RUSTCPATH%", shutil.which("rustc") or "rustc")
|
||||
content = content.replace("%INSTALLPREFIX%", get_prefix("rust"))
|
||||
content = content.replace("%MUSLROOT%", os.getcwd() + "/../musl_root")
|
||||
with open("bootstrap.toml", "wt+") as file:
|
||||
file.write(content)
|
||||
|
||||
def run_build():
|
||||
subprocess.run(["python3", "x.py", "build"], check=True)
|
||||
|
||||
def run_install():
|
||||
os.environ["DESTDIR"] = os.getcwd() + "/../install_destdir"
|
||||
subprocess.run(["python3", "x.py", "install"], check=True)
|
||||
os.chdir(os.environ["DESTDIR"])
|
||||
os.chdir("./" + get_prefix("rust"))
|
||||
|
||||
|
||||
def build():
|
||||
setup_musl_root()
|
||||
configure()
|
||||
run_build()
|
||||
run_install()
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack_rust(composer):
|
||||
composer.add_dir("bin")
|
||||
composer.add_dir("lib")
|
||||
|
||||
package("rust")
|
||||
dep("semi-libc @same-arch")
|
||||
dep("libz @same-arch")
|
||||
dep("libcxx @same-arch")
|
||||
on_pack(pack_rust)
|
||||
@@ -0,0 +1,30 @@
|
||||
import subprocess
|
||||
|
||||
from lib.make import *
|
||||
|
||||
version("15.1.1")
|
||||
description("SemiOS fork of the UNIX sed utility")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://gitea.semilabs.org/semios/sed/archive/v15.1.1.tar.gz")
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep(f"libpcre2-dev @{arch.get_target()}")
|
||||
builddep("pcre2-tools")
|
||||
|
||||
|
||||
def build():
|
||||
subprocess.run(["./build.sh"])
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack_sed(composer):
|
||||
composer.makedir("bin")
|
||||
composer.addfile("sed", "bin/sed")
|
||||
|
||||
|
||||
package("sed")
|
||||
dep("semi-libc @same-arch")
|
||||
dep("libpcre2 @same-arch")
|
||||
on_pack(pack_sed)
|
||||
@@ -0,0 +1,34 @@
|
||||
from lib import arch, cpp
|
||||
from lib.make import *
|
||||
|
||||
version("1.2.6+1")
|
||||
description("the SemiOS fork of musl-libc, providing POSIX C standard library and system runtime")
|
||||
maintainer("sisungo <[email protected]>")
|
||||
source_url("https://gitea.semilabs.org/semios/semi-libc/archive/v1.2.6-1.tar.gz")
|
||||
|
||||
|
||||
builddep("shortcut/c")
|
||||
builddep("shortcut/autotools")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure(["--prefix=/"])
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def musl_target():
|
||||
return arch.get_target().split("-")[0]
|
||||
|
||||
|
||||
package("semi-libc")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
link("lib/libc.so", f"/lib/ld-musl-{musl_target()}.so.1")
|
||||
link("lib/libc.so", "/bin/ldd")
|
||||
|
||||
package("semi-libc-dev")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
dep("semi-libc (same)")
|
||||
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user