aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--hst/hst_test.go2
-rw-r--r--internal/rosa/azalea/azalea.go13
-rw-r--r--internal/rosa/azalea/azalea_test.go27
-rw-r--r--internal/rosa/azalea/evaluate.go8
-rw-r--r--internal/rosa/cmake.go17
-rw-r--r--internal/rosa/etc.go2
-rw-r--r--internal/rosa/go.go68
-rw-r--r--internal/rosa/llvm.go14
-rw-r--r--internal/rosa/make.go8
-rw-r--r--internal/rosa/meson.go37
-rw-r--r--internal/rosa/package/argp-standalone.az6
-rw-r--r--internal/rosa/package/awk.az4
-rw-r--r--internal/rosa/package/bzip2.az2
-rw-r--r--internal/rosa/package/cmake/package.az6
-rw-r--r--internal/rosa/package/curl.az2
-rw-r--r--internal/rosa/package/db.az2
-rw-r--r--internal/rosa/package/elfutils.az4
-rw-r--r--internal/rosa/package/firmware.az4
-rw-r--r--internal/rosa/package/flex.az1
-rw-r--r--internal/rosa/package/fuse/package.az2
-rw-r--r--internal/rosa/package/gcc/package.az6
-rw-r--r--internal/rosa/package/git.az2
-rw-r--r--internal/rosa/package/glib/package.az2
-rw-r--r--internal/rosa/package/gnu.az6
-rw-r--r--internal/rosa/package/gnutls/package.az2
-rw-r--r--internal/rosa/package/go.az27
-rw-r--r--internal/rosa/package/hakurei.az38
-rw-r--r--internal/rosa/package/images/package.az2
-rw-r--r--internal/rosa/package/iproute2.az6
-rw-r--r--internal/rosa/package/kernel/amd64.config2
-rw-r--r--internal/rosa/package/kernel/arm64.config2
-rw-r--r--internal/rosa/package/kernel/depmod2
-rw-r--r--internal/rosa/package/kernel/package.az33
-rw-r--r--internal/rosa/package/kernel/ppc64le.config2
-rw-r--r--internal/rosa/package/kernel/riscv64.config2
-rw-r--r--internal/rosa/package/kmod.az4
-rw-r--r--internal/rosa/package/libaio.az4
-rw-r--r--internal/rosa/package/libbpf.az2
-rw-r--r--internal/rosa/package/libcap.az2
-rw-r--r--internal/rosa/package/libdisplay-info.az6
-rw-r--r--internal/rosa/package/libglvnd.az2
-rw-r--r--internal/rosa/package/libucontext.az2
-rw-r--r--internal/rosa/package/libva.az2
-rw-r--r--internal/rosa/package/llvm/package.az4
-rw-r--r--internal/rosa/package/lm_sensors.az4
-rw-r--r--internal/rosa/package/lua/conf-prefix.patch2
-rw-r--r--internal/rosa/package/lua/lua.pc2
-rw-r--r--internal/rosa/package/lua/package.az10
-rw-r--r--internal/rosa/package/lvm2/package.az4
-rw-r--r--internal/rosa/package/make.az2
-rw-r--r--internal/rosa/package/mesa/package.az19
-rw-r--r--internal/rosa/package/mksh.az12
-rw-r--r--internal/rosa/package/muon/package.az2
-rw-r--r--internal/rosa/package/musl/package.az12
-rw-r--r--internal/rosa/package/ncurses.az2
-rw-r--r--internal/rosa/package/ninja.az4
-rw-r--r--internal/rosa/package/noto.az2
-rw-r--r--internal/rosa/package/nss.az12
-rw-r--r--internal/rosa/package/openssl.az2
-rw-r--r--internal/rosa/package/perl.az6
-rw-r--r--internal/rosa/package/pipewire/package.az4
-rw-r--r--internal/rosa/package/pkgconf.az2
-rw-r--r--internal/rosa/package/python/package.az29
-rw-r--r--internal/rosa/package/qemu/package.az4
-rw-r--r--internal/rosa/package/spirv.az19
-rw-r--r--internal/rosa/package/squashfs-tools.az2
-rw-r--r--internal/rosa/package/tamago.az20
-rw-r--r--internal/rosa/package/toybox.az14
-rw-r--r--internal/rosa/package/unzip.az4
-rw-r--r--internal/rosa/package/util-linux.az6
-rw-r--r--internal/rosa/package/x.az71
-rw-r--r--internal/rosa/perl.go2
-rw-r--r--internal/rosa/python.go4
-rw-r--r--internal/rosa/rosa.go25
-rw-r--r--internal/rosa/state.go4
75 files changed, 352 insertions, 346 deletions
diff --git a/hst/hst_test.go b/hst/hst_test.go
index 83ea225e..388bddf9 100644
--- a/hst/hst_test.go
+++ b/hst/hst_test.go
@@ -14,6 +14,8 @@ import (
"hakurei.app/message"
)
+//go:generate env CGO_ENABLED=0 go build .
+
func TestAppError(t *testing.T) {
t.Parallel()
diff --git a/internal/rosa/azalea/azalea.go b/internal/rosa/azalea/azalea.go
index bd24ef4e..5e044214 100644
--- a/internal/rosa/azalea/azalea.go
+++ b/internal/rosa/azalea/azalea.go
@@ -121,10 +121,7 @@ func (p *parser) parseVal() (v Val) {
type Array []Val
// A KV holds a key/value pair.
-type KV struct {
- K String
- V Val
-}
+type KV struct{ K, V Val }
// An Arg represents an argument of [Func].
type Arg struct {
@@ -235,9 +232,8 @@ func (p *parser) parseExpr() any {
p.scan()
return v
- case scanner.String:
- pair := KV{K: p.parseString()}
- p.scan()
+ default:
+ pair := KV{K: p.parseVal()}
switch p.tok {
case ';':
break
@@ -252,9 +248,6 @@ func (p *parser) parseExpr() any {
panic(ExprError(p.tok))
}
v = append(v, pair)
-
- default:
- panic(ExprError(p.tok))
}
}
diff --git a/internal/rosa/azalea/azalea_test.go b/internal/rosa/azalea/azalea_test.go
index 73330412..6e184737 100644
--- a/internal/rosa/azalea/azalea_test.go
+++ b/internal/rosa/azalea/azalea_test.go
@@ -44,10 +44,15 @@ func TestParse(t *testing.T) {
{"empty pairs", `{}`, []any{[]KV(nil)}, nil},
{"short kv", `{"\x00":v;}`, []any{[]KV{
- {K: "\x00", V: Val{Ident("v")}},
+ {K: Val{String("\x00")}, V: Val{Ident("v")}},
}}, nil},
{"truncated kv", `{"\x00"`, nil, ExprError(scanner.EOF)},
- {"ident kv", `{v="";}`, nil, ExprError(scanner.Ident)},
+ {"ident kv", `{v:"";}`, []any{[]KV{
+ {K: Val{Ident("v")}, V: Val{String("")}},
+ }}, nil},
+ {"append kv", `{v+"\x00"+_v:"";}`, []any{[]KV{
+ {K: Val{Ident("v"), String("\x00"), Ident("_v")}, V: Val{String("")}},
+ }}, nil},
{"empty array", `[]`, []any{Array(nil)}, nil},
{"integer array", `[9]`, []any{Array{{Int(9)}}}, nil},
@@ -100,15 +105,15 @@ func TestParse(t *testing.T) {
Args: []Arg{
{K: []Ident{Ident("configure")}, V: Val{[]KV{
- {K: String("disable-multilib")},
- {K: String("enable-default-pie")},
- {K: String("disable-nls")},
- {K: String("with-gnu-as")},
- {K: String("with-gnu-ld")},
- {K: String("with-system-zlib")},
- {K: String("enable-languages"), V: Val{String("c,c++,go")}},
- {K: String("with-native-system-header-dir"), V: Val{String("/system/include")}},
- {K: String("with-multilib-list"), V: Val{Func{
+ {K: Val{String("disable-multilib")}},
+ {K: Val{String("enable-default-pie")}},
+ {K: Val{String("disable-nls")}},
+ {K: Val{String("with-gnu-as")}},
+ {K: Val{String("with-gnu-ld")}},
+ {K: Val{String("with-system-zlib")}},
+ {K: Val{String("enable-languages")}, V: Val{String("c,c++,go")}},
+ {K: Val{String("with-native-system-header-dir")}, V: Val{String("/system/include")}},
+ {K: Val{String("with-multilib-list")}, V: Val{Func{
Ident: Ident("arch"),
Args: []Arg{
diff --git a/internal/rosa/azalea/evaluate.go b/internal/rosa/azalea/evaluate.go
index 9b7b08d0..1fb730f3 100644
--- a/internal/rosa/azalea/evaluate.go
+++ b/internal/rosa/azalea/evaluate.go
@@ -200,7 +200,6 @@ func (e EvaluationError) Error() string {
}
var (
-
// IdentTools is a special array argument in a package declaration whose
// values of [Ident] are kept as is when passed to a [PF].
IdentTools = unique.Make(Ident("tools"))
@@ -317,9 +316,10 @@ func evaluateAny(d PF, s []Frame, expr, rp any) bool {
case []KV:
r := make([][2]string, 0, len(e))
for i := range e {
- var _r string
- if e[i].V == nil || evaluate(d, s, e[i].V, &_r) {
- r = append(r, [2]string{string(e[i].K), _r})
+ var _r [2]string
+ if evaluate(d, s, e[i].K, &_r[0]) &&
+ (e[i].V == nil || evaluate(d, s, e[i].V, &_r[1])) {
+ r = append(r, _r)
}
}
store(rp, r)
diff --git a/internal/rosa/cmake.go b/internal/rosa/cmake.go
index 2095c47a..049688e5 100644
--- a/internal/rosa/cmake.go
+++ b/internal/rosa/cmake.go
@@ -97,24 +97,25 @@ func (attr *CMakeHelper) script(t Toolchain, name string) string {
cache = append(cache, attr.Cache...)
var cross string
+ sysroot := Prefix + "/" + t.Arch()
if t.cross() {
cross = `
-DCMAKE_SYSTEM_NAME=Linux \
- -DCMAKE_SYSROOT=/system/` + t.arch + ` \
- -DCMAKE_C_COMPILER=/system/bin/clang \
- -DCMAKE_CXX_COMPILER=/system/bin/clang++ \
- -DCMAKE_ASM_COMPILER=/system/bin/clang \`
+ -DCMAKE_SYSROOT=` + sysroot + ` \
+ -DCMAKE_C_COMPILER=` + Prefix + `/bin/clang \
+ -DCMAKE_C_FLAGS='--target=` + target + ` --sysroot=` + sysroot + `' \
+ -DCMAKE_CXX_COMPILER=` + Prefix + `/bin/clang++ \
+ -DCMAKE_CXX_FLAGS='--target=` + target + ` --sysroot=` + sysroot + `' \
+ -DCMAKE_ASM_COMPILER=` + Prefix + `/bin/clang \
+ -DCMAKE_ASM_FLAGS='--target=` + target + ` --sysroot=` + sysroot + `' \`
}
return `
cmake -G ` + generate + ` \
-Wno-author -Wno-unused-cli \` + cross + `
-DCMAKE_C_COMPILER_TARGET='` + target + `' \
- -DCMAKE_C_FLAGS='--target=` + target + `' \
-DCMAKE_CXX_COMPILER_TARGET='` + target + `' \
- -DCMAKE_CXX_FLAGS='--target=` + target + `' \
-DCMAKE_ASM_COMPILER_TARGET='` + target + `' \
- -DCMAKE_ASM_FLAGS='--target=` + target + `' \
-DCMAKE_INSTALL_LIBDIR=lib \
` + strings.Join(slices.Collect(func(yield func(string) bool) {
for _, v := range cache {
@@ -123,7 +124,7 @@ cmake -G ` + generate + ` \
}
}
}), " \\\n\t") + ` \
- -DCMAKE_INSTALL_PREFIX=/system \
+ -DCMAKE_INSTALL_PREFIX=` + Prefix + ` \
'/usr/src/` + name + `/` + filepath.Join(attr.Append...) + `'
cmake --build . --parallel=` + jobsE + ` -- ` + loadFlagE + `
DESTDIR=/work cmake --install .
diff --git a/internal/rosa/etc.go b/internal/rosa/etc.go
index 0af51830..83c4ac4a 100644
--- a/internal/rosa/etc.go
+++ b/internal/rosa/etc.go
@@ -34,7 +34,7 @@ func (a cureEtc) Cure(t *pkg.FContext) (err error) {
{"hosts", "127.0.0.1 localhost cure cure-net\n"},
{"passwd", `root:x:0:0:System administrator:/proc/nonexistent:/bin/sh
cure:x:1023:1023:Cure:/usr/src:/bin/sh
-nobody:x:65534:65534:Overflow user:/proc/nonexistent:/system/bin/false
+nobody:x:65534:65534:Overflow user:/proc/nonexistent:` + Prefix + `/bin/false
`},
{"group", `root:x:0:
cure:x:1023:
diff --git a/internal/rosa/go.go b/internal/rosa/go.go
index dac77aa7..866ee094 100644
--- a/internal/rosa/go.go
+++ b/internal/rosa/go.go
@@ -22,7 +22,7 @@ func (t Toolchain) newGo(
Env: slices.Concat([]string{
"CC=cc",
"GOCACHE=/tmp/gocache",
- "GOROOT_BOOTSTRAP=/system/go",
+ "GOROOT_BOOTSTRAP=" + Prefix + "/go",
"TMPDIR=/dev/shm/go",
}, env),
@@ -30,9 +30,9 @@ func (t Toolchain) newGo(
}, &GenericHelper{
InPlace: true,
Build: `
-mkdir /work/system/ "${TMPDIR}"
-cp -r . /work/system/go
-cd /work/system/go/src/
+mkdir /work` + Prefix + `/ "${TMPDIR}"
+cp -r . /work` + Prefix + `/go
+cd /work` + Prefix + `/go/src/
chmod -R +w ..
` + script + `
set +u
@@ -42,11 +42,11 @@ set -u
Install: `
../bin/go tool dist banner # print build info
-mkdir /work/system/bin
+mkdir /work` + Prefix + `/bin
ln -s \
../go/bin/go \
../go/bin/gofmt \
- /work/system/bin
+ /work` + Prefix + `/bin
`,
},
_bash,
@@ -77,7 +77,8 @@ func init() {
finalEnv []string
)
- switch arch := t.Arch(); arch {
+ arch := t.Arch()
+ switch arch {
case "amd64":
bootstrapEarly = []pkg.Artifact{t.New("go", "1.4-bootstrap", newTar(
"https://dl.google.com/go/go1.4-bootstrap-20171003.tar.gz",
@@ -91,9 +92,9 @@ func init() {
}, &GenericHelper{
InPlace: true,
Build: `
-mkdir /work/system/
-cp -r . /work/system/go
-cd /work/system/go/src/
+mkdir /work` + Prefix + `/
+cp -r . /work` + Prefix + `/go
+cd /work` + Prefix + `/go/src/
mkdir -p /var/tmp/
./make.bash
`,
@@ -102,70 +103,35 @@ mkdir -p /var/tmp/
)}
case "arm64", "riscv64":
- bootstrapEnv = append(bootstrapEnv, "GOROOT_BOOTSTRAP=/system")
+ bootstrapEnv = append(bootstrapEnv, "GOROOT_BOOTSTRAP="+Prefix)
bootstrapEarly = t.Append(bootstrapEarly, H("gcc"))
finalEnv = append(finalEnv, "CGO_ENABLED=0")
default:
- panic("unsupported target " + t.arch)
+ panic("unsupported target " + arch)
}
go119 := t.newGo(
"1.19.13",
"MpXfAzOlxdEW_XHmss2IpErg7rJiBsAD9WGgjNo26FXsIyc2gShcz0UJawhEj0IT",
- append(bootstrapEnv, "CGO_ENABLED=0"), `
-rm \
- crypto/tls/handshake_client_test.go \
- cmd/pprof/pprof_test.go \
- os/os_unix_test.go
-sed -i \
- 's/os\.Getenv("GCCGO")$/"nonexistent"/' \
- go/internal/gccgoimporter/importer_test.go
-echo \
- 'type syscallDescriptor = int' >> \
- os/rawconn_test.go
-`, bootstrapEarly...)
+ append(bootstrapEnv, "CGO_ENABLED=0"), "", bootstrapEarly...)
go121 := t.newGo(
"1.21.13",
"YtrDka402BOAEwywx03Vz4QlVwoBiguJHzG7PuythMCPHXS8CVMLvzmvgEbu4Tzu",
- []string{"CGO_ENABLED=0"}, `
-sed -i \
- 's,/lib/ld-musl-`+t.llvmArch()+`.so.1,/system/bin/linker,' \
- cmd/link/internal/`+t.arch+`/obj.go
-
-rm \
- crypto/tls/handshake_client_test.go \
- crypto/tls/handshake_server_test.go \
- os/os_unix_test.go
-echo \
- 'type syscallDescriptor = int' >> \
- os/rawconn_test.go
-`, go119,
+ []string{"CGO_ENABLED=0"}, "", go119,
)
go123 := t.newGo(
"1.23.12",
"wcI32bl1tkqbgcelGtGWPI4RtlEddd-PTd76Eb-k7nXA5LbE9yTNdIL9QSOOxMOs",
- []string{"CGO_ENABLED=0"}, `
-sed -i \
- 's,/lib/ld-musl-`+t.llvmArch()+`.so.1,/system/bin/linker,' \
- cmd/link/internal/`+t.arch+`/obj.go
-`, go121,
+ []string{"CGO_ENABLED=0"}, "", go121,
)
go125 := t.newGo(
version,
checksum,
- []string{"CGO_ENABLED=0"}, `
-sed -i \
- 's,/lib/ld-musl-`+t.llvmArch()+`.so.1,/system/bin/linker,' \
- cmd/link/internal/`+t.arch+`/obj.go
-
-rm \
- os/root_unix_test.go \
- net/smtp/smtp_test.go
-`, go123,
+ []string{"CGO_ENABLED=0"}, "", go123,
)
return &meta, go125
diff --git a/internal/rosa/llvm.go b/internal/rosa/llvm.go
index 019d2cf6..dacb9098 100644
--- a/internal/rosa/llvm.go
+++ b/internal/rosa/llvm.go
@@ -94,7 +94,7 @@ func init() {
{"CLANG_DEFAULT_RTLIB", "compiler-rt"},
{"CLANG_DEFAULT_UNWINDLIB", "libunwind"},
{"CLANG_DEFAULT_CXX_STDLIB", "libc++"},
- {"CLANG_CONFIG_FILE_SYSTEM_DIR", "/system/etc/clang"},
+ {"CLANG_CONFIG_FILE_SYSTEM_DIR", Prefix + "/etc/clang"},
}
common := []KV{
@@ -266,7 +266,7 @@ func init() {
Paths: paths,
ScriptEarly: `
-rm -f /system/bin/clang++.cfg
+rm -f ` + Prefix + `/bin/clang++.cfg
`,
Tools: P{
@@ -283,11 +283,11 @@ rm -f /system/bin/clang++.cfg
Cache: cache,
Script: `
-ln -s ld.lld /work/system/bin/ld
-ln -s clang /work/system/bin/cc
-ln -s clang /work/system/bin/cpp
-ln -s clang++ /work/system/bin/c++
-cat << EOF > /work/system/bin/clang++.cfg
+ln -s ld.lld /work` + Prefix + `/bin/ld
+ln -s clang /work` + Prefix + `/bin/cc
+ln -s clang /work` + Prefix + `/bin/cpp
+ln -s clang++ /work` + Prefix + `/bin/c++
+cat << EOF > /work` + Prefix + `/bin/clang++.cfg
-static-libstdc++
-Wl,--exclude-libs,libunwind.a:libc++.a:libc++experimental.a:libc++abi.a
EOF
diff --git a/internal/rosa/make.go b/internal/rosa/make.go
index 877648c0..7a8bdec9 100644
--- a/internal/rosa/make.go
+++ b/internal/rosa/make.go
@@ -120,7 +120,7 @@ func (attr *MakeHelper) script(t Toolchain, name string) string {
attr = new(MakeHelper)
}
cross, arch := t.cross(), t.Arch()
- sysroot := "/system/" + arch
+ sysroot := Prefix + "/" + arch
var configure string
target := t.triple()
@@ -129,7 +129,7 @@ func (attr *MakeHelper) script(t Toolchain, name string) string {
export CC='clang --target=` + target + ` --sysroot=` + sysroot + `'
export CXX='clang++ --target=` + target + ` --sysroot=` + sysroot + `'
export PKG_CONFIG_SYSROOT_DIR='` + sysroot + `'
-export PKG_CONFIG_LIBDIR='` + sysroot + `/system/lib/pkgconfig:` + sysroot + `/system/share/pkgconfig'
+export PKG_CONFIG_LIBDIR='` + sysroot + Prefix + `/lib/pkgconfig:` + sysroot + Prefix + `/share/pkgconfig'
`
}
configure += attr.ScriptConfigureEarly
@@ -142,7 +142,7 @@ export PKG_CONFIG_LIBDIR='` + sysroot + `/system/lib/pkgconfig:` + sysroot + `/s
}
if attr.ForceAutoconf || attr.ConfigureName == "" {
configure += ` \
- --prefix=/system`
+ --prefix=` + Prefix
host := target
build := host
if cross {
@@ -160,7 +160,7 @@ export PKG_CONFIG_LIBDIR='` + sysroot + `/system/lib/pkgconfig:` + sysroot + `/s
}
if !attr.OmitSysroot && cross {
configure += ` \
- --with-sysroot='/system/` + arch + `'`
+ --with-sysroot='` + Prefix + `/` + arch + `'`
}
configure += ` \
--host=` + host
diff --git a/internal/rosa/meson.go b/internal/rosa/meson.go
index 9231880a..4bac9c3e 100644
--- a/internal/rosa/meson.go
+++ b/internal/rosa/meson.go
@@ -60,10 +60,31 @@ func (*MesonHelper) paths(t Toolchain) []pkg.ExecPath {
false, pkg.NewFile("mfile-"+arch, []byte(`# meson env2mfile
[binaries]
# Compilers
-c = ['clang', '--target=`+target+`', '--sysroot=/system/`+arch+`']
-cpp = ['clang++', '--target=`+target+`', '--sysroot=/system/`+arch+`']
+c = [
+ 'clang',
+ '--target=`+target+`',
+ '--sysroot=`+Prefix+`/`+arch+`',
+
+ '--start-no-unused-arguments',
+ '-Wl,-rpath-link=`+Prefix+`/`+arch+`/system/lib',
+ '--end-no-unused-arguments'
+ ]
+cpp = [
+ 'clang++',
+ '--target=`+target+`',
+ '--sysroot=`+Prefix+`/`+arch+`',
+
+ '--start-no-unused-arguments',
+ '-Wl,-rpath-link=`+Prefix+`/`+arch+`/system/lib',
+ '--end-no-unused-arguments'
+ ]
pkg-config = ['pkg-config']
-exe_wrapper = ['qemu-`+t.linuxArch()+`', '-L', '/system/`+arch+`']
+llvm-config = [
+ 'qemu-`+t.linuxArch()+`',
+ '-L', '`+Prefix+`/`+arch+`',
+ '`+Prefix+`/`+arch+Prefix+`/bin/llvm-config'
+ ]
+exe_wrapper = ['qemu-`+t.linuxArch()+`', '-L', '`+Prefix+`/`+arch+`']
# Other binaries
ar = ['llvm-ar']
@@ -73,10 +94,10 @@ strip = ['llvm-strip']
[built-in options]
[properties]
-sys_root = '/system/`+arch+`'
+sys_root = '`+Prefix+`/`+arch+`'
pkg_config_libdir = [
- '/system/`+arch+`/system/lib/pkgconfig',
- '/system/`+arch+`/system/share/pkgconfig'
+ '`+Prefix+`/`+arch+Prefix+`/lib/pkgconfig',
+ '`+Prefix+`/`+arch+Prefix+`/share/pkgconfig'
]
[host_machine]
@@ -155,7 +176,7 @@ func (attr *MesonHelper) script(t Toolchain, name string) string {
var setupArgs string
if t.cross() {
- setupArgs += " --cross-file=/system/mfile"
+ setupArgs += " --cross-file=" + Prefix + "/mfile"
}
return `
@@ -163,7 +184,7 @@ func (attr *MesonHelper) script(t Toolchain, name string) string {
` + strings.Join(slices.Collect(func(yield func(string) bool) {
for _, v := range append([]KV{
{"wrap_mode", "nofallback"},
- {"prefix", "/system"},
+ {"prefix", Prefix},
{"buildtype", "release"},
}, attr.Setup...) {
s := v[0]
diff --git a/internal/rosa/package/argp-standalone.az b/internal/rosa/package/argp-standalone.az
index c8a2943e..79874b86 100644
--- a/internal/rosa/package/argp-standalone.az
+++ b/internal/rosa/package/argp-standalone.az
@@ -11,13 +11,13 @@ package argp-standalone {
};
env = [
- "CC=cc -std=gnu89 -fPIC",
+ "CFLAGS=-std=gnu89 -fPIC",
];
exec = make {
install = `
-install -D -m644 /usr/src/argp-standalone/argp.h /work/system/include/argp.h
-install -D -m755 libargp.a /work/system/lib/libargp.a
+install -D -m644 /usr/src/argp-standalone/argp.h /work`+prefix+`/include/argp.h
+install -D -m755 libargp.a /work`+prefix+`/lib/libargp.a
`;
};
diff --git a/internal/rosa/package/awk.az b/internal/rosa/package/awk.az
index b572f7a4..770d82ae 100644
--- a/internal/rosa/package/awk.az
+++ b/internal/rosa/package/awk.az
@@ -19,8 +19,8 @@ package awk {
chdir = false;
configure = nil;
make = [ "YACC='yacc -d -b awkgram'" ];
- preCheck = "install -vD a.out /system/bin/awk\n";
- install = "install -vD a.out /work/system/bin/awk";
+ preCheck = "install -vD a.out "+prefix+"/bin/awk\n";
+ install = "install -vD a.out /work"+prefix+"/bin/awk";
};
tools = [
diff --git a/internal/rosa/package/bzip2.az b/internal/rosa/package/bzip2.az
index 2b8e3362..ce5e5bd2 100644
--- a/internal/rosa/package/bzip2.az
+++ b/internal/rosa/package/bzip2.az
@@ -19,6 +19,6 @@ package bzip2 {
configure = nil;
make = [ "CC=cc" ];
check = nil;
- install = "make PREFIX=/work/system install";
+ install = "make PREFIX=/work"+prefix+" install";
};
}
diff --git a/internal/rosa/package/cmake/package.az b/internal/rosa/package/cmake/package.az
index 38d2c286..2abd1b53 100644
--- a/internal/rosa/package/cmake/package.az
+++ b/internal/rosa/package/cmake/package.az
@@ -2,12 +2,12 @@ package cmake-source {
description = "CMake source tree";
exclude = true;
- version# = "4.4.4";
+ version# = "4.4.5";
output = remoteGitHubRelease {
suffix = "Kitware/CMake";
tag = "v"+version;
name = "cmake-"+version+".tar.gz";
- checksum = "I7vJROVzty0xtoWvDQzR5JpnEl-gO-1kXd-qIO2lWgj65Hgyd4kA08mM1wk5l8z3";
+ checksum = "J8E_lGNBLFWBHvHgiZIzBcbIl0Ja2eZq8aS6z6HX4TclVabRRYToyxhLkX3LECcj";
compress = gzip;
};
patches = [
@@ -30,7 +30,7 @@ package cmake-early {
configureName = "/usr/src/cmake-early/bootstrap";
configure = {
- "prefix": "/system";
+ "prefix": prefix;
"parallel": jobsE;
"--";
"-DCMAKE_USE_OPENSSL": "OFF";
diff --git a/internal/rosa/package/curl.az b/internal/rosa/package/curl.az
index 0f10763d..17632548 100644
--- a/internal/rosa/package/curl.az
+++ b/internal/rosa/package/curl.az
@@ -17,7 +17,7 @@ package curl {
exec = make {
configure = {
"with-openssl";
- "with-ca-bundle": "/system/etc/ssl/certs/ca-bundle.crt";
+ "with-ca-bundle": prefix+"/etc/ssl/certs/ca-bundle.crt";
"disable-smb";
};
diff --git a/internal/rosa/package/db.az b/internal/rosa/package/db.az
index d4f9fe4d..3ba533a7 100644
--- a/internal/rosa/package/db.az
+++ b/internal/rosa/package/db.az
@@ -30,6 +30,6 @@ touch \
"with-repmgr-ssl": "no";
};
check = [ "examples_c" ];
- postInstall = "rm -r /work/system/docs";
+ postInstall = "rm -r /work"+prefix+"/docs";
};
}
diff --git a/internal/rosa/package/elfutils.az b/internal/rosa/package/elfutils.az
index 002209c8..88defc6f 100644
--- a/internal/rosa/package/elfutils.az
+++ b/internal/rosa/package/elfutils.az
@@ -12,9 +12,9 @@ package elfutils {
};
env = [
- "CC=cc" +
+ "CFLAGS=" +
// nonstandard glibc extension
- " -DFNM_EXTMATCH=0",
+ "-DFNM_EXTMATCH=0",
];
exec = make {
diff --git a/internal/rosa/package/firmware.az b/internal/rosa/package/firmware.az
index f003e370..b225b42c 100644
--- a/internal/rosa/package/firmware.az
+++ b/internal/rosa/package/firmware.az
@@ -27,14 +27,14 @@ package firmware {
configure = nil;
make = [
- "DESTDIR=/work/system",
+ "DESTDIR=/work"+prefix,
"install-zst",
];
// requires pre-commit
check = nil;
- install = "make " + jobsFlagE + " " + loadFlagE + " DESTDIR=/work/system dedup";
+ install = "make " + jobsFlagE + " " + loadFlagE + " DESTDIR=/work"+prefix+" dedup";
};
tools = [
diff --git a/internal/rosa/package/flex.az b/internal/rosa/package/flex.az
index 78bba323..9be72188 100644
--- a/internal/rosa/package/flex.az
+++ b/internal/rosa/package/flex.az
@@ -2,6 +2,7 @@ package flex {
description = "scanner generator for lexing in C and C++";
website = "https://github.com/westes/flex";
anitya = 819;
+ latest = anityaFallback;
version# = "2.6.4";
source = remoteGitHubRelease {
diff --git a/internal/rosa/package/fuse/package.az b/internal/rosa/package/fuse/package.az
index 3e43c3c6..b73432a3 100644
--- a/internal/rosa/package/fuse/package.az
+++ b/internal/rosa/package/fuse/package.az
@@ -18,7 +18,7 @@ package fuse {
"default_library": "both";
"tests": "true";
"useroot": "false";
- "initscriptdir": "/system/etc";
+ "initscriptdir": prefix+"/etc";
};
};
diff --git a/internal/rosa/package/gcc/package.az b/internal/rosa/package/gcc/package.az
index 5f618ba7..da669713 100644
--- a/internal/rosa/package/gcc/package.az
+++ b/internal/rosa/package/gcc/package.az
@@ -41,8 +41,8 @@ package gcc {
exclusive = true;
early = `
-ln -s system/lib /
-ln -s system/lib /work/
+ln -s `+prefixR+`/lib /
+ln -s `+prefixR+`/lib /work/
`;
exec = make {
@@ -54,7 +54,7 @@ ln -s system/lib /work/
"with-gnu-ld";
"with-system-zlib";
"enable-languages": "c,c++,go";
- "with-native-system-header-dir": "/system/include";
+ "with-native-system-header-dir": prefix+"/include";
"with-multilib-list": arch {
amd64, arm64 = "''";
diff --git a/internal/rosa/package/git.az b/internal/rosa/package/git.az
index b6e1558f..22c2cf09 100644
--- a/internal/rosa/package/git.az
+++ b/internal/rosa/package/git.az
@@ -13,7 +13,7 @@ package git {
early = `
# test suite assumes apache
-rm -f /system/bin/httpd
+rm -f `+prefix+`/bin/httpd
`;
// uses source tree as scratch space
diff --git a/internal/rosa/package/glib/package.az b/internal/rosa/package/glib/package.az
index 7f3040e0..9c531283 100644
--- a/internal/rosa/package/glib/package.az
+++ b/internal/rosa/package/glib/package.az
@@ -13,7 +13,7 @@ package glib {
files = {
"/etc/machine-id": "stub-machine-id-fhs";
- "/system/var/lib/dbus/machine-id": "stub-machine-id";
+ prefix+"/var/lib/dbus/machine-id": "stub-machine-id";
};
exec = meson {
diff --git a/internal/rosa/package/gnu.az b/internal/rosa/package/gnu.az
index 5481e1f0..15598ee6 100644
--- a/internal/rosa/package/gnu.az
+++ b/internal/rosa/package/gnu.az
@@ -313,7 +313,7 @@ package bash {
configure = {
"without-bash-malloc";
};
- postInstall = "ln -s bash /work/system/bin/sh\n";
+ postInstall = "ln -s bash /work"+prefix+"/bin/sh\n";
};
}
@@ -480,10 +480,10 @@ package parallel {
website = "https://www.gnu.org/software/parallel";
anitya = 5448;
- version# = "20260922";
+ version# = "20261022";
source = remoteTar {
url = "https://mirrors.kernel.org/gnu/parallel/parallel-"+version+".tar.bz2";
- checksum = "4M2gBy-esCSvR9ub6SUnoVHz7p3ZDhdeJXm7yv2C4iJQdXyVNkYqgusPFsvH8MCp";
+ checksum = "RpcFBfcpCyLBScWf6GAenqJJuMh7msOkgkc5OX7zKcDEi9G59g-_D7-U6QOcEbVU";
compress = bzip2;
};
diff --git a/internal/rosa/package/gnutls/package.az b/internal/rosa/package/gnutls/package.az
index 9ab17176..05080d7f 100644
--- a/internal/rosa/package/gnutls/package.az
+++ b/internal/rosa/package/gnutls/package.az
@@ -27,7 +27,7 @@ echo 'int main(){return 0;}' > tests/mini-dtls-fragments.c
"disable-doc";
"disable-openssl-compatibility";
- "with-default-trust-store-file": "/system/etc/ssl/certs/ca-bundle.crt";
+ "with-default-trust-store-file": prefix+"/etc/ssl/certs/ca-bundle.crt";
"with-default-trust-store-pkcs11": "pkcs11:";
"with-zlib": "link";
diff --git a/internal/rosa/package/go.az b/internal/rosa/package/go.az
index 8b5abed4..6ec5249b 100644
--- a/internal/rosa/package/go.az
+++ b/internal/rosa/package/go.az
@@ -13,7 +13,7 @@ package go {
env = [
"CC=cc",
"GOCACHE=/tmp/gocache",
- "GOROOT_BOOTSTRAP=/system/go",
+ "GOROOT_BOOTSTRAP="+prefix+"/go",
"TMPDIR=/dev/shm/go",
];
@@ -22,34 +22,33 @@ package go {
exec = generic {
chdir = false;
build = `
-mkdir /work/system/ "${TMPDIR}"
-cp -r . /work/system/go
-cd /work/system/go/src/
+mkdir /work`+prefix+`/ "${TMPDIR}"
+cp -r . /work`+prefix+`/go
+cd /work`+prefix+`/go/src/
chmod -R +w ..
-sed -i \
- 's,/lib/ld-musl-`+llvmArch+`.so.1,/system/bin/linker,' \
- cmd/link/internal/`+arch+`/obj.go
-
+set +u
+. ./make.bash "$@" --no-banner
+set -u
+`;
+ check = `
+mkdir /lib && ln -s ../system/lib/ld-musl-`+llvmArch+`.so.1 /lib/
rm \
os/root_unix_test.go \
runtime/crash_cgo_test.go \
cmd/cgo/internal/testsanitizers/tsan_test.go \
cmd/cgo/internal/testsanitizers/cshared_test.go
-set +u
-. ./make.bash "$@" --no-banner
-set -u
+bash run.bash --no-rebuild
`;
- check = "bash run.bash --no-rebuild\n";
install = `
../bin/go tool dist banner # print build info
-mkdir /work/system/bin
+mkdir /work`+prefix+`/bin
ln -s \
../go/bin/go \
../go/bin/gofmt \
- /work/system/bin
+ /work`+prefix+`/bin
`;
};
diff --git a/internal/rosa/package/hakurei.az b/internal/rosa/package/hakurei.az
index acb356f4..a9283d96 100644
--- a/internal/rosa/package/hakurei.az
+++ b/internal/rosa/package/hakurei.az
@@ -29,29 +29,29 @@ package hakurei {
exec = generic {
chdir = false;
cross = `
-export CC='clang --target=`+triple+` --sysroot=/system/`+arch+`'
-export CXX='clang++ --target=`+triple+` --sysroot=/system/`+arch+`'
-export PKG_CONFIG_SYSROOT_DIR='/system/`+arch+`'
-export PKG_CONFIG_LIBDIR='/system/`+arch+`/system/lib/pkgconfig:/system/`+arch+`/system/share/pkgconfig'
+export CC='clang --target=`+triple+` --sysroot=`+prefix+`/`+arch+`'
+export CXX='clang++ --target=`+triple+` --sysroot=`+prefix+`/`+arch+`'
+export PKG_CONFIG_SYSROOT_DIR='`+prefix+`/`+arch+`'
+export PKG_CONFIG_LIBDIR='`+prefix+`/`+arch+prefix+`/lib/pkgconfig:`+prefix+`/`+arch+prefix+`/share/pkgconfig'
`;
build = `
-mkdir -p /work/system/libexec/hakurei/
+mkdir -p /work`+prefix+`/libexec/hakurei/
echo "Building hakurei for $(go env GOOS)/`+arch+`."
go generate ./...
-GOARCH='`+arch+`' go build -trimpath -tags=rosa -o /work/system/libexec/hakurei -ldflags="-s -w
+GOARCH='`+arch+`' go build -trimpath -tags=rosa -o /work`+prefix+`/libexec/hakurei -ldflags="-s -w
-buildid=
-linkmode external
-extldflags=-static
-X hakurei.app/internal/info.buildVersion=$(cat cmd/dist/VERSION)
- -X hakurei.app/internal/info.hakureiPath=/system/bin/hakurei
- -X hakurei.app/internal/info.hsuPath=/system/bin/hsu
+ -X hakurei.app/internal/info.hakureiPath=`+prefix+`/bin/hakurei
+ -X hakurei.app/internal/info.hsuPath=`+prefix+`/bin/hsu
" ./cmd/hakurei ./cmd/sharefs
echo "Building hsu for $(go env GOOS)/$(go env GOARCH)."
-GOARCH='`+arch+`' CGO_ENABLED=0 go build -trimpath -tags=rosa -o /work/system/libexec/hakurei -ldflags="-s -w
+GOARCH='`+arch+`' CGO_ENABLED=0 go build -trimpath -tags=rosa -o /work`+prefix+`/libexec/hakurei -ldflags="-s -w
-buildid=
- -X main.hakureiPath=/system/bin/hakurei
+ -X main.hakureiPath=`+prefix+`/bin/hakurei
" ./cmd/hsu`;
check = `
echo
@@ -59,8 +59,8 @@ echo '##### Testing hakurei.'
go test -ldflags='-buildid= -linkmode external -extldflags=-static' ./...
echo`;
install = `
-mkdir -p /work/system/bin/
-(cd /work/system/libexec/hakurei && mv \
+mkdir -p /work`+prefix+`/bin/
+(cd /work`+prefix+`/libexec/hakurei && mv \
hakurei \
sharefs \
../../bin/)
@@ -109,10 +109,10 @@ package hakurei-dist {
chdir = false;
cross = `
export HAKUREI_ARCH='`+arch+`'
-export HAKUREI_SYSROOT='/system/`+arch+`'
+export HAKUREI_SYSROOT='`+prefix+`/`+arch+`'
-export PKG_CONFIG_SYSROOT_DIR='/system/`+arch+`'
-export PKG_CONFIG_LIBDIR='/system/`+arch+`/system/lib/pkgconfig:/system/`+arch+`/system/share/pkgconfig'
+export PKG_CONFIG_SYSROOT_DIR='`+prefix+`/`+arch+`'
+export PKG_CONFIG_LIBDIR='`+prefix+`/`+arch+``+prefix+`/lib/pkgconfig:`+prefix+`/`+arch+``+prefix+`/share/pkgconfig'
`;
build = `
NAME=make`;
@@ -213,10 +213,10 @@ package earlyinit {
chdir = false;
cross = `
export GOARCH='`+arch+`'
-export CC='clang --target=`+triple+` --sysroot=/system/`+arch+`'
-export CXX='clang++ --target=`+triple+` --sysroot=/system/`+arch+`'
-export PKG_CONFIG_SYSROOT_DIR='/system/`+arch+`'
-export PKG_CONFIG_LIBDIR='/system/`+arch+`/system/lib/pkgconfig:/system/`+arch+`/system/share/pkgconfig'
+export CC='clang --target=`+triple+` --sysroot=`+prefix+`/`+arch+`'
+export CXX='clang++ --target=`+triple+` --sysroot=`+prefix+`/`+arch+`'
+export PKG_CONFIG_SYSROOT_DIR='`+prefix+`/`+arch+`'
+export PKG_CONFIG_LIBDIR='`+prefix+`/`+arch+prefix+`/lib/pkgconfig:`+prefix+`/`+arch+prefix+`/share/pkgconfig'
`;
build = `
echo '# Building earlyinit.'
diff --git a/internal/rosa/package/images/package.az b/internal/rosa/package/images/package.az
index 631f5622..e3c2fb72 100644
--- a/internal/rosa/package/images/package.az
+++ b/internal/rosa/package/images/package.az
@@ -37,7 +37,7 @@ package system-image {
overlay = "/mnt";
exec = generic {
- build = "mksquashfs /mnt/system /work/system.img";
+ build = "mksquashfs /mnt"+prefix+" /work/system.img";
};
tools = [ squashfs-tools ];
diff --git a/internal/rosa/package/iproute2.az b/internal/rosa/package/iproute2.az
index 46265ed3..a29a6903 100644
--- a/internal/rosa/package/iproute2.az
+++ b/internal/rosa/package/iproute2.az
@@ -13,8 +13,8 @@ package iproute2 {
env = [
"CC=cc",
- "PREFIX=/system",
- "SBINDIR=/system/sbin",
+ "PREFIX="+prefix,
+ "SBINDIR="+prefix+"/sbin",
];
enterSource = true;
writable = true;
@@ -25,7 +25,7 @@ package iproute2 {
// drop default autoconf options
configureName = "./configure";
configure = {
- "prefix": "/system";
+ "prefix": prefix;
"color": "auto";
};
make = [ "CC=cc", "YACC=yacc" ];
diff --git a/internal/rosa/package/kernel/amd64.config b/internal/rosa/package/kernel/amd64.config
index 30cad9ec..d225563e 100644
--- a/internal/rosa/package/kernel/amd64.config
+++ b/internal/rosa/package/kernel/amd64.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/x86 6.18.58 Kernel Configuration
+# Linux/x86 6.18.59 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="Rosa OS clang version 23.1.4"
CONFIG_GCC_VERSION=0
diff --git a/internal/rosa/package/kernel/arm64.config b/internal/rosa/package/kernel/arm64.config
index c9146f25..a3781679 100644
--- a/internal/rosa/package/kernel/arm64.config
+++ b/internal/rosa/package/kernel/arm64.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/arm64 6.18.58 Kernel Configuration
+# Linux/arm64 6.18.59 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="Rosa OS clang version 23.1.4"
CONFIG_GCC_VERSION=0
diff --git a/internal/rosa/package/kernel/depmod b/internal/rosa/package/kernel/depmod
index d4a7663c..ec0ef6f9 100644
--- a/internal/rosa/package/kernel/depmod
+++ b/internal/rosa/package/kernel/depmod
@@ -1,2 +1,2 @@
#!/bin/sh
-exec /system/sbin/depmod -m /lib/modules "$@"
+exec depmod -m /lib/modules "$@"
diff --git a/internal/rosa/package/kernel/package.az b/internal/rosa/package/kernel/package.az
index 3f5c5c36..10aeb63f 100644
--- a/internal/rosa/package/kernel/package.az
+++ b/internal/rosa/package/kernel/package.az
@@ -3,10 +3,10 @@ package kernel-source {
website = "https://kernel.org";
exclude = true;
- version# = "6.18.58";
+ version# = "6.18.59";
output = remoteTar {
url = "https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-"+version+".tar.gz";
- checksum = "Sv7N_LByk-wUXphGWhSmfLVnjNAbybcNzqTkT7iZWPZ-k6bLZ3xP4nMF_Z0Y4vCv";
+ checksum = "e-OfydG1EoUUuOCLHZn2XXt1h3ONKo9fg67IAcYSfU-3c8HrBXJ259AtdC8CZdk0";
compress = gzip;
};
}
@@ -60,14 +60,14 @@ package kernel-headers {
}+"'",
"LLVM=1",
`HOSTLDFLAGS="${LDFLAGS:-''}"`,
- "INSTALL_HDR_PATH=/work/system",
+ "INSTALL_HDR_PATH=/work"+prefix,
"headers_install",
];
check = nil;
install = `
cat \
/usr/src/version.h > \
- /work/system/include/linux/version.h
+ /work`+prefix+`/include/linux/version.h
`;
};
@@ -98,23 +98,21 @@ package kernel {
riscv64 = "riscv64.config";
};
- ".installkernel": "installkernel";
- ".depmod": "depmod";
+ "/sbin/installkernel": "installkernel";
+ // kernel is not aware of kmod moduledir
+ "/sbin/depmod": "depmod";
- "/system/oldconfig": "oldconfig";
+ prefix+"/oldconfig": "oldconfig";
};
env = [
- "PATH=/system/sbin",
+ "PATH="+prefix+"/sbin",
];
early = `
install -Dm0400 \
/usr/src/.config \
/tmp/kbuild/.config
-install -Dm0500 \
- /usr/src/.installkernel \
- /sbin/installkernel
`;
exclusive = true;
@@ -154,11 +152,6 @@ if [ -n "${ROSA_MAKE_TARGET+x}" ]; then
exit 0
fi
-# kernel is not aware of kmod moduledir
-install -Dm0500 \
- /usr/src/.depmod \
- /sbin/depmod
-
make \
` + jobsFlagE + ` \
` + loadFlagE + ` \
@@ -168,10 +161,10 @@ make \
` + _kernelArch + ` \
INSTALL_PATH=/work \
install \
- INSTALL_MOD_PATH=/work/system \
+ INSTALL_MOD_PATH=/work`+prefix+` \
DEPMOD=/sbin/depmod \
modules_install
-rm -v "/work/system/lib/modules/$(make -f /usr/src/kernel/Makefile kernelversion)/build"
+rm -v "/work`+prefix+`/lib/modules/$(make -f /usr/src/kernel/Makefile kernelversion)/build"
`;
};
@@ -210,8 +203,8 @@ package gen_init_cpio {
exec = generic {
chdir = false;
build = `
-mkdir -p /work/system/bin/
-cc -o /work/system/bin/gen_init_cpio usr/gen_init_cpio.c
+mkdir -p /work`+prefix+`/bin/
+cc -o /work`+prefix+`/bin/gen_init_cpio usr/gen_init_cpio.c
`;
};
}
diff --git a/internal/rosa/package/kernel/ppc64le.config b/internal/rosa/package/kernel/ppc64le.config
index de517e88..feab9155 100644
--- a/internal/rosa/package/kernel/ppc64le.config
+++ b/internal/rosa/package/kernel/ppc64le.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/powerpc 6.18.58 Kernel Configuration
+# Linux/powerpc 6.18.59 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="Rosa OS clang version 23.1.4"
CONFIG_GCC_VERSION=0
diff --git a/internal/rosa/package/kernel/riscv64.config b/internal/rosa/package/kernel/riscv64.config
index cbd0372d..2c7b46ef 100644
--- a/internal/rosa/package/kernel/riscv64.config
+++ b/internal/rosa/package/kernel/riscv64.config
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
-# Linux/riscv 6.18.58 Kernel Configuration
+# Linux/riscv 6.18.59 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="Rosa OS clang version 23.1.4"
CONFIG_GCC_VERSION=0
diff --git a/internal/rosa/package/kmod.az b/internal/rosa/package/kmod.az
index 732d3340..e7787d8f 100644
--- a/internal/rosa/package/kmod.az
+++ b/internal/rosa/package/kmod.az
@@ -13,8 +13,8 @@ package kmod {
exec = meson {
setup = {
- "moduledir": "/system/lib/modules";
- "sysconfdir": "/system/etc";
+ "moduledir": prefix+"/lib/modules";
+ "sysconfdir": prefix+"/etc";
"bashcompletiondir": "no";
"fishcompletiondir": "no";
"xz": "disabled";
diff --git a/internal/rosa/package/libaio.az b/internal/rosa/package/libaio.az
index ee408872..c61be33d 100644
--- a/internal/rosa/package/libaio.az
+++ b/internal/rosa/package/libaio.az
@@ -15,7 +15,7 @@ package libaio {
writable = true;
chmod = true;
- env = [ "PATH=/system/sbin" ];
+ env = [ "PATH="+prefix+"/sbin" ];
bin = [ "bash" ];
exec = make {
chdir = false;
@@ -26,7 +26,7 @@ package libaio {
"-Wno-gnu-designator "+
"-Wno-#warnings' ";
check = [ "partcheck" ];
- install = "make prefix=/work/system install";
+ install = "make prefix=/work"+prefix+" install";
};
tools = [
diff --git a/internal/rosa/package/libbpf.az b/internal/rosa/package/libbpf.az
index 8c21b7e9..b86c3631 100644
--- a/internal/rosa/package/libbpf.az
+++ b/internal/rosa/package/libbpf.az
@@ -10,7 +10,7 @@ package libbpf {
checksum = "vpacRQrLgXtttQw0fwv3fcJ-FRHbly38CcLPJyXd2MsKr8gsfp1K6bBVelxZZj52";
};
- env = [ "PREFIX=/system" ];
+ env = [ "PREFIX="+prefix ];
early = "cd src";
writable = true;
chmod = true;
diff --git a/internal/rosa/package/libcap.az b/internal/rosa/package/libcap.az
index 86bdc63a..e71eec28 100644
--- a/internal/rosa/package/libcap.az
+++ b/internal/rosa/package/libcap.az
@@ -17,7 +17,7 @@ package libcap {
chmod = true;
env = [
- "prefix=/system",
+ "prefix="+prefix,
"lib=lib",
];
diff --git a/internal/rosa/package/libdisplay-info.az b/internal/rosa/package/libdisplay-info.az
index 8780bc10..b953203b 100644
--- a/internal/rosa/package/libdisplay-info.az
+++ b/internal/rosa/package/libdisplay-info.az
@@ -12,6 +12,8 @@ package libdisplay-info {
};
exec = meson {};
- tools = [ diffutils ];
- inputs = [ hwdata ];
+ tools = [
+ diffutils,
+ hwdata,
+ ];
}
diff --git a/internal/rosa/package/libglvnd.az b/internal/rosa/package/libglvnd.az
index 9be9e2a9..4fe49ecd 100644
--- a/internal/rosa/package/libglvnd.az
+++ b/internal/rosa/package/libglvnd.az
@@ -13,6 +13,8 @@ package libglvnd {
exec = meson {
setup = {
+ "c_link_args": "-Wl,--allow-shlib-undefined";
+
"x11": "enabled";
"glx": "enabled";
};
diff --git a/internal/rosa/package/libucontext.az b/internal/rosa/package/libucontext.az
index 4af0a68f..58c03903 100644
--- a/internal/rosa/package/libucontext.az
+++ b/internal/rosa/package/libucontext.az
@@ -21,6 +21,6 @@ package libucontext {
configure = nil;
make = [ "ARCH=" + linuxArch ];
- install = "make prefix=/system DESTDIR=/work install";
+ install = "make prefix="+prefix+" DESTDIR=/work install";
};
}
diff --git a/internal/rosa/package/libva.az b/internal/rosa/package/libva.az
index 463220d6..1d3c8c12 100644
--- a/internal/rosa/package/libva.az
+++ b/internal/rosa/package/libva.az
@@ -25,4 +25,6 @@ package libva {
wayland,
kernel-headers,
];
+
+ tools = [ wayland ];
}
diff --git a/internal/rosa/package/llvm/package.az b/internal/rosa/package/llvm/package.az
index 6b02d6e9..007b94c3 100644
--- a/internal/rosa/package/llvm/package.az
+++ b/internal/rosa/package/llvm/package.az
@@ -87,10 +87,10 @@ message(NOTICE "${LLVM_VERSION_MAJOR}")
};
test = nil;
postInstall = `
-mkdir -p "/work/system/lib/clang/$LLVM_VERSION_MAJOR/lib/"
+mkdir -p "/work`+prefix+`/lib/clang/$LLVM_VERSION_MAJOR/lib/"
ln -s \
'../../../`+triple+`' \
- "/work/system/lib/clang/$LLVM_VERSION_MAJOR/lib/"
+ "/work`+prefix+`/lib/clang/$LLVM_VERSION_MAJOR/lib/"
`;
};
diff --git a/internal/rosa/package/lm_sensors.az b/internal/rosa/package/lm_sensors.az
index 2b6b58dc..4d764cd6 100644
--- a/internal/rosa/package/lm_sensors.az
+++ b/internal/rosa/package/lm_sensors.az
@@ -19,9 +19,9 @@ package lm_sensors {
exec = make {
chdir = false;
configure = nil;
- make = [ "CC=cc", "ETCDIR=/system/etc", "PREFIX=/system" ];
+ make = [ "CC=cc", "ETCDIR="+prefix+"/etc", "PREFIX="+prefix ];
check = [ "CC=cc", "check" ];
- install = "make DESTDIR=/work PREFIX=/system install";
+ install = "make DESTDIR=/work PREFIX="+prefix+" install";
};
tools = [
diff --git a/internal/rosa/package/lua/conf-prefix.patch b/internal/rosa/package/lua/conf-prefix.patch
index cb7bbe5f..7dbc8050 100644
--- a/internal/rosa/package/lua/conf-prefix.patch
+++ b/internal/rosa/package/lua/conf-prefix.patch
@@ -7,7 +7,7 @@ index 96a7780..0bfa66c 100644
#else /* }{ */
-#define LUA_ROOT "/usr/local/"
-+#define LUA_ROOT "/system/"
++#define LUA_ROOT "@ROSA_PREFIX@/"
#define LUA_LDIR LUA_ROOT "share/lua/" LUA_VDIR "/"
#define LUA_CDIR LUA_ROOT "lib/lua/" LUA_VDIR "/"
diff --git a/internal/rosa/package/lua/lua.pc b/internal/rosa/package/lua/lua.pc
index 0bc54c70..58958743 100644
--- a/internal/rosa/package/lua/lua.pc
+++ b/internal/rosa/package/lua/lua.pc
@@ -1,6 +1,6 @@
# lua.pc -- pkg-config data for Lua
-prefix=/system
+prefix=@ROSA_PREFIX@
INSTALL_BIN=${prefix}/bin
INSTALL_INC=${prefix}/include
INSTALL_LIB=${prefix}/lib
diff --git a/internal/rosa/package/lua/package.az b/internal/rosa/package/lua/package.az
index 54d5abe6..033af0fe 100644
--- a/internal/rosa/package/lua/package.az
+++ b/internal/rosa/package/lua/package.az
@@ -22,15 +22,19 @@ package lua {
exec = make {
chdir = false;
configure = nil;
+ preMake = `
+sed -i 's|@ROSA_PREFIX@|`+prefix+`|g' src/luaconf.h
+`;
make = [ "CC='clang -fPIC'", "all" ];
check = [ "test" ];
install = `
-make INSTALL_TOP=/work/system install
-mkdir /work/system/lib/pkgconfig
+make INSTALL_TOP=/work`+prefix+` install
+mkdir /work`+prefix+`/lib/pkgconfig
sed \
-e "s|@MAJOR_VER@|$(cc -P -E -include src/lua.h - <<< LUA_VERSION_MAJOR_N | tail -n 1)|g" \
-e "s|@MINOR_VER@|$(cc -P -E -include src/lua.h - <<< LUA_VERSION_MINOR_N | tail -n 1)|g" \
- ../lua.pc > /work/system/lib/pkgconfig/lua.pc
+ -e "s|@ROSA_PREFIX@|`+prefix+`|g" \
+ ../lua.pc > /work`+prefix+`/lib/pkgconfig/lua.pc
`;
};
diff --git a/internal/rosa/package/lvm2/package.az b/internal/rosa/package/lvm2/package.az
index cc0ccef3..b9f1a66c 100644
--- a/internal/rosa/package/lvm2/package.az
+++ b/internal/rosa/package/lvm2/package.az
@@ -3,11 +3,11 @@ package lvm2 {
website = "https://sourceware.org/lvm2";
anitya = 5354;
- version# = "2.03.43";
+ version# = "2.03.44";
source = remoteTar {
url = "https://mirrors.kernel.org/sourceware/lvm2/releases/LVM2."+version+".tgz";
compress = gzip;
- checksum = "W98OpJpTiLc-wO7CHh08UQ8nc-gNEj3kr84IzOv2QDoYfnonVVj-Lt_NZLJi_vi5";
+ checksum = "tipsZ9ntuQEudgexoW4Cr8XUhguDCR5cvWZL6h3FNNuToS-RQEjBOwfAczP65ZCL";
};
patches = [
"fix-stdio-usage.patch",
diff --git a/internal/rosa/package/make.az b/internal/rosa/package/make.az
index 5142b079..cf2d72c7 100644
--- a/internal/rosa/package/make.az
+++ b/internal/rosa/package/make.az
@@ -19,7 +19,7 @@ package make-early {
exec = generic {
build = `/usr/src/make-early/configure \
- --prefix=/system \
+ --prefix=`+prefix+` \
--host='`+triple+`' \
--target='`+triple+`' \
--build='`+hostTriple+`' \
diff --git a/internal/rosa/package/mesa/package.az b/internal/rosa/package/mesa/package.az
index b15bb880..4541f987 100644
--- a/internal/rosa/package/mesa/package.az
+++ b/internal/rosa/package/mesa/package.az
@@ -4,12 +4,12 @@ package mesa {
anitya = 1970;
latest = anityaFallback;
- version# = "26.2.5";
+ version# = "26.2.6";
source = remoteGitLab {
domain = "gitlab.freedesktop.org";
suffix = "mesa/mesa";
ref = "mesa-"+version;
- checksum = "uGxr-ED_AydefaUMuVWnIFtT6F8COqbKvQbmsVwKn0VKEZL-nbUHuvHvP-YuCr5v";
+ checksum = "ZoXoatmuxmAEEyYeOIsUcRtUP0I74zWu9jx1R-K-L9PX5Cbip9Ve3tId3jDRmbx6";
};
patches = [ "include.patch" ];
@@ -90,15 +90,22 @@ package mesa {
};
};
- inputs = [
- m4,
+ tools = [
python-packaging,
python-mako,
python-pyyaml,
python-pycparser,
+
+ m4,
glslang,
- spirv-llvm-translator,
+ flex,
+ bison,
+ wayland,
+ ];
+ inputs = [
+ llvm,
+ spirv-llvm-translator,
zlib,
zstd,
gzip,
@@ -108,8 +115,6 @@ package mesa {
libva,
libdrm,
elfutils,
- bison,
- flex,
lm_sensors,
libconfig,
libdisplay-info,
diff --git a/internal/rosa/package/mksh.az b/internal/rosa/package/mksh.az
index 6bd3e9cc..600991cb 100644
--- a/internal/rosa/package/mksh.az
+++ b/internal/rosa/package/mksh.az
@@ -12,12 +12,12 @@ package mksh {
env = [
"LDSTATIC=-static",
- "CPPFLAGS=-DMKSH_DEFAULT_PROFILEDIR=\\\"/system/etc\\\"",
+ "CPPFLAGS=-DMKSH_DEFAULT_PROFILEDIR=\\\""+prefix+"/etc\\\"",
];
exec = generic {
cross = `
-export CC='clang --target=`+triple+` --sysroot=/system/`+arch+`'
+export CC='clang --target=`+triple+` --sysroot=`+prefix+`/`+arch+`'
`;
build = `sh /usr/src/mksh/Build.sh -r
CPPFLAGS="${CPPFLAGS} -DMKSH_BINSHPOSIX -DMKSH_BINSHREDUCED" \
@@ -25,12 +25,12 @@ sh /usr/src/mksh/Build.sh -r -L
`;
check = "./test.sh -C regress:no-ctty\n";
install = `
-mkdir -p /work/system/bin/
-cp -v mksh /work/system/bin/
-cp -v lksh /work/system/bin/sh
+mkdir -p /work`+prefix+`/bin/
+cp -v mksh /work`+prefix+`/bin/
+cp -v lksh /work`+prefix+`/bin/sh
mkdir -p /work/bin/
-ln -vs ../system/bin/sh /work/bin/
+ln -vs ..`+prefix+`/bin/sh /work/bin/
`;
};
diff --git a/internal/rosa/package/muon/package.az b/internal/rosa/package/muon/package.az
index 775a9a73..588a4c8d 100644
--- a/internal/rosa/package/muon/package.az
+++ b/internal/rosa/package/muon/package.az
@@ -47,7 +47,7 @@ chmod -R +w subprojects/meson-tests
build = `
(cd /usr/src/muon && CC=cc ./bootstrap.sh /boot)
/boot/muon-bootstrap setup \
- -Dprefix=/system \
+ -Dprefix=`+prefix+` \
-Dbuildtype=release \
-Dlibcurl=disabled \
-Dlibarchive=disabled \
diff --git a/internal/rosa/package/musl/package.az b/internal/rosa/package/musl/package.az
index fac7c781..d3192308 100644
--- a/internal/rosa/package/musl/package.az
+++ b/internal/rosa/package/musl/package.az
@@ -43,8 +43,8 @@ package musl {
"LDFLAGS=" + earlyLDFLAGS,
];
early = `
-[ -e '/system/`+arch+`' ] && \
- ln -s ../../../../`+arch+`/system/lib/`+triple+` /system/lib/clang/*/lib || true
+[ -e '`+prefix+`/`+arch+`' ] && \
+ ln -s ../../../../`+arch+prefix+`/lib/`+triple+` `+prefix+`/lib/clang/*/lib || true
`;
exec = make {
@@ -56,11 +56,11 @@ package musl {
};
check = nil;
postInstall = `
-mkdir -p /work/system/bin
+mkdir -p /work`+prefix+`/bin
COMPAT_LINKER_NAME="ld-musl-`+llvmArch+`.so.1"
-ln -vs ../lib/libc.so /work/system/bin/linker
-ln -vs ../lib/libc.so /work/system/bin/ldd
-ln -vs libc.so "/work/system/lib/${COMPAT_LINKER_NAME}"
+ln -vs ../lib/libc.so /work`+prefix+`/bin/linker
+ln -vs ../lib/libc.so /work`+prefix+`/bin/ldd
+ln -vs libc.so "/work`+prefix+`/lib/${COMPAT_LINKER_NAME}"
rm -v "/work/lib/${COMPAT_LINKER_NAME}"
rmdir -v /work/lib
`;
diff --git a/internal/rosa/package/ncurses.az b/internal/rosa/package/ncurses.az
index 9295f4b7..62149637 100644
--- a/internal/rosa/package/ncurses.az
+++ b/internal/rosa/package/ncurses.az
@@ -22,7 +22,7 @@ package ncurses {
check = nil;
postInstall = `
-find /work/system/lib \
+find /work`+prefix+`/lib \
-type f \
-name '*.a' \
-exec objcopy --enable-deterministic-archives {} \;
diff --git a/internal/rosa/package/ninja.az b/internal/rosa/package/ninja.az
index da5fa715..4c419ded 100644
--- a/internal/rosa/package/ninja.az
+++ b/internal/rosa/package/ninja.az
@@ -29,8 +29,8 @@ python3 /usr/src/ninja/configure.py \
check = "./ninja_test";
install = `
-mkdir -p /work/system/bin/
-cp ninja /work/system/bin/`;
+mkdir -p /work`+prefix+`/bin/
+cp ninja /work`+prefix+`/bin/`;
};
tools = [
diff --git a/internal/rosa/package/noto.az b/internal/rosa/package/noto.az
index 6fc8e125..838d222b 100644
--- a/internal/rosa/package/noto.az
+++ b/internal/rosa/package/noto.az
@@ -14,7 +14,7 @@ package noto {
exec = generic {
chdir = false;
install = `
-DEST=/work/system/share/fonts/noto
+DEST=/work`+prefix+`/share/fonts/noto
for font in $(ls -d fonts/*/); do
if [[ -d "$font"unhinted/variable-ttf ]]; then
install -m444 -vDt "$DEST" "$font"unhinted/variable-ttf/*.ttf
diff --git a/internal/rosa/package/nss.az b/internal/rosa/package/nss.az
index 4f4d4d9a..d7f99135 100644
--- a/internal/rosa/package/nss.az
+++ b/internal/rosa/package/nss.az
@@ -21,14 +21,14 @@ package nss-cacert {
exec = generic {
chdir = false;
build = `
-mkdir -p /work/system/etc/ssl/{certs/unbundled,certs/hashed,trust-source}
+mkdir -p /work`+prefix+`/etc/ssl/{certs/unbundled,certs/hashed,trust-source}
buildcatrust \
--certdata_input lib/ckfw/builtins/certdata.txt \
- --ca_bundle_output /work/system/etc/ssl/certs/ca-bundle.crt \
- --ca_standard_bundle_output /work/system/etc/ssl/certs/ca-no-trust-rules-bundle.crt \
- --ca_unpacked_output /work/system/etc/ssl/certs/unbundled \
- --ca_hashed_unpacked_output /work/system/etc/ssl/certs/hashed \
- --p11kit_output /work/system/etc/ssl/trust-source/ca-bundle.trust.p11-kit
+ --ca_bundle_output /work`+prefix+`/etc/ssl/certs/ca-bundle.crt \
+ --ca_standard_bundle_output /work`+prefix+`/etc/ssl/certs/ca-no-trust-rules-bundle.crt \
+ --ca_unpacked_output /work`+prefix+`/etc/ssl/certs/unbundled \
+ --ca_hashed_unpacked_output /work`+prefix+`/etc/ssl/certs/hashed \
+ --p11kit_output /work`+prefix+`/etc/ssl/trust-source/ca-bundle.trust.p11-kit
`;
};
diff --git a/internal/rosa/package/openssl.az b/internal/rosa/package/openssl.az
index da99b82c..03ae677b 100644
--- a/internal/rosa/package/openssl.az
+++ b/internal/rosa/package/openssl.az
@@ -23,7 +23,7 @@ package openssl {
configureName = "/usr/src/openssl/Configure";
configure = {
- "prefix": "/system";
+ "prefix": prefix;
"libdir": "lib";
"openssldir": "etc/ssl";
"": "no-docs";
diff --git a/internal/rosa/package/perl.az b/internal/rosa/package/perl.az
index 3009c75b..828fcab4 100644
--- a/internal/rosa/package/perl.az
+++ b/internal/rosa/package/perl.az
@@ -16,7 +16,7 @@ package perl {
writable = true;
chmod = true;
early = `
-chmod +w /system/bin && rm -f /system/bin/ps # perl does not like toybox ps
+chmod +w `+prefix+`/bin && rm -f `+prefix+`/bin/ps # perl does not like toybox ps
function disable_test {
echo 'print STDOUT "1..0 # Skip broken test\n";' > "$1"
@@ -35,7 +35,7 @@ disable_test ext/POSIX/t/time.t
configureName = "./Configure";
configure = {
"-des";
- "Dprefix": "/system";
+ "Dprefix": prefix;
"Dcc": "clang";
"Dcflags": "--std=gnu99";
"Dldflags": `"${LDFLAGS:-''}"`;
@@ -73,7 +73,7 @@ package perl-Module-Build {
exec = generic {
chdir = false;
build = `
-perl Build.PL --prefix=/system
+perl Build.PL --prefix=`+prefix+`
./Build build`;
check = `
./Build test`;
diff --git a/internal/rosa/package/pipewire/package.az b/internal/rosa/package/pipewire/package.az
index 30967468..8952b9ea 100644
--- a/internal/rosa/package/pipewire/package.az
+++ b/internal/rosa/package/pipewire/package.az
@@ -38,12 +38,12 @@ package pipewire {
website = "https://pipewire.org";
anitya = 57357;
- version# = "1.6.10";
+ version# = "1.6.11";
source = remoteGitLab {
domain = "gitlab.freedesktop.org";
suffix = "pipewire/pipewire";
ref = version;
- checksum = "2HBIEZmwVFWvj-RJfKypCIBfk0njwHEGHX5NZefeFdt-w5pSliPXe0CSjKE7p8Xv";
+ checksum = "UrYdClqxul7GBAVrC_YCFu-R2PrhutWSl9FNhSuDDpLlA60fvtHMd-lbzCOn51gk";
};
exec = meson {
diff --git a/internal/rosa/package/pkgconf.az b/internal/rosa/package/pkgconf.az
index 35485b72..1b8bcbf7 100644
--- a/internal/rosa/package/pkgconf.az
+++ b/internal/rosa/package/pkgconf.az
@@ -11,6 +11,6 @@ package pkgconf {
};
exec = meson {
- postInstall = "ln -s pkgconf /work/system/bin/pkg-config";
+ postInstall = "ln -s pkgconf /work"+prefix+"/bin/pkg-config";
};
}
diff --git a/internal/rosa/package/python/package.az b/internal/rosa/package/python/package.az
index 873f438e..0330b796 100644
--- a/internal/rosa/package/python/package.az
+++ b/internal/rosa/package/python/package.az
@@ -6,11 +6,11 @@ package python {
// too many inputs; early variant available
bootstrap = false;
- version# = "3.15.1";
+ version# = "3.15.2";
source = remoteTar {
url = "https://www.python.org/ftp/python/"+version+
"/Python-"+version+".tgz";
- checksum = "SP9sQT5VtgMtYtLat4rw695B69TrmkIEqZ4oNtS8l7r2looA9M2-_IJDvZENwUQy";
+ checksum = "qHOrzLUDUB7eiGd5sH0YugDbynZXseXfdTe0ooxZ_cdTcvNEI1fUStyXN08lh2z8";
compress = gzip;
};
patches = [ "zipfile-no-default-strict_timestamps.patch" ];
@@ -44,19 +44,22 @@ package python {
// broken on almost everything other than amd64
"test_c_stack_unwind",
+
+ // broken since 3.15.2, no test output
+ "test_profiling",
];
sep = " -x ";
},
// _ctypes appears to infer something from the linker name
- "LDFLAGS=-Wl,--dynamic-linker=/system/lib/"+
+ "LDFLAGS=-Wl,--dynamic-linker="+prefix+"/lib/"+
"ld-musl-"+llvmArch+".so.1",
];
exec = make {
configure = { "enable-optimizations"; };
check = [ "test" ];
- postInstall = "ln -s python3 /work/system/bin/python";
+ postInstall = "ln -s python3 /work"+prefix+"/bin/python";
};
tools = [ pkg-config ];
@@ -119,13 +122,13 @@ package python-early {
},
// _ctypes appears to infer something from the linker name
- "LDFLAGS=-Wl,--dynamic-linker=/system/lib/" +
+ "LDFLAGS=-Wl,--dynamic-linker="+prefix+"/lib/" +
"ld-musl-"+llvmArch+".so.1",
];
exec = make {
check = [ "test" ];
- postInstall = "ln -s python3 /work/system/bin/python";
+ postInstall = "ln -s python3 /work"+prefix+"/bin/python";
};
inputs = [
@@ -254,11 +257,11 @@ package python-flit-core {
website = "https://flit.pypa.io";
anitya = 44841;
- version# = "4.1.0";
+ version# = "4.2.0";
source = remoteGitHub {
suffix = "pypa/flit";
tag = version;
- checksum = "c-iUN-XyUB-1jF4CYaQaMNa5W0G4c3UcpjQcwSI9KOZFQ_my3ebpPjBvfVchjywC";
+ checksum = "VYFbcB8pG5y5b5QySFSc1lZU_CQSyWzdKIOr6nkwF3pXkCbEb7h9P50hOdWR9zE1";
};
exec = pip {
@@ -400,11 +403,11 @@ package python-hatchling {
website = "https://hatch.pypa.io";
anitya = 16137;
- version# = "1.18.1";
+ version# = "1.18.2";
source = remoteGitHub {
suffix = "pypa/hatch";
tag = "hatch-v"+version;
- checksum = "MQHbzLg0Vo9Wp8oNwFqzyr6Z8xIqI8uxp1r_sue5r_QMI6Ryfx4wXJWpQQgdmUdJ";
+ checksum = "xDuaXaVU2bNxxxSYAl_vZr8qNrLiLTgVwnEgg_8hWDlv5CW7wJAaO9iClVWNLVif";
};
exec = pip {
@@ -474,11 +477,11 @@ package python-pytest {
website = "https://pytest.org";
anitya = 3765;
- version# = "9.1.1";
+ version# = "9.2.0";
source = remoteGitHub {
suffix = "pytest-dev/pytest";
tag = version;
- checksum = "PnsF2mxJDF1d1MeYfMmlrSa_OlI92F8OPlSVA-lqsh4ggRZiAHjbTdO_jfNox065";
+ checksum = "YSH-4UpyaGM4_dH77QVU-Ddz5eqO02GBNL07zML6h6iN0uRmfMD1hgqgpufXdwu5";
};
env = [
@@ -583,7 +586,7 @@ package python-pycparser {
// test case hard codes gcc
early = `
-ln -s clang /system/bin/gcc
+ln -s clang `+prefix+`/bin/gcc
`;
exec = pip {};
diff --git a/internal/rosa/package/qemu/package.az b/internal/rosa/package/qemu/package.az
index 2c090e9e..0a4e415f 100644
--- a/internal/rosa/package/qemu/package.az
+++ b/internal/rosa/package/qemu/package.az
@@ -3,10 +3,10 @@ package qemu {
website = "https://www.qemu.org";
anitya = 13607;
- version# = "11.1.2";
+ version# = "11.1.3";
source = remoteTar {
url = "https://download.qemu.org/qemu-"+version+".tar.bz2";
- checksum = "PA9KeH0ifsIUJDTEq0_zLiysF9nlQXUTQsEx7cRzJiC1P4-u-AKCD-uanbyVASMJ";
+ checksum = "olUrXSfu14TllzMTH4mIXOtGDtcZbhktADSs-CadbfCJsXaQCylPQB-cKKVVnDyS";
compress = bzip2;
};
patches = [
diff --git a/internal/rosa/package/spirv.az b/internal/rosa/package/spirv.az
index 8cfb33f7..33a4816a 100644
--- a/internal/rosa/package/spirv.az
+++ b/internal/rosa/package/spirv.az
@@ -32,7 +32,10 @@ package spirv-tools {
exec = cmake {
cache = {
- "SPIRV-Headers_SOURCE_DIR": "/system";
+ "SPIRV-Headers_SOURCE_DIR": arch {
+ default = "";
+ cross = prefix+"/"+arch;
+ }+prefix;
};
};
@@ -53,7 +56,7 @@ package spirv-llvm-translator {
};
// litArgs emits shell syntax
- early = "rm -f /system/bin/clang++.cfg\nexport LIT_OPTS=" + litArgs {
+ early = "rm -f "+prefix+"/bin/clang++.cfg\nexport LIT_OPTS=" + litArgs {
verbose = true;
skipChecks = arch {
@@ -146,8 +149,11 @@ package spirv-llvm-translator {
"CMAKE_SKIP_BUILD_RPATH": "ON";
"BUILD_SHARED_LIBS": "ON";
"LLVM_SPIRV_ENABLE_LIBSPIRV_DIS": "ON";
- "LLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR": "/system";
- "LLVM_EXTERNAL_LIT": "/system/bin/lit";
+ "LLVM_EXTERNAL_SPIRV_HEADERS_SOURCE_DIR": arch {
+ default = "";
+ cross = prefix+"/"+arch;
+ }+prefix;
+ "LLVM_EXTERNAL_LIT": prefix+"/bin/lit";
"LLVM_INCLUDE_TESTS": "ON";
};
};
@@ -157,5 +163,8 @@ package spirv-llvm-translator {
lit,
];
- inputs = [ spirv-tools ];
+ inputs = [
+ llvm,
+ spirv-tools,
+ ];
}
diff --git a/internal/rosa/package/squashfs-tools.az b/internal/rosa/package/squashfs-tools.az
index 145c1cb9..27282c1c 100644
--- a/internal/rosa/package/squashfs-tools.az
+++ b/internal/rosa/package/squashfs-tools.az
@@ -31,7 +31,7 @@ package squashfs-tools {
chdir = false;
configure = nil;
check = nil;
- install = "make INSTALL_PREFIX=/work/system install";
+ install = "make INSTALL_PREFIX=/work"+prefix+" install";
};
tools = [ sed ];
diff --git a/internal/rosa/package/tamago.az b/internal/rosa/package/tamago.az
index 627823bd..2c286f6a 100644
--- a/internal/rosa/package/tamago.az
+++ b/internal/rosa/package/tamago.az
@@ -21,25 +21,25 @@ package tamago {
exec = generic {
chdir = false;
build = `
-mkdir /work/system/
-cp -r . /work/system/tamago
-cd /work/system/tamago/src
+mkdir /work`+prefix+`/
+cp -r . /work`+prefix+`/tamago
+cd /work`+prefix+`/tamago/src
chmod -R +w ..
-sed -i \
- 's,/lib/ld-musl-`+llvmArch+`.so.1,/system/bin/linker,' \
- cmd/link/internal/` + arch + `/obj.go
+set +u
+. ./make.bash "$@" --no-banner
+set -u
+`;
+ check = `
+mkdir /lib && ln -s ../system/lib/ld-musl-`+llvmArch+`.so.1 /lib/
rm \
os/root_unix_test.go \
cmd/cgo/internal/testsanitizers/tsan_test.go \
cmd/cgo/internal/testsanitizers/cshared_test.go
-set +u
-. ./make.bash "$@" --no-banner
-set -u
+bash run.bash --no-rebuild
`;
- check = "bash run.bash --no-rebuild\n";
install = "../bin/go tool dist banner # print build info";
};
diff --git a/internal/rosa/package/toybox.az b/internal/rosa/package/toybox.az
index 2c695ad0..43faceee 100644
--- a/internal/rosa/package/toybox.az
+++ b/internal/rosa/package/toybox.az
@@ -53,11 +53,11 @@ sed -i \
];
checkEarly = false;
- install = "PREFIX=/work/system/bin make install_flat";
+ install = "PREFIX=/work"+prefix+"/bin make install_flat";
postInstall = `
mkdir -p /work/usr/bin
-ln -s ../../system/bin/env /work/usr/bin
+ln -s ../..`+prefix+`/bin/env /work/usr/bin
`;
};
@@ -92,9 +92,9 @@ chmod +w /bin/
ln -rs "$(which bash)" /bin/ || true
if [ -n "${CC+x}" ]; then
- echo '#!/bin/sh' > '/system/bin/`+llvmArch+`-cc'
- echo "exec $CC "'"$@"' >> '/system/bin/`+llvmArch+`-cc'
- chmod +x '/system/bin/`+llvmArch+`-cc'
+ echo '#!/bin/sh' > '`+prefix+`/bin/`+llvmArch+`-cc'
+ echo "exec $CC "'"$@"' >> '`+prefix+`/bin/`+llvmArch+`-cc'
+ chmod +x '`+prefix+`/bin/`+llvmArch+`-cc'
unset CC
export CROSS_COMPILE=`+llvmArch+`-
fi
@@ -126,11 +126,11 @@ CONFIG_DIFF=y
];
checkEarly = false;
- install = "PREFIX=/work/system/bin make install_flat";
+ install = "PREFIX=/work"+prefix+"/bin make install_flat";
postInstall = `
mkdir -p /work/usr/bin
-ln -s ../../system/bin/env /work/usr/bin
+ln -s ../..`+prefix+`/bin/env /work/usr/bin
`;
};
diff --git a/internal/rosa/package/unzip.az b/internal/rosa/package/unzip.az
index 3bc8ae8b..9d4ea5b6 100644
--- a/internal/rosa/package/unzip.az
+++ b/internal/rosa/package/unzip.az
@@ -24,8 +24,8 @@ package unzip {
build = `unix/configure
make -f unix/Makefile generic1`;
install = `
-mkdir -p /work/system/bin/
-mv unzip /work/system/bin/
+mkdir -p /work`+prefix+`/bin/
+mv unzip /work`+prefix+`/bin/
`;
};
diff --git a/internal/rosa/package/util-linux.az b/internal/rosa/package/util-linux.az
index 8beff173..4d803226 100644
--- a/internal/rosa/package/util-linux.az
+++ b/internal/rosa/package/util-linux.az
@@ -32,9 +32,9 @@ package util-linux {
"enable-fs-paths-default": join {
elems = [
- "/system/sbin",
- "/system/sbin/fs.d",
- "/system/sbin/fs",
+ prefix+"/sbin",
+ prefix+"/sbin/fs.d",
+ prefix+"/sbin/fs",
];
sep = ":";
};
diff --git a/internal/rosa/package/x.az b/internal/rosa/package/x.az
index b1fa9a73..59820aed 100644
--- a/internal/rosa/package/x.az
+++ b/internal/rosa/package/x.az
@@ -36,10 +36,9 @@ package libxtrans {
automake,
libtool,
pkgconf,
+ util-macros,
];
- inputs = [ util-macros ];
-
unlikely = true;
}
@@ -190,12 +189,12 @@ package libxcb-util {
exec = make {};
- tools = [ pkgconf ];
-
- inputs = [
+ tools = [
+ pkgconf,
util-macros,
- xcb,
];
+
+ inputs = [ xcb ];
}
package libxcb-image {
@@ -230,12 +229,12 @@ package libxcb-render-util {
exec = make {};
- tools = [ pkgconf ];
-
- inputs = [
+ tools = [
+ pkgconf,
util-macros,
- xcb,
];
+
+ inputs = [ xcb ];
}
package libX11 {
@@ -264,10 +263,13 @@ package libX11 {
automake,
libtool,
pkgconf,
+ util-macros,
+
+ // XTRANS_CONNECTION_FLAGS
+ libxtrans,
];
inputs = [
- util-macros,
libxtrans,
xorgproto,
xcb,
@@ -295,12 +297,10 @@ package libXext {
automake,
libtool,
pkgconf,
- ];
-
- inputs = [
util-macros,
- libX11,
];
+
+ inputs = [ libX11 ];
}
package libXfixes {
@@ -324,10 +324,10 @@ package libXfixes {
automake,
libtool,
pkgconf,
+ util-macros,
];
inputs = [
- util-macros,
xorgproto,
libX11,
];
@@ -354,12 +354,10 @@ package libXrender {
automake,
libtool,
pkgconf,
- ];
-
- inputs = [
util-macros,
- libX11,
];
+
+ inputs = [ libX11 ];
}
package libxshmfence {
@@ -383,12 +381,10 @@ package libxshmfence {
automake,
libtool,
pkgconf,
- ];
-
- inputs = [
util-macros,
- xorgproto,
];
+
+ inputs = [ xorgproto ];
}
package libXxf86vm {
@@ -412,10 +408,10 @@ package libXxf86vm {
automake,
libtool,
pkgconf,
+ util-macros,
];
inputs = [
- util-macros,
libXext,
xorgproto,
];
@@ -442,10 +438,10 @@ package libXrandr {
automake,
libtool,
pkgconf,
+ util-macros,
];
inputs = [
- util-macros,
libXext,
libXrender,
xorgproto,
@@ -473,9 +469,8 @@ package font-util {
automake,
libtool,
pkgconf,
+ util-macros,
];
-
- inputs = [ util-macros ];
}
package libfontenc {
@@ -500,12 +495,10 @@ package libfontenc {
libtool,
pkgconf,
font-util,
- ];
-
- inputs = [
util-macros,
- xorgproto,
];
+
+ inputs = [ xorgproto ];
}
package libxkbfile {
@@ -548,12 +541,10 @@ package xkbcomp {
libtool,
pkgconf,
byacc,
- ];
-
- inputs = [
util-macros,
- libxkbfile,
];
+
+ inputs = [ libxkbfile ];
}
package libXfont2 {
@@ -577,10 +568,10 @@ package libXfont2 {
automake,
libtool,
pkgconf,
+ util-macros,
];
inputs = [
- util-macros,
freetype,
xorgproto,
libxtrans,
@@ -625,12 +616,10 @@ package libXdmcp {
automake,
libtool,
pkgconf,
- ];
-
- inputs = [
util-macros,
- xorgproto,
];
+
+ inputs = [ xorgproto ];
}
package xkeyboard-config {
diff --git a/internal/rosa/perl.go b/internal/rosa/perl.go
index 6cb87149..972281b6 100644
--- a/internal/rosa/perl.go
+++ b/internal/rosa/perl.go
@@ -39,7 +39,7 @@ func (attr *MakeMakerHelper) script(t Toolchain, name string) string {
}
script := `perl Makefile.PL \
- PREFIX=/system
+ PREFIX=` + Prefix + `
make \
` + jobsFlagE + ` \
` + loadFlagE
diff --git a/internal/rosa/python.go b/internal/rosa/python.go
index 8b363d87..11174030 100644
--- a/internal/rosa/python.go
+++ b/internal/rosa/python.go
@@ -69,7 +69,7 @@ func (attr *PipHelper) script(t Toolchain, name string) string {
if attr.Install {
script += `pip3 install \
--no-index \
- --prefix=/system \
+ --prefix=` + Prefix + ` \
--no-build-isolation \
'` + sourcePath.String() + `'
`
@@ -90,7 +90,7 @@ func (attr *PipHelper) script(t Toolchain, name string) string {
return `
pip3 install \
--no-index \
- --prefix=/system \
+ --prefix=` + Prefix + ` \
--root=/work \` + extra + `
'` + sourcePath.String() + `'
` + script
diff --git a/internal/rosa/rosa.go b/internal/rosa/rosa.go
index c730127b..71755ef9 100644
--- a/internal/rosa/rosa.go
+++ b/internal/rosa/rosa.go
@@ -45,12 +45,19 @@ func mustDecode(s string) pkg.Checksum {
// KV is a key-value pair of strings.
type KV = [2]string
+const (
+ // prefixR is the Rosa OS installation prefix relative to sysroot.
+ prefixR = "system"
+ // Prefix is the Rosa OS installation prefix.
+ Prefix = "/" + prefixR
+)
+
var (
// AbsUsrSrc is the conventional directory to place source code under.
AbsUsrSrc = fhs.AbsUsr.Append("src")
// AbsSystem is the Rosa OS installation prefix.
- AbsSystem = fhs.AbsRoot.Append("system")
+ AbsSystem = fhs.AbsRoot.Append(prefixR)
)
// linuxArch returns the architecture name used by linux corresponding to arch.
@@ -97,14 +104,14 @@ func (s *S) triple() string { return triple(s.Arch()) }
// earlyLDFLAGS returns LDFLAGS corresponding to triplet.
func (s *S) earlyLDFLAGS(static bool) string {
p := "-fuse-ld=lld " +
- "-L/system/lib -Wl,-rpath=/system/lib " +
- "-L/system/lib/" + s.triple() + " " +
- "-Wl,-rpath=/system/lib/" + s.triple() + " " +
+ "-L" + Prefix + "/lib -Wl,-rpath=" + Prefix + "/lib " +
+ "-L" + Prefix + "/lib/" + s.triple() + " " +
+ "-Wl,-rpath=" + Prefix + "/lib/" + s.triple() + " " +
"-rtlib=compiler-rt " +
"-unwindlib=libunwind " +
"-Wl,--as-needed"
if !static {
- p += " -Wl,--dynamic-linker=/system/bin/linker"
+ p += " -Wl,--dynamic-linker=" + Prefix + "/bin/linker"
}
return p
}
@@ -492,7 +499,7 @@ func (t Toolchain) New(
env = fixupEnviron(env, []string{
lcMessages,
"LDFLAGS=" + t.earlyLDFLAGS(true),
- }, "/system/bin",
+ }, Prefix+"/bin",
"/usr/bin",
)
@@ -524,7 +531,7 @@ func (t Toolchain) New(
)
env = fixupEnviron(env, []string{
lcMessages,
- }, "/system/bin", "/bin")
+ }, Prefix+"/bin", "/bin")
default:
panic("unsupported toolchain " + strconv.Itoa(int(t.stage)))
@@ -638,7 +645,7 @@ ln -s ../bin /usr/`
if t.stage != stageGentoo && len(bin) > 0 {
scriptEarly += "\nchmod +w /bin/" +
- "\n(set -o braceexpand && ln -sf ../system/bin/"
+ "\n(set -o braceexpand && ln -sf .." + Prefix + "/bin/"
if len(bin) > 1 {
scriptEarly += "{'" + strings.Join(bin, "','") + "'}"
} else {
@@ -654,7 +661,7 @@ ln -s ../bin /usr/`
), pkg.Path(
absCureScript, false,
pkg.NewFile(scriptName, []byte(
- "#!/system/bin/sh\n"+
+ "#!"+Prefix+"/bin/sh\n"+
"set -eu -o pipefail\n"+
scriptEarly+helper.script(t, name),
)),
diff --git a/internal/rosa/state.go b/internal/rosa/state.go
index fb7fa4f8..febde19f 100644
--- a/internal/rosa/state.go
+++ b/internal/rosa/state.go
@@ -299,7 +299,7 @@ func Arches(qemu *check.Absolute) iter.Seq2[string, container.BinfmtEntry] {
var interpreter *check.Absolute
if qemu != nil {
interpreter = qemu.Append(
- "system/bin",
+ prefixR+"/bin",
"qemu-"+name,
)
}
@@ -526,6 +526,8 @@ func (s *S) getFrame() azalea.Frame {
}
s.frame.Val = map[unique.Handle[azalea.Ident]]any{
+ k("prefix"): Prefix,
+ k("prefixR"): prefixR,
k("unversioned"): Unversioned,
k("hostTriple"): triple(native),