internal/rosa: improve helper bindings
Test / Create distribution (push) Successful in 54s
Test / Sandbox (push) Successful in 2m59s
Test / Hakurei (push) Successful in 4m49s
Test / Sandbox (race detector) (push) Successful in 5m50s
Test / Hakurei (race detector) (push) Successful in 7m11s
Test / ShareFS (push) Successful in 7m32s
Test / Flake checks (push) Successful in 1m10s

This uses more intuitive names for some arguments and inverts their default value. Slices and nil-capable strings replace skip arguments.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
cat
2026-08-10 21:55:47 +09:00
parent 7d86e19c07
commit 7193656b6a
47 changed files with 153 additions and 163 deletions
+1 -1
View File
@@ -39,7 +39,7 @@ package acl {
exec = make { exec = make {
// makes assumptions about uid_map/gid_map // makes assumptions about uid_map/gid_map
skipCheck = true; check = nil;
}; };
inputs = [ attr, kernel-headers ]; inputs = [ attr, kernel-headers ];
+3 -3
View File
@@ -15,9 +15,9 @@ package awk {
chmod = true; chmod = true;
exec = make { exec = make {
omitDefaults = true; defaults = false;
inPlace = true; chdir = false;
skipConfigure = true; configure = nil;
make = [ "YACC='yacc -d -b awkgram'" ]; make = [ "YACC='yacc -d -b awkgram'" ];
preCheck = "install -vD a.out /system/bin/awk\n"; preCheck = "install -vD a.out /system/bin/awk\n";
install = "install -vD a.out /work/system/bin/awk"; install = "install -vD a.out /work/system/bin/awk";
+1 -1
View File
@@ -12,7 +12,7 @@ package bison {
toyboxEarly = true; toyboxEarly = true;
exec = make { exec = make {
omitDefaults = true; defaults = false;
check = [ check = [
"TESTSUITEFLAGS=" + jobsFlagE + "' " + skipGNUTests { "TESTSUITEFLAGS=" + jobsFlagE + "' " + skipGNUTests {
tests = [ tests = [
+1 -1
View File
@@ -19,6 +19,6 @@ package byacc {
chmod = true; chmod = true;
exec = make { exec = make {
omitDefaults = true; defaults = false;
}; };
} }
+4 -7
View File
@@ -15,13 +15,10 @@ package bzip2 {
enterSource = true; enterSource = true;
exec = make { exec = make {
skipConfigure = true; chdir = false;
skipCheck = true; configure = nil;
inPlace = true; make = [ "CC=cc" ];
check = nil;
make = [
"CC=cc",
];
install = "make PREFIX=/work/system install"; install = "make PREFIX=/work/system install";
}; };
} }
+1 -1
View File
@@ -27,7 +27,7 @@ package cairo {
// runs the entire test suite in a single meson test // runs the entire test suite in a single meson test
interactiveTest = true; interactiveTest = true;
// only works with specific dependency versions // only works with specific dependency versions
skipTest = true; test = false;
}; };
inputs = [ inputs = [
+1 -1
View File
@@ -20,7 +20,7 @@ package cmake {
chmod = true; chmod = true;
exec = make { exec = make {
omitDefaults = true; defaults = false;
configureName = "/usr/src/cmake/bootstrap"; configureName = "/usr/src/cmake/bootstrap";
configure = { configure = {
+1 -1
View File
@@ -21,7 +21,7 @@ touch \
`; `;
exec = make { exec = make {
inPlace = true; chdir = false;
configureName = "../dist/configure"; configureName = "../dist/configure";
forceAutoconf = true; forceAutoconf = true;
configure = { configure = {
+3 -3
View File
@@ -18,12 +18,12 @@ package elfutils {
]; ];
exec = make { exec = make {
// nonstandard glibc extension
skipCheck = true;
configure = { configure = {
"enable-deterministic-archives"; "enable-deterministic-archives";
}; };
// nonstandard glibc extension
check = nil;
}; };
inputs = [ inputs = [
+4 -4
View File
@@ -22,17 +22,17 @@ package firmware {
]; ];
exec = make { exec = make {
omitDefaults = true; defaults = false;
skipConfigure = true; chdir = false;
inPlace = true;
configure = nil;
make = [ make = [
"DESTDIR=/work/system", "DESTDIR=/work/system",
"install-zst", "install-zst",
]; ];
// requires pre-commit // requires pre-commit
skipCheck = true; check = nil;
install = "make " + jobsFlagE + " " + loadFlagE + " DESTDIR=/work/system dedup"; install = "make " + jobsFlagE + " " + loadFlagE + " DESTDIR=/work/system dedup";
}; };
+1 -1
View File
@@ -22,7 +22,7 @@ package fuse {
postCompile = "python3 -m pytest test/"; postCompile = "python3 -m pytest test/";
// this project uses pytest // this project uses pytest
skipTest = true; test = false;
}; };
inputs = [ inputs = [
+1 -1
View File
@@ -65,7 +65,7 @@ ln -s system/lib /work/
// This toolchain is hacked to pieces, it is not expected to ever work // This toolchain is hacked to pieces, it is not expected to ever work
// well in its current state. That does not matter as long as the // well in its current state. That does not matter as long as the
// toolchain it produces passes its own test suite. // toolchain it produces passes its own test suite.
skipCheck = true; check = nil;
}; };
inputs = [ inputs = [
+1 -1
View File
@@ -23,7 +23,7 @@ rm -f /system/bin/httpd
bin = [ "perl" ]; bin = [ "perl" ];
populateUsrBin = true; populateUsrBin = true;
exec = make { exec = make {
inPlace = true; chdir = false;
generate = "make configure"; generate = "make configure";
preMake = ` preMake = `
+9 -9
View File
@@ -19,7 +19,7 @@ chmod +w tests/test-c32ispunct.sh && echo '#!/bin/sh' > tests/test-c32ispunct.sh
toyboxEarly = true; toyboxEarly = true;
exec = make { exec = make {
omitDefaults = true; defaults = false;
}; };
inputs = [ inputs = [
@@ -114,7 +114,7 @@ package libtool {
exec = make { exec = make {
// _Z2a2c: symbol not found // _Z2a2c: symbol not found
skipEarlyStageCheck = true; checkEarly = false;
check = [ check = [
"TESTSUITEFLAGS=" + jobsFlagE, "TESTSUITEFLAGS=" + jobsFlagE,
@@ -142,7 +142,7 @@ package gzip {
exec = make { exec = make {
// dependency loop // dependency loop
skipCheck = true; check = nil;
}; };
} }
@@ -197,7 +197,7 @@ test_disable '#!/bin/sh' tests/cmp
toyboxEarly = true; toyboxEarly = true;
exec = make { exec = make {
omitDefaults = true; defaults = false;
}; };
} }
@@ -223,7 +223,7 @@ test_disable '#!/bin/sh' tests/need-filename
toyboxEarly = true; toyboxEarly = true;
exec = make { exec = make {
omitDefaults = true; defaults = false;
}; };
} }
@@ -334,7 +334,7 @@ package bash {
toyboxEarly = true; toyboxEarly = true;
exec = make { exec = make {
omitDefaults = true; defaults = false;
configure = { configure = {
"without-bash-malloc"; "without-bash-malloc";
}; };
@@ -371,7 +371,7 @@ test_disable 'int main(){return 0;}' gnulib-tests/test-lchown.c
`; `;
exec = make { exec = make {
omitDefaults = true; defaults = false;
configure = { configure = {
"enable-single-binary": "symlinks"; "enable-single-binary": "symlinks";
}; };
@@ -436,7 +436,7 @@ package texinfo {
exec = make { exec = make {
// nonstandard glibc extension // nonstandard glibc extension
skipCheck = true; check = nil;
}; };
inputs = [ perl ]; inputs = [ perl ];
@@ -648,7 +648,7 @@ package mpc {
enterSource = true; enterSource = true;
exec = make { exec = make {
inPlace = true; chdir = false;
generate = "autoreconf -vfi"; generate = "autoreconf -vfi";
}; };
+1 -1
View File
@@ -27,7 +27,7 @@ package go {
enterSource = true; enterSource = true;
exec = generic { exec = generic {
inPlace = true; chdir = false;
build = ` build = `
mkdir /work/system/ "${TMPDIR}" mkdir /work/system/ "${TMPDIR}"
cp -r . /work/system/go cp -r . /work/system/go
+3 -3
View File
@@ -32,7 +32,7 @@ package hakurei {
}; };
exec = generic { exec = generic {
inPlace = true; chdir = false;
build = ` build = `
echo 'Building test helper (hostname).' echo 'Building test helper (hostname).'
go build -o /bin/hostname /usr/src/hostname/main.go go build -o /bin/hostname /usr/src/hostname/main.go
@@ -103,7 +103,7 @@ package hakurei-dist {
}; };
exec = generic { exec = generic {
inPlace = true; chdir = false;
build = ` build = `
echo 'Building test helper (hostname).' echo 'Building test helper (hostname).'
go build -o /bin/hostname /usr/src/hostname/main.go go build -o /bin/hostname /usr/src/hostname/main.go
@@ -146,7 +146,7 @@ package earlyinit {
]; ];
exec = generic { exec = generic {
inPlace = true; chdir = false;
build = ` build = `
echo '# Building earlyinit.' echo '# Building earlyinit.'
go build -trimpath -v -o /work/ -ldflags="-s -w go build -trimpath -v -o /work/ -ldflags="-s -w
+2 -2
View File
@@ -15,9 +15,9 @@ package hwdata {
exec = make { exec = make {
// awk: fatal: cannot open file `hwdata.spec' for reading: No such file or directory // awk: fatal: cannot open file `hwdata.spec' for reading: No such file or directory
inPlace = true; chdir = false;
// lspci: Unknown option 'A' (see "lspci --help") // lspci: Unknown option 'A' (see "lspci --help")
skipCheck = true; check = nil;
}; };
} }
+2 -2
View File
@@ -21,7 +21,7 @@ package iproute2 {
chmod = true; chmod = true;
exec = make { exec = make {
inPlace = true; chdir = false;
// drop default autoconf options // drop default autoconf options
configureName = "./configure"; configureName = "./configure";
configure = { configure = {
@@ -30,7 +30,7 @@ package iproute2 {
}; };
make = [ "CC=cc", "YACC=yacc" ]; make = [ "CC=cc", "YACC=yacc" ];
// wants root // wants root
skipCheck = true; check = nil;
}; };
inputs = [ inputs = [
+8 -7
View File
@@ -25,8 +25,8 @@ package kernel-headers {
toyboxEarly = true; toyboxEarly = true;
exec = make { exec = make {
omitDefaults = true; defaults = false;
skipConfigure = true; configure = nil;
make = [ make = [
"-f /usr/src/kernel-headers/Makefile", "-f /usr/src/kernel-headers/Makefile",
"O=/tmp/kbuild", "O=/tmp/kbuild",
@@ -35,7 +35,7 @@ package kernel-headers {
"INSTALL_HDR_PATH=/work/system", "INSTALL_HDR_PATH=/work/system",
"headers_install", "headers_install",
]; ];
skipCheck = true; check = nil;
install = ` install = `
cat \ cat \
/usr/src/version.h > \ /usr/src/version.h > \
@@ -86,11 +86,12 @@ install -Dm0500 \
exclusive = true; exclusive = true;
exec = make { exec = make {
omitDefaults = true; defaults = false;
skipConfigure = true;
configure = nil;
// Build, install, and boot kernel before running kselftest on it. // Build, install, and boot kernel before running kselftest on it.
skipCheck = true; check = nil;
make = [ make = [
"-f /usr/src/kernel/Makefile", "-f /usr/src/kernel/Makefile",
@@ -154,7 +155,7 @@ package gen_init_cpio {
enterSource = true; enterSource = true;
exec = generic { exec = generic {
inPlace = true; chdir = false;
build = ` build = `
mkdir -p /work/system/bin/ mkdir -p /work/system/bin/
cc -o /work/system/bin/gen_init_cpio usr/gen_init_cpio.c cc -o /work/system/bin/gen_init_cpio usr/gen_init_cpio.c
+1 -1
View File
@@ -22,7 +22,7 @@ package kmod {
}; };
// makes assumptions about the running kernel // makes assumptions about the running kernel
skipTest = true; test = false;
}; };
inputs = [ inputs = [
+2 -2
View File
@@ -18,8 +18,8 @@ package libaio {
env = [ "PATH=/system/sbin" ]; env = [ "PATH=/system/sbin" ];
bin = [ "bash" ]; bin = [ "bash" ];
exec = make { exec = make {
inPlace = true; chdir = false;
skipConfigure = true; configure = nil;
preCheck = "rm harness/cases/20.t; "+ // flaky preCheck = "rm harness/cases/20.t; "+ // flaky
"CFLAGS='"+ "CFLAGS='"+
"-Wno-unknown-warning-option "+ "-Wno-unknown-warning-option "+
+3 -3
View File
@@ -16,9 +16,9 @@ package libbpf {
chmod = true; chmod = true;
exec = make { exec = make {
inPlace = true; chdir = false;
skipConfigure = true; configure = nil;
skipCheck = true; check = nil;
install = "make DESTDIR=/work LIBSUBDIR=lib install"; install = "make DESTDIR=/work LIBSUBDIR=lib install";
}; };
+4 -12
View File
@@ -23,18 +23,10 @@ package libcap {
bin = [ "bash" ]; bin = [ "bash" ];
exec = make { exec = make {
skipConfigure = true; chdir = false;
inPlace = true; configure = nil;
make = [ "CC=cc", "all" ];
make = [ check = [ "CC=cc", "test" ];
"CC=cc",
"all",
];
check = [
"CC=cc",
"test",
];
}; };
inputs = [ inputs = [
+4 -6
View File
@@ -16,13 +16,11 @@ package libucontext {
enterSource = true; enterSource = true;
exec = make { exec = make {
omitDefaults = true; defaults = false;
skipConfigure = true; chdir = false;
inPlace = true;
make = [ configure = nil;
"ARCH=" + linuxArch, make = [ "ARCH=" + linuxArch ];
];
install = "make prefix=/system DESTDIR=/work install"; install = "make prefix=/system DESTDIR=/work install";
}; };
} }
+1 -1
View File
@@ -15,7 +15,7 @@ package libxslt {
generate = "NOCONFIGURE=1 ./autogen.sh"; generate = "NOCONFIGURE=1 ./autogen.sh";
// python libxml2 cyclic dependency // python libxml2 cyclic dependency
skipCheck = true; check = nil;
}; };
inputs = [ inputs = [
+1 -1
View File
@@ -7,7 +7,7 @@ package lit {
exec = pip { exec = pip {
append = [ "llvm", "utils", "lit" ]; append = [ "llvm", "utils", "lit" ];
// already checked during llvm // already checked during llvm
skipCheck = true; check = nil;
}; };
inputs = [ python-setuptools ]; inputs = [ python-setuptools ];
+2 -2
View File
@@ -56,7 +56,7 @@ message(NOTICE "${LLVM_VERSION_MAJOR}")
"COMPILER_RT_BUILD_PROFILE": "OFF"; "COMPILER_RT_BUILD_PROFILE": "OFF";
"COMPILER_RT_BUILD_XRAY": "OFF"; "COMPILER_RT_BUILD_XRAY": "OFF";
}; };
skipTest = true; test = nil;
postInstall = ` postInstall = `
mkdir -p "/work/system/lib/clang/$LLVM_VERSION_MAJOR/lib/" mkdir -p "/work/system/lib/clang/$LLVM_VERSION_MAJOR/lib/"
ln -s \ ln -s \
@@ -119,7 +119,7 @@ package early-runtimes {
"LLVM_ENABLE_ZSTD": "FORCE_ON"; "LLVM_ENABLE_ZSTD": "FORCE_ON";
"LLVM_ENABLE_LIBXML2": "OFF"; "LLVM_ENABLE_LIBXML2": "OFF";
}; };
skipTest = true; test = nil;
}; };
inputs = [ inputs = [
+4 -14
View File
@@ -17,20 +17,10 @@ package lm_sensors {
bin = [ "perl" ]; bin = [ "perl" ];
populateUsrBin = true; populateUsrBin = true;
exec = make { exec = make {
inPlace = true; chdir = false;
skipConfigure = true; configure = nil;
make = [ "CC=cc", "ETCDIR=/system/etc", "PREFIX=/system" ];
make = [ check = [ "CC=cc", "check" ];
"CC=cc",
"ETCDIR=/system/etc",
"PREFIX=/system",
];
check = [
"CC=cc",
"check",
];
install = "make DESTDIR=/work PREFIX=/system install"; install = "make DESTDIR=/work PREFIX=/system install";
}; };
+2 -2
View File
@@ -20,8 +20,8 @@ package lua {
chmod = true; chmod = true;
exec = make { exec = make {
inPlace = true; chdir = false;
skipConfigure = true; configure = nil;
make = [ "CC='clang -fPIC'", "all" ]; make = [ "CC='clang -fPIC'", "all" ];
check = [ "test" ]; check = [ "test" ];
install = ` install = `
+1 -1
View File
@@ -16,7 +16,7 @@ package lvm2 {
exec = make { exec = make {
// requires root // requires root
skipCheck = true; check = nil;
}; };
inputs = [ inputs = [
+5 -11
View File
@@ -23,14 +23,9 @@ package musl-headers {
]; ];
exec = make { exec = make {
omitDefaults = true; defaults = false;
skipCheck = true; make = [ "DESTDIR=/work", "install-headers" ];
check = nil;
make = [
"DESTDIR=/work",
"install-headers",
];
install = "# headers installed during make"; install = "# headers installed during make";
}; };
@@ -53,9 +48,8 @@ package musl {
]; ];
exec = make { exec = make {
omitDefaults = true; defaults = false;
skipCheck = true; check = nil;
postInstall = ` postInstall = `
mkdir -p /work/system/bin mkdir -p /work/system/bin
COMPAT_LINKER_NAME="ld-musl-` + linuxArch + `.so.1" COMPAT_LINKER_NAME="ld-musl-` + linuxArch + `.so.1"
+1 -1
View File
@@ -19,7 +19,7 @@ package ncurses {
}; };
// "tests" are actual demo programs, not a test suite. // "tests" are actual demo programs, not a test suite.
skipCheck = true; check = nil;
postInstall = ` postInstall = `
find /work/system/lib \ find /work/system/lib \
+1 -1
View File
@@ -12,7 +12,7 @@ package noto {
enterSource = true; enterSource = true;
exec = generic { exec = generic {
inPlace = true; chdir = false;
install = ` install = `
DEST=/work/system/share/fonts/noto DEST=/work/system/share/fonts/noto
for font in $(ls -d fonts/*/); do for font in $(ls -d fonts/*/); do
+5 -6
View File
@@ -38,10 +38,9 @@ package nss {
early = "\nln -s extra/nspr/nspr /usr/src/nspr\nchmod +w ../nspr/\n"; early = "\nln -s extra/nspr/nspr /usr/src/nspr\nchmod +w ../nspr/\n";
exec = make { exec = make {
omitDefaults = true; defaults = false;
skipConfigure = true; chdir = false;
inPlace = true; configure = nil;
make = [ make = [
"CCC=clang++", "CCC=clang++",
"NSDISTMODE=copy", "NSDISTMODE=copy",
@@ -49,7 +48,7 @@ package nss {
"USE_64=1", "USE_64=1",
"nss_build_all", "nss_build_all",
]; ];
skipCheck = true; check = nil;
install = ` install = `
cp -r \ cp -r \
/usr/src/dist/. \ /usr/src/dist/. \
@@ -80,7 +79,7 @@ package nss-cacert {
enterSource = true; enterSource = true;
exec = generic { exec = generic {
inPlace = true; chdir = false;
build = ` build = `
mkdir -p /work/system/etc/ssl/{certs/unbundled,certs/hashed,trust-source} mkdir -p /work/system/etc/ssl/{certs/unbundled,certs/hashed,trust-source}
buildcatrust \ buildcatrust \
+1 -1
View File
@@ -21,7 +21,7 @@ package openssl {
]; ];
exec = make { exec = make {
omitDefaults = true; defaults = false;
configureName = "/usr/src/openssl/Configure"; configureName = "/usr/src/openssl/Configure";
configure = { configure = {
+1 -1
View File
@@ -18,7 +18,7 @@ package pango {
"cairo": "enabled"; "cairo": "enabled";
}; };
// Fontconfig error: Cannot load default config file: File not found: /etc/fonts/fonts.conf // Fontconfig error: Cannot load default config file: File not found: /etc/fonts/fonts.conf
skipTest = true; test = false;
}; };
inputs = [ inputs = [
+3 -3
View File
@@ -28,8 +28,8 @@ disable_test ext/POSIX/t/time.t
toyboxEarly = true; toyboxEarly = true;
exec = make { exec = make {
omitDefaults = true; defaults = false;
inPlace = true; chdir = false;
configureName = "./Configure"; configureName = "./Configure";
configure = { configure = {
@@ -70,7 +70,7 @@ package perl-Module-Build {
chmod = true; chmod = true;
exec = generic { exec = generic {
inPlace = true; chdir = false;
build = ` build = `
perl Build.PL --prefix=/system perl Build.PL --prefix=/system
./Build build`; ./Build build`;
+12 -12
View File
@@ -162,7 +162,7 @@ package python-setuptools {
// error: invalid command 'dist_info' // error: invalid command 'dist_info'
buildIsolation = true; buildIsolation = true;
// pytest circular dependency // pytest circular dependency
skipCheck = true; check = nil;
}; };
runtime = [ python ]; runtime = [ python ];
@@ -212,7 +212,7 @@ package python-vcs-versioning {
// upstream is monorepo of two packages (setuptools-scm) // upstream is monorepo of two packages (setuptools-scm)
append = [ "vcs-versioning" ]; append = [ "vcs-versioning" ];
// pytest circular dependency // pytest circular dependency
skipCheck = true; check = nil;
}; };
inputs = [ inputs = [
@@ -246,7 +246,7 @@ package python-setuptools-scm {
// upstream is monorepo of two packages // upstream is monorepo of two packages
append = [ "setuptools-scm" ]; append = [ "setuptools-scm" ];
// pytest circular dependency // pytest circular dependency
skipCheck = true; check = nil;
}; };
inputs = [ inputs = [
@@ -276,7 +276,7 @@ package python-flit-core {
// upstream has other unused packages with many dependencies // upstream has other unused packages with many dependencies
append = [ "flit_core" ]; append = [ "flit_core" ];
// pytest circular dependency // pytest circular dependency
skipCheck = true; check = nil;
}; };
runtime = [ python ]; runtime = [ python ];
@@ -296,7 +296,7 @@ package python-packaging {
exec = pip { exec = pip {
// pytest circular dependency // pytest circular dependency
skipCheck = true; check = nil;
}; };
inputs = [ python-flit-core ]; inputs = [ python-flit-core ];
@@ -317,7 +317,7 @@ package python-pathspec {
exec = pip { exec = pip {
// pytest circular dependency // pytest circular dependency
skipCheck = true; check = nil;
}; };
inputs = [ python-flit-core ]; inputs = [ python-flit-core ];
@@ -338,7 +338,7 @@ package python-trove-classifiers {
exec = pip { exec = pip {
// pytest circular dependency // pytest circular dependency
skipCheck = true; check = nil;
}; };
inputs = [ python-setuptools ]; inputs = [ python-setuptools ];
@@ -363,7 +363,7 @@ package python-pluggy {
exec = pip { exec = pip {
// pytest circular dependency // pytest circular dependency
skipCheck = true; check = nil;
}; };
inputs = [ python-setuptools-scm ]; inputs = [ python-setuptools-scm ];
@@ -386,7 +386,7 @@ package python-hatchling {
// upstream has other unused packages with many dependencies // upstream has other unused packages with many dependencies
append = [ "backend" ]; append = [ "backend" ];
// pytest circular dependency // pytest circular dependency
skipCheck = true; check = nil;
}; };
inputs = [ inputs = [
@@ -418,7 +418,7 @@ package python-pygments {
exec = pip { exec = pip {
// pytest circular dependency // pytest circular dependency
skipCheck = true; check = nil;
}; };
inputs = [ python-hatchling ]; inputs = [ python-hatchling ];
@@ -443,7 +443,7 @@ package python-iniconfig {
exec = pip { exec = pip {
// pytest circular dependency // pytest circular dependency
skipCheck = true; check = nil;
}; };
inputs = [ python-setuptools-scm ]; inputs = [ python-setuptools-scm ];
@@ -468,7 +468,7 @@ package python-pytest {
exec = pip { exec = pip {
// many dependencies // many dependencies
skipCheck = true; check = nil;
}; };
inputs = [ inputs = [
+3 -2
View File
@@ -15,7 +15,8 @@ package rsync {
toyboxEarly = true; toyboxEarly = true;
exec = make { exec = make {
omitDefaults = true; defaults = false;
configure = { configure = {
"disable-openssl"; "disable-openssl";
"disable-xxhash"; "disable-xxhash";
@@ -24,6 +25,6 @@ package rsync {
}; };
// circular dependency // circular dependency
skipCheck = true; check = nil;
}; };
} }
+1 -1
View File
@@ -14,7 +14,7 @@ package spirv-headers {
exec = cmake { exec = cmake {
// upstream has no tests // upstream has no tests
skipTest = true; test = nil;
}; };
} }
+3 -4
View File
@@ -28,10 +28,9 @@ package squashfs-tools {
early = "cd squashfs-tools"; early = "cd squashfs-tools";
exec = make { exec = make {
skipConfigure = true; chdir = false;
inPlace = true; configure = nil;
check = nil;
skipCheck = true;
install = "make INSTALL_PREFIX=/work/system install"; install = "make INSTALL_PREFIX=/work/system install";
}; };
+1 -1
View File
@@ -19,7 +19,7 @@ package tamago {
enterSource = true; enterSource = true;
exec = generic { exec = generic {
inPlace = true; chdir = false;
build = ` build = `
mkdir /work/system/ mkdir /work/system/
cp -r . /work/system/tamago cp -r . /work/system/tamago
+8 -8
View File
@@ -22,10 +22,10 @@ package toybox {
toyboxEarly = true; toyboxEarly = true;
exec = make { exec = make {
omitDefaults = true; defaults = false;
inPlace = true; chdir = false;
skipConfigure = true;
configure = nil;
preMake = ` preMake = `
LDFLAGS="${LDFLAGS:-''} -static" LDFLAGS="${LDFLAGS:-''} -static"
@@ -50,7 +50,7 @@ sed -i \
"USER=cure", "USER=cure",
"tests", "tests",
]; ];
skipEarlyStageCheck = true; checkEarly = false;
install = "PREFIX=/work/system/bin make install_flat"; install = "PREFIX=/work/system/bin make install_flat";
@@ -80,10 +80,10 @@ package toybox-early {
toyboxEarly = true; toyboxEarly = true;
exec = make { exec = make {
omitDefaults = true; defaults = false;
inPlace = true; chdir = false;
skipConfigure = true;
configure = nil;
preMake = ` preMake = `
LDFLAGS="${LDFLAGS:-''} -static" LDFLAGS="${LDFLAGS:-''} -static"
@@ -115,7 +115,7 @@ CONFIG_DIFF=y
"USER=cure", "USER=cure",
"tests", "tests",
]; ];
skipEarlyStageCheck = true; checkEarly = false;
install = "PREFIX=/work/system/bin make install_flat"; install = "PREFIX=/work/system/bin make install_flat";
+1 -1
View File
@@ -20,7 +20,7 @@ package unzip {
chmod = true; chmod = true;
exec = generic { exec = generic {
inPlace = true; chdir = false;
build = `unix/configure build = `unix/configure
make -f unix/Makefile generic1`; make -f unix/Makefile generic1`;
install = ` install = `
+1 -1
View File
@@ -47,7 +47,7 @@ package util-linux {
// check script claims: // check script claims:
// For development purpose only. // For development purpose only.
// Don't execute on production system! // Don't execute on production system!
skipCheck = true; check = nil;
}; };
inputs = [ inputs = [
+2 -2
View File
@@ -17,14 +17,14 @@ package vim {
enterSource = true; enterSource = true;
exec = make { exec = make {
inPlace = true; chdir = false;
configure = { configure = {
"with-tlib": "ncursesw"; "with-tlib": "ncursesw";
}; };
check = [ "test" ]; check = [ "test" ];
// very expensive // very expensive
skipCheck = true; check = nil;
}; };
inputs = [ ncurses ]; inputs = [ ncurses ];
+31 -12
View File
@@ -811,14 +811,17 @@ func (s *S) getFrame() azalea.Frame {
args azalea.FArgs, args azalea.FArgs,
) (v any, set bool, err error) { ) (v any, set bool, err error) {
var attr GenericHelper var attr GenericHelper
chdir := true
if err = args.Apply(map[unique.Handle[azalea.Ident]]any{ if err = args.Apply(map[unique.Handle[azalea.Ident]]any{
k("inPlace"): &attr.InPlace, k("chdir"): &chdir,
k("build"): &attr.Build, k("build"): &attr.Build,
k("check"): &attr.Check, k("check"): &attr.Check,
k("install"): &attr.Install, k("install"): &attr.Install,
}); err != nil { }); err != nil {
return return
} }
attr.InPlace = !chdir
v = &attr v = &attr
set = true set = true
return return
@@ -828,28 +831,33 @@ func (s *S) getFrame() azalea.Frame {
args azalea.FArgs, args azalea.FArgs,
) (v any, set bool, err error) { ) (v any, set bool, err error) {
var attr MakeHelper var attr MakeHelper
defaults, chdir, checkEarly := true, true, true
attr.Configure, attr.Check = []KV{}, []string{}
if err = args.Apply(map[unique.Handle[azalea.Ident]]any{ if err = args.Apply(map[unique.Handle[azalea.Ident]]any{
k("omitDefaults"): &attr.OmitDefaults, k("defaults"): &defaults,
k("generate"): &attr.Generate, k("generate"): &attr.Generate,
k("preMake"): &attr.ScriptMakeEarly, k("preMake"): &attr.ScriptMakeEarly,
k("preCheck"): &attr.ScriptCheckEarly, k("preCheck"): &attr.ScriptCheckEarly,
k("postInstall"): &attr.Script, k("postInstall"): &attr.Script,
k("inPlace"): &attr.InPlace, k("chdir"): &chdir,
k("skipConfigure"): &attr.SkipConfigure,
k("configureName"): &attr.ConfigureName, k("configureName"): &attr.ConfigureName,
k("forceAutoconf"): &attr.ForceAutoconf, k("forceAutoconf"): &attr.ForceAutoconf,
k("configure"): &attr.Configure, k("configure"): &attr.Configure,
k("host"): &attr.Host, k("host"): &attr.Host,
k("build"): &attr.Build, k("build"): &attr.Build,
k("make"): &attr.Make, k("make"): &attr.Make,
k("skipCheck"): &attr.SkipCheck,
k("check"): &attr.Check, k("check"): &attr.Check,
k("install"): &attr.Install, k("install"): &attr.Install,
k("skipEarlyStageCheck"): &attr.SkipCheckEarly, k("checkEarly"): &checkEarly,
}); err != nil { }); err != nil {
return return
} }
attr.OmitDefaults, attr.InPlace = !defaults, !chdir
attr.SkipConfigure = attr.Configure == nil
attr.SkipCheck = attr.Check == nil
attr.SkipCheckEarly = !checkEarly
v = &attr v = &attr
set = true set = true
return return
@@ -859,17 +867,20 @@ func (s *S) getFrame() azalea.Frame {
args azalea.FArgs, args azalea.FArgs,
) (v any, set bool, err error) { ) (v any, set bool, err error) {
var attr CMakeHelper var attr CMakeHelper
var test azalea.AString
if err = args.Apply(map[unique.Handle[azalea.Ident]]any{ if err = args.Apply(map[unique.Handle[azalea.Ident]]any{
k("append"): &attr.Append, k("append"): &attr.Append,
k("buildType"): &attr.BuildType, k("buildType"): &attr.BuildType,
k("cache"): &attr.Cache, k("cache"): &attr.Cache,
k("postInstall"): &attr.Script, k("postInstall"): &attr.Script,
k("test"): &attr.Test, k("test"): &test,
k("skipTest"): &attr.SkipTest,
k("make"): &attr.Make, k("make"): &attr.Make,
}); err != nil { }); err != nil {
return return
} }
attr.Test = test.V
attr.SkipTest = test.Nil
v = &attr v = &attr
set = true set = true
return return
@@ -879,18 +890,21 @@ func (s *S) getFrame() azalea.Frame {
args azalea.FArgs, args azalea.FArgs,
) (v any, set bool, err error) { ) (v any, set bool, err error) {
var attr MesonHelper var attr MesonHelper
test := true
if err = args.Apply(map[unique.Handle[azalea.Ident]]any{ if err = args.Apply(map[unique.Handle[azalea.Ident]]any{
k("muon"): &attr.Muon, k("muon"): &attr.Muon,
k("preCompile"): &attr.ScriptCompileEarly, k("preCompile"): &attr.ScriptCompileEarly,
k("postCompile"): &attr.ScriptCompiled, k("postCompile"): &attr.ScriptCompiled,
k("postInstall"): &attr.Script, k("postInstall"): &attr.Script,
k("setup"): &attr.Setup, k("setup"): &attr.Setup,
k("skipTest"): &attr.SkipTest, k("test"): &test,
k("skipTests"): &attr.SkipTests, k("skipTests"): &attr.SkipTests,
k("interactiveTest"): &attr.InteractiveTest, k("interactiveTest"): &attr.InteractiveTest,
}); err != nil { }); err != nil {
return return
} }
attr.SkipTest = !test
v = &attr v = &attr
set = true set = true
return return
@@ -900,11 +914,13 @@ func (s *S) getFrame() azalea.Frame {
args azalea.FArgs, args azalea.FArgs,
) (v any, set bool, err error) { ) (v any, set bool, err error) {
var attr MakeMakerHelper var attr MakeMakerHelper
doCheck := true
if err = args.Apply(map[unique.Handle[azalea.Ident]]any{ if err = args.Apply(map[unique.Handle[azalea.Ident]]any{
k("skipCheck"): &attr.SkipCheck, k("check"): &doCheck,
}); err != nil { }); err != nil {
return return
} }
attr.SkipCheck = !doCheck
v = &attr v = &attr
set = true set = true
return return
@@ -914,17 +930,20 @@ func (s *S) getFrame() azalea.Frame {
args azalea.FArgs, args azalea.FArgs,
) (v any, set bool, err error) { ) (v any, set bool, err error) {
var attr PipHelper var attr PipHelper
var scriptCheck azalea.AString
if err = args.Apply(map[unique.Handle[azalea.Ident]]any{ if err = args.Apply(map[unique.Handle[azalea.Ident]]any{
k("append"): &attr.Append, k("append"): &attr.Append,
k("buildIsolation"): &attr.BuildIsolation, k("buildIsolation"): &attr.BuildIsolation,
k("enterSource"): &attr.EnterSource, k("enterSource"): &attr.EnterSource,
k("install"): &attr.Install, k("install"): &attr.Install,
k("skipCheck"): &attr.SkipCheck, k("check"): &scriptCheck,
k("check"): &attr.Check,
k("postInstall"): &attr.Script, k("postInstall"): &attr.Script,
}); err != nil { }); err != nil {
return return
} }
attr.Check = scriptCheck.V
attr.SkipCheck = scriptCheck.Nil
v = &attr v = &attr
set = true set = true
return return