aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--internal/rosa/all.go2
-rw-r--r--internal/rosa/gnu.go32
2 files changed, 34 insertions, 0 deletions
diff --git a/internal/rosa/all.go b/internal/rosa/all.go
index f6ae0341..aabc8a27 100644
--- a/internal/rosa/all.go
+++ b/internal/rosa/all.go
@@ -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,
diff --git a/internal/rosa/gnu.go b/internal/rosa/gnu.go
index 358d9549..9e6951ec 100644
--- a/internal/rosa/gnu.go
+++ b/internal/rosa/gnu.go
@@ -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"