From 9fd67e47b4433168ac8ab49fce7a60876333f4bb Mon Sep 17 00:00:00 2001 From: Ophestra Date: Sun, 19 Apr 2026 15:22:18 +0900 Subject: [PATCH] internal/rosa/python: wrap python package Metadata for this is somewhat boilerplate-heavy, so wrap it to create metadata in one call. Signed-off-by: Ophestra --- internal/rosa/python.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/internal/rosa/python.go b/internal/rosa/python.go index cfd2a22f..88c04628 100644 --- a/internal/rosa/python.go +++ b/internal/rosa/python.go @@ -137,6 +137,31 @@ pip3 install \ ` + script } +// newPythonPackage creates [Metadata] for a [Python] package. +func newPythonPackage( + name string, id int, description, website, version string, + source pkg.Artifact, attrP *PackageAttr, attr *PipHelper, + dependencies P, extra ...PArtifact, +) Metadata { + name = "python-" + name + if dependencies == nil { + dependencies = slices.Concat(P{Python}, extra) + } + return Metadata{ + f: func(t Toolchain) (pkg.Artifact, string) { + return t.NewPackage(name, version, source, attrP, attr, extra...), version + }, + + Name: name, + Description: description, + Website: website, + + Dependencies: dependencies, + + ID: id, + } +} + // newViaPip installs a pip wheel from a url. func (t Toolchain) newViaPip( name, version, url, checksum string,