aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-01-26 02:23:03 +0900
committerOphestra <cat@gensokyo.uk>2026-01-26 02:28:47 +0900
commit228489371d31b0cef27f1f4f09b60c87efa171a6 (patch)
treea9e8c56b518db61413eb014eb4366de4d121cd47
parent490471d22be458ff14fb26366763a5b1b9f2a87a (diff)
internal/rosa: setuptools artifact
Apparently the only way to install python stuff offline. Signed-off-by: Ophestra <cat@gensokyo.uk>
-rw-r--r--cmd/mbf/main.go2
-rw-r--r--internal/rosa/all.go1
-rw-r--r--internal/rosa/python.go22
3 files changed, 25 insertions, 0 deletions
diff --git a/cmd/mbf/main.go b/cmd/mbf/main.go
index 705116f1..23d233c3 100644
--- a/cmd/mbf/main.go
+++ b/cmd/mbf/main.go
@@ -186,6 +186,8 @@ func main() {
p = rosa.Python
case "rsync":
p = rosa.Rsync
+ case "setuptools":
+ p = rosa.Setuptools
case "zlib":
p = rosa.Zlib
diff --git a/internal/rosa/all.go b/internal/rosa/all.go
index 4bc45a7a..caf21792 100644
--- a/internal/rosa/all.go
+++ b/internal/rosa/all.go
@@ -29,6 +29,7 @@ const (
PkgConfig
Python
Rsync
+ Setuptools
Zlib
// _presetEnd is the total number of presets and does not denote a preset.
diff --git a/internal/rosa/python.go b/internal/rosa/python.go
index fd1eca25..db56b492 100644
--- a/internal/rosa/python.go
+++ b/internal/rosa/python.go
@@ -63,3 +63,25 @@ make DESTDIR=/work install
)))
}
func init() { artifactsF[Python] = Toolchain.newPython }
+
+func (t Toolchain) newSetuptools() pkg.Artifact {
+ const (
+ version = "80.10.1"
+ checksum = "p3rlwEmy1krcUH1KabprQz1TCYjJ8ZUjOQknQsWh3q-XEqLGEd3P4VrCc7ouHGXU"
+ )
+ return t.New("setuptools-"+version, []pkg.Artifact{
+ t.Load(Python),
+ }, nil, nil, `
+pip3 install \
+ --no-index \
+ --prefix=/system \
+ --root=/work \
+ /usr/src/setuptools
+`, pkg.Path(AbsUsrSrc.Append("setuptools"), true, pkg.NewHTTPGetTar(
+ nil, "https://github.com/pypa/setuptools/archive/refs/tags/"+
+ "v"+version+".tar.gz",
+ mustDecode(checksum),
+ pkg.TarGzip,
+ )))
+}
+func init() { artifactsF[Setuptools] = Toolchain.newSetuptools }