aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-01-29 20:41:38 +0900
committerOphestra <cat@gensokyo.uk>2026-01-29 20:44:43 +0900
commit9d9b7294a4a9e93301bfbbf327e9beb99cfa685b (patch)
tree237ddd47d946f2b95919a611b50600d6d8b22c2d /internal/rosa
parent6c1e2f10a763ac46fc582c0082a577de84f54d62 (diff)
internal/rosa: flags for toolchain-dependent artifact
This is much cleaner to add extra flags to. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa')
-rw-r--r--internal/rosa/acl.go4
-rw-r--r--internal/rosa/cmake.go9
-rw-r--r--internal/rosa/fuse.go2
-rw-r--r--internal/rosa/git.go2
-rw-r--r--internal/rosa/gnu.go26
-rw-r--r--internal/rosa/go.go4
-rw-r--r--internal/rosa/hakurei.go2
-rw-r--r--internal/rosa/kernel.go6
-rw-r--r--internal/rosa/libexpat.go2
-rw-r--r--internal/rosa/libffi.go2
-rw-r--r--internal/rosa/libgd.go2
-rw-r--r--internal/rosa/libseccomp.go2
-rw-r--r--internal/rosa/libxml2.go2
-rw-r--r--internal/rosa/meson.go2
-rw-r--r--internal/rosa/mksh.go2
-rw-r--r--internal/rosa/musl.go2
-rw-r--r--internal/rosa/ninja.go2
-rw-r--r--internal/rosa/perl.go2
-rw-r--r--internal/rosa/pkg-config.go2
-rw-r--r--internal/rosa/python.go6
-rw-r--r--internal/rosa/rosa.go13
-rw-r--r--internal/rosa/rsync.go2
-rw-r--r--internal/rosa/ssl.go4
-rw-r--r--internal/rosa/toybox.go2
-rw-r--r--internal/rosa/wayland.go4
-rw-r--r--internal/rosa/x.go4
-rw-r--r--internal/rosa/xcb.go4
-rw-r--r--internal/rosa/xz.go2
-rw-r--r--internal/rosa/zlib.go2
29 files changed, 65 insertions, 55 deletions
diff --git a/internal/rosa/acl.go b/internal/rosa/acl.go
index 945a53a4..54c29377 100644
--- a/internal/rosa/acl.go
+++ b/internal/rosa/acl.go
@@ -7,7 +7,7 @@ func (t Toolchain) newAttr() pkg.Artifact {
version = "2.5.2"
checksum = "YWEphrz6vg1sUMmHHVr1CRo53pFXRhq_pjN-AlG8UgwZK1y6m7zuDhxqJhD0SV0l"
)
- return t.New("attr-"+version, false, []pkg.Artifact{
+ return t.New("attr-"+version, 0, []pkg.Artifact{
t.Load(Make),
t.Load(Perl),
}, nil, nil, `
@@ -75,7 +75,7 @@ func (t Toolchain) newACL() pkg.Artifact {
version = "2.3.2"
checksum = "-fY5nwH4K8ZHBCRXrzLdguPkqjKI6WIiGu4dBtrZ1o0t6AIU73w8wwJz_UyjIS0P"
)
- return t.New("acl-"+version, false, []pkg.Artifact{
+ return t.New("acl-"+version, 0, []pkg.Artifact{
t.Load(Make),
t.Load(Attr),
diff --git a/internal/rosa/cmake.go b/internal/rosa/cmake.go
index 14121609..b15ec9d5 100644
--- a/internal/rosa/cmake.go
+++ b/internal/rosa/cmake.go
@@ -13,7 +13,7 @@ func (t Toolchain) newCMake() pkg.Artifact {
version = "4.2.1"
checksum = "Y3OdbMsob6Xk2y1DCME6z4Fryb5_TkFD7knRT8dTNIRtSqbiCJyyDN9AxggN_I75"
)
- return t.New("cmake-"+version, false, []pkg.Artifact{
+ return t.New("cmake-"+version, 0, []pkg.Artifact{
t.Load(Make),
t.Load(KernelHeaders),
}, nil, nil, `
@@ -96,8 +96,13 @@ chmod -R +w "${ROSA_SOURCE}"
prefix = AbsSystem
}
+ var flag int
+ if attr.Exclusive {
+ flag |= TExclusive
+ }
+
sourcePath := AbsUsrSrc.Append(name)
- return t.New(name+"-"+variant+"-"+version, attr.Exclusive, stage3Concat(t, attr.Extra,
+ return t.New(name+"-"+variant+"-"+version, flag, stage3Concat(t, attr.Extra,
t.Load(CMake),
t.Load(Ninja),
), nil, slices.Concat([]string{
diff --git a/internal/rosa/fuse.go b/internal/rosa/fuse.go
index 6f907ed9..c80e6e4d 100644
--- a/internal/rosa/fuse.go
+++ b/internal/rosa/fuse.go
@@ -7,7 +7,7 @@ func (t Toolchain) newFuse() pkg.Artifact {
version = "3.18.1"
checksum = "COb-BgJRWXLbt9XUkNeuiroQizpMifXqxgieE1SlkMXhs_WGSyJStrmyewAw2hd6"
)
- return t.New("fuse-"+version, false, []pkg.Artifact{
+ return t.New("fuse-"+version, 0, []pkg.Artifact{
t.Load(Python),
t.Load(Meson),
t.Load(Ninja),
diff --git a/internal/rosa/git.go b/internal/rosa/git.go
index ec1c3e42..4d6193a2 100644
--- a/internal/rosa/git.go
+++ b/internal/rosa/git.go
@@ -9,7 +9,7 @@ func (t Toolchain) newGit() pkg.Artifact {
version = "2.52.0"
checksum = "uH3J1HAN_c6PfGNJd2OBwW4zo36n71wmkdvityYnrh8Ak0D1IifiAvEWz9Vi9DmS"
)
- return t.New("git-"+version, false, stage3Concat(t, []pkg.Artifact{},
+ return t.New("git-"+version, 0, stage3Concat(t, []pkg.Artifact{},
t.Load(Make),
t.Load(Perl),
t.Load(M4),
diff --git a/internal/rosa/gnu.go b/internal/rosa/gnu.go
index bd00d8f5..b540db43 100644
--- a/internal/rosa/gnu.go
+++ b/internal/rosa/gnu.go
@@ -7,7 +7,7 @@ func (t Toolchain) newMake() pkg.Artifact {
version = "4.4.1"
checksum = "YS_B07ZcAy9PbaK5_vKGj64SrxO2VMpnMKfc9I0Q9IC1rn0RwOH7802pJoj2Mq4a"
)
- return t.New("make-"+version, false, nil, nil, nil, `
+ return t.New("make-"+version, 0, nil, nil, nil, `
cd "$(mktemp -d)"
/usr/src/make/configure \
--prefix=/system \
@@ -29,7 +29,7 @@ func (t Toolchain) newM4() pkg.Artifact {
version = "1.4.20"
checksum = "RT0_L3m4Co86bVBY3lCFAEs040yI1WdeNmRylFpah8IZovTm6O4wI7qiHJN3qsW9"
)
- return t.New("m4-"+version, false, []pkg.Artifact{
+ return t.New("m4-"+version, 0, []pkg.Artifact{
t.Load(Make),
t.Load(Coreutils),
}, nil, nil, `
@@ -56,7 +56,7 @@ func (t Toolchain) newSed() pkg.Artifact {
version = "4.9"
checksum = "pe7HWH4PHNYrazOTlUoE1fXmhn2GOPFN_xE62i0llOr3kYGrH1g2_orDz0UtZ9Nt"
)
- return t.New("sed-"+version, false, []pkg.Artifact{
+ return t.New("sed-"+version, 0, []pkg.Artifact{
t.Load(Make),
t.Load(Gawk),
}, nil, nil, `
@@ -80,7 +80,7 @@ func (t Toolchain) newAutoconf() pkg.Artifact {
version = "2.72"
checksum = "-c5blYkC-xLDer3TWEqJTyh1RLbOd1c5dnRLKsDnIrg_wWNOLBpaqMY8FvmUFJ33"
)
- return t.New("autoconf-"+version, false, []pkg.Artifact{
+ return t.New("autoconf-"+version, 0, []pkg.Artifact{
t.Load(Make),
t.Load(M4),
t.Load(Perl),
@@ -110,7 +110,7 @@ func (t Toolchain) newGzip() pkg.Artifact {
version = "1.14"
checksum = "NWhjUavnNfTDFkZJyAUonL9aCOak8GVajWX2OMlzpFnuI0ErpBFyj88mz2xSjz0q"
)
- return t.New("gzip-"+version, false, []pkg.Artifact{
+ return t.New("gzip-"+version, 0, []pkg.Artifact{
t.Load(Make),
}, nil, nil, `
cd "$(mktemp -d)"
@@ -133,7 +133,7 @@ func (t Toolchain) newGettext() pkg.Artifact {
version = "0.26"
checksum = "IMu7yDZX7xL5UO1ZxXc-iBMbY9LLEUlOroyuSlHMZwg9MKtxG7HIm8F2LheDua0y"
)
- return t.New("gettext-"+version, false, []pkg.Artifact{
+ return t.New("gettext-"+version, 0, []pkg.Artifact{
t.Load(Make),
t.Load(Coreutils),
t.Load(Gzip),
@@ -174,7 +174,7 @@ func (t Toolchain) newDiffutils() pkg.Artifact {
version = "3.12"
checksum = "9J5VAq5oA7eqwzS1Yvw-l3G5o-TccUrNQR3PvyB_lgdryOFAfxtvQfKfhdpquE44"
)
- return t.New("diffutils-"+version, false, []pkg.Artifact{
+ return t.New("diffutils-"+version, 0, []pkg.Artifact{
t.Load(Make),
}, nil, nil, `
cd /usr/src/diffutils
@@ -204,7 +204,7 @@ func (t Toolchain) newPatch() pkg.Artifact {
version = "2.8"
checksum = "MA0BQc662i8QYBD-DdGgyyfTwaeALZ1K0yusV9rAmNiIsQdX-69YC4t9JEGXZkeR"
)
- return t.New("patch-"+version, false, []pkg.Artifact{
+ return t.New("patch-"+version, 0, []pkg.Artifact{
t.Load(Make),
}, nil, nil, `
cd /usr/src/patch
@@ -233,7 +233,7 @@ func (t Toolchain) newBash() pkg.Artifact {
version = "5.3"
checksum = "4LQ_GRoB_ko-Ih8QPf_xRKA02xAm_TOxQgcJLmFDT6udUPxTAWrsj-ZNeuTusyDq"
)
- return t.New("bash-"+version, false, []pkg.Artifact{
+ return t.New("bash-"+version, 0, []pkg.Artifact{
t.Load(Make),
}, nil, nil, `
cd "$(mktemp -d)"
@@ -258,7 +258,7 @@ func (t Toolchain) newCoreutils() pkg.Artifact {
version = "9.9"
checksum = "B1_TaXj1j5aiVIcazLWu8Ix03wDV54uo2_iBry4qHG6Y-9bjDpUPlkNLmU_3Nvw6"
)
- return t.New("coreutils-"+version, false, []pkg.Artifact{
+ return t.New("coreutils-"+version, 0, []pkg.Artifact{
t.Load(Make),
t.Load(Perl),
t.Load(Bash),
@@ -292,7 +292,7 @@ func (t Toolchain) newGperf() pkg.Artifact {
version = "3.3"
checksum = "RtIy9pPb_Bb8-31J2Nw-rRGso2JlS-lDlVhuNYhqR7Nt4xM_nObznxAlBMnarJv7"
)
- return t.New("gperf-"+version, false, []pkg.Artifact{
+ return t.New("gperf-"+version, 0, []pkg.Artifact{
t.Load(Make),
}, nil, nil, `
cd "$(mktemp -d)"
@@ -314,7 +314,7 @@ func (t Toolchain) newGawk() pkg.Artifact {
version = "5.3.2"
checksum = "uIs0d14h_d2DgMGYwrPtegGNyt_bxzG3D6Fe-MmExx_pVoVkQaHzrtmiXVr6NHKk"
)
- return t.New("gawk-"+version, false, []pkg.Artifact{
+ return t.New("gawk-"+version, 0, []pkg.Artifact{
t.Load(Make),
}, nil, nil, `
cd "$(mktemp -d)"
@@ -336,7 +336,7 @@ func (t Toolchain) newFindutils() pkg.Artifact {
version = "4.10.0"
checksum = "ZXABdNBQXL7QjTygynRRTdXYWxQKZ0Wn5eMd3NUnxR0xaS0u0VfcKoTlbo50zxv6"
)
- return t.New("findutils-"+version, false, []pkg.Artifact{
+ return t.New("findutils-"+version, 0, []pkg.Artifact{
t.Load(Make),
t.Load(XZ),
t.Load(Sed),
diff --git a/internal/rosa/go.go b/internal/rosa/go.go
index e0dc219a..7004ceb5 100644
--- a/internal/rosa/go.go
+++ b/internal/rosa/go.go
@@ -10,7 +10,7 @@ import (
// newGoBootstrap returns the Go bootstrap toolchain.
func (t Toolchain) newGoBootstrap() pkg.Artifact {
const checksum = "8o9JL_ToiQKadCTb04nvBDkp8O1xiWOolAxVEqaTGodieNe4lOFEjlOxN3bwwe23"
- return t.New("go1.4-bootstrap", false, []pkg.Artifact{
+ return t.New("go1.4-bootstrap", 0, []pkg.Artifact{
t.Load(Bash),
}, nil, []string{
"CGO_ENABLED=0",
@@ -50,7 +50,7 @@ func (t Toolchain) newGo(
script string,
extra ...pkg.Artifact,
) pkg.Artifact {
- return t.New("go"+version, false, slices.Concat([]pkg.Artifact{
+ return t.New("go"+version, 0, slices.Concat([]pkg.Artifact{
t.Load(Bash),
}, extra), nil, slices.Concat([]string{
"CC=cc",
diff --git a/internal/rosa/hakurei.go b/internal/rosa/hakurei.go
index 0372d5da..1fdf73e7 100644
--- a/internal/rosa/hakurei.go
+++ b/internal/rosa/hakurei.go
@@ -9,7 +9,7 @@ func (t Toolchain) newHakurei(script string) pkg.Artifact {
version = "0.3.4"
checksum = "wVwSLo75a2OnH5tgxNWXR_YhiOJUFnYM_9-sJtxAEOKhcPE0BJafs6PU8o5JzyCT"
)
- return t.New("hakurei-"+version, false, []pkg.Artifact{
+ return t.New("hakurei-"+version, 0, []pkg.Artifact{
t.Load(Go),
t.Load(Gzip),
diff --git a/internal/rosa/kernel.go b/internal/rosa/kernel.go
index a963982e..aa540684 100644
--- a/internal/rosa/kernel.go
+++ b/internal/rosa/kernel.go
@@ -8,7 +8,7 @@ import (
// newKernel is a helper for interacting with Kbuild.
func (t Toolchain) newKernel(
- exclusive bool,
+ flag int,
patches [][2]string,
script string,
extra ...pkg.Artifact,
@@ -17,7 +17,7 @@ func (t Toolchain) newKernel(
version = "6.18.5"
checksum = "-V1e1WWl7HuePkmm84sSKF7nLuHfUs494uNMzMqXEyxcNE_PUE0FICL0oGWn44mM"
)
- return t.New("kernel-"+version, exclusive, slices.Concat([]pkg.Artifact{
+ return t.New("kernel-"+version, flag, slices.Concat([]pkg.Artifact{
t.Load(Make),
}, extra), nil, nil, `
export LLVM=1
@@ -35,7 +35,7 @@ cd /usr/src/linux
}
func (t Toolchain) newKernelHeaders() pkg.Artifact {
- return t.newKernel(false, nil, `
+ return t.newKernel(0, nil, `
make "-j$(nproc)" \
INSTALL_HDR_PATH=/work/system \
headers_install
diff --git a/internal/rosa/libexpat.go b/internal/rosa/libexpat.go
index ea6b2276..f158f106 100644
--- a/internal/rosa/libexpat.go
+++ b/internal/rosa/libexpat.go
@@ -11,7 +11,7 @@ func (t Toolchain) newLibexpat() pkg.Artifact {
version = "2.7.3"
checksum = "GmkoD23nRi9cMT0cgG1XRMrZWD82UcOMzkkvP1gkwSFWCBgeSXMuoLpa8-v8kxW-"
)
- return t.New("libexpat-"+version, false, []pkg.Artifact{
+ return t.New("libexpat-"+version, 0, []pkg.Artifact{
t.Load(Make),
t.Load(Bash),
}, nil, nil, `
diff --git a/internal/rosa/libffi.go b/internal/rosa/libffi.go
index 1e18a372..9e112cdc 100644
--- a/internal/rosa/libffi.go
+++ b/internal/rosa/libffi.go
@@ -7,7 +7,7 @@ func (t Toolchain) newLibffi() pkg.Artifact {
version = "3.4.5"
checksum = "apIJzypF4rDudeRoI_n3K7N-zCeBLTbQlHRn9NSAZqdLAWA80mR0gXPTpHsL7oMl"
)
- return t.New("libffi-"+version, false, []pkg.Artifact{
+ return t.New("libffi-"+version, 0, []pkg.Artifact{
t.Load(Make),
t.Load(KernelHeaders),
}, nil, nil, `
diff --git a/internal/rosa/libgd.go b/internal/rosa/libgd.go
index 6eb199ed..d4e83d1c 100644
--- a/internal/rosa/libgd.go
+++ b/internal/rosa/libgd.go
@@ -7,7 +7,7 @@ func (t Toolchain) newLibgd() pkg.Artifact {
version = "2.3.3"
checksum = "8T-sh1_FJT9K9aajgxzh8ot6vWIF-xxjcKAHvTak9MgGUcsFfzP8cAvvv44u2r36"
)
- return t.New("libgd-"+version, false, []pkg.Artifact{
+ return t.New("libgd-"+version, 0, []pkg.Artifact{
t.Load(Make),
t.Load(Zlib),
diff --git a/internal/rosa/libseccomp.go b/internal/rosa/libseccomp.go
index 9158fcaa..8b9ce9e4 100644
--- a/internal/rosa/libseccomp.go
+++ b/internal/rosa/libseccomp.go
@@ -9,7 +9,7 @@ func (t Toolchain) newLibseccomp() pkg.Artifact {
version = "2.6.0"
checksum = "mMu-iR71guPjFbb31u-YexBaanKE_nYPjPux-vuBiPfS_0kbwJdfCGlkofaUm-EY"
)
- return t.New("libseccomp-"+version, false, []pkg.Artifact{
+ return t.New("libseccomp-"+version, 0, []pkg.Artifact{
t.Load(Make),
t.Load(Bash),
t.Load(Coreutils),
diff --git a/internal/rosa/libxml2.go b/internal/rosa/libxml2.go
index 7ba70981..dd6bd9c0 100644
--- a/internal/rosa/libxml2.go
+++ b/internal/rosa/libxml2.go
@@ -11,7 +11,7 @@ func (t Toolchain) newLibxml2() pkg.Artifact {
version = "2.15.1"
checksum = "pYzAR3cNrEHezhEMirgiq7jbboLzwMj5GD7SQp0jhSIMdgoU4G9oU9Gxun3zzUIU"
)
- return t.New("libxml2-"+version, false, []pkg.Artifact{
+ return t.New("libxml2-"+version, 0, []pkg.Artifact{
t.Load(Make),
t.Load(XZ),
}, nil, nil, `
diff --git a/internal/rosa/meson.go b/internal/rosa/meson.go
index 400ce044..33817adf 100644
--- a/internal/rosa/meson.go
+++ b/internal/rosa/meson.go
@@ -7,7 +7,7 @@ func (t Toolchain) newMeson() pkg.Artifact {
version = "1.10.1"
checksum = "w895BXF_icncnXatT_OLCFe2PYEtg4KrKooMgUYdN-nQVvbFX3PvYWHGEpogsHtd"
)
- return t.New("meson-"+version, false, []pkg.Artifact{
+ return t.New("meson-"+version, 0, []pkg.Artifact{
t.Load(Python),
t.Load(Setuptools),
}, nil, nil, `
diff --git a/internal/rosa/mksh.go b/internal/rosa/mksh.go
index dd30f697..d2eaf858 100644
--- a/internal/rosa/mksh.go
+++ b/internal/rosa/mksh.go
@@ -7,7 +7,7 @@ func (t Toolchain) newMksh() pkg.Artifact {
version = "59c"
checksum = "0Zj-k4nXEu3IuJY4lvwD2OrC2t27GdZj8SPy4DoaeuBRH1padWb7oREpYgwY8JNq"
)
- return t.New("mksh-"+version, false, stage3Concat(t, []pkg.Artifact{},
+ return t.New("mksh-"+version, 0, stage3Concat(t, []pkg.Artifact{},
t.Load(Make),
t.Load(Perl),
), nil, []string{
diff --git a/internal/rosa/musl.go b/internal/rosa/musl.go
index b863f064..a90c5be3 100644
--- a/internal/rosa/musl.go
+++ b/internal/rosa/musl.go
@@ -42,7 +42,7 @@ rmdir -v /work/lib
script = ""
}
- return t.New("musl-"+version, false, stage3Concat(t, attr.Extra,
+ return t.New("musl-"+version, 0, stage3Concat(t, attr.Extra,
t.Load(Make),
t.Load(Coreutils),
), nil, slices.Concat([]string{
diff --git a/internal/rosa/ninja.go b/internal/rosa/ninja.go
index 328faf17..1eee63ef 100644
--- a/internal/rosa/ninja.go
+++ b/internal/rosa/ninja.go
@@ -7,7 +7,7 @@ func (t Toolchain) newNinja() pkg.Artifact {
version = "1.13.2"
checksum = "ygKWMa0YV2lWKiFro5hnL-vcKbc_-RACZuPu0Io8qDvgQlZ0dxv7hPNSFkt4214v"
)
- return t.New("ninja-"+version, false, []pkg.Artifact{
+ return t.New("ninja-"+version, 0, []pkg.Artifact{
t.Load(CMake),
t.Load(Python),
t.Load(Bash),
diff --git a/internal/rosa/perl.go b/internal/rosa/perl.go
index aae70e41..a2880db7 100644
--- a/internal/rosa/perl.go
+++ b/internal/rosa/perl.go
@@ -7,7 +7,7 @@ func (t Toolchain) newPerl() pkg.Artifact {
version = "5.42.0"
checksum = "2KR7Jbpk-ZVn1a30LQRwbgUvg2AXlPQZfzrqCr31qD5-yEsTwVQ_W76eZH-EdxM9"
)
- return t.New("perl-"+version, false, []pkg.Artifact{
+ return t.New("perl-"+version, 0, []pkg.Artifact{
t.Load(Make),
}, nil, nil, `
chmod -R +w /usr/src/perl && cd /usr/src/perl
diff --git a/internal/rosa/pkg-config.go b/internal/rosa/pkg-config.go
index 0a61ce42..c4fb7225 100644
--- a/internal/rosa/pkg-config.go
+++ b/internal/rosa/pkg-config.go
@@ -7,7 +7,7 @@ func (t Toolchain) newPkgConfig() pkg.Artifact {
version = "0.29.2"
checksum = "gi7yAvkwo20Inys1tHbeYZ3Wjdm5VPkrnO0Q6_QZPCAwa1zrA8F4a63cdZDd-717"
)
- return t.New("pkg-config-"+version, false, []pkg.Artifact{
+ return t.New("pkg-config-"+version, 0, []pkg.Artifact{
t.Load(Make),
}, nil, nil, `
cd "$(mktemp -d)"
diff --git a/internal/rosa/python.go b/internal/rosa/python.go
index 4b7226a4..0f81230a 100644
--- a/internal/rosa/python.go
+++ b/internal/rosa/python.go
@@ -33,7 +33,7 @@ func (t Toolchain) newPython() pkg.Artifact {
// breaks on llvm
"test_dbm_gnu",
}
- return t.New("python-"+version, false, []pkg.Artifact{
+ return t.New("python-"+version, 0, []pkg.Artifact{
t.Load(Make),
t.Load(Zlib),
t.Load(Libffi),
@@ -71,7 +71,7 @@ func (t Toolchain) newViaPip(
extra ...pkg.Artifact,
) pkg.Artifact {
wname := name + "-" + version + "-py3-" + abi + "-" + platform + ".whl"
- return t.New(name+"-"+version, false, slices.Concat([]pkg.Artifact{
+ return t.New(name+"-"+version, 0, slices.Concat([]pkg.Artifact{
t.Load(Python),
}, extra), nil, nil, `
pip3 install \
@@ -90,7 +90,7 @@ func (t Toolchain) newSetuptools() pkg.Artifact {
version = "80.10.1"
checksum = "p3rlwEmy1krcUH1KabprQz1TCYjJ8ZUjOQknQsWh3q-XEqLGEd3P4VrCc7ouHGXU"
)
- return t.New("setuptools-"+version, false, []pkg.Artifact{
+ return t.New("setuptools-"+version, 0, []pkg.Artifact{
t.Load(Python),
}, nil, nil, `
pip3 install \
diff --git a/internal/rosa/rosa.go b/internal/rosa/rosa.go
index 201699f4..eb96947e 100644
--- a/internal/rosa/rosa.go
+++ b/internal/rosa/rosa.go
@@ -175,10 +175,15 @@ func fixupEnviron(env, extras []string, paths ...string) []string {
// build script under.
var absCureScript = fhs.AbsUsrBin.Append(".cure-script")
+const (
+ // TExclusive denotes an exclusive [pkg.Artifact].
+ TExclusive = 1 << iota
+)
+
// New returns a [pkg.Artifact] compiled on this toolchain.
func (t Toolchain) New(
name string,
- exclusive bool,
+ flag int,
extra []pkg.Artifact,
checksum *pkg.Checksum,
env []string,
@@ -219,7 +224,7 @@ func (t Toolchain) New(
args[0] = "bash"
support = slices.Concat([]pkg.Artifact{
cureEtc{},
- toolchainBusybox.New("stage3-"+version, false, nil, nil, nil, `
+ toolchainBusybox.New("stage3-"+version, 0, nil, nil, nil, `
tar -C /work -xf /usr/src/stage3.tar.xz
rm -rf /work/dev/ /work/proc/
ln -vs ../usr/bin /work/bin
@@ -272,7 +277,7 @@ ln -vs ../usr/bin /work/bin
}
return pkg.NewExec(
- name, checksum, pkg.ExecTimeoutMax, exclusive,
+ name, checksum, pkg.ExecTimeoutMax, flag&TExclusive != 0,
fhs.AbsRoot, env,
path, args,
@@ -321,7 +326,7 @@ cat /usr/src/` + name + `-patches/* | \
`
aname += "-patched"
}
- return t.New(aname, false, stage3Concat(t, []pkg.Artifact{},
+ return t.New(aname, 0, stage3Concat(t, []pkg.Artifact{},
t.Load(Patch),
), nil, nil, script, paths...)
}
diff --git a/internal/rosa/rsync.go b/internal/rosa/rsync.go
index 0c2ada93..1f148b78 100644
--- a/internal/rosa/rsync.go
+++ b/internal/rosa/rsync.go
@@ -7,7 +7,7 @@ func (t Toolchain) newRsync() pkg.Artifact {
version = "3.4.1"
checksum = "VBlTsBWd9z3r2-ex7GkWeWxkUc5OrlgDzikAC0pK7ufTjAJ0MbmC_N04oSVTGPiv"
)
- return t.New("rsync-"+version, false, []pkg.Artifact{
+ return t.New("rsync-"+version, 0, []pkg.Artifact{
t.Load(Make),
t.Load(Gawk),
}, nil, nil, `
diff --git a/internal/rosa/ssl.go b/internal/rosa/ssl.go
index 76d4f351..7be2bf29 100644
--- a/internal/rosa/ssl.go
+++ b/internal/rosa/ssl.go
@@ -12,7 +12,7 @@ func (t Toolchain) newNSS() pkg.Artifact {
version0 = "4_38_2"
checksum0 = "25x2uJeQnOHIiq_zj17b4sYqKgeoU8-IsySUptoPcdHZ52PohFZfGuIisBreWzx0"
)
- return t.New("nss-"+version, false, []pkg.Artifact{
+ return t.New("nss-"+version, 0, []pkg.Artifact{
t.Load(Make),
t.Load(Perl),
t.Load(Python),
@@ -61,7 +61,7 @@ func (t Toolchain) newBuildCATrust() pkg.Artifact {
func init() { artifactsF[buildcatrust] = Toolchain.newBuildCATrust }
func (t Toolchain) newNSSCACert() pkg.Artifact {
- return t.New("nss-cacert", false, []pkg.Artifact{
+ return t.New("nss-cacert", 0, []pkg.Artifact{
t.Load(Python),
t.Load(NSS),
diff --git a/internal/rosa/toybox.go b/internal/rosa/toybox.go
index 8ca02e66..23c2b01e 100644
--- a/internal/rosa/toybox.go
+++ b/internal/rosa/toybox.go
@@ -7,7 +7,7 @@ func (t Toolchain) newToybox() pkg.Artifact {
version = "0.8.13"
checksum = "rZ1V1ATDte2WeQZanxLVoiRGdfPXhMlEo5-exX-e-ml8cGn9qOv0ABEUVZpX3wTI"
)
- return t.New("toybox-"+version, false, stage3Concat(t, []pkg.Artifact{},
+ return t.New("toybox-"+version, 0, stage3Concat(t, []pkg.Artifact{},
t.Load(Make),
t.Load(Bash),
t.Load(Gzip),
diff --git a/internal/rosa/wayland.go b/internal/rosa/wayland.go
index 4b1ec924..ab9c7fb3 100644
--- a/internal/rosa/wayland.go
+++ b/internal/rosa/wayland.go
@@ -7,7 +7,7 @@ func (t Toolchain) newWayland() pkg.Artifact {
version = "1.24.0"
checksum = "JxgLiFRRGw2D3uhVw8ZeDbs3V7K_d4z_ypDog2LBqiA_5y2vVbUAk5NT6D5ozm0m"
)
- return t.New("wayland-"+version, false, []pkg.Artifact{
+ return t.New("wayland-"+version, 0, []pkg.Artifact{
t.Load(Python),
t.Load(Meson),
t.Load(PkgConfig),
@@ -50,7 +50,7 @@ func (t Toolchain) newWaylandProtocols() pkg.Artifact {
version = "1.47"
checksum = "B_NodZ7AQfCstcx7kgbaVjpkYOzbAQq0a4NOk-SA8bQixAE20FY3p1-6gsbPgHn9"
)
- return t.New("wayland-protocols-"+version, false, []pkg.Artifact{
+ return t.New("wayland-protocols-"+version, 0, []pkg.Artifact{
t.Load(Python),
t.Load(Meson),
t.Load(PkgConfig),
diff --git a/internal/rosa/x.go b/internal/rosa/x.go
index a10f6ba2..8b9e6edf 100644
--- a/internal/rosa/x.go
+++ b/internal/rosa/x.go
@@ -7,7 +7,7 @@ func (t Toolchain) newXproto() pkg.Artifact {
version = "7.0.23"
checksum = "goxwWxV0jZ_3pNczXFltZWHAhq92x-aEreUGyp5Ns8dBOoOmgbpeNIu1nv0Zx07z"
)
- return t.New("xproto-"+version, false, []pkg.Artifact{
+ return t.New("xproto-"+version, 0, []pkg.Artifact{
t.Load(Make),
t.Load(PkgConfig),
}, nil, nil, `
@@ -30,7 +30,7 @@ func (t Toolchain) newLibXau() pkg.Artifact {
version = "1.0.7"
checksum = "bm768RoZZnHRe9VjNU1Dw3BhfE60DyS9D_bgSR-JLkEEyUWT_Hb_lQripxrXto8j"
)
- return t.New("libXau-"+version, false, []pkg.Artifact{
+ return t.New("libXau-"+version, 0, []pkg.Artifact{
t.Load(Make),
t.Load(PkgConfig),
diff --git a/internal/rosa/xcb.go b/internal/rosa/xcb.go
index 58863567..ff90d0ab 100644
--- a/internal/rosa/xcb.go
+++ b/internal/rosa/xcb.go
@@ -7,7 +7,7 @@ func (t Toolchain) newXCBProto() pkg.Artifact {
version = "1.17.0"
checksum = "_NtbKaJ_iyT7XiJz25mXQ7y-niTzE8sHPvLXZPcqtNoV_-vTzqkezJ8Hp2U1enCv"
)
- return t.New("xcb-proto-"+version, false, []pkg.Artifact{
+ return t.New("xcb-proto-"+version, 0, []pkg.Artifact{
t.Load(Make),
t.Load(Python),
}, nil, nil, `
@@ -31,7 +31,7 @@ func (t Toolchain) newXCB() pkg.Artifact {
version = "1.17.0"
checksum = "hjjsc79LpWM_hZjNWbDDS6qRQUXREjjekS6UbUsDq-RR1_AjgNDxhRvZf-1_kzDd"
)
- return t.New("xcb-"+version, false, []pkg.Artifact{
+ return t.New("xcb-"+version, 0, []pkg.Artifact{
t.Load(Make),
t.Load(Python),
t.Load(PkgConfig),
diff --git a/internal/rosa/xz.go b/internal/rosa/xz.go
index 2d95ce1e..2aac80e8 100644
--- a/internal/rosa/xz.go
+++ b/internal/rosa/xz.go
@@ -7,7 +7,7 @@ func (t Toolchain) newXZ() pkg.Artifact {
version = "5.8.2"
checksum = "rXT-XCp9R2q6cXqJ5qenp0cmGPfiENQiU3BWtUVeVgArfRmSsISeUJgvCR3zI0a0"
)
- return t.New("xz-"+version, false, []pkg.Artifact{
+ return t.New("xz-"+version, 0, []pkg.Artifact{
t.Load(Make),
}, nil, nil, `
cd "$(mktemp -d)"
diff --git a/internal/rosa/zlib.go b/internal/rosa/zlib.go
index 5232bc33..55346ee8 100644
--- a/internal/rosa/zlib.go
+++ b/internal/rosa/zlib.go
@@ -7,7 +7,7 @@ func (t Toolchain) newZlib() pkg.Artifact {
version = "1.3.1"
checksum = "E-eIpNzE8oJ5DsqH4UuA_0GDKuQF5csqI8ooDx2w7Vx-woJ2mb-YtSbEyIMN44mH"
)
- return t.New("zlib-"+version, false, []pkg.Artifact{
+ return t.New("zlib-"+version, 0, []pkg.Artifact{
t.Load(Make),
}, nil, nil, `
cd "$(mktemp -d)"