aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/python.go
diff options
context:
space:
mode:
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,