From eeaf26e7a24c5c51c64fc333284015224e851e8c Mon Sep 17 00:00:00 2001 From: Ophestra Date: Mon, 13 Apr 2026 15:18:49 +0900 Subject: [PATCH] internal/rosa: wrapper around git helper This results in much cleaner call site for the majority of use cases. Signed-off-by: Ophestra --- internal/rosa/git.go | 5 +++++ internal/rosa/gnu.go | 10 ++++------ internal/rosa/gtk.go | 5 ++--- internal/rosa/libbsd.go | 10 ++++------ internal/rosa/libxml2.go | 5 ++--- internal/rosa/libxslt.go | 5 ++--- internal/rosa/netfilter.go | 10 ++++------ internal/rosa/p11.go | 4 ++-- 8 files changed, 25 insertions(+), 29 deletions(-) diff --git a/internal/rosa/git.go b/internal/rosa/git.go index e39e0c31..9b9fa2d6 100644 --- a/internal/rosa/git.go +++ b/internal/rosa/git.go @@ -114,3 +114,8 @@ git \ rm -rf /work/.git `, 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)) +} diff --git a/internal/rosa/gnu.go b/internal/rosa/gnu.go index 61f64122..3bbc612f 100644 --- a/internal/rosa/gnu.go +++ b/internal/rosa/gnu.go @@ -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", - "refs/tags/"+version, - mustDecode(checksum), + version, checksum, ), &PackageAttr{ Patches: []KV{ {"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" checksum = "TbrxLiE3ipQrHz_F3Xzz4zqBAnkMWyjhNwIK6wh9360RZ39xMt8rxfW3LxA9SnvU" ) - return t.NewPackage("mpc", version, t.NewViaGit( + return t.NewPackage("mpc", version, t.newTagRemote( "https://gitlab.inria.fr/mpc/mpc.git", - "refs/tags/"+version, - mustDecode(checksum), + version, checksum, ), &PackageAttr{ // does not find mpc-impl.h otherwise EnterSource: true, diff --git a/internal/rosa/gtk.go b/internal/rosa/gtk.go index 902d6975..0ddfeb8a 100644 --- a/internal/rosa/gtk.go +++ b/internal/rosa/gtk.go @@ -10,10 +10,9 @@ func (t Toolchain) newGLib() (pkg.Artifact, string) { version = "2.88.0" 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", - "refs/tags/"+version, - mustDecode(checksum), + version, checksum, ), &PackageAttr{ Paths: []pkg.ExecPath{ pkg.Path(fhs.AbsEtc.Append( diff --git a/internal/rosa/libbsd.go b/internal/rosa/libbsd.go index e07e10fc..6b223007 100644 --- a/internal/rosa/libbsd.go +++ b/internal/rosa/libbsd.go @@ -7,10 +7,9 @@ func (t Toolchain) newLibmd() (pkg.Artifact, string) { version = "1.1.0" checksum = "9apYqPPZm0j5HQT8sCsVIhnVIqRD7XgN7kPIaTwTqnTuUq5waUAMq4M7ev8CODJ1" ) - return t.NewPackage("libmd", version, t.NewViaGit( + return t.NewPackage("libmd", version, t.newTagRemote( "https://git.hadrons.org/git/libmd.git", - "refs/tags/"+version, - mustDecode(checksum), + version, checksum, ), nil, &MakeHelper{ Generate: "echo '" + version + "' > .dist-version && ./autogen", ScriptMakeEarly: ` @@ -38,10 +37,9 @@ func (t Toolchain) newLibbsd() (pkg.Artifact, string) { version = "0.12.2" 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", - "refs/tags/"+version, - mustDecode(checksum), + version, checksum, ), nil, &MakeHelper{ Generate: "echo '" + version + "' > .dist-version && ./autogen", }, diff --git a/internal/rosa/libxml2.go b/internal/rosa/libxml2.go index 9eb767f5..9a0e67df 100644 --- a/internal/rosa/libxml2.go +++ b/internal/rosa/libxml2.go @@ -7,10 +7,9 @@ func (t Toolchain) newLibxml2() (pkg.Artifact, string) { version = "2.15.2" 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", - "refs/tags/v"+version, - mustDecode(checksum), + "v"+version, checksum, ), &PackageAttr{ // can't create shell.out: Read-only file system Writable: true, diff --git a/internal/rosa/libxslt.go b/internal/rosa/libxslt.go index c905d68c..f7e6812c 100644 --- a/internal/rosa/libxslt.go +++ b/internal/rosa/libxslt.go @@ -7,10 +7,9 @@ func (t Toolchain) newLibxslt() (pkg.Artifact, string) { version = "1.1.45" checksum = "MZc_dyUWpHChkWDKa5iycrECxBsRd4ZMbYfL4VojTbung593mlH2tHGmxYB6NFYT" ) - return t.NewPackage("libxslt", version, t.NewViaGit( + return t.NewPackage("libxslt", version, t.newTagRemote( "https://gitlab.gnome.org/GNOME/libxslt.git", - "refs/tags/v"+version, - mustDecode(checksum), + "v"+version, checksum, ), nil, &MakeHelper{ Generate: "NOCONFIGURE=1 ./autogen.sh", diff --git a/internal/rosa/netfilter.go b/internal/rosa/netfilter.go index bbbc460e..08512681 100644 --- a/internal/rosa/netfilter.go +++ b/internal/rosa/netfilter.go @@ -55,10 +55,9 @@ func (t Toolchain) newLibnftnl() (pkg.Artifact, string) { version = "1.3.1" checksum = "91ou66K-I17iX6DB6hiQkhhC_v4DFW5iDGzwjVRNbJNEmKqowLZBlh3FY-ZDO0r9" ) - return t.NewPackage("libnftnl", version, t.NewViaGit( + return t.NewPackage("libnftnl", version, t.newTagRemote( "https://git.netfilter.org/libnftnl", - "refs/tags/libnftnl-"+version, - mustDecode(checksum), + "libnftnl-"+version, checksum, ), &PackageAttr{ Env: []string{ "CFLAGS=-D_GNU_SOURCE", @@ -98,10 +97,9 @@ func (t Toolchain) newIPTables() (pkg.Artifact, string) { version = "1.8.13" checksum = "TUA-cFIAsiMvtRR-XzQvXzoIhJUOc9J2gQDJCbBRjmgmVfGfPTCf58wL7e-cUKVQ" ) - return t.NewPackage("iptables", version, t.NewViaGit( + return t.NewPackage("iptables", version, t.newTagRemote( "https://git.netfilter.org/iptables", - "refs/tags/v"+version, - mustDecode(checksum), + "v"+version, checksum, ), &PackageAttr{ ScriptEarly: ` rm \ diff --git a/internal/rosa/p11.go b/internal/rosa/p11.go index 70fe9419..4e7630cd 100644 --- a/internal/rosa/p11.go +++ b/internal/rosa/p11.go @@ -7,9 +7,9 @@ func (t Toolchain) newP11Kit() (pkg.Artifact, string) { version = "0.26.2" 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", - "refs/tags/"+version, mustDecode(checksum), + version, checksum, ), nil, &MesonHelper{ Setup: []KV{ {"Dsystemd", "disabled"},