internal/rosa: wrapper around git helper
All checks were successful
Test / Create distribution (push) Successful in 1m3s
Test / Sandbox (push) Successful in 2m46s
Test / Hakurei (push) Successful in 3m43s
Test / ShareFS (push) Successful in 3m50s
Test / Sandbox (race detector) (push) Successful in 5m21s
Test / Hakurei (race detector) (push) Successful in 6m21s
Test / Flake checks (push) Successful in 1m23s

This results in much cleaner call site for the majority of use cases.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-04-13 15:18:49 +09:00
parent b587caf2e8
commit eeaf26e7a2
8 changed files with 25 additions and 29 deletions

View File

@@ -114,3 +114,8 @@ git \
rm -rf /work/.git rm -rf /work/.git
`, resolvconf()) `, resolvconf())
} }
// newTagRemote is a helper around NewViaGit for a tag on a git remote.
func (t Toolchain) newTagRemote(url, tag, checksum string) pkg.Artifact {
return t.NewViaGit(url, "refs/tags/"+tag, mustDecode(checksum))
}

View File

@@ -888,10 +888,9 @@ func (t Toolchain) newGnuTLS() (pkg.Artifact, string) {
} }
} }
return t.NewPackage("gnutls", version, t.NewViaGit( return t.NewPackage("gnutls", version, t.newTagRemote(
"https://gitlab.com/gnutls/gnutls.git", "https://gitlab.com/gnutls/gnutls.git",
"refs/tags/"+version, version, checksum,
mustDecode(checksum),
), &PackageAttr{ ), &PackageAttr{
Patches: []KV{ Patches: []KV{
{"bootstrap-remove-gtk-doc", `diff --git a/bootstrap.conf b/bootstrap.conf {"bootstrap-remove-gtk-doc", `diff --git a/bootstrap.conf b/bootstrap.conf
@@ -1146,10 +1145,9 @@ func (t Toolchain) newMPC() (pkg.Artifact, string) {
version = "1.4.0" version = "1.4.0"
checksum = "TbrxLiE3ipQrHz_F3Xzz4zqBAnkMWyjhNwIK6wh9360RZ39xMt8rxfW3LxA9SnvU" checksum = "TbrxLiE3ipQrHz_F3Xzz4zqBAnkMWyjhNwIK6wh9360RZ39xMt8rxfW3LxA9SnvU"
) )
return t.NewPackage("mpc", version, t.NewViaGit( return t.NewPackage("mpc", version, t.newTagRemote(
"https://gitlab.inria.fr/mpc/mpc.git", "https://gitlab.inria.fr/mpc/mpc.git",
"refs/tags/"+version, version, checksum,
mustDecode(checksum),
), &PackageAttr{ ), &PackageAttr{
// does not find mpc-impl.h otherwise // does not find mpc-impl.h otherwise
EnterSource: true, EnterSource: true,

View File

@@ -10,10 +10,9 @@ func (t Toolchain) newGLib() (pkg.Artifact, string) {
version = "2.88.0" version = "2.88.0"
checksum = "T79Cg4z6j-sDZ2yIwvbY4ccRv2-fbwbqgcw59F5NQ6qJT6z4v261vbYp3dHO6Ma3" checksum = "T79Cg4z6j-sDZ2yIwvbY4ccRv2-fbwbqgcw59F5NQ6qJT6z4v261vbYp3dHO6Ma3"
) )
return t.NewPackage("glib", version, t.NewViaGit( return t.NewPackage("glib", version, t.newTagRemote(
"https://gitlab.gnome.org/GNOME/glib.git", "https://gitlab.gnome.org/GNOME/glib.git",
"refs/tags/"+version, version, checksum,
mustDecode(checksum),
), &PackageAttr{ ), &PackageAttr{
Paths: []pkg.ExecPath{ Paths: []pkg.ExecPath{
pkg.Path(fhs.AbsEtc.Append( pkg.Path(fhs.AbsEtc.Append(

View File

@@ -7,10 +7,9 @@ func (t Toolchain) newLibmd() (pkg.Artifact, string) {
version = "1.1.0" version = "1.1.0"
checksum = "9apYqPPZm0j5HQT8sCsVIhnVIqRD7XgN7kPIaTwTqnTuUq5waUAMq4M7ev8CODJ1" checksum = "9apYqPPZm0j5HQT8sCsVIhnVIqRD7XgN7kPIaTwTqnTuUq5waUAMq4M7ev8CODJ1"
) )
return t.NewPackage("libmd", version, t.NewViaGit( return t.NewPackage("libmd", version, t.newTagRemote(
"https://git.hadrons.org/git/libmd.git", "https://git.hadrons.org/git/libmd.git",
"refs/tags/"+version, version, checksum,
mustDecode(checksum),
), nil, &MakeHelper{ ), nil, &MakeHelper{
Generate: "echo '" + version + "' > .dist-version && ./autogen", Generate: "echo '" + version + "' > .dist-version && ./autogen",
ScriptMakeEarly: ` ScriptMakeEarly: `
@@ -38,10 +37,9 @@ func (t Toolchain) newLibbsd() (pkg.Artifact, string) {
version = "0.12.2" version = "0.12.2"
checksum = "NVS0xFLTwSP8JiElEftsZ-e1_C-IgJhHrHE77RwKt5178M7r087waO-zYx2_dfGX" checksum = "NVS0xFLTwSP8JiElEftsZ-e1_C-IgJhHrHE77RwKt5178M7r087waO-zYx2_dfGX"
) )
return t.NewPackage("libbsd", version, t.NewViaGit( return t.NewPackage("libbsd", version, t.newTagRemote(
"https://gitlab.freedesktop.org/libbsd/libbsd.git", "https://gitlab.freedesktop.org/libbsd/libbsd.git",
"refs/tags/"+version, version, checksum,
mustDecode(checksum),
), nil, &MakeHelper{ ), nil, &MakeHelper{
Generate: "echo '" + version + "' > .dist-version && ./autogen", Generate: "echo '" + version + "' > .dist-version && ./autogen",
}, },

View File

@@ -7,10 +7,9 @@ func (t Toolchain) newLibxml2() (pkg.Artifact, string) {
version = "2.15.2" version = "2.15.2"
checksum = "zwQvCIBnjzUFY-inX5ckfNT3mIezsCRV55C_Iztde5OnRTB3u33lfO5h03g7DK_8" checksum = "zwQvCIBnjzUFY-inX5ckfNT3mIezsCRV55C_Iztde5OnRTB3u33lfO5h03g7DK_8"
) )
return t.NewPackage("libxml2", version, t.NewViaGit( return t.NewPackage("libxml2", version, t.newTagRemote(
"https://gitlab.gnome.org/GNOME/libxml2.git", "https://gitlab.gnome.org/GNOME/libxml2.git",
"refs/tags/v"+version, "v"+version, checksum,
mustDecode(checksum),
), &PackageAttr{ ), &PackageAttr{
// can't create shell.out: Read-only file system // can't create shell.out: Read-only file system
Writable: true, Writable: true,

View File

@@ -7,10 +7,9 @@ func (t Toolchain) newLibxslt() (pkg.Artifact, string) {
version = "1.1.45" version = "1.1.45"
checksum = "MZc_dyUWpHChkWDKa5iycrECxBsRd4ZMbYfL4VojTbung593mlH2tHGmxYB6NFYT" checksum = "MZc_dyUWpHChkWDKa5iycrECxBsRd4ZMbYfL4VojTbung593mlH2tHGmxYB6NFYT"
) )
return t.NewPackage("libxslt", version, t.NewViaGit( return t.NewPackage("libxslt", version, t.newTagRemote(
"https://gitlab.gnome.org/GNOME/libxslt.git", "https://gitlab.gnome.org/GNOME/libxslt.git",
"refs/tags/v"+version, "v"+version, checksum,
mustDecode(checksum),
), nil, &MakeHelper{ ), nil, &MakeHelper{
Generate: "NOCONFIGURE=1 ./autogen.sh", Generate: "NOCONFIGURE=1 ./autogen.sh",

View File

@@ -55,10 +55,9 @@ func (t Toolchain) newLibnftnl() (pkg.Artifact, string) {
version = "1.3.1" version = "1.3.1"
checksum = "91ou66K-I17iX6DB6hiQkhhC_v4DFW5iDGzwjVRNbJNEmKqowLZBlh3FY-ZDO0r9" checksum = "91ou66K-I17iX6DB6hiQkhhC_v4DFW5iDGzwjVRNbJNEmKqowLZBlh3FY-ZDO0r9"
) )
return t.NewPackage("libnftnl", version, t.NewViaGit( return t.NewPackage("libnftnl", version, t.newTagRemote(
"https://git.netfilter.org/libnftnl", "https://git.netfilter.org/libnftnl",
"refs/tags/libnftnl-"+version, "libnftnl-"+version, checksum,
mustDecode(checksum),
), &PackageAttr{ ), &PackageAttr{
Env: []string{ Env: []string{
"CFLAGS=-D_GNU_SOURCE", "CFLAGS=-D_GNU_SOURCE",
@@ -98,10 +97,9 @@ func (t Toolchain) newIPTables() (pkg.Artifact, string) {
version = "1.8.13" version = "1.8.13"
checksum = "TUA-cFIAsiMvtRR-XzQvXzoIhJUOc9J2gQDJCbBRjmgmVfGfPTCf58wL7e-cUKVQ" checksum = "TUA-cFIAsiMvtRR-XzQvXzoIhJUOc9J2gQDJCbBRjmgmVfGfPTCf58wL7e-cUKVQ"
) )
return t.NewPackage("iptables", version, t.NewViaGit( return t.NewPackage("iptables", version, t.newTagRemote(
"https://git.netfilter.org/iptables", "https://git.netfilter.org/iptables",
"refs/tags/v"+version, "v"+version, checksum,
mustDecode(checksum),
), &PackageAttr{ ), &PackageAttr{
ScriptEarly: ` ScriptEarly: `
rm \ rm \

View File

@@ -7,9 +7,9 @@ func (t Toolchain) newP11Kit() (pkg.Artifact, string) {
version = "0.26.2" version = "0.26.2"
checksum = "3ei-6DUVtYzrRVe-SubtNgRlweXd6H2qHmUu-_5qVyIn6gSTvZbGS2u79Y8IFb2N" checksum = "3ei-6DUVtYzrRVe-SubtNgRlweXd6H2qHmUu-_5qVyIn6gSTvZbGS2u79Y8IFb2N"
) )
return t.NewPackage("p11-kit", version, t.NewViaGit( return t.NewPackage("p11-kit", version, t.newTagRemote(
"https://github.com/p11-glue/p11-kit.git", "https://github.com/p11-glue/p11-kit.git",
"refs/tags/"+version, mustDecode(checksum), version, checksum,
), nil, &MesonHelper{ ), nil, &MesonHelper{
Setup: []KV{ Setup: []KV{
{"Dsystemd", "disabled"}, {"Dsystemd", "disabled"},