aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/python.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-04-13 01:59:28 +0900
committerOphestra <cat@gensokyo.uk>2026-04-13 01:59:28 +0900
commit46428ed85d599baa9572a570ce7f1603f7c52692 (patch)
tree8664cd13a0374bf300ff42bea40a4ed45dbf35bb /internal/rosa/python.go
parent081d6b463cf9c71fd87eb089ab2a2fac5722e9e8 (diff)
internal/rosa/python: url pip wheel helper
This enables a cleaner higher-level helper. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/python.go')
-rw-r--r--internal/rosa/python.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/internal/rosa/python.go b/internal/rosa/python.go
index fded5dca..323ad3f9 100644
--- a/internal/rosa/python.go
+++ b/internal/rosa/python.go
@@ -1,6 +1,7 @@
package rosa
import (
+ "path"
"slices"
"strings"
@@ -80,6 +81,25 @@ func init() {
}
}
+// newViaPip installs a pip wheel from a url.
+func (t Toolchain) newViaPip(
+ name, version, url, checksum string,
+ extra ...PArtifact,
+) pkg.Artifact {
+ return t.New(name+"-"+version, 0, t.AppendPresets(nil,
+ slices.Concat(P{Python}, extra)...,
+ ), nil, nil, `
+pip3 install \
+ --no-index \
+ --prefix=/system \
+ --root=/work \
+ '/usr/src/`+path.Base(url)+`'
+`, pkg.Path(AbsUsrSrc.Append(path.Base(url)), false, pkg.NewHTTPGet(
+ nil, url,
+ mustDecode(checksum),
+ )))
+}
+
// newViaPip is a helper for installing python dependencies via pip.
func newViaPip(
name, description, version, interpreter, abi, platform, checksum, prefix string,