internal/rosa: gnu tar artifact

Initially, libarchive was going to be used, but its test suite simply does not want to work under musl, not even with libiconv. The ticket last discussing this ceased any activity in 2020.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-02-21 18:09:51 +09:00
parent 0264a1ef09
commit 56567307ec
2 changed files with 34 additions and 0 deletions

View File

@@ -82,6 +82,7 @@ const (
Setuptools
SquashfsTools
TamaGo
Tar
Texinfo
Toybox
toyboxEarly
@@ -204,6 +205,7 @@ func ResolveName(name string) (p PArtifact, ok bool) {
"setuptools": Setuptools,
"squashfs-tools": SquashfsTools,
"tamago": TamaGo,
"tar": Tar,
"texinfo": Texinfo,
"toybox": Toybox,
"unzip": Unzip,

View File

@@ -419,6 +419,38 @@ func (t Toolchain) newLibiconv() pkg.Artifact {
}
func init() { artifactsF[Libiconv] = Toolchain.newLibiconv }
func (t Toolchain) newTar() pkg.Artifact {
const (
version = "1.35"
checksum = "zSaoSlVUDW0dSfm4sbL4FrXLFR8U40Fh3zY5DWhR5NCIJ6GjU6Kc4VZo2-ZqpBRA"
)
return t.NewViaMake("tar", version, pkg.NewHTTPGetTar(
nil, "https://ftpmirror.gnu.org/gnu/tar/tar-"+version+".tar.gz",
mustDecode(checksum),
pkg.TarGzip,
), &MakeAttr{
Env: []string{
// very expensive
"TARTEST_SKIP_LARGE_FILES=1",
},
Configure: [][2]string{
{"disable-acl"},
{"without-posix-acls"},
{"without-xattrs"},
},
Make: []string{
`TESTSUITEFLAGS="-j$(nproc)"`,
},
},
t.Load(Diffutils),
t.Load(Gzip),
t.Load(Bzip2),
t.Load(Zstd),
)
}
func init() { artifactsF[Tar] = Toolchain.newTar }
func (t Toolchain) newBinutils() pkg.Artifact {
const (
version = "2.45"