forked from semios/semios-packages
Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e18ea3f7e2 |
@@ -1,5 +1,4 @@
|
||||
import os
|
||||
import stat
|
||||
import subprocess
|
||||
|
||||
from lib import common
|
||||
@@ -20,7 +19,4 @@ def autostrip(composer):
|
||||
continue
|
||||
if not _is_elf(ent.path):
|
||||
continue
|
||||
oldperm = stat.S_IMODE(os.stat(ent.path).st_mode)
|
||||
os.chmod(ent.path, 0o777)
|
||||
subprocess.run([strip, ent.path], check=True)
|
||||
os.chmod(ent.path, oldperm)
|
||||
|
||||
+1
-16
@@ -1,5 +1,4 @@
|
||||
import os
|
||||
import shutil
|
||||
import subprocess
|
||||
|
||||
from lib.common import treedir
|
||||
@@ -33,25 +32,11 @@ def make(rem: list[str] = []):
|
||||
subprocess.run(["make", f"-j{os.cpu_count()}"] + rem, check=True)
|
||||
|
||||
|
||||
def make_install(rem: list[str] | None = None, chdir: bool = True, move: bool = True):
|
||||
def make_install(rem: list[str] | None = None, chdir: bool = True):
|
||||
default_rem = ["DESTDIR=" + os.getcwd() + "/../cpp_install"]
|
||||
if rem is None:
|
||||
try:
|
||||
shutil.rmtree("../cpp_install")
|
||||
except:
|
||||
pass
|
||||
subprocess.run(["make", "install"] + (rem or default_rem), check=True)
|
||||
if rem is None and chdir:
|
||||
os.chdir("../cpp_install")
|
||||
if chdir and move:
|
||||
subprocess.run(
|
||||
["sh", "-c", "cp -r ./pkg/*@*/* . 2>/dev/null || true"], check=False
|
||||
)
|
||||
subprocess.run(
|
||||
["sh", "-c", "cp -r ./usr/local/* . 2>/dev/null || true"], check=False
|
||||
)
|
||||
subprocess.run(["sh", "-c", "cp -r ./usr/* . 2>/dev/null || true"], check=False)
|
||||
subprocess.run(["rm", "-rf", "./pkg", "./usr"], check=False)
|
||||
|
||||
|
||||
def ninja(rem: list[str] = []):
|
||||
|
||||
@@ -72,15 +72,6 @@ def link(src: str, dst: str, default: bool = True):
|
||||
]
|
||||
|
||||
|
||||
def get_prefix(pkgname: str) -> str:
|
||||
pkginfo = _pkginfo[pkgname]
|
||||
if pkginfo.get(_key_arch_any):
|
||||
pkgarch = "any"
|
||||
else:
|
||||
pkgarch = arch.get_target()
|
||||
return f"/pkg/{pkgname}={pkginfo[_key_version]}@{pkgarch}"
|
||||
|
||||
|
||||
def supported_arch(s: list[str] | typing.Callable[[str], bool]):
|
||||
global _supported_arch
|
||||
if isinstance(s, list):
|
||||
|
||||
+1
-7
@@ -23,13 +23,7 @@ class PkgComposer:
|
||||
|
||||
def write_manifest(self, manifest: dict):
|
||||
with open(self.workdir + "/PkgManifest.json", "w") as f:
|
||||
json.dump(manifest, f)
|
||||
|
||||
def write_links(self, links: list[dict]):
|
||||
with open(self.workdir + "/_links", "w") as f:
|
||||
for link in links:
|
||||
json.dump(link, f)
|
||||
f.write("\n")
|
||||
json.dump(manifest, f, indent=4)
|
||||
|
||||
def compose(self):
|
||||
shutil.make_archive(self.pkgfile, _archive_format, self.workdir)
|
||||
|
||||
@@ -30,45 +30,6 @@ def download(url, output):
|
||||
last_percent = percent
|
||||
|
||||
try:
|
||||
if url.startswith("file://"):
|
||||
file_path = url[7:]
|
||||
if not os.path.exists(file_path):
|
||||
raise Exception("File not found: " + file_path)
|
||||
|
||||
total_size = os.path.getsize(file_path)
|
||||
if total_size <= 0:
|
||||
print("Copying...")
|
||||
with open(file_path, "rb") as src, open(output, "wb") as dst:
|
||||
while True:
|
||||
chunk = src.read(8192)
|
||||
if not chunk:
|
||||
break
|
||||
dst.write(chunk)
|
||||
print("Download completed: " + output)
|
||||
return output
|
||||
|
||||
sys.stdout.write("downloading... 0%")
|
||||
sys.stdout.flush()
|
||||
|
||||
with open(file_path, "rb") as src, open(output, "wb") as dst:
|
||||
downloaded = 0
|
||||
block_size = 8192
|
||||
while True:
|
||||
chunk = src.read(block_size)
|
||||
if not chunk:
|
||||
break
|
||||
dst.write(chunk)
|
||||
downloaded += len(chunk)
|
||||
percent = int(downloaded * 100 / total_size)
|
||||
report_progress(percent)
|
||||
|
||||
if last_percent != 100:
|
||||
report_progress(100)
|
||||
|
||||
sys.stdout.write("\n")
|
||||
print("Download completed: " + output)
|
||||
return output
|
||||
|
||||
req = urllib.request.Request(url, method="GET")
|
||||
req.add_header(
|
||||
"User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
|
||||
|
||||
@@ -1,49 +0,0 @@
|
||||
from lib import arch, cpp
|
||||
from lib.make import *
|
||||
|
||||
upstream_version = "1.2.16.1"
|
||||
|
||||
version(upstream_version)
|
||||
source_url("https://www.alsa-project.org/files/pub/lib/alsa-lib-1.2.16.1.tar.bz2")
|
||||
|
||||
|
||||
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"])
|
||||
@@ -1,24 +0,0 @@
|
||||
import os
|
||||
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("2026.4.26")
|
||||
source_url("https://github.com/onetrueawk/awk/archive/refs/tags/20260426.tar.gz")
|
||||
|
||||
|
||||
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)
|
||||
@@ -1,11 +0,0 @@
|
||||
--- 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"
|
||||
@@ -3,8 +3,8 @@ import os
|
||||
import lib.cpp as cpp
|
||||
from lib.make import *
|
||||
|
||||
version("5.1.0")
|
||||
source_url("https://github.com/aws/aws-lc/archive/refs/tags/v5.1.0.tar.gz")
|
||||
version("5.0.0")
|
||||
source_url("https://github.com/aws/aws-lc/archive/refs/tags/v5.0.0.tar.gz")
|
||||
|
||||
|
||||
def build():
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
--- 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
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
import os
|
||||
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
VERSION = "2026.6.19"
|
||||
|
||||
version(VERSION)
|
||||
source_url("https://www.crufty.net/ftp/pub/sjg/bmake-20260619.tar.gz")
|
||||
|
||||
|
||||
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)
|
||||
@@ -1,29 +0,0 @@
|
||||
import os
|
||||
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("1.2.0")
|
||||
source_url("https://github.com/google/brotli/archive/refs/tags/v1.2.0.tar.gz")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.cmake()
|
||||
cpp.ninja()
|
||||
cpp.ninja_install()
|
||||
os.chdir("usr")
|
||||
|
||||
|
||||
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)")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
@@ -1,28 +0,0 @@
|
||||
import os
|
||||
|
||||
from lib.make import *
|
||||
|
||||
version("2026.7.4")
|
||||
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)
|
||||
@@ -1,16 +0,0 @@
|
||||
from lib import rust
|
||||
from lib.make import *
|
||||
|
||||
version("0.1.0")
|
||||
source_url("https://gitea.semilabs.org/semios/certutil/archive/v0.1.0.tar.gz")
|
||||
|
||||
|
||||
def build():
|
||||
rust.build()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("certutil")
|
||||
dep("semi-libc @same-arch")
|
||||
rust.use_auto_pack(["bin"])
|
||||
@@ -1,43 +0,0 @@
|
||||
import subprocess
|
||||
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
VERSION = "5.48"
|
||||
|
||||
version(VERSION)
|
||||
source_git("https://github.com/file/file.git", "FILE5_48")
|
||||
|
||||
|
||||
def build():
|
||||
subprocess.run(["autoreconf", "-fiv"], check=True)
|
||||
cpp.configure(["--prefix=/", f"--datadir=/share/file"])
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack_magic_db(composer):
|
||||
composer.add_dir(f"share/file", "share")
|
||||
|
||||
|
||||
package("file-magic-db")
|
||||
arch_any()
|
||||
link("share/misc/magic.mgc", "/share/file/misc/magic.mgc")
|
||||
on_pack(pack_magic_db)
|
||||
|
||||
|
||||
package("libmagic")
|
||||
dep("semi-libc @same-arch")
|
||||
dep("file-magic-db (same-version) @any")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
|
||||
package("libmagic-dev")
|
||||
dep("libmagic (same)")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
|
||||
package("file")
|
||||
dep("libmagic (same)")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
@@ -1,28 +0,0 @@
|
||||
import os
|
||||
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("0.3.3")
|
||||
source_url(
|
||||
"https://github.com/sabotage-linux/gettext-tiny/releases/download/v0.3.3/gettext-tiny-0.3.3.tar.xz"
|
||||
)
|
||||
|
||||
|
||||
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"])
|
||||
@@ -6,7 +6,7 @@ source_url("https://ftp.gnu.org/gnu/make/make-4.4.1.tar.gz")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure([f"--prefix={get_prefix('gnu-make')}"])
|
||||
cpp.configure(["--prefix=/"])
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
import os
|
||||
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("2026.4.22")
|
||||
source_url("https://data.iana.org/time-zones/releases/tzdb-2026b.tar.lz")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
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"])
|
||||
@@ -11,16 +11,7 @@ source_url(
|
||||
|
||||
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.configure(["--enable-plugins", "--prefix=/"])
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
import os
|
||||
import shutil
|
||||
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("7.1.0")
|
||||
source_git("https://git.kernel.org/pub/scm/network/iproute2/iproute2.git", "v7.1.0")
|
||||
|
||||
|
||||
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"])
|
||||
@@ -19,8 +19,6 @@ on_build(build)
|
||||
package("libkmod")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
dep("semi-libc @same-arch")
|
||||
dep("libzstd @same-arch")
|
||||
dep("libcrypto @same-arch")
|
||||
|
||||
package("kmod")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
|
||||
@@ -8,14 +8,7 @@ source_url(
|
||||
|
||||
|
||||
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.configure(["--prefix=/"])
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
@@ -34,12 +27,7 @@ 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")
|
||||
provide("bsdtar")
|
||||
|
||||
package("libarchive-dev")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("3.6.0")
|
||||
source_url(
|
||||
"https://github.com/libffi/libffi/releases/download/v3.6.0/libffi-3.6.0.tar.gz"
|
||||
)
|
||||
|
||||
|
||||
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"])
|
||||
Binary file not shown.
@@ -1,37 +0,0 @@
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
from lib.make import *
|
||||
|
||||
version("0.1.0")
|
||||
source_url(f"file://{os.getcwd()}/empty.tar")
|
||||
|
||||
|
||||
def build():
|
||||
subprocess.run(
|
||||
os.environ.get("CC", "cc").split(" ")
|
||||
+ [
|
||||
"-shared",
|
||||
"-o",
|
||||
"libgcc_s.so.1",
|
||||
"-Wl,--no-as-needed",
|
||||
"-lunwind",
|
||||
"-Wl,--no-undefined",
|
||||
"-Wl,-soname,libgcc_s.so.1",
|
||||
],
|
||||
check=True,
|
||||
)
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack(composer):
|
||||
composer.makedir("lib")
|
||||
composer.addfile("libgcc_s.so.1", "lib/libgcc_s.so.1")
|
||||
|
||||
|
||||
package("libgcc-compat")
|
||||
dep("semi-libc @same-arch")
|
||||
dep("libunwind @same-arch")
|
||||
on_pack(pack)
|
||||
@@ -1,28 +0,0 @@
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("1.6.1")
|
||||
source_url("https://downloads.xiph.org/releases/opus/opus-1.6.1.tar.gz")
|
||||
|
||||
|
||||
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"])
|
||||
+271
-299
@@ -1,154 +1,6 @@
|
||||
import glob
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
upstream_version = "22.1.7"
|
||||
[upstream_major, upstream_minor, upstream_rev] = upstream_version.split(".")
|
||||
|
||||
# Begin of file lists
|
||||
LLVM_TOOLS = [
|
||||
"bugpoint",
|
||||
"dsymutil",
|
||||
"llc",
|
||||
"lli",
|
||||
"llvm-addr2line",
|
||||
"llvm-ar",
|
||||
"llvm-as",
|
||||
"llvm-bcanalyzer",
|
||||
"llvm-bitcode-strip",
|
||||
"llvm-bolt",
|
||||
"llvm-bolt-binary-analysis",
|
||||
"llvm-bolt-heatmap",
|
||||
"llvm-boltdiff",
|
||||
"llvm-c-test",
|
||||
"llvm-cas",
|
||||
"llvm-cat",
|
||||
"llvm-cfi-verify",
|
||||
"llvm-cgdata",
|
||||
"llvm-config",
|
||||
"llvm-cov",
|
||||
"llvm-ctxprof-util",
|
||||
"llvm-cvtres",
|
||||
"llvm-cxxdump",
|
||||
"llvm-cxxfilt",
|
||||
"llvm-cxxmap",
|
||||
"llvm-debuginfo-analyzer",
|
||||
"llvm-debuginfod",
|
||||
"llvm-debuginfod-find",
|
||||
"llvm-diff",
|
||||
"llvm-dis",
|
||||
"llvm-dlltool",
|
||||
"llvm-dwarfdump",
|
||||
"llvm-dwarfutil",
|
||||
"llvm-dwp",
|
||||
"llvm-exegesis",
|
||||
"llvm-extract",
|
||||
"llvm-gsymutil",
|
||||
"llvm-ifs",
|
||||
"llvm-install-name-tool",
|
||||
"llvm-ir2vec",
|
||||
"llvm-jitlink",
|
||||
"llvm-lib",
|
||||
"llvm-libtool-darwin",
|
||||
"llvm-link",
|
||||
"llvm-lipo",
|
||||
"llvm-lto",
|
||||
"llvm-lto2",
|
||||
"llvm-mc",
|
||||
"llvm-mca",
|
||||
"llvm-ml",
|
||||
"llvm-ml64",
|
||||
"llvm-modextract",
|
||||
"llvm-nm",
|
||||
"llvm-objcopy",
|
||||
"llvm-objdump",
|
||||
"llvm-offload-binary",
|
||||
"llvm-offload-wrapper",
|
||||
"llvm-opt-report",
|
||||
"llvm-otool",
|
||||
"llvm-pdbutil",
|
||||
"llvm-profdata",
|
||||
"llvm-profgen",
|
||||
"llvm-ranlib",
|
||||
"llvm-rc",
|
||||
"llvm-readelf",
|
||||
"llvm-readobj",
|
||||
"llvm-readtapi",
|
||||
"llvm-reduce",
|
||||
"llvm-remarkutil",
|
||||
"llvm-rtdyld",
|
||||
"llvm-sim",
|
||||
"llvm-size",
|
||||
"llvm-split",
|
||||
"llvm-stress",
|
||||
"llvm-strings",
|
||||
"llvm-strip",
|
||||
"llvm-symbolizer",
|
||||
"llvm-tblgen",
|
||||
"llvm-tli-checker",
|
||||
"llvm-undname",
|
||||
"llvm-windres",
|
||||
"llvm-xray",
|
||||
"merge-fdata",
|
||||
"opt",
|
||||
"perf2bolt",
|
||||
"reduce-chunk-list",
|
||||
"sancov",
|
||||
"sanstats",
|
||||
"verify-uselistorder",
|
||||
]
|
||||
LLDB_BINARIES = [
|
||||
"lldb",
|
||||
"lldb-argdumper",
|
||||
"lldb-dap",
|
||||
"lldb-instr",
|
||||
"lldb-mcp",
|
||||
"lldb-server",
|
||||
"yaml2macho-core",
|
||||
]
|
||||
LLD_BINARIES = ["lld", "lld-link", "ld64.lld", "wasm-ld", "wrapper://ld.lld~ld.lld"]
|
||||
CLANG_BINARIES = [
|
||||
f"clang-{upstream_major}~llvm-clang",
|
||||
"wrapper://clang~clang",
|
||||
"wrapper://clang++~clang++",
|
||||
f"wrapper://clang~clang-{upstream_major}",
|
||||
"clang-check",
|
||||
"clang-cl",
|
||||
"clang-cpp",
|
||||
"clang-extdef-mapping",
|
||||
"clang-format",
|
||||
"clang-installapi",
|
||||
"clang-linker-wrapper",
|
||||
"clang-nvlink-wrapper",
|
||||
"clang-offload-bundler",
|
||||
"clang-offload-packager",
|
||||
"clang-refactor",
|
||||
"clang-repl",
|
||||
"clang-scan-deps",
|
||||
"clang-sycl-linker",
|
||||
"clang-tblgen",
|
||||
"diagtool",
|
||||
"git-clang-format",
|
||||
"hmaptool",
|
||||
"intercept-build",
|
||||
"amdgpu-arch",
|
||||
"c-index-test",
|
||||
"analyze-build",
|
||||
"nvptx-arch",
|
||||
"offload-arch",
|
||||
"scan-build",
|
||||
"scan-build-py",
|
||||
"scan-view",
|
||||
"libexec/analyze-c++",
|
||||
"libexec/analyze-cc",
|
||||
"libexec/c++-analyzer",
|
||||
"libexec/ccc-analyzer",
|
||||
"libexec/intercept-c++",
|
||||
"libexec/intercept-cc",
|
||||
]
|
||||
# End of file lists
|
||||
|
||||
|
||||
import lib.cpp as cpp
|
||||
from lib import arch
|
||||
from lib.make import *
|
||||
@@ -185,7 +37,6 @@ def build():
|
||||
"-DLLVM_BUILD_LLVM_DYLIB=ON",
|
||||
"-DLLVM_ENABLE_LIBCXX=ON",
|
||||
"-DLLVM_ENABLE_LIBEDIT=ON",
|
||||
"-DLLVM_ENABLE_LLD=ON",
|
||||
"-DLLVM_LINK_LLVM_DYLIB=ON",
|
||||
"-DLIBCXX_HAS_MUSL_LIBC=ON",
|
||||
"-DCOMPILER_RT_BUILD_GWP_ASAN=OFF",
|
||||
@@ -201,194 +52,315 @@ def build():
|
||||
on_build(build)
|
||||
|
||||
|
||||
# Begin of helper functions
|
||||
package_dir = os.getcwd()
|
||||
def pack_runtime_lib(composer, files):
|
||||
composer.makedir("lib")
|
||||
for file in files:
|
||||
composer.addfile(f"lib/{llvm_host_triple()}/{file}", f"lib/{file}")
|
||||
|
||||
|
||||
def install_wrapper(composer, name: str, dst: str):
|
||||
composer.addfile(f"{package_dir}/wrapper/{name}.wrapper", dst)
|
||||
with open(f"{composer.workdir}/bundle/{dst}", "r") as f:
|
||||
s = f.read()
|
||||
s = s.replace("LLVM_VERSION=", f"LLVM_VERSION={upstream_version}").replace(
|
||||
"ARCHITECTURE=", "ARCHITECTURE=" + arch.get_target()
|
||||
)
|
||||
with open(f"{composer.workdir}/bundle/{dst}", "w") as f:
|
||||
f.write(s)
|
||||
os.chmod(f"{composer.workdir}/bundle/{dst}", 0o755)
|
||||
def pack_runtime_dev(composer, files: list[str]):
|
||||
for file in files:
|
||||
if file.startswith("lib/"):
|
||||
composer.makedirs("lib")
|
||||
composer.addfile(file.replace("lib/", f"lib/{llvm_host_triple()}/"), file)
|
||||
elif file.startswith("include/"):
|
||||
realpath = file.replace("include/", "usr/include/")
|
||||
composer.makedirs(os.path.dirname(file))
|
||||
if os.path.isfile(realpath):
|
||||
composer.addfile(realpath, file)
|
||||
elif os.path.isdir(realpath):
|
||||
composer.add_dir(realpath, file)
|
||||
|
||||
|
||||
def auto_pack_llvm_runtime(composer, prefix, dev):
|
||||
composer.makedirs("lib")
|
||||
parent_dir = f"./lib/{llvm_host_triple()}"
|
||||
for i in os.listdir(parent_dir):
|
||||
fullpath = f"{parent_dir}/{i}"
|
||||
if i.split(".")[0] != prefix:
|
||||
continue
|
||||
if dev:
|
||||
if ".so" in i:
|
||||
continue
|
||||
else:
|
||||
if not ".so" in i:
|
||||
continue
|
||||
composer.addfile(fullpath, f"lib/{i}")
|
||||
if not dev:
|
||||
return
|
||||
|
||||
|
||||
def auto_pack_llvm_runtime_dev(composer, condition):
|
||||
composer.makedir("include")
|
||||
parent_include = f"./usr/include"
|
||||
for i in condition:
|
||||
if i.startswith("lib:"):
|
||||
auto_pack_llvm_runtime(composer, i.replace("lib:", ""), True)
|
||||
continue
|
||||
i = i.replace("include:", "")
|
||||
for file in glob.glob(f"{parent_include}/{i}"):
|
||||
name = file.replace(f"{parent_include}/", "")
|
||||
if "/" in name:
|
||||
composer.makedirs(f"include/{os.path.dirname(name)}")
|
||||
if os.path.isdir(file):
|
||||
composer.add_dir(file, f"include/{name}")
|
||||
else:
|
||||
composer.addfile(file, f"include/{name}")
|
||||
|
||||
|
||||
def use_llvm_runtime_auto_pack(prefix: str):
|
||||
on_pack(lambda composer: auto_pack_llvm_runtime(composer, prefix, False))
|
||||
|
||||
|
||||
def use_llvm_runtime_dev_auto_pack(des: list[str]):
|
||||
on_pack(lambda composer: auto_pack_llvm_runtime_dev(composer, des))
|
||||
|
||||
|
||||
def auto_pack_llvm_libs(composer, prefixes: list[str]):
|
||||
composer.makedirs("lib")
|
||||
parent_dir = f"./lib/"
|
||||
for i in os.listdir(parent_dir):
|
||||
fullpath = f"{parent_dir}/{i}"
|
||||
if not i.split(".")[0] in prefixes:
|
||||
continue
|
||||
if not ".so" in i:
|
||||
continue
|
||||
composer.addfile(fullpath, f"lib/{i}")
|
||||
|
||||
|
||||
def use_llvm_libs_auto_pack(prefixes: list[str]):
|
||||
on_pack(lambda composer: auto_pack_llvm_libs(composer, prefixes))
|
||||
|
||||
|
||||
def auto_pack_bin(composer, conditions: list[str]):
|
||||
for i in conditions:
|
||||
prefix = "bin"
|
||||
if i.startswith("libexec/"):
|
||||
i = i.replace("libexec/", "")
|
||||
prefix = "libexec"
|
||||
composer.makedirs(prefix)
|
||||
src = i
|
||||
dst = f"{prefix}/{i}"
|
||||
if len(i.split("~")) == 2:
|
||||
src = i.split("~")[0]
|
||||
dst = f"bin/{i.split('~')[1]}"
|
||||
if src.startswith("wrapper://"):
|
||||
src = src.replace("wrapper://", "")
|
||||
if len(i.split("~")) == 1:
|
||||
dst = f"bin/{src}.wrapper"
|
||||
install_wrapper(composer, src, dst)
|
||||
continue
|
||||
if os.path.exists(f"{prefix}/{src}"):
|
||||
src = f"{prefix}/{src}"
|
||||
elif os.path.exists(f"usr/{prefix}/{src}"):
|
||||
src = f"usr/{prefix}/{src}"
|
||||
composer.addfile(src, dst)
|
||||
|
||||
|
||||
def use_bin_auto_pack(conditions: list[str]):
|
||||
on_pack(lambda composer: auto_pack_bin(composer, conditions))
|
||||
|
||||
|
||||
# End of helper functions
|
||||
|
||||
# Begin of packages
|
||||
|
||||
package("libunwind")
|
||||
dep("semi-libc @same-arch")
|
||||
use_llvm_runtime_auto_pack("libunwind")
|
||||
on_pack(
|
||||
lambda composer: pack_runtime_lib(
|
||||
composer, ["libunwind.so.1.0", "libunwind.so.1", "libunwind.so"]
|
||||
)
|
||||
)
|
||||
|
||||
package("libunwind-dev")
|
||||
dep("libunwind (same)")
|
||||
use_llvm_runtime_dev_auto_pack(
|
||||
["lib:libunwind", "include:mach-o", "include:*unwind*.h"]
|
||||
on_pack(
|
||||
lambda composer: pack_runtime_dev(
|
||||
composer,
|
||||
[
|
||||
"lib/libunwind.a",
|
||||
"include/mach-o/compact_unwind_encoding.h",
|
||||
"include/__libunwind_config.h",
|
||||
"include/libunwind.h",
|
||||
"include/libunwind.modulemap",
|
||||
"include/unwind.h",
|
||||
"include/unwind_arm_ehabi.h",
|
||||
"include/unwind_itanium.h",
|
||||
],
|
||||
)
|
||||
)
|
||||
|
||||
package("libcxxabi")
|
||||
dep("libunwind (same)")
|
||||
use_llvm_runtime_auto_pack("libc++abi")
|
||||
on_pack(
|
||||
lambda composer: pack_runtime_lib(
|
||||
composer, ["libc++abi.so", "libc++abi.so.1", "libc++abi.so.1.0"]
|
||||
)
|
||||
)
|
||||
|
||||
package("libcxxabi-dev")
|
||||
dep("libcxxabi (same)")
|
||||
use_llvm_runtime_dev_auto_pack(["lib:libc++abi"])
|
||||
on_pack(lambda composer: pack_runtime_dev(composer, ["lib/libc++abi.a"]))
|
||||
|
||||
|
||||
package("libcxx")
|
||||
dep("libcxxabi (same)")
|
||||
use_llvm_runtime_auto_pack("libc++")
|
||||
on_pack(
|
||||
lambda composer: pack_runtime_lib(
|
||||
composer, ["libc++.so", "libc++.so.1", "libc++.so.1.0"]
|
||||
)
|
||||
)
|
||||
|
||||
package("libcxx-dev")
|
||||
dep("libcxx (same)")
|
||||
use_llvm_runtime_dev_auto_pack(
|
||||
[
|
||||
"lib:libc++",
|
||||
"lib:libc++experimental",
|
||||
f"include:{llvm_host_triple()}/c++/v1/__config_site",
|
||||
"include:c++/v1",
|
||||
]
|
||||
on_pack(
|
||||
lambda composer: pack_runtime_dev(
|
||||
composer,
|
||||
[
|
||||
"lib/libc++.a",
|
||||
"lib/libc++experimental.a",
|
||||
"lib/libc++.modules.json",
|
||||
f"include/{llvm_host_triple()}/c++/v1",
|
||||
"include/c++/v1",
|
||||
],
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
def pack_libllvm(composer):
|
||||
LIBRARIES = [
|
||||
"libLLVM.so.22.1",
|
||||
"libLLVM.so",
|
||||
"libLLVM-22.so",
|
||||
"libLTO.so",
|
||||
"libLTO.so.22.1",
|
||||
"libRemarks.so",
|
||||
"libRemarks.so.22.1",
|
||||
]
|
||||
composer.makedir("lib")
|
||||
for lib in LIBRARIES:
|
||||
composer.addfile(f"lib/{lib}", f"lib/{lib}")
|
||||
|
||||
|
||||
package("libllvm")
|
||||
dep("libcxx @same-arch")
|
||||
use_llvm_libs_auto_pack(["libLLVM", "libLTO", "libRemarks"])
|
||||
on_pack(pack_libllvm)
|
||||
|
||||
|
||||
def pack_llvm(composer):
|
||||
BINARIES = [
|
||||
"bugpoint",
|
||||
"dsymutil",
|
||||
"llc",
|
||||
"lli",
|
||||
"llvm-addr2line",
|
||||
"llvm-ar",
|
||||
"llvm-as",
|
||||
"llvm-bcanalyzer",
|
||||
"llvm-bitcode-strip",
|
||||
"llvm-bolt",
|
||||
"llvm-bolt-binary-analysis",
|
||||
"llvm-bolt-heatmap",
|
||||
"llvm-boltdiff",
|
||||
"llvm-c-test",
|
||||
"llvm-cas",
|
||||
"llvm-cat",
|
||||
"llvm-cfi-verify",
|
||||
"llvm-cgdata",
|
||||
"llvm-config",
|
||||
"llvm-cov",
|
||||
"llvm-ctxprof-util",
|
||||
"llvm-cvtres",
|
||||
"llvm-cxxdump",
|
||||
"llvm-cxxfilt",
|
||||
"llvm-cxxmap",
|
||||
"llvm-debuginfo-analyzer",
|
||||
"llvm-debuginfod",
|
||||
"llvm-debuginfod-find",
|
||||
"llvm-diff",
|
||||
"llvm-dis",
|
||||
"llvm-dlltool",
|
||||
"llvm-dwarfdump",
|
||||
"llvm-dwarfutil",
|
||||
"llvm-dwp",
|
||||
"llvm-exegesis",
|
||||
"llvm-extract",
|
||||
"llvm-gsymutil",
|
||||
"llvm-ifs",
|
||||
"llvm-install-name-tool",
|
||||
"llvm-ir2vec",
|
||||
"llvm-jitlink",
|
||||
"llvm-lib",
|
||||
"llvm-libtool-darwin",
|
||||
"llvm-link",
|
||||
"llvm-lipo",
|
||||
"llvm-lto",
|
||||
"llvm-lto2",
|
||||
"llvm-mc",
|
||||
"llvm-mca",
|
||||
"llvm-ml",
|
||||
"llvm-ml64",
|
||||
"llvm-modextract",
|
||||
"llvm-nm",
|
||||
"llvm-objcopy",
|
||||
"llvm-objdump",
|
||||
"llvm-offload-binary",
|
||||
"llvm-offload-wrapper",
|
||||
"llvm-opt-report",
|
||||
"llvm-otool",
|
||||
"llvm-pdbutil",
|
||||
"llvm-profdata",
|
||||
"llvm-profgen",
|
||||
"llvm-ranlib",
|
||||
"llvm-rc",
|
||||
"llvm-readelf",
|
||||
"llvm-readobj",
|
||||
"llvm-readtapi",
|
||||
"llvm-reduce",
|
||||
"llvm-remarkutil",
|
||||
"llvm-rtdyld",
|
||||
"llvm-sim",
|
||||
"llvm-size",
|
||||
"llvm-split",
|
||||
"llvm-stress",
|
||||
"llvm-strings",
|
||||
"llvm-strip",
|
||||
"llvm-symbolizer",
|
||||
"llvm-tblgen",
|
||||
"llvm-tli-checker",
|
||||
"llvm-undname",
|
||||
"llvm-windres",
|
||||
"llvm-xray",
|
||||
"merge-fdata",
|
||||
"opt",
|
||||
"perf2bolt",
|
||||
"reduce-chunk-list",
|
||||
"sancov",
|
||||
"sanstats",
|
||||
"verify-uselistorder",
|
||||
]
|
||||
composer.makedir("bin")
|
||||
for bin in BINARIES:
|
||||
composer.addfile(f"usr/bin/{bin}", f"bin/{bin}")
|
||||
|
||||
|
||||
package("llvm")
|
||||
dep("libllvm (same)")
|
||||
use_bin_auto_pack(LLVM_TOOLS)
|
||||
for i in ["strip", "ar", "ranlib", "readelf", "objcopy", "objdump", "strings", "nm"]:
|
||||
link(f"bin/llvm-{i}", f"/bin/{i}")
|
||||
on_pack(pack_llvm)
|
||||
|
||||
|
||||
def pack_lld(composer):
|
||||
BINARIES = ["lld", "lld-link", "ld.lld", "ld64.lld", "wasm-ld"]
|
||||
composer.makedir("bin")
|
||||
for bin in BINARIES:
|
||||
composer.addfile(f"usr/bin/{bin}", f"bin/{bin}")
|
||||
|
||||
|
||||
package("lld")
|
||||
dep("libcxx @same-arch")
|
||||
use_bin_auto_pack(LLD_BINARIES)
|
||||
link("bin/ld.lld", "/bin/ld")
|
||||
on_pack(pack_lld)
|
||||
|
||||
|
||||
def pack_liblldb(composer):
|
||||
LIBRARIES = [
|
||||
"liblldb.so",
|
||||
"liblldb.so.22.1",
|
||||
"liblldb.so.22.1.7",
|
||||
"liblldbIntelFeatures.so",
|
||||
"liblldbIntelFeatures.so.22.1",
|
||||
]
|
||||
composer.makedir("lib")
|
||||
for lib in LIBRARIES:
|
||||
composer.addfile(f"lib/{lib}", f"lib/{lib}")
|
||||
|
||||
|
||||
package("liblldb")
|
||||
dep("libcxx @same-arch")
|
||||
use_llvm_libs_auto_pack(["liblldb", "liblldbIntelFeatures"])
|
||||
on_pack(pack_liblldb)
|
||||
|
||||
|
||||
def pack_lldb(composer):
|
||||
BINARIES = [
|
||||
"lldb",
|
||||
"lldb-argdumper",
|
||||
"lldb-dap",
|
||||
"lldb-instr",
|
||||
"lldb-mcp",
|
||||
"lldb-server",
|
||||
"yaml2macho-core",
|
||||
]
|
||||
composer.makedir("bin")
|
||||
for bin in BINARIES:
|
||||
composer.addfile(f"bin/{bin}", f"bin/{bin}")
|
||||
|
||||
|
||||
package("lldb")
|
||||
dep("libcxx @same-arch")
|
||||
dep("liblldb (same)")
|
||||
use_bin_auto_pack(LLDB_BINARIES)
|
||||
on_pack(pack_lldb)
|
||||
|
||||
|
||||
def pack_libclang(composer):
|
||||
LIBRARIES = [
|
||||
"libclang.so",
|
||||
"libclang-cpp.so",
|
||||
"libclang-cpp.so.22.1",
|
||||
"libclang.so.22.1",
|
||||
"libclang.so.22.1.7",
|
||||
]
|
||||
composer.makedir("lib")
|
||||
for lib in LIBRARIES:
|
||||
composer.addfile(f"lib/{lib}", f"lib/{lib}")
|
||||
|
||||
|
||||
package("libclang")
|
||||
dep("libcxx @same-arch")
|
||||
dep("libllvm (same)")
|
||||
use_llvm_libs_auto_pack(["libclang", "libclang-cpp"])
|
||||
on_pack(pack_libclang)
|
||||
|
||||
|
||||
def pack_clang(composer):
|
||||
auto_pack_bin(composer, CLANG_BINARIES)
|
||||
composer.makedirs("lib/clang/22/lib")
|
||||
composer.add_dir(
|
||||
f"lib/clang/22/lib/{llvm_host_triple()}",
|
||||
f"lib/clang/22/lib/{llvm_host_triple()}",
|
||||
)
|
||||
BINARIES = [
|
||||
"clang",
|
||||
"clang++",
|
||||
"clang-22",
|
||||
"clang-check",
|
||||
"clang-cl",
|
||||
"clang-cpp",
|
||||
"clang-extdef-mapping",
|
||||
"clang-format",
|
||||
"clang-installapi",
|
||||
"clang-linker-wrapper",
|
||||
"clang-nvlink-wrapper",
|
||||
"clang-offload-bundler",
|
||||
"clang-offload-packager",
|
||||
"clang-refactor",
|
||||
"clang-repl",
|
||||
"clang-scan-deps",
|
||||
"clang-sycl-linker",
|
||||
"clang-tblgen",
|
||||
"diagtool",
|
||||
"git-clang-format",
|
||||
"hmaptool",
|
||||
"intercept-build",
|
||||
"amdgpu-arch",
|
||||
"c-index-test",
|
||||
"analyze-build",
|
||||
"nvptx-arch",
|
||||
"offload-arch",
|
||||
"scan-build",
|
||||
"scan-build-py",
|
||||
"scan-view",
|
||||
]
|
||||
LIBEXEC = [
|
||||
"analyze-c++",
|
||||
"analyze-cc",
|
||||
"c++-analyzer",
|
||||
"ccc-analyzer",
|
||||
"intercept-c++",
|
||||
"intercept-cc",
|
||||
]
|
||||
composer.makedir("bin")
|
||||
for bin in BINARIES:
|
||||
composer.addfile(f"usr/bin/{bin}", f"bin/{bin}")
|
||||
composer.makedir("libexec")
|
||||
for libexec in LIBEXEC:
|
||||
composer.addfile(f"usr/libexec/{libexec}", f"libexec/{libexec}")
|
||||
|
||||
|
||||
package("clang")
|
||||
dep("libclang (same)")
|
||||
on_pack(pack_clang)
|
||||
|
||||
# End of packages
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
LLVM_VERSION=
|
||||
ARCHITECTURE=
|
||||
|
||||
CLANG=$(packie print package.prefix."clang (=${LLVM_VERSION}) @${ARCHITECTURE}")/bin/llvm-clang
|
||||
|
||||
exec ${CLANG} -x c++ \
|
||||
-isystem /lib/${ARCHITECTURE}/include \
|
||||
-stdlib=libc++ \
|
||||
-rtlib=compiler-rt \
|
||||
-B /lib/${ARCHITECTURE} \
|
||||
"$@"
|
||||
@@ -1,12 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
LLVM_VERSION=
|
||||
ARCHITECTURE=
|
||||
|
||||
CLANG=$(packie print package.prefix."clang (=${LLVM_VERSION}) @${ARCHITECTURE}")/bin/llvm-clang
|
||||
|
||||
exec ${CLANG} \
|
||||
-isystem /lib/${ARCHITECTURE}/include \
|
||||
-rtlib=compiler-rt \
|
||||
-B /lib/${ARCHITECTURE} \
|
||||
"$@"
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
LLVM_VERSION=
|
||||
ARCHITECTURE=
|
||||
|
||||
LLD=$(packie print package.prefix."lld (=${LLVM_VERSION}) @${ARCHITECTURE}")/bin/lld
|
||||
|
||||
exec ${LLD} -flavor gnu -L/lib/${ARCHITECTURE} "$@"
|
||||
@@ -1,20 +0,0 @@
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("1.14.6")
|
||||
source_url("https://mandoc.bsd.lv/snapshots/mandoc-1.14.6.tar.gz")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure()
|
||||
cpp.make([f"CC={os.environ['CC']}"])
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("mandoc")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
@@ -22,4 +22,3 @@ package("mksh")
|
||||
on_pack(pack_mksh)
|
||||
dep("semi-libc @same-arch")
|
||||
provide("sh")
|
||||
link("bin/mksh", "/bin/sh")
|
||||
|
||||
@@ -1,65 +0,0 @@
|
||||
import os
|
||||
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("6.6")
|
||||
source_url("https://invisible-island.net/archives/ncurses/ncurses-6.6.tar.gz")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure(
|
||||
[
|
||||
"--prefix=/",
|
||||
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",
|
||||
"--with-terminfo-dirs=/share/terminfo",
|
||||
"--enable-symlinks",
|
||||
"--enable-sp-funcs",
|
||||
"--enable-ext-colors",
|
||||
"--enable-rgb-color",
|
||||
"--enable-ext-mouse",
|
||||
"--enable-ext-putwin",
|
||||
"--enable-no-padding",
|
||||
"--enable-sigwinch",
|
||||
"--enable-tcap-names",
|
||||
"--with-pthread",
|
||||
"--enable-pthreads-eintr",
|
||||
"--enable-weak-symbols",
|
||||
"--enable-reentrant",
|
||||
"--without-develop",
|
||||
]
|
||||
)
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
os.unlink("lib/terminfo")
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("libncurses")
|
||||
dep("semi-libc @same-arch")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
|
||||
package("ncurses-tools")
|
||||
dep("libncurses (same)")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
|
||||
package("libncurses-dev")
|
||||
dep("libncurses (same)")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
|
||||
|
||||
def pack_terminfo(composer):
|
||||
composer.makedir("share")
|
||||
composer.add_dir("share/tabset", "share/tabset")
|
||||
composer.add_dir("share/terminfo", "share/terminfo")
|
||||
|
||||
|
||||
package("ncurses-terminfo")
|
||||
arch_any()
|
||||
on_pack(pack_terminfo)
|
||||
@@ -1,25 +0,0 @@
|
||||
import os
|
||||
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("19")
|
||||
source_url("https://github.com/aligrudi/neatvi/archive/refs/tags/19.tar.gz")
|
||||
|
||||
|
||||
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)
|
||||
@@ -1,27 +0,0 @@
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("5.3")
|
||||
source_url("https://github.com/kyx0r/nextvi/archive/refs/tags/5.3.tar.gz")
|
||||
|
||||
|
||||
def build():
|
||||
os.environ["PREFIX"] = "/"
|
||||
subprocess.run(["./cbuild.sh"])
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack(composer):
|
||||
composer.makedir("bin")
|
||||
composer.addfile("vi", "bin/vi")
|
||||
|
||||
|
||||
package("nextvi")
|
||||
on_pack(pack)
|
||||
dep("semi-libc @same-arch")
|
||||
provide("vi")
|
||||
@@ -1,55 +0,0 @@
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("10.3.1")
|
||||
source_url("https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-10.3p1.tar.gz")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure(
|
||||
[
|
||||
"--prefix=/",
|
||||
"--sysconfdir=/var/config",
|
||||
"--disable-etc-default-login",
|
||||
"--with-linux-memlock-onfault",
|
||||
"--without-shadow",
|
||||
"--with-pam",
|
||||
"--with-pie",
|
||||
]
|
||||
)
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack_client(composer):
|
||||
composer.add_dir("bin", "bin")
|
||||
composer.makedir("libexec")
|
||||
composer.addfile("libexec/ssh-sk-helper", "libexec/ssh-sk-helper")
|
||||
composer.addfile("libexec/ssh-pkcs11-helper", "libexec/ssh-pkcs11-helper")
|
||||
|
||||
|
||||
package("openssh-client")
|
||||
dep("semi-libc @same-arch")
|
||||
dep("libcrypto @same-arch")
|
||||
dep("libz @same-arch")
|
||||
on_pack(pack_client)
|
||||
provide("ssh")
|
||||
|
||||
|
||||
def pack_server(composer):
|
||||
composer.makedir("bin")
|
||||
composer.addfile("sbin/sshd", "bin/sshd")
|
||||
composer.makedir("libexec")
|
||||
composer.addfile("libexec/sftp-server", "libexec/sftp-server")
|
||||
composer.addfile("libexec/ssh-keysign", "libexec/ssh-keysign")
|
||||
composer.addfile("libexec/sshd-auth", "libexec/sshd-auth")
|
||||
composer.addfile("libexec/sshd-session", "libexec/sshd-session")
|
||||
|
||||
|
||||
package("openssh-server")
|
||||
dep("openssh-client (same)")
|
||||
dep("libpam @same-arch")
|
||||
on_pack(pack_server)
|
||||
@@ -1,24 +0,0 @@
|
||||
import shutil
|
||||
import subprocess
|
||||
|
||||
from lib.make import *
|
||||
|
||||
version("15.1.1")
|
||||
source_url("https://gitea.semilabs.org/semios/patch/archive/v15.1.1.tar.gz")
|
||||
|
||||
|
||||
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)
|
||||
@@ -1,72 +0,0 @@
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
from lib import arch, cpp
|
||||
from lib.make import *
|
||||
|
||||
upstream_version = "5.42.2"
|
||||
|
||||
version(upstream_version)
|
||||
source_url("https://www.cpan.org/src/5.0/perl-5.42.2.tar.gz")
|
||||
|
||||
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}")
|
||||
@@ -10,9 +10,6 @@ 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",
|
||||
|
||||
@@ -1,97 +0,0 @@
|
||||
import os
|
||||
import shutil
|
||||
import subprocess
|
||||
|
||||
from lib import arch, cpp
|
||||
from lib.make import *
|
||||
|
||||
VERSION_BASE = "3.14"
|
||||
VERSION_APPEND = "6"
|
||||
|
||||
VERSION_FULL = f"{VERSION_BASE}.{VERSION_APPEND}"
|
||||
|
||||
version(VERSION_FULL)
|
||||
source_url(
|
||||
f"https://www.python.org/ftp/python/{VERSION_FULL}/Python-{VERSION_FULL}.tar.xz"
|
||||
)
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure(
|
||||
[
|
||||
"--prefix=/",
|
||||
f"--with-platlibdir=lib/{arch.get_target()}",
|
||||
"--enable-shared",
|
||||
"--enable-safety",
|
||||
"--enable-optimizations",
|
||||
"--enable-loadable-sqlite-extensions",
|
||||
"--enable-ipv6",
|
||||
"--with-lto=thin",
|
||||
"--with-tzpath=/share/zoneinfo",
|
||||
"--with-system-expat",
|
||||
"--with-system-libmpdec",
|
||||
"--with-readline=editline",
|
||||
"--with-tail-call-interp",
|
||||
"--without-ensurepip",
|
||||
"--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)
|
||||
@@ -1,33 +0,0 @@
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
version("1.4.6")
|
||||
source_url("https://github.com/rhash/RHash/archive/refs/tags/v1.4.6.tar.gz")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure(
|
||||
[
|
||||
"--prefix=/",
|
||||
f"--bindir={get_prefix('rhash-tools')}/bin",
|
||||
f"--libdir={get_prefix('librhash')}/lib",
|
||||
"--disable-gettext",
|
||||
]
|
||||
)
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
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"])
|
||||
@@ -1,16 +0,0 @@
|
||||
from lib import rust
|
||||
from lib.make import *
|
||||
|
||||
version("15.1.0")
|
||||
source_url("https://github.com/BurntSushi/ripgrep/archive/refs/tags/15.1.0.tar.gz")
|
||||
|
||||
|
||||
def build():
|
||||
rust.build()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("ripgrep")
|
||||
dep("semi-libc @same-arch")
|
||||
rust.use_auto_pack(["bin"])
|
||||
@@ -1,16 +0,0 @@
|
||||
from lib import rust
|
||||
from lib.make import *
|
||||
|
||||
version("0.1.1")
|
||||
source_url("https://github.com/uutils/sed/releases/download/0.1.1/source.tar.gz")
|
||||
|
||||
|
||||
def build():
|
||||
rust.build()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("sed")
|
||||
dep("semi-libc @same-arch")
|
||||
rust.use_auto_pack(["bin"])
|
||||
@@ -1,14 +1,15 @@
|
||||
from lib import arch, cpp
|
||||
import lib.arch as arch
|
||||
from lib.cpp import *
|
||||
from lib.make import *
|
||||
|
||||
version("1.2.6+1")
|
||||
source_url("https://gitea.semilabs.org/semios/semi-libc/archive/v1.2.6-1.tar.gz")
|
||||
source_url("https://gitea.semilabs.org/semios/semi-libc/archive/v1.2.5.tar.gz")
|
||||
version("1.2.5")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure(["--prefix=/"])
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
configure(["--prefix=/"])
|
||||
make()
|
||||
make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
@@ -19,10 +20,9 @@ def musl_target():
|
||||
|
||||
|
||||
package("semi-libc")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
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"])
|
||||
use_auto_pack(["dev"])
|
||||
dep("semi-libc (same)")
|
||||
|
||||
@@ -9,9 +9,6 @@ def build():
|
||||
cpp.configure(
|
||||
[
|
||||
"--prefix=/",
|
||||
f"--libdir={get_prefix('libsqlite')}/lib",
|
||||
f"--bindir={get_prefix('sqlite')}/bin",
|
||||
f"--includedir={get_prefix('libsqlite-dev')}/include",
|
||||
"--all",
|
||||
"--with-linenoise=/pkg/linenoise-dev=2.0@any",
|
||||
"--icu-collations",
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
from lib import cpp
|
||||
from lib.make import *
|
||||
|
||||
upstream_version = "9.2.782"
|
||||
|
||||
version(upstream_version)
|
||||
source_url("https://github.com/vim/vim/archive/refs/tags/v9.2.0782.tar.gz")
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure(
|
||||
[
|
||||
"--prefix=/",
|
||||
f"--bindir={get_prefix('vim')}/bin",
|
||||
"--datarootdir=/share",
|
||||
f"--datadir={get_prefix('vim-data')}/share",
|
||||
"--enable-terminal",
|
||||
"--enable-autoservername",
|
||||
"--enable-multibyte",
|
||||
"--disable-nls",
|
||||
]
|
||||
)
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
|
||||
def pack_data(composer):
|
||||
composer.makedirs("share/vim")
|
||||
composer.add_dir("share/vim/vim92", "share/vim/vim92")
|
||||
|
||||
|
||||
package("vim-data")
|
||||
arch_any()
|
||||
on_pack(pack_data)
|
||||
|
||||
package("vim")
|
||||
dep("semi-libc @same-arch")
|
||||
dep("libncurses @same-arch")
|
||||
dep(f"vim-data (={upstream_version}) @any")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
@@ -0,0 +1,612 @@
|
||||
# SemiOS WPA Supplicant Config
|
||||
|
||||
# Uncomment following two lines and fix the paths if you have installed OpenSSL
|
||||
# or GnuTLS in non-default location
|
||||
#CFLAGS += -I/usr/local/openssl/include
|
||||
#LIBS += -L/usr/local/openssl/lib
|
||||
|
||||
# Some Red Hat versions seem to include kerberos header files from OpenSSL, but
|
||||
# the kerberos files are not in the default include path. Following line can be
|
||||
# used to fix build issues on such systems (krb5.h not found).
|
||||
#CFLAGS += -I/usr/include/kerberos
|
||||
|
||||
# Disable deprecated Linux WEXT interface support
|
||||
#CONFIG_DRIVER_WEXT=y
|
||||
|
||||
# Driver interface for Linux drivers using the nl80211 kernel interface
|
||||
CONFIG_DRIVER_NL80211=y
|
||||
|
||||
# QCA vendor extensions to nl80211
|
||||
#CONFIG_DRIVER_NL80211_QCA=y
|
||||
|
||||
# driver_nl80211.c requires libnl. If you are compiling it yourself
|
||||
# you may need to point hostapd to your version of libnl.
|
||||
#
|
||||
#CFLAGS += -I$<path to libnl include files>
|
||||
#LIBS += -L$<path to libnl library files>
|
||||
|
||||
# Use libnl v2.0 (or 3.0) libraries.
|
||||
#CONFIG_LIBNL20=y
|
||||
|
||||
# Use libnl 3.2 libraries (if this is selected, CONFIG_LIBNL20 is ignored)
|
||||
CONFIG_LIBNL32=y
|
||||
|
||||
# Driver interface for wired Ethernet drivers
|
||||
CONFIG_DRIVER_WIRED=y
|
||||
|
||||
# Driver interface for MACsec capable Qualcomm Atheros drivers
|
||||
#CONFIG_DRIVER_MACSEC_QCA=y
|
||||
|
||||
# Driver interface for Linux MACsec drivers
|
||||
CONFIG_DRIVER_MACSEC_LINUX=y
|
||||
|
||||
# Driver interface for the Broadcom RoboSwitch family
|
||||
#CONFIG_DRIVER_ROBOSWITCH=y
|
||||
|
||||
# Driver interface for no driver (e.g., WPS ER only)
|
||||
#CONFIG_DRIVER_NONE=y
|
||||
|
||||
# Enable IEEE 802.1X Supplicant (automatically included if any EAP method or
|
||||
# MACsec is included)
|
||||
CONFIG_IEEE8021X_EAPOL=y
|
||||
|
||||
# EAP-MD5
|
||||
CONFIG_EAP_MD5=y
|
||||
|
||||
# EAP-MSCHAPv2
|
||||
CONFIG_EAP_MSCHAPV2=y
|
||||
|
||||
# EAP-TLS
|
||||
CONFIG_EAP_TLS=y
|
||||
# Enable EAP-TLSv1.3 support by default (currently disabled unless explicitly
|
||||
# enabled in network configuration)
|
||||
#CONFIG_EAP_TLSV1_3=y
|
||||
|
||||
# EAL-PEAP
|
||||
CONFIG_EAP_PEAP=y
|
||||
|
||||
# EAP-TTLS
|
||||
CONFIG_EAP_TTLS=y
|
||||
|
||||
# EAP-FAST
|
||||
CONFIG_EAP_FAST=y
|
||||
|
||||
# EAP-TEAP
|
||||
# Note: The current EAP-TEAP implementation is experimental and should not be
|
||||
# enabled for production use. The IETF RFC 7170 that defines EAP-TEAP has number
|
||||
# of conflicting statements and missing details and the implementation has
|
||||
# vendor specific workarounds for those and as such, may not interoperate with
|
||||
# any other implementation. This should not be used for anything else than
|
||||
# experimentation and interoperability testing until those issues has been
|
||||
# resolved.
|
||||
#CONFIG_EAP_TEAP=y
|
||||
|
||||
# EAP-GTC
|
||||
CONFIG_EAP_GTC=y
|
||||
|
||||
# EAP-OTP
|
||||
CONFIG_EAP_OTP=y
|
||||
|
||||
# EAP-SIM (enable CONFIG_PCSC, if EAP-SIM is used)
|
||||
#CONFIG_EAP_SIM=y
|
||||
|
||||
# Enable SIM simulator (Milenage) for EAP-SIM
|
||||
#CONFIG_SIM_SIMULATOR=y
|
||||
|
||||
# EAP-PSK (experimental; this is _not_ needed for WPA-PSK)
|
||||
#CONFIG_EAP_PSK=y
|
||||
|
||||
# EAP-pwd (secure authentication using only a password)
|
||||
CONFIG_EAP_PWD=y
|
||||
|
||||
# EAP-PAX
|
||||
CONFIG_EAP_PAX=y
|
||||
|
||||
# LEAP
|
||||
CONFIG_EAP_LEAP=y
|
||||
|
||||
# EAP-AKA (enable CONFIG_PCSC, if EAP-AKA is used)
|
||||
#CONFIG_EAP_AKA=y
|
||||
|
||||
# EAP-AKA' (enable CONFIG_PCSC, if EAP-AKA' is used).
|
||||
# This requires CONFIG_EAP_AKA to be enabled, too.
|
||||
#CONFIG_EAP_AKA_PRIME=y
|
||||
|
||||
# Enable USIM simulator (Milenage) for EAP-AKA
|
||||
#CONFIG_USIM_SIMULATOR=y
|
||||
|
||||
# EAP-SAKE
|
||||
CONFIG_EAP_SAKE=y
|
||||
|
||||
# EAP-GPSK
|
||||
CONFIG_EAP_GPSK=y
|
||||
# Include support for optional SHA256 cipher suite in EAP-GPSK
|
||||
CONFIG_EAP_GPSK_SHA256=y
|
||||
|
||||
# EAP-TNC and related Trusted Network Connect support (experimental)
|
||||
CONFIG_EAP_TNC=y
|
||||
|
||||
# Wi-Fi Protected Setup (WPS)
|
||||
CONFIG_WPS=y
|
||||
# Enable WPS external registrar functionality
|
||||
#CONFIG_WPS_ER=y
|
||||
# Disable credentials for an open network by default when acting as a WPS
|
||||
# registrar.
|
||||
#CONFIG_WPS_REG_DISABLE_OPEN=y
|
||||
# Enable WPS support with NFC config method
|
||||
#CONFIG_WPS_NFC=y
|
||||
|
||||
# EAP-IKEv2
|
||||
CONFIG_EAP_IKEV2=y
|
||||
|
||||
# EAP-EKE
|
||||
#CONFIG_EAP_EKE=y
|
||||
|
||||
# MACsec
|
||||
CONFIG_MACSEC=y
|
||||
|
||||
# PKCS#12 (PFX) support (used to read private key and certificate file from
|
||||
# a file that usually has extension .p12 or .pfx)
|
||||
CONFIG_PKCS12=y
|
||||
|
||||
# Smartcard support (i.e., private key on a smartcard), e.g., with openssl
|
||||
# engine.
|
||||
CONFIG_SMARTCARD=y
|
||||
|
||||
# PC/SC interface for smartcards (USIM, GSM SIM)
|
||||
# Enable this if EAP-SIM or EAP-AKA is included
|
||||
#CONFIG_PCSC=y
|
||||
|
||||
# Support HT overrides (disable HT/HT40, mask MCS rates, etc.)
|
||||
#CONFIG_HT_OVERRIDES=y
|
||||
|
||||
# Support VHT overrides (disable VHT, mask MCS rates, etc.)
|
||||
#CONFIG_VHT_OVERRIDES=y
|
||||
|
||||
# Support HE overrides
|
||||
#CONFIG_HE_OVERRIDES=y
|
||||
|
||||
# Development testing
|
||||
#CONFIG_EAPOL_TEST=y
|
||||
|
||||
# Support IPv6
|
||||
CONFIG_IPV6=y
|
||||
|
||||
# Select control interface backend for external programs, e.g, wpa_cli:
|
||||
# unix = UNIX domain sockets (default for Linux/*BSD)
|
||||
# udp = UDP sockets using localhost (127.0.0.1)
|
||||
# udp6 = UDP IPv6 sockets using localhost (::1)
|
||||
# named_pipe = Windows Named Pipe (default for Windows)
|
||||
# udp-remote = UDP sockets with remote access (only for tests systems/purpose)
|
||||
# udp6-remote = UDP IPv6 sockets with remote access (only for tests purpose)
|
||||
# y = use default (backwards compatibility)
|
||||
# If this option is commented out, control interface is not included in the
|
||||
# build.
|
||||
CONFIG_CTRL_IFACE=unix
|
||||
|
||||
# Include support for GNU Readline and History Libraries in wpa_cli.
|
||||
# When building a wpa_cli binary for distribution, please note that these
|
||||
# libraries are licensed under GPL and as such, BSD license may not apply for
|
||||
# the resulting binary.
|
||||
#CONFIG_READLINE=y
|
||||
|
||||
# Include internal line edit mode in wpa_cli. This can be used as a replacement
|
||||
# for GNU Readline to provide limited command line editing and history support.
|
||||
CONFIG_WPA_CLI_EDIT=y
|
||||
|
||||
# Remove debugging code that is printing out debug message to stdout.
|
||||
# This can be used to reduce the size of the wpa_supplicant considerably
|
||||
# if debugging code is not needed. The size reduction can be around 35%
|
||||
# (e.g., 90 kB).
|
||||
#CONFIG_NO_STDOUT_DEBUG=y
|
||||
|
||||
# Remove WPA support, e.g., for wired-only IEEE 802.1X supplicant, to save
|
||||
# 35-50 kB in code size.
|
||||
#CONFIG_NO_WPA=y
|
||||
|
||||
# Remove IEEE 802.11i/WPA-Personal ASCII passphrase support
|
||||
# This option can be used to reduce code size by removing support for
|
||||
# converting ASCII passphrases into PSK. If this functionality is removed, the
|
||||
# PSK can only be configured as the 64-octet hexstring (e.g., from
|
||||
# wpa_passphrase). This saves about 0.5 kB in code size.
|
||||
#CONFIG_NO_WPA_PASSPHRASE=y
|
||||
|
||||
# Simultaneous Authentication of Equals (SAE), WPA3-Personal
|
||||
CONFIG_SAE=y
|
||||
|
||||
# SAE Public Key, WPA3-Personal
|
||||
CONFIG_SAE_PK=y
|
||||
|
||||
# Disable scan result processing (ap_scan=1) to save code size by about 1 kB.
|
||||
# This can be used if ap_scan=1 mode is never enabled.
|
||||
#CONFIG_NO_SCAN_PROCESSING=y
|
||||
|
||||
# Select configuration backend:
|
||||
# file = text file (e.g., wpa_supplicant.conf; note: the configuration file
|
||||
# path is given on command line, not here; this option is just used to
|
||||
# select the backend that allows configuration files to be used)
|
||||
# winreg = Windows registry (see win_example.reg for an example)
|
||||
CONFIG_BACKEND=file
|
||||
|
||||
# Remove configuration write functionality (i.e., to allow the configuration
|
||||
# file to be updated based on runtime configuration changes). The runtime
|
||||
# configuration can still be changed, the changes are just not going to be
|
||||
# persistent over restarts. This option can be used to reduce code size by
|
||||
# about 3.5 kB.
|
||||
#CONFIG_NO_CONFIG_WRITE=y
|
||||
|
||||
# Remove support for configuration blobs to reduce code size by about 1.5 kB.
|
||||
#CONFIG_NO_CONFIG_BLOBS=y
|
||||
|
||||
# Select program entry point implementation:
|
||||
# main = UNIX/POSIX like main() function (default)
|
||||
# main_winsvc = Windows service (read parameters from registry)
|
||||
# main_none = Very basic example (development use only)
|
||||
CONFIG_MAIN=main
|
||||
|
||||
# Select wrapper for operating system and C library specific functions
|
||||
# unix = UNIX/POSIX like systems (default)
|
||||
# win32 = Windows systems
|
||||
# none = Empty template
|
||||
CONFIG_OS=unix
|
||||
|
||||
# Select event loop implementation
|
||||
# eloop = select() loop (default)
|
||||
# eloop_win = Windows events and WaitForMultipleObject() loop
|
||||
CONFIG_ELOOP=eloop
|
||||
|
||||
# Should we use poll instead of select? Select is used by default.
|
||||
#CONFIG_ELOOP_POLL=y
|
||||
|
||||
# Should we use epoll instead of select? Select is used by default.
|
||||
CONFIG_ELOOP_EPOLL=y
|
||||
|
||||
# Select layer 2 packet implementation
|
||||
# linux = Linux packet socket (default)
|
||||
# pcap = libpcap/libdnet/WinPcap
|
||||
# freebsd = FreeBSD libpcap
|
||||
# winpcap = WinPcap with receive thread
|
||||
# ndis = Windows NDISUIO (note: requires CONFIG_USE_NDISUIO=y)
|
||||
# none = Empty template
|
||||
CONFIG_L2_PACKET=linux
|
||||
|
||||
# Disable Linux packet socket workaround applicable for station interface
|
||||
# in a bridge for EAPOL frames. This should be uncommented only if the kernel
|
||||
# is known to not have the regression issue in packet socket behavior with
|
||||
# bridge interfaces (commit 'bridge: respect RFC2863 operational state')').
|
||||
#CONFIG_NO_LINUX_PACKET_SOCKET_WAR=y
|
||||
|
||||
# Support Operating Channel Validation
|
||||
#CONFIG_OCV=y
|
||||
|
||||
# Select TLS implementation
|
||||
# openssl = OpenSSL (default)
|
||||
# gnutls = GnuTLS
|
||||
# internal = Internal TLSv1 implementation (experimental)
|
||||
# linux = Linux kernel AF_ALG and internal TLSv1 implementation (experimental)
|
||||
# none = Empty template
|
||||
CONFIG_TLS=openssl
|
||||
|
||||
# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.1)
|
||||
# can be enabled to get a stronger construction of messages when block ciphers
|
||||
# are used. It should be noted that some existing TLS v1.0 -based
|
||||
# implementation may not be compatible with TLS v1.1 message (ClientHello is
|
||||
# sent prior to negotiating which version will be used)
|
||||
#CONFIG_TLSV11=y
|
||||
|
||||
# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.2)
|
||||
# can be enabled to enable use of stronger crypto algorithms. It should be
|
||||
# noted that some existing TLS v1.0 -based implementation may not be compatible
|
||||
# with TLS v1.2 message (ClientHello is sent prior to negotiating which version
|
||||
# will be used)
|
||||
#CONFIG_TLSV12=y
|
||||
|
||||
# Select which ciphers to use by default with OpenSSL if the user does not
|
||||
# specify them.
|
||||
#CONFIG_TLS_DEFAULT_CIPHERS="DEFAULT:!EXP:!LOW"
|
||||
|
||||
# Add support for new DBus control interface
|
||||
# (fi.w1.wpa_supplicant1)
|
||||
CONFIG_CTRL_IFACE_DBUS_NEW=y
|
||||
|
||||
# Add introspection support for new DBus control interface
|
||||
CONFIG_CTRL_IFACE_DBUS_INTRO=y
|
||||
|
||||
# Add support for loading EAP methods dynamically as shared libraries.
|
||||
# When this option is enabled, each EAP method can be either included
|
||||
# statically (CONFIG_EAP_<method>=y) or dynamically (CONFIG_EAP_<method>=dyn).
|
||||
# Dynamic EAP methods are build as shared objects (eap_*.so) and they need to
|
||||
# be loaded in the beginning of the wpa_supplicant configuration file
|
||||
# (see load_dynamic_eap parameter in the example file) before being used in
|
||||
# the network blocks.
|
||||
#
|
||||
# Note that some shared parts of EAP methods are included in the main program
|
||||
# and in order to be able to use dynamic EAP methods using these parts, the
|
||||
# main program must have been build with the EAP method enabled (=y or =dyn).
|
||||
# This means that EAP-TLS/PEAP/TTLS/FAST cannot be added as dynamic libraries
|
||||
# unless at least one of them was included in the main build to force inclusion
|
||||
# of the shared code. Similarly, at least one of EAP-SIM/AKA must be included
|
||||
# in the main build to be able to load these methods dynamically.
|
||||
#
|
||||
# Please also note that using dynamic libraries will increase the total binary
|
||||
# size. Thus, it may not be the best option for targets that have limited
|
||||
# amount of memory/flash.
|
||||
#CONFIG_DYNAMIC_EAP_METHODS=y
|
||||
|
||||
# Dynamic library loading
|
||||
|
||||
# Add the ability to configure libraries to load at compile time.
|
||||
# If set, these disable dynamic configuration.
|
||||
#CONFIG_PKCS11_ENGINE_PATH - pkcs11_engine library location.
|
||||
#CONFIG_PKCS11_MODULE_PATH - pkcs11_module library location.
|
||||
#CONFIG_OPENSC_ENGINE_PATH - opensc_engine library location.
|
||||
#
|
||||
# Prevent library loading at runtime
|
||||
#CONFIG_NO_PKCS11_ENGINE_PATH=y # prevents loading pkcs11_engine library.
|
||||
#CONFIG_NO_PKCS11_MODULE_PATH=y # prevents loading pkcs11_module library.
|
||||
# CONFIG_NO_OPENSC_ENGINE_PATH=y # prevents loading opensc_engine library.
|
||||
|
||||
# Prevents loading EAP libraries at runtime
|
||||
#CONFIG_NO_LOAD_DYNAMIC_EAP=y
|
||||
|
||||
# IEEE Std 802.11r-2008 (Fast BSS Transition) for station mode
|
||||
CONFIG_IEEE80211R=y
|
||||
|
||||
# Add support for writing debug log to a file (/tmp/wpa_supplicant-log-#.txt)
|
||||
CONFIG_DEBUG_FILE=y
|
||||
|
||||
# Send debug messages to syslog instead of stdout
|
||||
CONFIG_DEBUG_SYSLOG=y
|
||||
# Set syslog facility for debug messages
|
||||
#CONFIG_DEBUG_SYSLOG_FACILITY=LOG_DAEMON
|
||||
|
||||
# Add support for sending all debug messages (regardless of debug verbosity)
|
||||
# to the Linux kernel tracing facility. This helps debug the entire stack by
|
||||
# making it easy to record everything happening from the driver up into the
|
||||
# same file, e.g., using trace-cmd.
|
||||
#CONFIG_DEBUG_LINUX_TRACING=y
|
||||
|
||||
# Add support for writing debug log to Android logcat instead of standard
|
||||
# output
|
||||
#CONFIG_ANDROID_LOG=y
|
||||
|
||||
# Enable privilege separation (see README 'Privilege separation' for details)
|
||||
#CONFIG_PRIVSEP=y
|
||||
|
||||
# Enable mitigation against certain attacks against TKIP by delaying Michael
|
||||
# MIC error reports by a random amount of time between 0 and 60 seconds
|
||||
#CONFIG_DELAYED_MIC_ERROR_REPORT=y
|
||||
|
||||
# Enable tracing code for developer debugging
|
||||
# This tracks use of memory allocations and other registrations and reports
|
||||
# incorrect use with a backtrace of call (or allocation) location.
|
||||
#CONFIG_WPA_TRACE=y
|
||||
# For BSD, uncomment these.
|
||||
#LIBS += -lexecinfo
|
||||
#LIBS_p += -lexecinfo
|
||||
#LIBS_c += -lexecinfo
|
||||
|
||||
# Use libbfd to get more details for developer debugging
|
||||
# This enables use of libbfd to get more detailed symbols for the backtraces
|
||||
# generated by CONFIG_WPA_TRACE=y.
|
||||
#CONFIG_WPA_TRACE_BFD=y
|
||||
# For BSD, uncomment these.
|
||||
#LIBS += -lbfd -liberty -lz
|
||||
#LIBS_p += -lbfd -liberty -lz
|
||||
#LIBS_c += -lbfd -liberty -lz
|
||||
|
||||
# wpa_supplicant depends on strong random number generation being available
|
||||
# from the operating system. os_get_random() function is used to fetch random
|
||||
# data when needed, e.g., for key generation. On Linux and BSD systems, this
|
||||
# works by reading /dev/urandom. It should be noted that the OS entropy pool
|
||||
# needs to be properly initialized before wpa_supplicant is started. This is
|
||||
# important especially on embedded devices that do not have a hardware random
|
||||
# number generator and may by default start up with minimal entropy available
|
||||
# for random number generation.
|
||||
#
|
||||
# As a safety net, wpa_supplicant is by default trying to internally collect
|
||||
# additional entropy for generating random data to mix in with the data fetched
|
||||
# from the OS. This by itself is not considered to be very strong, but it may
|
||||
# help in cases where the system pool is not initialized properly. However, it
|
||||
# is very strongly recommended that the system pool is initialized with enough
|
||||
# entropy either by using hardware assisted random number generator or by
|
||||
# storing state over device reboots.
|
||||
#
|
||||
# wpa_supplicant can be configured to maintain its own entropy store over
|
||||
# restarts to enhance random number generation. This is not perfect, but it is
|
||||
# much more secure than using the same sequence of random numbers after every
|
||||
# reboot. This can be enabled with -e<entropy file> command line option. The
|
||||
# specified file needs to be readable and writable by wpa_supplicant.
|
||||
#
|
||||
# If the os_get_random() is known to provide strong random data (e.g., on
|
||||
# Linux/BSD, the board in question is known to have reliable source of random
|
||||
# data from /dev/urandom), the internal wpa_supplicant random pool can be
|
||||
# disabled. This will save some in binary size and CPU use. However, this
|
||||
# should only be considered for builds that are known to be used on devices
|
||||
# that meet the requirements described above.
|
||||
#CONFIG_NO_RANDOM_POOL=y
|
||||
|
||||
# Should we attempt to use the getrandom(2) call that provides more reliable
|
||||
# yet secure randomness source than /dev/random on Linux 3.17 and newer.
|
||||
# Requires glibc 2.25 to build, falls back to /dev/random if unavailable.
|
||||
#CONFIG_GETRANDOM=y
|
||||
|
||||
# IEEE 802.11ac (Very High Throughput) support (mainly for AP mode)
|
||||
CONFIG_IEEE80211AC=y
|
||||
|
||||
# IEEE 802.11ax HE support (mainly for AP mode)
|
||||
CONFIG_IEEE80211AX=y
|
||||
|
||||
# IEEE 802.11be EHT support (mainly for AP mode)
|
||||
# CONFIG_IEEE80211AX is mandatory for setting CONFIG_IEEE80211BE.
|
||||
# Note: This is experimental and work in progress. The definitions are still
|
||||
# subject to change and this should not be expected to interoperate with the
|
||||
# final IEEE 802.11be version.
|
||||
#CONFIG_IEEE80211BE=y
|
||||
|
||||
# Wireless Network Management (IEEE Std 802.11v-2011)
|
||||
# Note: This is experimental and not complete implementation.
|
||||
#CONFIG_WNM=y
|
||||
|
||||
# Interworking (IEEE 802.11u)
|
||||
# This can be used to enable functionality to improve interworking with
|
||||
# external networks (GAS/ANQP to learn more about the networks and network
|
||||
# selection based on available credentials).
|
||||
CONFIG_INTERWORKING=y
|
||||
|
||||
# Hotspot 2.0
|
||||
CONFIG_HS20=y
|
||||
|
||||
# Enable interface matching in wpa_supplicant
|
||||
CONFIG_MATCH_IFACE=y
|
||||
|
||||
# Disable roaming in wpa_supplicant
|
||||
#CONFIG_NO_ROAMING=y
|
||||
|
||||
# AP mode operations with wpa_supplicant
|
||||
# This can be used for controlling AP mode operations with wpa_supplicant. It
|
||||
# should be noted that this is mainly aimed at simple cases like
|
||||
# WPA2-Personal while more complex configurations like WPA2-Enterprise with an
|
||||
# external RADIUS server can be supported with hostapd.
|
||||
CONFIG_AP=y
|
||||
|
||||
# P2P (Wi-Fi Direct)
|
||||
# This can be used to enable P2P support in wpa_supplicant. See README-P2P for
|
||||
# more information on P2P operations.
|
||||
CONFIG_P2P=y
|
||||
|
||||
# Enable TDLS support
|
||||
CONFIG_TDLS=y
|
||||
|
||||
# Wi-Fi Display
|
||||
# This can be used to enable Wi-Fi Display extensions for P2P using an external
|
||||
# program to control the additional information exchanges in the messages.
|
||||
CONFIG_WIFI_DISPLAY=y
|
||||
|
||||
# Autoscan
|
||||
# This can be used to enable automatic scan support in wpa_supplicant.
|
||||
# See wpa_supplicant.conf for more information on autoscan usage.
|
||||
#
|
||||
# Enabling directly a module will enable autoscan support.
|
||||
# For exponential module:
|
||||
CONFIG_AUTOSCAN_EXPONENTIAL=y
|
||||
# For periodic module:
|
||||
CONFIG_AUTOSCAN_PERIODIC=y
|
||||
|
||||
# Password (and passphrase, etc.) backend for external storage
|
||||
# These optional mechanisms can be used to add support for storing passwords
|
||||
# and other secrets in external (to wpa_supplicant) location. This allows, for
|
||||
# example, operating system specific key storage to be used
|
||||
#
|
||||
# External password backend for testing purposes (developer use)
|
||||
#CONFIG_EXT_PASSWORD_TEST=y
|
||||
# File-based backend to read passwords from an external file.
|
||||
#CONFIG_EXT_PASSWORD_FILE=y
|
||||
|
||||
# Enable Fast Session Transfer (FST)
|
||||
CONFIG_FST=y
|
||||
|
||||
# Enable CLI commands for FST testing
|
||||
#CONFIG_FST_TEST=y
|
||||
|
||||
# Automatic Channel Selection
|
||||
# This will allow wpa_supplicant to pick the channel automatically when channel
|
||||
# is set to "0".
|
||||
#
|
||||
# TODO: Extend parser to be able to parse "channel=acs_survey" as an alternative
|
||||
# to "channel=0". This would enable us to eventually add other ACS algorithms in
|
||||
# similar way.
|
||||
#
|
||||
# Automatic selection is currently only done through initialization, later on
|
||||
# we hope to do background checks to keep us moving to more ideal channels as
|
||||
# time goes by. ACS is currently only supported through the nl80211 driver and
|
||||
# your driver must have survey dump capability that is filled by the driver
|
||||
# during scanning.
|
||||
#
|
||||
# TODO: In analogy to hostapd be able to customize the ACS survey algorithm with
|
||||
# a newly to create wpa_supplicant.conf variable acs_num_scans.
|
||||
#
|
||||
# Supported ACS drivers:
|
||||
# * ath9k
|
||||
# * ath5k
|
||||
# * ath10k
|
||||
#
|
||||
# For more details refer to:
|
||||
# http://wireless.kernel.org/en/users/Documentation/acs
|
||||
CONFIG_ACS=y
|
||||
|
||||
# Support Multi Band Operation
|
||||
CONFIG_MBO=y
|
||||
|
||||
# Fast Initial Link Setup (FILS) (IEEE 802.11ai)
|
||||
CONFIG_FILS=y
|
||||
# FILS shared key authentication with PFS
|
||||
CONFIG_FILS_SK_PFS=y
|
||||
|
||||
# Support RSN on IBSS networks
|
||||
# This is needed to be able to use mode=1 network profile with proto=RSN and
|
||||
# key_mgmt=WPA-PSK (i.e., full key management instead of WPA-None).
|
||||
CONFIG_IBSS_RSN=y
|
||||
|
||||
# External PMKSA cache control
|
||||
# This can be used to enable control interface commands that allow the current
|
||||
# PMKSA cache entries to be fetched and new entries to be added.
|
||||
#CONFIG_PMKSA_CACHE_EXTERNAL=y
|
||||
|
||||
# Mesh Networking (IEEE 802.11s)
|
||||
CONFIG_MESH=y
|
||||
|
||||
# Background scanning modules
|
||||
# These can be used to request wpa_supplicant to perform background scanning
|
||||
# operations for roaming within an ESS (same SSID). See the bgscan parameter in
|
||||
# the wpa_supplicant.conf file for more details.
|
||||
# Periodic background scans based on signal strength
|
||||
CONFIG_BGSCAN_SIMPLE=y
|
||||
# Learn channels used by the network and try to avoid bgscans on other
|
||||
# channels (experimental)
|
||||
#CONFIG_BGSCAN_LEARN=y
|
||||
|
||||
# Opportunistic Wireless Encryption (OWE)
|
||||
# Experimental implementation of draft-harkins-owe-07.txt
|
||||
#CONFIG_OWE=y
|
||||
|
||||
# Device Provisioning Protocol (DPP) (also known as Wi-Fi Easy Connect)
|
||||
CONFIG_DPP=y
|
||||
# DPP version 2 support
|
||||
CONFIG_DPP2=y
|
||||
# DPP version 3 support (experimental and still changing; do not enable for
|
||||
# production use)
|
||||
#CONFIG_DPP3=y
|
||||
|
||||
# Disable deprecated WEP
|
||||
#CONFIG_WEP=y
|
||||
|
||||
# Remove all TKIP functionality
|
||||
# TKIP is an old cryptographic data confidentiality algorithm that is not
|
||||
# considered secure. It should not be used anymore for anything else than a
|
||||
# backwards compatibility option as a group cipher when connecting to APs that
|
||||
# use WPA+WPA2 mixed mode. For now, the default wpa_supplicant build includes
|
||||
# support for this by default, but that functionality is subject to be removed
|
||||
# in the future.
|
||||
#CONFIG_NO_TKIP=y
|
||||
|
||||
# Pre-Association Security Negotiation (PASN)
|
||||
# Experimental implementation based on IEEE P802.11z/D2.6 and the protocol
|
||||
# design is still subject to change. As such, this should not yet be enabled in
|
||||
# production use.
|
||||
#CONFIG_PASN=y
|
||||
|
||||
# Disable support for Radio Measurement (IEEE 802.11k) and supported operating
|
||||
# class indication. Removing these is not recommended since they can help the
|
||||
# AP manage the network and STA steering.
|
||||
#CONFIG_NO_RRM=y
|
||||
|
||||
# Disable support for Robust AV streaming for consumer and enterprise Wi-Fi
|
||||
# applications; IEEE Std 802.11-2020, 4.3.24; SCS, MSCS, QoS Management
|
||||
#CONFIG_NO_ROBUST_AV=y
|
||||
|
||||
# Disable support for WMM admission control
|
||||
#CONFIG_NO_WMM_AC=y
|
||||
|
||||
# Wi-Fi Aware unsynchronized service discovery (NAN USD)
|
||||
#CONFIG_NAN_USD=y
|
||||
@@ -0,0 +1,29 @@
|
||||
import os
|
||||
import shutil
|
||||
|
||||
from lib import cpp
|
||||
from lib.arch import get_target
|
||||
from lib.make import *
|
||||
|
||||
version("2.11")
|
||||
source_url("https://w1.fi/releases/wpa_supplicant-2.11.tar.gz")
|
||||
|
||||
|
||||
def build():
|
||||
os.chdir("wpa_supplicant")
|
||||
if "linux" in get_target():
|
||||
shutil.copy2("../../../config.linux", ".config")
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
os.chdir("../cpp_install/usr/local")
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("wpa_supplicant")
|
||||
dep("semi-libc @same-arch")
|
||||
dep("libnl @same-arch")
|
||||
dep("libssl @same-arch")
|
||||
dep("libcrypto @same-arch")
|
||||
dep("libdbus @same-arch")
|
||||
cpp.use_auto_pack(["bin"])
|
||||
@@ -8,14 +8,7 @@ source_url(
|
||||
|
||||
|
||||
def build():
|
||||
cpp.configure(
|
||||
[
|
||||
"--prefix=/",
|
||||
f"--libdir={get_prefix('liblzma')}/lib",
|
||||
f"--bindir={get_prefix('xz')}/bin",
|
||||
f"--includedir={get_prefix('liblzma-dev')}/include",
|
||||
]
|
||||
)
|
||||
cpp.configure(["--prefix=/"])
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
|
||||
|
||||
@@ -11,13 +11,14 @@ def build():
|
||||
cpp.cmake(["-DZLIB_COMPAT=ON", "-DINSTALL_UTILS=ON"])
|
||||
cpp.ninja()
|
||||
cpp.ninja_install()
|
||||
os.chdir("usr")
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
package("libz-ng")
|
||||
cpp.use_auto_pack(["lib"])
|
||||
provide("libz@same-arch")
|
||||
provide("libz")
|
||||
dep("semi-libc @same-arch")
|
||||
|
||||
package("zlib-ng-tools")
|
||||
@@ -27,4 +28,4 @@ dep("libz-ng (same)")
|
||||
package("libz-ng-dev")
|
||||
cpp.use_auto_pack(["dev"])
|
||||
dep("libz-ng (same)")
|
||||
provide("libz-dev@same-arch")
|
||||
provide("libz-dev")
|
||||
|
||||
@@ -10,8 +10,9 @@ source_url(
|
||||
|
||||
|
||||
def build():
|
||||
cpp.make(["HAVE_ZLIB=0", "HAVE_LZMA=0", "HAVE_LZ4=0"])
|
||||
cpp.make()
|
||||
cpp.make_install()
|
||||
os.chdir("usr/local")
|
||||
|
||||
|
||||
on_build(build)
|
||||
|
||||
@@ -107,11 +107,11 @@ def run_build_package(package: str):
|
||||
"name": pkgname,
|
||||
"version": pkgver,
|
||||
"arch": pkgarch,
|
||||
"links": pkginfo[lib.make._key_links],
|
||||
"dependencies": pkginfo[lib.make._key_dependencies],
|
||||
"provides": pkginfo[lib.make._key_provides],
|
||||
}
|
||||
composer.write_manifest(manifest)
|
||||
composer.write_links(pkginfo[lib.make._key_links])
|
||||
composer.compose()
|
||||
|
||||
# Build success
|
||||
|
||||
Reference in New Issue
Block a user