internal/rosa/make: migrate to helper interface
All checks were successful
Test / Create distribution (push) Successful in 1m8s
Test / Sandbox (push) Successful in 2m55s
Test / Hakurei (push) Successful in 5m3s
Test / ShareFS (push) Successful in 5m13s
Test / Hpkg (push) Successful in 5m56s
Test / Hakurei (race detector) (push) Successful in 6m18s
Test / Sandbox (race detector) (push) Successful in 2m37s
Test / Flake checks (push) Successful in 1m43s
All checks were successful
Test / Create distribution (push) Successful in 1m8s
Test / Sandbox (push) Successful in 2m55s
Test / Hakurei (push) Successful in 5m3s
Test / ShareFS (push) Successful in 5m13s
Test / Hpkg (push) Successful in 5m56s
Test / Hakurei (race detector) (push) Successful in 6m18s
Test / Sandbox (race detector) (push) Successful in 2m37s
Test / Flake checks (push) Successful in 1m43s
This also updates all affected artifacts to use new behaviour. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
@@ -7,13 +7,14 @@ func (t Toolchain) newAttr() pkg.Artifact {
|
||||
version = "2.5.2"
|
||||
checksum = "YWEphrz6vg1sUMmHHVr1CRo53pFXRhq_pjN-AlG8UgwZK1y6m7zuDhxqJhD0SV0l"
|
||||
)
|
||||
return t.NewViaMake("attr", version, t.NewPatchedSource(
|
||||
"attr", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("attr", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://download.savannah.nongnu.org/releases/attr/"+
|
||||
"attr-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), true, [2]string{"libgen-basename", `From 8a80d895dfd779373363c3a4b62ecce5a549efb2 Mon Sep 17 00:00:00 2001
|
||||
), &PackageAttr{
|
||||
Patches: [][2]string{
|
||||
{"libgen-basename", `From 8a80d895dfd779373363c3a4b62ecce5a549efb2 Mon Sep 17 00:00:00 2001
|
||||
From: "Haelwenn (lanodan) Monnier" <contact@hacktivis.me>
|
||||
Date: Sat, 30 Mar 2024 10:17:10 +0100
|
||||
Subject: tools/attr.c: Add missing libgen.h include for basename(3)
|
||||
@@ -38,7 +39,9 @@ index f12e4af..6a3c1e9 100644
|
||||
#include <attr/attributes.h>
|
||||
|
||||
--
|
||||
cgit v1.1`}, [2]string{"musl-errno", `diff --git a/test/attr.test b/test/attr.test
|
||||
cgit v1.1`},
|
||||
|
||||
{"musl-errno", `diff --git a/test/attr.test b/test/attr.test
|
||||
index 6ce2f9b..e9bde92 100644
|
||||
--- a/test/attr.test
|
||||
+++ b/test/attr.test
|
||||
@@ -52,15 +55,13 @@ index 6ce2f9b..e9bde92 100644
|
||||
$ setfattr -n user. -v value f
|
||||
> setfattr: f: Invalid argument
|
||||
`},
|
||||
), &MakeAttr{
|
||||
},
|
||||
|
||||
ScriptEarly: `
|
||||
ln -s ../../system/bin/perl /usr/bin
|
||||
`,
|
||||
Configure: [][2]string{
|
||||
{"enable-static"},
|
||||
},
|
||||
},
|
||||
t.Load(Perl),
|
||||
}, (*MakeHelper)(nil),
|
||||
Perl,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Attr] = Toolchain.newAttr }
|
||||
@@ -70,21 +71,16 @@ func (t Toolchain) newACL() pkg.Artifact {
|
||||
version = "2.3.2"
|
||||
checksum = "-fY5nwH4K8ZHBCRXrzLdguPkqjKI6WIiGu4dBtrZ1o0t6AIU73w8wwJz_UyjIS0P"
|
||||
)
|
||||
return t.NewViaMake("acl", version, pkg.NewHTTPGetTar(
|
||||
nil,
|
||||
"https://download.savannah.nongnu.org/releases/acl/"+
|
||||
return t.NewPackage("acl", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://download.savannah.nongnu.org/releases/acl/"+
|
||||
"acl-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
Configure: [][2]string{
|
||||
{"enable-static"},
|
||||
},
|
||||
|
||||
), nil, &MakeHelper{
|
||||
// makes assumptions about uid_map/gid_map
|
||||
SkipCheck: true,
|
||||
},
|
||||
t.Load(Attr),
|
||||
Attr,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[ACL] = Toolchain.newACL }
|
||||
|
||||
@@ -7,21 +7,22 @@ func (t Toolchain) newArgpStandalone() pkg.Artifact {
|
||||
version = "1.3"
|
||||
checksum = "vtW0VyO2pJ-hPyYmDI2zwSLS8QL0sPAUKC1t3zNYbwN2TmsaE-fADhaVtNd3eNFl"
|
||||
)
|
||||
return t.NewViaMake("argp-standalone", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("argp-standalone", version, pkg.NewHTTPGetTar(
|
||||
nil, "http://www.lysator.liu.se/~nisse/misc/"+
|
||||
"argp-standalone-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
Env: []string{
|
||||
"CC=cc -std=gnu89 -fPIC",
|
||||
},
|
||||
ScriptInstall: `
|
||||
}, &MakeHelper{
|
||||
Install: `
|
||||
install -D -m644 /usr/src/argp-standalone/argp.h /work/system/include/argp.h
|
||||
install -D -m755 libargp.a /work/system/lib/libargp.a
|
||||
`,
|
||||
},
|
||||
t.Load(Diffutils),
|
||||
Diffutils,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[ArgpStandalone] = Toolchain.newArgpStandalone }
|
||||
|
||||
@@ -7,21 +7,22 @@ func (t Toolchain) newBzip2() pkg.Artifact {
|
||||
version = "1.0.8"
|
||||
checksum = "cTLykcco7boom-s05H1JVsQi1AtChYL84nXkg_92Dm1Xt94Ob_qlMg_-NSguIK-c"
|
||||
)
|
||||
return t.NewViaMake("bzip2", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("bzip2", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://sourceware.org/pub/bzip2/bzip2-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
Writable: true,
|
||||
EnterSource: true,
|
||||
}, &MakeHelper{
|
||||
// uses source tree as scratch space
|
||||
SkipConfigure: true,
|
||||
SkipCheck: true,
|
||||
InPlace: true,
|
||||
|
||||
ScriptEarly: "cd /usr/src/bzip2",
|
||||
Make: []string{
|
||||
"CC=cc",
|
||||
},
|
||||
ScriptInstall: "make PREFIX=/work/system install",
|
||||
Install: "make PREFIX=/work/system install",
|
||||
})
|
||||
}
|
||||
func init() { artifactsF[Bzip2] = Toolchain.newBzip2 }
|
||||
|
||||
@@ -13,15 +13,15 @@ func (t Toolchain) newCMake() pkg.Artifact {
|
||||
version = "4.2.1"
|
||||
checksum = "Y3OdbMsob6Xk2y1DCME6z4Fryb5_TkFD7knRT8dTNIRtSqbiCJyyDN9AxggN_I75"
|
||||
)
|
||||
return t.NewViaMake("cmake", version, t.NewPatchedSource(
|
||||
// expected to be writable in the copy made during bootstrap
|
||||
"cmake", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("cmake", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://github.com/Kitware/CMake/releases/download/"+
|
||||
"v"+version+"/cmake-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), false,
|
||||
), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
// expected to be writable in the copy made during bootstrap
|
||||
Chmod: true,
|
||||
}, &MakeHelper{
|
||||
OmitDefaults: true,
|
||||
|
||||
ConfigureName: "/usr/src/cmake/bootstrap",
|
||||
@@ -33,7 +33,7 @@ func (t Toolchain) newCMake() pkg.Artifact {
|
||||
},
|
||||
SkipCheck: true,
|
||||
},
|
||||
t.Load(KernelHeaders),
|
||||
KernelHeaders,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[CMake] = Toolchain.newCMake }
|
||||
|
||||
@@ -7,23 +7,24 @@ func (t Toolchain) newCurl() pkg.Artifact {
|
||||
version = "8.18.0"
|
||||
checksum = "YpOolP_sx1DIrCEJ3elgVAu0wTLDS-EZMZFvOP0eha7FaLueZUlEpuMwDzJNyi7i"
|
||||
)
|
||||
return t.NewViaMake("curl", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("curl", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://curl.se/download/curl-"+version+".tar.bz2",
|
||||
mustDecode(checksum),
|
||||
pkg.TarBzip2,
|
||||
), &MakeAttr{
|
||||
Env: []string{
|
||||
"TFLAGS=-j256",
|
||||
},
|
||||
), nil, &MakeHelper{
|
||||
Configure: [][2]string{
|
||||
{"with-openssl"},
|
||||
{"with-ca-bundle", "/system/etc/ssl/certs/ca-bundle.crt"},
|
||||
},
|
||||
Check: []string{
|
||||
"TFLAGS=-j256",
|
||||
"check",
|
||||
},
|
||||
t.Load(Perl),
|
||||
},
|
||||
Perl,
|
||||
|
||||
t.Load(Libpsl),
|
||||
t.Load(OpenSSL),
|
||||
Libpsl,
|
||||
OpenSSL,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Curl] = Toolchain.newCurl }
|
||||
|
||||
@@ -7,18 +7,18 @@ func (t Toolchain) newElfutils() pkg.Artifact {
|
||||
version = "0.194"
|
||||
checksum = "Q3XUygUPv9vR1TkWucwUsQ8Kb1_F6gzk-KMPELr3cC_4AcTrprhVPMvN0CKkiYRa"
|
||||
)
|
||||
return t.NewViaMake("elfutils", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("elfutils", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://sourceware.org/elfutils/ftp/"+
|
||||
version+"/elfutils-"+version+".tar.bz2",
|
||||
mustDecode(checksum),
|
||||
pkg.TarBzip2,
|
||||
), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
Env: []string{
|
||||
"CC=cc" +
|
||||
// nonstandard glibc extension
|
||||
" -DFNM_EXTMATCH=0",
|
||||
},
|
||||
|
||||
}, &MakeHelper{
|
||||
// nonstandard glibc extension
|
||||
SkipCheck: true,
|
||||
|
||||
@@ -26,16 +26,16 @@ func (t Toolchain) newElfutils() pkg.Artifact {
|
||||
{"enable-deterministic-archives"},
|
||||
},
|
||||
},
|
||||
t.Load(M4),
|
||||
t.Load(PkgConfig),
|
||||
M4,
|
||||
PkgConfig,
|
||||
|
||||
t.Load(Zlib),
|
||||
t.Load(Bzip2),
|
||||
t.Load(Zstd),
|
||||
t.Load(ArgpStandalone),
|
||||
t.Load(MuslFts),
|
||||
t.Load(MuslObstack),
|
||||
t.Load(KernelHeaders),
|
||||
Zlib,
|
||||
Bzip2,
|
||||
Zstd,
|
||||
ArgpStandalone,
|
||||
MuslFts,
|
||||
MuslObstack,
|
||||
KernelHeaders,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Elfutils] = Toolchain.newElfutils }
|
||||
|
||||
@@ -7,13 +7,14 @@ func (t Toolchain) newFakeroot() pkg.Artifact {
|
||||
version = "1.37.2"
|
||||
checksum = "4ve-eDqVspzQ6VWDhPS0NjW3aSenBJcPAJq_BFT7OOFgUdrQzoTBxZWipDAGWxF8"
|
||||
)
|
||||
return t.NewViaMake("fakeroot", version, t.NewPatchedSource(
|
||||
"fakeroot", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("fakeroot", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://salsa.debian.org/clint/fakeroot/-/archive/upstream/"+
|
||||
version+"/fakeroot-upstream-"+version+".tar.bz2",
|
||||
mustDecode(checksum),
|
||||
pkg.TarBzip2,
|
||||
), false, [2]string{"remove-broken-docs", `diff --git a/doc/Makefile.am b/doc/Makefile.am
|
||||
), &PackageAttr{
|
||||
Patches: [][2]string{
|
||||
{"remove-broken-docs", `diff --git a/doc/Makefile.am b/doc/Makefile.am
|
||||
index f135ad9..85c784c 100644
|
||||
--- a/doc/Makefile.am
|
||||
+++ b/doc/Makefile.am
|
||||
@@ -24,30 +25,27 @@ index f135ad9..85c784c 100644
|
||||
man_MANS = faked.1 fakeroot.1
|
||||
|
||||
`},
|
||||
), &MakeAttr{
|
||||
Writable: true,
|
||||
},
|
||||
|
||||
Env: []string{
|
||||
"CONFIG_SHELL=/bin/sh",
|
||||
},
|
||||
ScriptEarly: `
|
||||
cd /usr/src/fakeroot
|
||||
./bootstrap
|
||||
`,
|
||||
}, &MakeHelper{
|
||||
Generate: "./bootstrap",
|
||||
|
||||
// makes assumptions about /etc/passwd
|
||||
SkipCheck: true,
|
||||
},
|
||||
t.Load(M4),
|
||||
t.Load(Perl),
|
||||
t.Load(Autoconf),
|
||||
t.Load(Automake),
|
||||
t.Load(Libtool),
|
||||
t.Load(PkgConfig),
|
||||
M4,
|
||||
Perl,
|
||||
Autoconf,
|
||||
Automake,
|
||||
Libtool,
|
||||
PkgConfig,
|
||||
|
||||
t.Load(Attr),
|
||||
t.Load(Libcap),
|
||||
t.Load(KernelHeaders),
|
||||
Attr,
|
||||
Libcap,
|
||||
KernelHeaders,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Fakeroot] = Toolchain.newFakeroot }
|
||||
|
||||
@@ -9,13 +9,13 @@ func (t Toolchain) newFlex() pkg.Artifact {
|
||||
version = "2.6.4"
|
||||
checksum = "p9POjQU7VhgOf3x5iFro8fjhy0NOanvA7CTeuWS_veSNgCixIJshTrWVkc5XLZkB"
|
||||
)
|
||||
return t.NewViaMake("flex", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("flex", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://github.com/westes/flex/releases/download/"+
|
||||
"v"+version+"/flex-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), nil,
|
||||
t.Load(M4),
|
||||
), nil, (*MakeHelper)(nil),
|
||||
M4,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Flex] = Toolchain.newFlex }
|
||||
|
||||
@@ -7,24 +7,22 @@ func (t Toolchain) newGit() pkg.Artifact {
|
||||
version = "2.52.0"
|
||||
checksum = "uH3J1HAN_c6PfGNJd2OBwW4zo36n71wmkdvityYnrh8Ak0D1IifiAvEWz9Vi9DmS"
|
||||
)
|
||||
return t.NewViaMake("git", version, t.NewPatchedSource(
|
||||
"git", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("git", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://www.kernel.org/pub/software/scm/git/"+
|
||||
"git-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), false,
|
||||
), &MakeAttr{
|
||||
// uses source tree as scratch space
|
||||
Writable: true,
|
||||
InPlace: true,
|
||||
|
||||
), &PackageAttr{
|
||||
ScriptEarly: `
|
||||
cd /usr/src/git
|
||||
|
||||
make configure
|
||||
ln -s ../../system/bin/perl /usr/bin/ || true
|
||||
`,
|
||||
|
||||
// uses source tree as scratch space
|
||||
EnterSource: true,
|
||||
}, &MakeHelper{
|
||||
InPlace: true,
|
||||
Generate: "make configure",
|
||||
ScriptMakeEarly: `
|
||||
function disable_test {
|
||||
local test=$1 pattern=${2:-''}
|
||||
if [ $# -eq 1 ]; then
|
||||
@@ -55,16 +53,16 @@ disable_test t2200-add-update
|
||||
"prove",
|
||||
},
|
||||
},
|
||||
t.Load(Perl),
|
||||
t.Load(Diffutils),
|
||||
t.Load(M4),
|
||||
t.Load(Autoconf),
|
||||
t.Load(Gettext),
|
||||
Perl,
|
||||
Diffutils,
|
||||
M4,
|
||||
Autoconf,
|
||||
Gettext,
|
||||
|
||||
t.Load(Zlib),
|
||||
t.Load(Curl),
|
||||
t.Load(OpenSSL),
|
||||
t.Load(Libexpat),
|
||||
Zlib,
|
||||
Curl,
|
||||
OpenSSL,
|
||||
Libexpat,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Git] = Toolchain.newGit }
|
||||
|
||||
@@ -7,18 +7,17 @@ func (t Toolchain) newM4() pkg.Artifact {
|
||||
version = "1.4.20"
|
||||
checksum = "RT0_L3m4Co86bVBY3lCFAEs040yI1WdeNmRylFpah8IZovTm6O4wI7qiHJN3qsW9"
|
||||
)
|
||||
return t.NewViaMake("m4", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("m4", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://ftpmirror.gnu.org/gnu/m4/m4-"+version+".tar.bz2",
|
||||
mustDecode(checksum),
|
||||
pkg.TarBzip2,
|
||||
), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
Writable: true,
|
||||
ScriptEarly: `
|
||||
cd /usr/src/m4
|
||||
chmod +w tests/test-c32ispunct.sh && echo '#!/bin/sh' > tests/test-c32ispunct.sh
|
||||
`,
|
||||
},
|
||||
t.Load(Diffutils),
|
||||
}, (*MakeHelper)(nil),
|
||||
Diffutils,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[M4] = Toolchain.newM4 }
|
||||
@@ -28,14 +27,14 @@ func (t Toolchain) newBison() pkg.Artifact {
|
||||
version = "3.8.2"
|
||||
checksum = "BhRM6K7URj1LNOkIDCFDctSErLS-Xo5d9ba9seg10o6ACrgC1uNhED7CQPgIY29Y"
|
||||
)
|
||||
return t.NewViaMake("bison", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("bison", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://ftpmirror.gnu.org/gnu/bison/bison-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), nil,
|
||||
t.Load(M4),
|
||||
t.Load(Diffutils),
|
||||
t.Load(Sed),
|
||||
), nil, (*MakeHelper)(nil),
|
||||
M4,
|
||||
Diffutils,
|
||||
Sed,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Bison] = Toolchain.newBison }
|
||||
@@ -45,12 +44,12 @@ func (t Toolchain) newSed() pkg.Artifact {
|
||||
version = "4.9"
|
||||
checksum = "pe7HWH4PHNYrazOTlUoE1fXmhn2GOPFN_xE62i0llOr3kYGrH1g2_orDz0UtZ9Nt"
|
||||
)
|
||||
return t.NewViaMake("sed", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("sed", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://ftpmirror.gnu.org/gnu/sed/sed-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), nil,
|
||||
t.Load(Diffutils),
|
||||
), nil, (*MakeHelper)(nil),
|
||||
Diffutils,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Sed] = Toolchain.newSed }
|
||||
@@ -60,21 +59,22 @@ func (t Toolchain) newAutoconf() pkg.Artifact {
|
||||
version = "2.72"
|
||||
checksum = "-c5blYkC-xLDer3TWEqJTyh1RLbOd1c5dnRLKsDnIrg_wWNOLBpaqMY8FvmUFJ33"
|
||||
)
|
||||
return t.NewViaMake("autoconf", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("autoconf", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://ftpmirror.gnu.org/gnu/autoconf/autoconf-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
Flag: TExclusive,
|
||||
}, &MakeHelper{
|
||||
Check: []string{
|
||||
`TESTSUITEFLAGS="-j$(nproc)"`,
|
||||
"check",
|
||||
},
|
||||
Flag: TExclusive,
|
||||
},
|
||||
t.Load(M4),
|
||||
t.Load(Perl),
|
||||
t.Load(Bash),
|
||||
t.Load(Diffutils),
|
||||
M4,
|
||||
Perl,
|
||||
Bash,
|
||||
Diffutils,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Autoconf] = Toolchain.newAutoconf }
|
||||
@@ -84,15 +84,13 @@ func (t Toolchain) newAutomake() pkg.Artifact {
|
||||
version = "1.18.1"
|
||||
checksum = "FjvLG_GdQP7cThTZJLDMxYpRcKdpAVG-YDs1Fj1yaHlSdh_Kx6nRGN14E0r_BjcG"
|
||||
)
|
||||
return t.NewViaMake("automake", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("automake", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://ftpmirror.gnu.org/gnu/automake/automake-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
Writable: true,
|
||||
ScriptEarly: `
|
||||
cd /usr/src/automake
|
||||
|
||||
test_disable() { chmod +w "$2" && echo "$1" > "$2"; }
|
||||
|
||||
test_disable '#!/bin/sh' t/objcxx-minidemo.sh
|
||||
@@ -102,13 +100,13 @@ test_disable '#!/bin/sh' t/dist-no-built-sources.sh
|
||||
test_disable '#!/bin/sh' t/distname.sh
|
||||
test_disable '#!/bin/sh' t/pr9.sh
|
||||
`,
|
||||
},
|
||||
t.Load(M4),
|
||||
t.Load(Perl),
|
||||
t.Load(Grep),
|
||||
t.Load(Gzip),
|
||||
t.Load(Autoconf),
|
||||
t.Load(Diffutils),
|
||||
}, (*MakeHelper)(nil),
|
||||
M4,
|
||||
Perl,
|
||||
Grep,
|
||||
Gzip,
|
||||
Autoconf,
|
||||
Diffutils,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Automake] = Toolchain.newAutomake }
|
||||
@@ -118,18 +116,18 @@ func (t Toolchain) newLibtool() pkg.Artifact {
|
||||
version = "2.5.4"
|
||||
checksum = "pa6LSrQggh8mSJHQfwGjysAApmZlGJt8wif2cCLzqAAa2jpsTY0jZ-6stS3BWZ2Q"
|
||||
)
|
||||
return t.NewViaMake("libtool", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("libtool", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://ftpmirror.gnu.org/gnu/libtool/libtool-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
), nil, &MakeHelper{
|
||||
Check: []string{
|
||||
`TESTSUITEFLAGS="-j$(nproc)"`,
|
||||
"check",
|
||||
},
|
||||
},
|
||||
t.Load(M4),
|
||||
t.Load(Diffutils),
|
||||
M4,
|
||||
Diffutils,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Libtool] = Toolchain.newLibtool }
|
||||
@@ -139,11 +137,11 @@ func (t Toolchain) newGzip() pkg.Artifact {
|
||||
version = "1.14"
|
||||
checksum = "NWhjUavnNfTDFkZJyAUonL9aCOak8GVajWX2OMlzpFnuI0ErpBFyj88mz2xSjz0q"
|
||||
)
|
||||
return t.NewViaMake("gzip", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("gzip", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://ftpmirror.gnu.org/gnu/gzip/gzip-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
), nil, &MakeHelper{
|
||||
// dependency loop
|
||||
SkipCheck: true,
|
||||
})
|
||||
@@ -155,14 +153,13 @@ func (t Toolchain) newGettext() pkg.Artifact {
|
||||
version = "1.0"
|
||||
checksum = "3MasKeEdPeFEgWgzsBKk7JqWqql1wEMbgPmzAfs-mluyokoW0N8oQVxPQoOnSdgC"
|
||||
)
|
||||
return t.NewViaMake("gettext", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("gettext", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://ftpmirror.gnu.org/gnu/gettext/gettext-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
Writable: true,
|
||||
ScriptEarly: `
|
||||
cd /usr/src/gettext
|
||||
test_disable() { chmod +w "$2" && echo "$1" > "$2"; }
|
||||
|
||||
test_disable '#!/bin/sh' gettext-tools/tests/msgcat-22
|
||||
@@ -177,12 +174,12 @@ test_disable 'int main(){return 0;}' gettext-tools/gnulib-tests/test-stdcountof-
|
||||
|
||||
touch gettext-tools/autotools/archive.dir.tar
|
||||
`,
|
||||
},
|
||||
t.Load(Diffutils),
|
||||
t.Load(Gzip),
|
||||
t.Load(Sed),
|
||||
}, (*MakeHelper)(nil),
|
||||
Diffutils,
|
||||
Gzip,
|
||||
Sed,
|
||||
|
||||
t.Load(KernelHeaders),
|
||||
KernelHeaders,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Gettext] = Toolchain.newGettext }
|
||||
@@ -192,14 +189,13 @@ func (t Toolchain) newDiffutils() pkg.Artifact {
|
||||
version = "3.12"
|
||||
checksum = "9J5VAq5oA7eqwzS1Yvw-l3G5o-TccUrNQR3PvyB_lgdryOFAfxtvQfKfhdpquE44"
|
||||
)
|
||||
return t.NewViaMake("diffutils", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("diffutils", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://ftpmirror.gnu.org/gnu/diffutils/diffutils-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
Writable: true,
|
||||
ScriptEarly: `
|
||||
cd /usr/src/diffutils
|
||||
test_disable() { chmod +w "$2" && echo "$1" > "$2"; }
|
||||
|
||||
test_disable '#!/bin/sh' gnulib-tests/test-c32ispunct.sh
|
||||
@@ -207,7 +203,7 @@ test_disable 'int main(){return 0;}' gnulib-tests/test-c32ispunct.c
|
||||
test_disable '#!/bin/sh' tests/cmp
|
||||
`,
|
||||
Flag: TEarly,
|
||||
})
|
||||
}, (*MakeHelper)(nil))
|
||||
}
|
||||
func init() { artifactsF[Diffutils] = Toolchain.newDiffutils }
|
||||
|
||||
@@ -216,21 +212,20 @@ func (t Toolchain) newPatch() pkg.Artifact {
|
||||
version = "2.8"
|
||||
checksum = "MA0BQc662i8QYBD-DdGgyyfTwaeALZ1K0yusV9rAmNiIsQdX-69YC4t9JEGXZkeR"
|
||||
)
|
||||
return t.NewViaMake("patch", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("patch", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://ftpmirror.gnu.org/gnu/patch/patch-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
Writable: true,
|
||||
ScriptEarly: `
|
||||
cd /usr/src/patch
|
||||
test_disable() { chmod +w "$2" && echo "$1" > "$2"; }
|
||||
|
||||
test_disable '#!/bin/sh' tests/ed-style
|
||||
test_disable '#!/bin/sh' tests/need-filename
|
||||
`,
|
||||
Flag: TEarly,
|
||||
})
|
||||
}, (*MakeHelper)(nil))
|
||||
}
|
||||
func init() { artifactsF[Patch] = Toolchain.newPatch }
|
||||
|
||||
@@ -239,16 +234,17 @@ func (t Toolchain) newBash() pkg.Artifact {
|
||||
version = "5.3"
|
||||
checksum = "4LQ_GRoB_ko-Ih8QPf_xRKA02xAm_TOxQgcJLmFDT6udUPxTAWrsj-ZNeuTusyDq"
|
||||
)
|
||||
return t.NewViaMake("bash", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("bash", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://ftpmirror.gnu.org/gnu/bash/bash-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
Flag: TEarly,
|
||||
}, &MakeHelper{
|
||||
Script: "ln -s bash /work/system/bin/sh\n",
|
||||
Configure: [][2]string{
|
||||
{"without-bash-malloc"},
|
||||
},
|
||||
Flag: TEarly,
|
||||
})
|
||||
}
|
||||
func init() { artifactsF[Bash] = Toolchain.newBash }
|
||||
@@ -258,14 +254,13 @@ func (t Toolchain) newCoreutils() pkg.Artifact {
|
||||
version = "9.9"
|
||||
checksum = "B1_TaXj1j5aiVIcazLWu8Ix03wDV54uo2_iBry4qHG6Y-9bjDpUPlkNLmU_3Nvw6"
|
||||
)
|
||||
return t.NewViaMake("coreutils", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("coreutils", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://ftpmirror.gnu.org/gnu/coreutils/coreutils-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
Writable: true,
|
||||
ScriptEarly: `
|
||||
cd /usr/src/coreutils
|
||||
test_disable() { chmod +w "$2" && echo "$1" > "$2"; }
|
||||
|
||||
test_disable '#!/bin/sh' gnulib-tests/test-c32ispunct.sh
|
||||
@@ -276,15 +271,16 @@ test_disable 'int main(){return 0;}' gnulib-tests/test-chown.c
|
||||
test_disable 'int main(){return 0;}' gnulib-tests/test-fchownat.c
|
||||
test_disable 'int main(){return 0;}' gnulib-tests/test-lchown.c
|
||||
`,
|
||||
Flag: TEarly,
|
||||
}, &MakeHelper{
|
||||
Configure: [][2]string{
|
||||
{"enable-single-binary", "symlinks"},
|
||||
},
|
||||
Flag: TEarly,
|
||||
},
|
||||
t.Load(Perl),
|
||||
t.Load(Bash),
|
||||
Perl,
|
||||
Bash,
|
||||
|
||||
t.Load(KernelHeaders),
|
||||
KernelHeaders,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Coreutils] = Toolchain.newCoreutils }
|
||||
@@ -294,15 +290,15 @@ func (t Toolchain) newTexinfo() pkg.Artifact {
|
||||
version = "7.2"
|
||||
checksum = "9EelM5b7QGMAY5DKrAm_El8lofBGuFWlaBPSBhh7l_VQE8054MBmC0KBvGrABqjv"
|
||||
)
|
||||
return t.NewViaMake("texinfo", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("texinfo", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://ftpmirror.gnu.org/gnu/texinfo/texinfo-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
), nil, &MakeHelper{
|
||||
// nonstandard glibc extension
|
||||
SkipCheck: true,
|
||||
},
|
||||
t.Load(Perl),
|
||||
Perl,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Texinfo] = Toolchain.newTexinfo }
|
||||
@@ -312,12 +308,12 @@ func (t Toolchain) newGperf() pkg.Artifact {
|
||||
version = "3.3"
|
||||
checksum = "RtIy9pPb_Bb8-31J2Nw-rRGso2JlS-lDlVhuNYhqR7Nt4xM_nObznxAlBMnarJv7"
|
||||
)
|
||||
return t.NewViaMake("gperf", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("gperf", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://ftpmirror.gnu.org/gperf/gperf-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), nil,
|
||||
t.Load(Diffutils),
|
||||
), nil, (*MakeHelper)(nil),
|
||||
Diffutils,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Gperf] = Toolchain.newGperf }
|
||||
@@ -327,13 +323,13 @@ func (t Toolchain) newGawk() pkg.Artifact {
|
||||
version = "5.3.2"
|
||||
checksum = "uIs0d14h_d2DgMGYwrPtegGNyt_bxzG3D6Fe-MmExx_pVoVkQaHzrtmiXVr6NHKk"
|
||||
)
|
||||
return t.NewViaMake("gawk", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("gawk", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://ftpmirror.gnu.org/gnu/gawk/gawk-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
Flag: TEarly,
|
||||
|
||||
}, &MakeHelper{
|
||||
// dependency loop
|
||||
SkipCheck: true,
|
||||
})
|
||||
@@ -345,22 +341,20 @@ func (t Toolchain) newGrep() pkg.Artifact {
|
||||
version = "3.12"
|
||||
checksum = "qMB4RjaPNRRYsxix6YOrjE8gyAT1zVSTy4nW4wKW9fqa0CHYAuWgPwDTirENzm_1"
|
||||
)
|
||||
return t.NewViaMake("grep", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("grep", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://ftpmirror.gnu.org/gnu/grep/grep-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
Writable: true,
|
||||
ScriptEarly: `
|
||||
cd /usr/src/grep
|
||||
|
||||
test_disable() { chmod +w "$2" && echo "$1" > "$2"; }
|
||||
|
||||
test_disable '#!/bin/sh' gnulib-tests/test-c32ispunct.sh
|
||||
test_disable 'int main(){return 0;}' gnulib-tests/test-c32ispunct.c
|
||||
`,
|
||||
},
|
||||
t.Load(Diffutils),
|
||||
}, (*MakeHelper)(nil),
|
||||
Diffutils,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Grep] = Toolchain.newGrep }
|
||||
@@ -370,24 +364,19 @@ func (t Toolchain) newFindutils() pkg.Artifact {
|
||||
version = "4.10.0"
|
||||
checksum = "ZXABdNBQXL7QjTygynRRTdXYWxQKZ0Wn5eMd3NUnxR0xaS0u0VfcKoTlbo50zxv6"
|
||||
)
|
||||
return t.NewViaMake("findutils", version, pkg.NewHTTPGet(
|
||||
return t.NewPackage("findutils", version, pkg.NewHTTPGet(
|
||||
nil, "https://ftpmirror.gnu.org/gnu/findutils/findutils-"+version+".tar.xz",
|
||||
mustDecode(checksum),
|
||||
), &MakeAttr{
|
||||
SourceSuffix: ".tar.xz",
|
||||
), &PackageAttr{
|
||||
SourceKind: sourceTarXZ,
|
||||
ScriptEarly: `
|
||||
cd /usr/src/
|
||||
tar xf findutils.tar.xz
|
||||
mv findutils-` + version + ` findutils
|
||||
|
||||
cd findutils
|
||||
echo '#!/bin/sh' > gnulib-tests/test-c32ispunct.sh
|
||||
echo 'int main(){return 0;}' > tests/xargs/test-sigusr.c
|
||||
`,
|
||||
},
|
||||
t.Load(Diffutils),
|
||||
t.Load(XZ),
|
||||
t.Load(Sed),
|
||||
}, (*MakeHelper)(nil),
|
||||
Diffutils,
|
||||
XZ,
|
||||
Sed,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Findutils] = Toolchain.newFindutils }
|
||||
@@ -397,17 +386,17 @@ func (t Toolchain) newBC() pkg.Artifact {
|
||||
version = "1.08.2"
|
||||
checksum = "8h6f3hjV80XiFs6v9HOPF2KEyg1kuOgn5eeFdVspV05ODBVQss-ey5glc8AmneLy"
|
||||
)
|
||||
return t.NewViaMake("bc", version, t.NewPatchedSource(
|
||||
"bc", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("bc", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://ftpmirror.gnu.org/gnu/bc/bc-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), false,
|
||||
), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
// source expected to be writable
|
||||
Writable: true,
|
||||
},
|
||||
t.Load(Perl),
|
||||
t.Load(Texinfo),
|
||||
Chmod: true,
|
||||
}, (*MakeHelper)(nil),
|
||||
Perl,
|
||||
Texinfo,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[BC] = Toolchain.newBC }
|
||||
@@ -417,11 +406,11 @@ func (t Toolchain) newLibiconv() pkg.Artifact {
|
||||
version = "1.18"
|
||||
checksum = "iV5q3VxP5VPdJ-X7O5OQI4fGm8VjeYb5viLd1L3eAHg26bbHb2_Qn63XPF3ucVZr"
|
||||
)
|
||||
return t.NewViaMake("libiconv", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("libiconv", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://ftpmirror.gnu.org/gnu/libiconv/libiconv-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), nil)
|
||||
), nil, (*MakeHelper)(nil))
|
||||
}
|
||||
func init() { artifactsF[Libiconv] = Toolchain.newLibiconv }
|
||||
|
||||
@@ -430,30 +419,29 @@ func (t Toolchain) newTar() pkg.Artifact {
|
||||
version = "1.35"
|
||||
checksum = "zSaoSlVUDW0dSfm4sbL4FrXLFR8U40Fh3zY5DWhR5NCIJ6GjU6Kc4VZo2-ZqpBRA"
|
||||
)
|
||||
return t.NewViaMake("tar", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("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",
|
||||
},
|
||||
), nil, &MakeHelper{
|
||||
Configure: [][2]string{
|
||||
{"disable-acl"},
|
||||
{"without-posix-acls"},
|
||||
{"without-xattrs"},
|
||||
},
|
||||
Check: []string{
|
||||
// very expensive
|
||||
"TARTEST_SKIP_LARGE_FILES=1",
|
||||
|
||||
`TESTSUITEFLAGS="-j$(nproc)"`,
|
||||
"check",
|
||||
},
|
||||
},
|
||||
t.Load(Diffutils),
|
||||
Diffutils,
|
||||
|
||||
t.Load(Gzip),
|
||||
t.Load(Bzip2),
|
||||
t.Load(Zstd),
|
||||
Gzip,
|
||||
Bzip2,
|
||||
Zstd,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Tar] = Toolchain.newTar }
|
||||
@@ -463,12 +451,12 @@ func (t Toolchain) newBinutils() pkg.Artifact {
|
||||
version = "2.45"
|
||||
checksum = "hlLtqqHDmzAT2OQVHaKEd_io2DGFvJkaeS-igBuK8bRRir7LUKGHgHYNkDVKaHTT"
|
||||
)
|
||||
return t.NewViaMake("binutils", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("binutils", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://ftpmirror.gnu.org/gnu/binutils/binutils-"+version+".tar.bz2",
|
||||
mustDecode(checksum),
|
||||
pkg.TarBzip2,
|
||||
), nil,
|
||||
t.Load(Bash),
|
||||
), nil, (*MakeHelper)(nil),
|
||||
Bash,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Binutils] = Toolchain.newBinutils }
|
||||
@@ -478,13 +466,13 @@ func (t Toolchain) newGMP() pkg.Artifact {
|
||||
version = "6.3.0"
|
||||
checksum = "yrgbgEDWKDdMWVHh7gPbVl56-sRtVVhfvv0M_LX7xMUUk_mvZ1QOJEAnt7g4i3k5"
|
||||
)
|
||||
return t.NewViaMake("gmp", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("gmp", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://gcc.gnu.org/pub/gcc/infrastructure/"+
|
||||
"gmp-"+version+".tar.bz2",
|
||||
mustDecode(checksum),
|
||||
pkg.TarBzip2,
|
||||
), nil,
|
||||
t.Load(M4),
|
||||
), nil, (*MakeHelper)(nil),
|
||||
M4,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[GMP] = Toolchain.newGMP }
|
||||
@@ -494,13 +482,13 @@ func (t Toolchain) newMPFR() pkg.Artifact {
|
||||
version = "4.2.2"
|
||||
checksum = "wN3gx0zfIuCn9r3VAn_9bmfvAYILwrRfgBjYSD1IjLqyLrLojNN5vKyQuTE9kA-B"
|
||||
)
|
||||
return t.NewViaMake("mpfr", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("mpfr", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://gcc.gnu.org/pub/gcc/infrastructure/"+
|
||||
"mpfr-"+version+".tar.bz2",
|
||||
mustDecode(checksum),
|
||||
pkg.TarBzip2,
|
||||
), nil,
|
||||
t.Load(GMP),
|
||||
), nil, (*MakeHelper)(nil),
|
||||
GMP,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[MPFR] = Toolchain.newMPFR }
|
||||
@@ -510,14 +498,14 @@ func (t Toolchain) newMPC() pkg.Artifact {
|
||||
version = "1.3.1"
|
||||
checksum = "o8r8K9R4x7PuRx0-JE3-bC5jZQrtxGV2nkB773aqJ3uaxOiBDCID1gKjPaaDxX4V"
|
||||
)
|
||||
return t.NewViaMake("mpc", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("mpc", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://gcc.gnu.org/pub/gcc/infrastructure/"+
|
||||
"mpc-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), nil,
|
||||
t.Load(GMP),
|
||||
t.Load(MPFR),
|
||||
), nil, (*MakeHelper)(nil),
|
||||
GMP,
|
||||
MPFR,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[MPC] = Toolchain.newMPC }
|
||||
@@ -527,14 +515,14 @@ func (t Toolchain) newGCC() pkg.Artifact {
|
||||
version = "15.2.0"
|
||||
checksum = "TXJ5WrbXlGLzy1swghQTr4qxgDCyIZFgJry51XEPTBZ8QYbVmFeB4lZbSMtPJ-a1"
|
||||
)
|
||||
return t.NewViaMake("gcc", version, t.NewPatchedSource(
|
||||
"gcc", version,
|
||||
pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("gcc", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://ftp.tsukuba.wide.ad.jp/software/gcc/releases/"+
|
||||
"gcc-"+version+"/gcc-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), true, [2]string{"musl-off64_t-loff_t", `diff --git a/libgo/sysinfo.c b/libgo/sysinfo.c
|
||||
), &PackageAttr{
|
||||
Patches: [][2]string{
|
||||
{"musl-off64_t-loff_t", `diff --git a/libgo/sysinfo.c b/libgo/sysinfo.c
|
||||
index 180f5c31d74..44d7ea73f7d 100644
|
||||
--- a/libgo/sysinfo.c
|
||||
+++ b/libgo/sysinfo.c
|
||||
@@ -550,7 +538,9 @@ index 180f5c31d74..44d7ea73f7d 100644
|
||||
|
||||
// The following section introduces explicit references to types and
|
||||
// constants of interest to support bootstrapping libgo using a
|
||||
`}, [2]string{"musl-legacy-lfs", `diff --git a/libgo/go/internal/syscall/unix/at_largefile.go b/libgo/go/internal/syscall/unix/at_largefile.go
|
||||
`},
|
||||
|
||||
{"musl-legacy-lfs", `diff --git a/libgo/go/internal/syscall/unix/at_largefile.go b/libgo/go/internal/syscall/unix/at_largefile.go
|
||||
index 82e0dcfd074..16151ecad1b 100644
|
||||
--- a/libgo/go/internal/syscall/unix/at_largefile.go
|
||||
+++ b/libgo/go/internal/syscall/unix/at_largefile.go
|
||||
@@ -678,11 +668,18 @@ index f84860891e6..7efc9615985 100644
|
||||
}
|
||||
|
||||
#endif
|
||||
`}), &MakeAttr{
|
||||
`},
|
||||
},
|
||||
|
||||
ScriptEarly: `
|
||||
ln -s system/lib /
|
||||
ln -s system/lib /work/
|
||||
`,
|
||||
|
||||
// GCC spends most of its time in its many configure scripts, however
|
||||
// it also saturates the CPU for a consequential amount of time.
|
||||
Flag: TExclusive,
|
||||
}, &MakeHelper{
|
||||
Configure: [][2]string{
|
||||
{"disable-multilib"},
|
||||
{"with-multilib-list", `""`},
|
||||
@@ -703,20 +700,16 @@ ln -s system/lib /work/
|
||||
// well in its current state. That does not matter as long as the
|
||||
// toolchain it produces passes its own test suite.
|
||||
SkipCheck: true,
|
||||
|
||||
// GCC spends most of its time in its many configure scripts, however
|
||||
// it also saturates the CPU for a consequential amount of time.
|
||||
Flag: TExclusive,
|
||||
},
|
||||
t.Load(Binutils),
|
||||
Binutils,
|
||||
|
||||
t.Load(GMP),
|
||||
t.Load(MPFR),
|
||||
t.Load(MPC),
|
||||
GMP,
|
||||
MPFR,
|
||||
MPC,
|
||||
|
||||
t.Load(Zlib),
|
||||
t.Load(Libucontext),
|
||||
t.Load(KernelHeaders),
|
||||
Zlib,
|
||||
Libucontext,
|
||||
KernelHeaders,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[gcc] = Toolchain.newGCC }
|
||||
|
||||
@@ -21,7 +21,9 @@ chmod -R +w /work/usr/src/linux/
|
||||
func init() { artifactsF[KernelSource] = Toolchain.newKernelSource }
|
||||
|
||||
func (t Toolchain) newKernelHeaders() pkg.Artifact {
|
||||
return t.NewViaMake("kernel-headers", kernelVersion, kernelSource, &MakeAttr{
|
||||
return t.NewPackage("kernel-headers", kernelVersion, kernelSource, &PackageAttr{
|
||||
Flag: TEarly,
|
||||
}, &MakeHelper{
|
||||
SkipConfigure: true,
|
||||
|
||||
SkipCheck: true,
|
||||
@@ -33,23 +35,15 @@ func (t Toolchain) newKernelHeaders() pkg.Artifact {
|
||||
"INSTALL_HDR_PATH=/work/system",
|
||||
"headers_install",
|
||||
},
|
||||
ScriptInstall: "\n",
|
||||
|
||||
Flag: TEarly,
|
||||
Install: "# headers installed during make",
|
||||
},
|
||||
t.Load(Rsync),
|
||||
Rsync,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[KernelHeaders] = Toolchain.newKernelHeaders }
|
||||
|
||||
func (t Toolchain) newKernel() pkg.Artifact {
|
||||
return t.NewViaMake("kernel", kernelVersion, kernelSource, &MakeAttr{
|
||||
OmitDefaults: true,
|
||||
SkipConfigure: true,
|
||||
|
||||
// Build, install, and boot kernel before running kselftest on it.
|
||||
SkipCheck: true,
|
||||
|
||||
return t.NewPackage("kernel", kernelVersion, kernelSource, &PackageAttr{
|
||||
Env: []string{
|
||||
"PATH=/system/sbin",
|
||||
},
|
||||
@@ -60,29 +54,6 @@ install -Dm0400 \
|
||||
install -Dm0500 \
|
||||
/usr/src/.installkernel \
|
||||
/sbin/installkernel
|
||||
`,
|
||||
Make: []string{
|
||||
"-f /usr/src/kernel/Makefile",
|
||||
"O=/tmp/kbuild",
|
||||
|
||||
"LLVM=1",
|
||||
"KBUILD_BUILD_VERSION='1-Rosa'",
|
||||
"KBUILD_BUILD_TIMESTAMP='2106-02-07 06:28:15 UTC'",
|
||||
"KBUILD_BUILD_USER=kbuild",
|
||||
"KBUILD_BUILD_HOST=localhost",
|
||||
"all",
|
||||
},
|
||||
ScriptInstall: `
|
||||
make \
|
||||
"-j$(nproc)" \
|
||||
-f /usr/src/kernel/Makefile \
|
||||
O=/tmp/kbuild \
|
||||
LLVM=1 \
|
||||
INSTALL_PATH=/work \
|
||||
install \
|
||||
INSTALL_MOD_PATH=/work \
|
||||
modules_install
|
||||
rm -v /work/lib/modules/` + kernelVersion + `/build
|
||||
`,
|
||||
|
||||
Paths: []pkg.ExecPath{
|
||||
@@ -97,29 +68,61 @@ cp -av "$2" "$4"
|
||||
cp -av "$3" "$4"
|
||||
`))),
|
||||
},
|
||||
},
|
||||
t.Load(Flex),
|
||||
t.Load(Bison),
|
||||
t.Load(M4),
|
||||
t.Load(Tar),
|
||||
t.Load(Perl),
|
||||
t.Load(BC),
|
||||
t.Load(Sed),
|
||||
t.Load(Gawk),
|
||||
t.Load(Coreutils),
|
||||
t.Load(Diffutils),
|
||||
t.Load(Python),
|
||||
|
||||
t.Load(XZ),
|
||||
t.Load(Zlib),
|
||||
t.Load(Gzip),
|
||||
t.Load(Bzip2),
|
||||
t.Load(Zstd),
|
||||
t.Load(Kmod),
|
||||
t.Load(Elfutils),
|
||||
t.Load(OpenSSL),
|
||||
t.Load(UtilLinux),
|
||||
t.Load(KernelHeaders),
|
||||
Flag: TExclusive,
|
||||
}, &MakeHelper{
|
||||
OmitDefaults: true,
|
||||
SkipConfigure: true,
|
||||
|
||||
// Build, install, and boot kernel before running kselftest on it.
|
||||
SkipCheck: true,
|
||||
|
||||
Make: []string{
|
||||
"-f /usr/src/kernel/Makefile",
|
||||
"O=/tmp/kbuild",
|
||||
|
||||
"LLVM=1",
|
||||
"KBUILD_BUILD_VERSION='1-Rosa'",
|
||||
"KBUILD_BUILD_TIMESTAMP='2106-02-07 06:28:15 UTC'",
|
||||
"KBUILD_BUILD_USER=kbuild",
|
||||
"KBUILD_BUILD_HOST=localhost",
|
||||
"all",
|
||||
},
|
||||
Install: `
|
||||
make \
|
||||
"-j$(nproc)" \
|
||||
-f /usr/src/kernel/Makefile \
|
||||
O=/tmp/kbuild \
|
||||
LLVM=1 \
|
||||
INSTALL_PATH=/work \
|
||||
install \
|
||||
INSTALL_MOD_PATH=/work \
|
||||
modules_install
|
||||
rm -v /work/lib/modules/` + kernelVersion + `/build
|
||||
`,
|
||||
},
|
||||
Flex,
|
||||
Bison,
|
||||
M4,
|
||||
Tar,
|
||||
Perl,
|
||||
BC,
|
||||
Sed,
|
||||
Gawk,
|
||||
Coreutils,
|
||||
Diffutils,
|
||||
Python,
|
||||
|
||||
XZ,
|
||||
Zlib,
|
||||
Gzip,
|
||||
Bzip2,
|
||||
Zstd,
|
||||
Kmod,
|
||||
Elfutils,
|
||||
OpenSSL,
|
||||
UtilLinux,
|
||||
KernelHeaders,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Kernel] = Toolchain.newKernel }
|
||||
|
||||
@@ -7,17 +7,15 @@ func (t Toolchain) newLibcap() pkg.Artifact {
|
||||
version = "2.77"
|
||||
checksum = "2GOTFU4cl2QoS7Dv5wh0c9-hxsQwIzMB9Y_gfAo5xKHqcM13fiHt1RbPkfemzjmB"
|
||||
)
|
||||
return t.NewViaMake("libcap", version, t.NewPatchedSource(
|
||||
"libcap", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("libcap", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://git.kernel.org/pub/scm/libs/libcap/libcap.git/"+
|
||||
"snapshot/libcap-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), false,
|
||||
), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
// uses source tree as scratch space
|
||||
Writable: true,
|
||||
SkipConfigure: true,
|
||||
InPlace: true,
|
||||
Chmod: true,
|
||||
|
||||
Env: []string{
|
||||
"prefix=/system",
|
||||
@@ -25,16 +23,22 @@ func (t Toolchain) newLibcap() pkg.Artifact {
|
||||
},
|
||||
ScriptEarly: `
|
||||
ln -s ../system/bin/bash /bin/
|
||||
cd /usr/src/libcap
|
||||
`,
|
||||
}, &MakeHelper{
|
||||
SkipConfigure: true,
|
||||
InPlace: true,
|
||||
|
||||
Make: []string{
|
||||
"CC=cc",
|
||||
"all",
|
||||
},
|
||||
Check: []string{"test"},
|
||||
Check: []string{
|
||||
"CC=cc",
|
||||
"test",
|
||||
},
|
||||
t.Load(Bash),
|
||||
t.Load(Diffutils),
|
||||
},
|
||||
Bash,
|
||||
Diffutils,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Libcap] = Toolchain.newLibcap }
|
||||
|
||||
@@ -11,18 +11,14 @@ func (t Toolchain) newLibexpat() pkg.Artifact {
|
||||
version = "2.7.3"
|
||||
checksum = "GmkoD23nRi9cMT0cgG1XRMrZWD82UcOMzkkvP1gkwSFWCBgeSXMuoLpa8-v8kxW-"
|
||||
)
|
||||
return t.NewViaMake("libexpat", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("libexpat", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://github.com/libexpat/libexpat/releases/download/"+
|
||||
"R_"+strings.ReplaceAll(version, ".", "_")+"/"+
|
||||
"expat-"+version+".tar.bz2",
|
||||
mustDecode(checksum),
|
||||
pkg.TarBzip2,
|
||||
), &MakeAttr{
|
||||
Configure: [][2]string{
|
||||
{"enable-static"},
|
||||
},
|
||||
},
|
||||
t.Load(Bash),
|
||||
), nil, (*MakeHelper)(nil),
|
||||
Bash,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Libexpat] = Toolchain.newLibexpat }
|
||||
|
||||
@@ -7,17 +7,13 @@ func (t Toolchain) newLibffi() pkg.Artifact {
|
||||
version = "3.4.5"
|
||||
checksum = "apIJzypF4rDudeRoI_n3K7N-zCeBLTbQlHRn9NSAZqdLAWA80mR0gXPTpHsL7oMl"
|
||||
)
|
||||
return t.NewViaMake("libffi", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("libffi", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://github.com/libffi/libffi/releases/download/"+
|
||||
"v"+version+"/libffi-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
Configure: [][2]string{
|
||||
{"enable-static"},
|
||||
},
|
||||
},
|
||||
t.Load(KernelHeaders),
|
||||
), nil, (*MakeHelper)(nil),
|
||||
KernelHeaders,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Libffi] = Toolchain.newLibffi }
|
||||
|
||||
@@ -7,21 +7,20 @@ func (t Toolchain) newLibgd() pkg.Artifact {
|
||||
version = "2.3.3"
|
||||
checksum = "8T-sh1_FJT9K9aajgxzh8ot6vWIF-xxjcKAHvTak9MgGUcsFfzP8cAvvv44u2r36"
|
||||
)
|
||||
return t.NewViaMake("libgd", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("libgd", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://github.com/libgd/libgd/releases/download/"+
|
||||
"gd-"+version+"/libgd-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
OmitDefaults: true,
|
||||
), &PackageAttr{
|
||||
Env: []string{
|
||||
"TMPDIR=/dev/shm/gd",
|
||||
},
|
||||
ScriptEarly: `
|
||||
mkdir /dev/shm/gd
|
||||
`,
|
||||
},
|
||||
t.Load(Zlib),
|
||||
}, (*MakeHelper)(nil),
|
||||
Zlib,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Libgd] = Toolchain.newLibgd }
|
||||
|
||||
@@ -7,22 +7,20 @@ func (t Toolchain) newLibpsl() pkg.Artifact {
|
||||
version = "0.21.5"
|
||||
checksum = "XjfxSzh7peG2Vg4vJlL8z4JZJLcXqbuP6pLWkrGCmRxlnYUFTKNBqWGHCxEOlCad"
|
||||
)
|
||||
return t.NewViaMake("libpsl", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("libpsl", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://github.com/rockdaboot/libpsl/releases/download/"+
|
||||
version+"/libpsl-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
Writable: true,
|
||||
ScriptEarly: `
|
||||
cd /usr/src/libpsl
|
||||
|
||||
test_disable() { chmod +w "$2" && echo "$1" > "$2"; }
|
||||
|
||||
test_disable 'int main(){return 0;}' tests/test-is-public-builtin.c
|
||||
`,
|
||||
},
|
||||
t.Load(Python),
|
||||
}, (*MakeHelper)(nil),
|
||||
Python,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Libpsl] = Toolchain.newLibpsl }
|
||||
|
||||
@@ -9,22 +9,21 @@ func (t Toolchain) newLibseccomp() pkg.Artifact {
|
||||
version = "2.6.0"
|
||||
checksum = "mMu-iR71guPjFbb31u-YexBaanKE_nYPjPux-vuBiPfS_0kbwJdfCGlkofaUm-EY"
|
||||
)
|
||||
return t.NewViaMake("libseccomp", version, pkg.NewHTTPGetTar(
|
||||
nil,
|
||||
"https://github.com/seccomp/libseccomp/releases/download/"+
|
||||
return t.NewPackage("libseccomp", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://github.com/seccomp/libseccomp/releases/download/"+
|
||||
"v"+version+"/libseccomp-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
ScriptEarly: `
|
||||
ln -s ../system/bin/bash /bin/
|
||||
`,
|
||||
},
|
||||
t.Load(Bash),
|
||||
t.Load(Diffutils),
|
||||
t.Load(Gperf),
|
||||
}, (*MakeHelper)(nil),
|
||||
Bash,
|
||||
Diffutils,
|
||||
Gperf,
|
||||
|
||||
t.Load(KernelHeaders),
|
||||
KernelHeaders,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Libseccomp] = Toolchain.newLibseccomp }
|
||||
|
||||
@@ -7,24 +7,24 @@ func (t Toolchain) newLibucontext() pkg.Artifact {
|
||||
version = "1.5"
|
||||
checksum = "Ggk7FMmDNBdCx1Z9PcNWWW6LSpjGYssn2vU0GK5BLXJYw7ZxZbA2m_eSgT9TFnIG"
|
||||
)
|
||||
return t.NewViaMake("libucontext", version, t.NewPatchedSource(
|
||||
"libucontext", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("libucontext", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://github.com/kaniini/libucontext/archive/refs/tags/"+
|
||||
"libucontext-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), false,
|
||||
), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
// uses source tree as scratch space
|
||||
Writable: true,
|
||||
Chmod: true,
|
||||
EnterSource: true,
|
||||
}, &MakeHelper{
|
||||
OmitDefaults: true,
|
||||
SkipConfigure: true,
|
||||
InPlace: true,
|
||||
|
||||
ScriptEarly: "cd /usr/src/libucontext",
|
||||
Make: []string{
|
||||
"ARCH=" + linuxArch(),
|
||||
},
|
||||
ScriptInstall: "make prefix=/system DESTDIR=/work install",
|
||||
Install: "make prefix=/system DESTDIR=/work install",
|
||||
})
|
||||
}
|
||||
func init() { artifactsF[Libucontext] = Toolchain.newLibucontext }
|
||||
|
||||
@@ -11,21 +11,16 @@ func (t Toolchain) newLibxml2() pkg.Artifact {
|
||||
version = "2.15.1"
|
||||
checksum = "pYzAR3cNrEHezhEMirgiq7jbboLzwMj5GD7SQp0jhSIMdgoU4G9oU9Gxun3zzUIU"
|
||||
)
|
||||
return t.NewViaMake("libxml2", version, pkg.NewHTTPGet(
|
||||
return t.NewPackage("libxml2", version, pkg.NewHTTPGet(
|
||||
nil, "https://download.gnome.org/sources/libxml2/"+
|
||||
strings.Join(strings.Split(version, ".")[:2], ".")+
|
||||
"/libxml2-"+version+".tar.xz",
|
||||
mustDecode(checksum),
|
||||
), &MakeAttr{
|
||||
ScriptEarly: `
|
||||
cd /usr/src/
|
||||
tar xf libxml2.tar.xz
|
||||
mv libxml2-` + version + ` libxml2
|
||||
`,
|
||||
SourceSuffix: ".tar.xz",
|
||||
},
|
||||
t.Load(Diffutils),
|
||||
t.Load(XZ),
|
||||
), &PackageAttr{
|
||||
SourceKind: sourceTarXZ,
|
||||
}, (*MakeHelper)(nil),
|
||||
Diffutils,
|
||||
XZ,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Libxml2] = Toolchain.newLibxml2 }
|
||||
|
||||
@@ -11,27 +11,22 @@ func (t Toolchain) newLibxslt() pkg.Artifact {
|
||||
version = "1.1.45"
|
||||
checksum = "vw72UbREQnA3YDYuZ9-93hDr9BYCaKV6oh_U4Kt4n1Js_na4E-nFj-ksZnZ0kvEK"
|
||||
)
|
||||
return t.NewViaMake("libxslt", version, pkg.NewHTTPGet(
|
||||
return t.NewPackage("libxslt", version, pkg.NewHTTPGet(
|
||||
nil, "https://download.gnome.org/sources/libxslt/"+
|
||||
strings.Join(strings.Split(version, ".")[:2], ".")+
|
||||
"/libxslt-"+version+".tar.xz",
|
||||
mustDecode(checksum),
|
||||
), &MakeAttr{
|
||||
ScriptEarly: `
|
||||
cd /usr/src/
|
||||
tar xf libxslt.tar.xz
|
||||
mv libxslt-` + version + ` libxslt
|
||||
`,
|
||||
SourceSuffix: ".tar.xz",
|
||||
|
||||
), &PackageAttr{
|
||||
SourceKind: sourceTarXZ,
|
||||
}, &MakeHelper{
|
||||
// python libxml2 cyclic dependency
|
||||
SkipCheck: true,
|
||||
},
|
||||
t.Load(XZ),
|
||||
t.Load(Python),
|
||||
t.Load(PkgConfig),
|
||||
XZ,
|
||||
Python,
|
||||
PkgConfig,
|
||||
|
||||
t.Load(Libxml2),
|
||||
Libxml2,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Libxslt] = Toolchain.newLibxslt }
|
||||
|
||||
@@ -28,29 +28,21 @@ cd "$(mktemp -d)"
|
||||
}
|
||||
func init() { artifactsF[Make] = Toolchain.newMake }
|
||||
|
||||
// MakeAttr holds the project-specific attributes that will be applied to a new
|
||||
// [pkg.Artifact] compiled via [Make].
|
||||
type MakeAttr struct {
|
||||
// Mount the source tree writable.
|
||||
Writable bool
|
||||
|
||||
// MakeHelper is the [Make] build system helper.
|
||||
type MakeHelper struct {
|
||||
// Do not include default extras.
|
||||
OmitDefaults bool
|
||||
// Dependencies not provided by stage0.
|
||||
NonStage0 []pkg.Artifact
|
||||
|
||||
// Additional environment variables.
|
||||
Env []string
|
||||
// Runs before configure.
|
||||
ScriptEarly string
|
||||
// Runs after configure.
|
||||
ScriptConfigured string
|
||||
// Command to generate the build system.
|
||||
Generate string
|
||||
// Runs before make.
|
||||
ScriptMakeEarly string
|
||||
// Runs before check.
|
||||
ScriptCheckEarly string
|
||||
// Runs after install.
|
||||
Script string
|
||||
|
||||
// Remain in working directory set up during ScriptEarly.
|
||||
// Remain in current directory.
|
||||
InPlace bool
|
||||
|
||||
// Whether to skip running the configure script.
|
||||
@@ -59,40 +51,76 @@ type MakeAttr struct {
|
||||
ConfigureName string
|
||||
// Flags passed to the configure script.
|
||||
Configure [][2]string
|
||||
// Extra make targets.
|
||||
Make []string
|
||||
// Host target triple, zero value is equivalent to the Rosa OS triple.
|
||||
Host string
|
||||
// Target triple, zero value is equivalent to the Rosa OS triple.
|
||||
Build string
|
||||
|
||||
// Extra make targets.
|
||||
Make []string
|
||||
// Whether to skip the check target.
|
||||
SkipCheck bool
|
||||
// Name of the check target, zero value is equivalent to "check".
|
||||
Check []string
|
||||
// Replaces the default install command.
|
||||
ScriptInstall string
|
||||
|
||||
// Suffix appended to the source pathname.
|
||||
SourceSuffix string
|
||||
|
||||
// Passed through to [Toolchain.New], before source.
|
||||
Paths []pkg.ExecPath
|
||||
// Passed through to [Toolchain.New].
|
||||
Flag int
|
||||
Install string
|
||||
}
|
||||
|
||||
// NewViaMake returns a [pkg.Artifact] for compiling and installing via [Make].
|
||||
func (t Toolchain) NewViaMake(
|
||||
name, version string,
|
||||
source pkg.Artifact,
|
||||
attr *MakeAttr,
|
||||
extra ...pkg.Artifact,
|
||||
) pkg.Artifact {
|
||||
if name == "" || version == "" {
|
||||
panic("names must be non-empty")
|
||||
var _ Helper = new(MakeHelper)
|
||||
|
||||
// name returns its arguments joined with '-'.
|
||||
func (*MakeHelper) name(name, version string) string {
|
||||
return name + "-" + version
|
||||
}
|
||||
|
||||
// extra returns make and other optional dependencies.
|
||||
func (attr *MakeHelper) extra(flag int) []PArtifact {
|
||||
extra := []PArtifact{Make}
|
||||
if (attr == nil || !attr.OmitDefaults) && flag&TEarly == 0 {
|
||||
extra = append(extra,
|
||||
Gawk,
|
||||
Coreutils,
|
||||
)
|
||||
}
|
||||
return extra
|
||||
}
|
||||
|
||||
// wantsChmod returns whether the build system needs to be generated.
|
||||
func (attr *MakeHelper) wantsChmod() bool {
|
||||
return attr != nil && attr.Generate != ""
|
||||
}
|
||||
|
||||
// wantsWrite is equivalent to wantsChmod.
|
||||
func (attr *MakeHelper) wantsWrite() bool { return attr.wantsChmod() }
|
||||
|
||||
// scriptEarly returns the optional build system generation segment.
|
||||
func (attr *MakeHelper) scriptEarly() string {
|
||||
if attr == nil {
|
||||
attr = new(MakeAttr)
|
||||
return ""
|
||||
}
|
||||
|
||||
generate := attr.Generate
|
||||
if len(generate) > 0 && generate[len(generate)-1] != '\n' {
|
||||
generate += "\n"
|
||||
}
|
||||
return generate
|
||||
}
|
||||
|
||||
// createDir returns false.
|
||||
func (*MakeHelper) createDir() bool { return false }
|
||||
|
||||
// wantsDir requests a new directory in TMPDIR, or omits the cd statement if InPlace.
|
||||
func (attr *MakeHelper) wantsDir() string {
|
||||
if attr != nil && attr.InPlace {
|
||||
return helperInPlace
|
||||
}
|
||||
return `"$(mktemp -d)"`
|
||||
}
|
||||
|
||||
// script generates the cure script.
|
||||
func (attr *MakeHelper) script(name string) string {
|
||||
if attr == nil {
|
||||
attr = new(MakeHelper)
|
||||
}
|
||||
|
||||
var configure string
|
||||
@@ -159,8 +187,7 @@ make \
|
||||
scriptMake += "\n"
|
||||
|
||||
if !attr.SkipCheck {
|
||||
scriptMake += attr.ScriptCheckEarly + `
|
||||
make \
|
||||
scriptMake += attr.ScriptCheckEarly + `make \
|
||||
"-j$(nproc)" \
|
||||
`
|
||||
if len(attr.Check) > 0 {
|
||||
@@ -171,52 +198,15 @@ make \
|
||||
scriptMake += "\n"
|
||||
}
|
||||
|
||||
var finalExtra []pkg.Artifact
|
||||
if !t.isStage0() {
|
||||
finalExtra = append(finalExtra, t.Load(Make))
|
||||
}
|
||||
if !attr.OmitDefaults && attr.Flag&TEarly == 0 {
|
||||
finalExtra = append(finalExtra,
|
||||
t.Load(Gawk),
|
||||
t.Load(Coreutils),
|
||||
)
|
||||
}
|
||||
finalExtra = append(finalExtra, extra...)
|
||||
|
||||
scriptEarly := attr.ScriptEarly
|
||||
if !attr.InPlace {
|
||||
scriptEarly += `
|
||||
cd "$(mktemp -d)"
|
||||
`
|
||||
} else if scriptEarly == "" {
|
||||
panic("cannot remain in root")
|
||||
}
|
||||
|
||||
scriptInstall := attr.ScriptInstall
|
||||
scriptInstall := attr.Install
|
||||
if scriptInstall == "" {
|
||||
scriptInstall = "make DESTDIR=/work install"
|
||||
}
|
||||
scriptInstall += "\n"
|
||||
|
||||
return t.New(
|
||||
name+"-"+version,
|
||||
attr.Flag,
|
||||
stage0Concat(t,
|
||||
attr.NonStage0,
|
||||
finalExtra...,
|
||||
),
|
||||
nil,
|
||||
attr.Env,
|
||||
scriptEarly+
|
||||
configure+
|
||||
attr.ScriptConfigured+
|
||||
scriptMake+
|
||||
scriptInstall+
|
||||
attr.Script,
|
||||
slices.Concat(attr.Paths, []pkg.ExecPath{
|
||||
pkg.Path(AbsUsrSrc.Append(
|
||||
name+attr.SourceSuffix,
|
||||
), attr.Writable, source),
|
||||
})...,
|
||||
)
|
||||
return configure +
|
||||
attr.ScriptMakeEarly +
|
||||
scriptMake +
|
||||
scriptInstall +
|
||||
attr.Script
|
||||
}
|
||||
|
||||
@@ -7,27 +7,24 @@ func (t Toolchain) newMuslFts() pkg.Artifact {
|
||||
version = "1.2.7"
|
||||
checksum = "N_p_ZApX3eHt7xoDCw1hLf6XdJOw7ZSx7xPvpvAP0knG2zgU0zeN5w8tt5Pg60XJ"
|
||||
)
|
||||
return t.NewViaMake("musl-fts", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("musl-fts", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://github.com/void-linux/musl-fts/archive/refs/tags/"+
|
||||
"v"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
Writable: true,
|
||||
), &PackageAttr{
|
||||
Env: []string{
|
||||
"CC=cc -fPIC",
|
||||
},
|
||||
ScriptEarly: `
|
||||
cd /usr/src/musl-fts
|
||||
./bootstrap.sh
|
||||
`,
|
||||
}, &MakeHelper{
|
||||
Generate: "./bootstrap.sh",
|
||||
},
|
||||
t.Load(M4),
|
||||
t.Load(Perl),
|
||||
t.Load(Autoconf),
|
||||
t.Load(Automake),
|
||||
t.Load(Libtool),
|
||||
t.Load(PkgConfig),
|
||||
M4,
|
||||
Perl,
|
||||
Autoconf,
|
||||
Automake,
|
||||
Libtool,
|
||||
PkgConfig,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[MuslFts] = Toolchain.newMuslFts }
|
||||
|
||||
@@ -7,27 +7,24 @@ func (t Toolchain) newMuslObstack() pkg.Artifact {
|
||||
version = "1.2.3"
|
||||
checksum = "tVRY_KjIlkkMszcaRlkKdBVQHIXTT_T_TiMxbwErlILXrOBosocg8KklppZhNdCG"
|
||||
)
|
||||
return t.NewViaMake("musl-obstack", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("musl-obstack", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://github.com/void-linux/musl-obstack/archive/refs/tags/"+
|
||||
"v"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
Writable: true,
|
||||
), &PackageAttr{
|
||||
Env: []string{
|
||||
"CC=cc -fPIC",
|
||||
},
|
||||
ScriptEarly: `
|
||||
cd /usr/src/musl-obstack
|
||||
./bootstrap.sh
|
||||
`,
|
||||
}, &MakeHelper{
|
||||
Generate: "./bootstrap.sh",
|
||||
},
|
||||
t.Load(M4),
|
||||
t.Load(Perl),
|
||||
t.Load(Autoconf),
|
||||
t.Load(Automake),
|
||||
t.Load(Libtool),
|
||||
t.Load(PkgConfig),
|
||||
M4,
|
||||
Perl,
|
||||
Autoconf,
|
||||
Automake,
|
||||
Libtool,
|
||||
PkgConfig,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[MuslObstack] = Toolchain.newMuslObstack }
|
||||
|
||||
@@ -13,11 +13,9 @@ func (t Toolchain) newMusl(
|
||||
)
|
||||
|
||||
name := "musl"
|
||||
attr := MakeAttr{
|
||||
helper := MakeHelper{
|
||||
OmitDefaults: true,
|
||||
SkipCheck: true,
|
||||
|
||||
Env: env,
|
||||
Script: `
|
||||
mkdir -p /work/system/bin
|
||||
COMPAT_LINKER_NAME="ld-musl-` + linuxArch() + `.so.1"
|
||||
@@ -31,20 +29,28 @@ rmdir -v /work/lib
|
||||
|
||||
if headers {
|
||||
name += "-headers"
|
||||
attr.ScriptInstall = "make DESTDIR=/work install-headers"
|
||||
attr.Script = ""
|
||||
helper.Make = []string{
|
||||
"DESTDIR=/work",
|
||||
"install-headers",
|
||||
}
|
||||
helper.Install = "# headers installed during make"
|
||||
helper.Script = ""
|
||||
}
|
||||
|
||||
return t.NewViaMake(name, version, t.NewPatchedSource(
|
||||
// expected to be writable in copies
|
||||
"musl", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage(name, version, pkg.NewHTTPGetTar(
|
||||
nil, "https://musl.libc.org/releases/musl-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), false,
|
||||
), &attr, stage0Concat(t, extra,
|
||||
t.Load(Coreutils),
|
||||
)...)
|
||||
), &PackageAttr{
|
||||
NonStage0: extra,
|
||||
|
||||
// expected to be writable in copies
|
||||
Chmod: true,
|
||||
|
||||
Env: env,
|
||||
}, &helper,
|
||||
Coreutils,
|
||||
)
|
||||
}
|
||||
func init() {
|
||||
artifactsF[Musl] = func(t Toolchain) pkg.Artifact {
|
||||
|
||||
@@ -7,11 +7,11 @@ func (t Toolchain) newNcurses() pkg.Artifact {
|
||||
version = "6.6"
|
||||
checksum = "XvWp4xi6hR_hH8XUoGY26L_pqBSDapJYulhzZqPuR0KNklqypqNc1yNXU-nOjf5w"
|
||||
)
|
||||
return t.NewViaMake("ncurses", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("ncurses", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://ftpmirror.gnu.org/gnu/ncurses/ncurses-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
), nil, &MakeHelper{
|
||||
// "tests" are actual demo programs, not a test suite.
|
||||
SkipCheck: true,
|
||||
|
||||
@@ -20,7 +20,7 @@ func (t Toolchain) newNcurses() pkg.Artifact {
|
||||
{"enable-pc-files"},
|
||||
},
|
||||
},
|
||||
t.Load(PkgConfig),
|
||||
PkgConfig,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Ncurses] = Toolchain.newNcurses }
|
||||
|
||||
@@ -7,17 +7,18 @@ func (t Toolchain) newOpenSSL() pkg.Artifact {
|
||||
version = "3.5.5"
|
||||
checksum = "I2Hp1LxcTR8j4G6LFEQMVy6EJH-Na1byI9Ti-ThBot6EMLNRnjGXGq-WXrim3Fkz"
|
||||
)
|
||||
return t.NewViaMake("openssl", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("openssl", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://github.com/openssl/openssl/releases/download/"+
|
||||
"openssl-"+version+"/openssl-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
OmitDefaults: true,
|
||||
|
||||
), &PackageAttr{
|
||||
Env: []string{
|
||||
"CC=cc",
|
||||
},
|
||||
}, &MakeHelper{
|
||||
OmitDefaults: true,
|
||||
|
||||
ConfigureName: "/usr/src/openssl/Configure",
|
||||
Configure: [][2]string{
|
||||
{"prefix", "/system"},
|
||||
@@ -29,11 +30,11 @@ func (t Toolchain) newOpenSSL() pkg.Artifact {
|
||||
"test",
|
||||
},
|
||||
},
|
||||
t.Load(Perl),
|
||||
t.Load(Coreutils),
|
||||
Perl,
|
||||
Coreutils,
|
||||
|
||||
t.Load(Zlib),
|
||||
t.Load(KernelHeaders),
|
||||
Zlib,
|
||||
KernelHeaders,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[OpenSSL] = Toolchain.newOpenSSL }
|
||||
|
||||
@@ -9,17 +9,17 @@ func (t Toolchain) newPCRE2() pkg.Artifact {
|
||||
version = "10.43"
|
||||
checksum = "iyNw-POPSJwiZVJfUK5qACA6q2uMzP-84WieimN_CskaEkuw5fRnRTZhEv6ry2Yo"
|
||||
)
|
||||
return t.NewViaMake("pcre2", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("pcre2", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://github.com/PCRE2Project/pcre2/releases/download/"+
|
||||
"pcre2-"+version+"/pcre2-"+version+".tar.bz2",
|
||||
mustDecode(checksum),
|
||||
pkg.TarBzip2,
|
||||
), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
ScriptEarly: `
|
||||
# RunGrepTest expects /bin/echo
|
||||
ln -s ../system/bin/toybox /bin/echo
|
||||
`,
|
||||
|
||||
}, &MakeHelper{
|
||||
Configure: [][2]string{
|
||||
{"enable-jit"},
|
||||
{"enable-pcre2-8"},
|
||||
@@ -27,7 +27,7 @@ ln -s ../system/bin/toybox /bin/echo
|
||||
{"enable-pcre2-32"},
|
||||
},
|
||||
},
|
||||
t.Load(Diffutils),
|
||||
Diffutils,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[PCRE2] = Toolchain.newPCRE2 }
|
||||
|
||||
@@ -11,23 +11,25 @@ func (t Toolchain) newPerl() pkg.Artifact {
|
||||
version = "5.42.0"
|
||||
checksum = "2KR7Jbpk-ZVn1a30LQRwbgUvg2AXlPQZfzrqCr31qD5-yEsTwVQ_W76eZH-EdxM9"
|
||||
)
|
||||
return t.NewViaMake("perl", version, t.NewPatchedSource(
|
||||
"perl", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("perl", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://www.cpan.org/src/5.0/perl-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), false,
|
||||
), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
// uses source tree as scratch space
|
||||
Writable: true,
|
||||
OmitDefaults: true,
|
||||
InPlace: true,
|
||||
Chmod: true,
|
||||
|
||||
ScriptEarly: `
|
||||
cd /usr/src/perl
|
||||
|
||||
echo 'print STDOUT "1..0 # Skip broken test\n";' > ext/Pod-Html/t/htmldir3.t
|
||||
rm -f /system/bin/ps # perl does not like toybox ps
|
||||
`,
|
||||
|
||||
Flag: TEarly,
|
||||
}, &MakeHelper{
|
||||
OmitDefaults: true,
|
||||
InPlace: true,
|
||||
|
||||
ConfigureName: "./Configure",
|
||||
Configure: [][2]string{
|
||||
{"-des"},
|
||||
@@ -42,9 +44,7 @@ rm -f /system/bin/ps # perl does not like toybox ps
|
||||
"TEST_JOBS=256",
|
||||
"test_harness",
|
||||
},
|
||||
ScriptInstall: "./perl -Ilib -I. installperl --destdir=/work",
|
||||
|
||||
Flag: TEarly,
|
||||
Install: "./perl -Ilib -I. installperl --destdir=/work",
|
||||
})
|
||||
}
|
||||
func init() { artifactsF[Perl] = Toolchain.newPerl }
|
||||
@@ -91,25 +91,26 @@ func (t Toolchain) newViaPerlMakeMaker(
|
||||
name, version string,
|
||||
source pkg.Artifact,
|
||||
patches [][2]string,
|
||||
extra ...pkg.Artifact,
|
||||
extra ...PArtifact,
|
||||
) pkg.Artifact {
|
||||
return t.NewViaMake("perl-"+name, version, t.NewPatchedSource(
|
||||
"perl-"+name, version, source, false, patches...,
|
||||
), &MakeAttr{
|
||||
return t.NewPackage("perl-"+name, version, source, &PackageAttr{
|
||||
// uses source tree as scratch space
|
||||
Writable: true,
|
||||
Chmod: true,
|
||||
EnterSource: true,
|
||||
|
||||
Patches: patches,
|
||||
}, &MakeHelper{
|
||||
OmitDefaults: true,
|
||||
InPlace: true,
|
||||
|
||||
ScriptEarly: `
|
||||
cd /usr/src/perl-` + name + `
|
||||
`,
|
||||
ConfigureName: "perl Makefile.PL",
|
||||
Configure: [][2]string{
|
||||
{"PREFIX", "/system"},
|
||||
},
|
||||
Check: []string{"test"},
|
||||
}, slices.Concat(extra, []pkg.Artifact{
|
||||
t.Load(Perl),
|
||||
}, slices.Concat(extra, []PArtifact{
|
||||
Perl,
|
||||
})...)
|
||||
}
|
||||
|
||||
@@ -194,7 +195,7 @@ func (t Toolchain) newPerlTextWrapI18N() pkg.Artifact {
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), nil,
|
||||
t.Load(PerlTextCharWidth),
|
||||
PerlTextCharWidth,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[PerlTextWrapI18N] = Toolchain.newPerlTextWrapI18N }
|
||||
@@ -224,7 +225,7 @@ func (t Toolchain) newPerlUnicodeGCString() pkg.Artifact {
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), nil,
|
||||
t.Load(PerlMIMECharset),
|
||||
PerlMIMECharset,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[PerlUnicodeGCString] = Toolchain.newPerlUnicodeGCString }
|
||||
|
||||
@@ -7,13 +7,12 @@ func (t Toolchain) newPkgConfig() pkg.Artifact {
|
||||
version = "0.29.2"
|
||||
checksum = "gi7yAvkwo20Inys1tHbeYZ3Wjdm5VPkrnO0Q6_QZPCAwa1zrA8F4a63cdZDd-717"
|
||||
)
|
||||
return t.NewViaMake("pkg-config", version, pkg.NewHTTPGetTar(
|
||||
nil,
|
||||
"https://pkgconfig.freedesktop.org/releases/"+
|
||||
return t.NewPackage("pkg-config", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://pkgconfig.freedesktop.org/releases/"+
|
||||
"pkg-config-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
), nil, &MakeHelper{
|
||||
Configure: [][2]string{
|
||||
{"CFLAGS", "'-Wno-int-conversion'"},
|
||||
{"with-internal-glib"},
|
||||
|
||||
@@ -7,31 +7,26 @@ func (t Toolchain) newProcps() pkg.Artifact {
|
||||
version = "4.0.6"
|
||||
checksum = "pl_fZLvDlv6iZTkm8l_tHFpzTDVFGCiSJEs3eu0zAX6u36AV36P_En8K7JPScRWM"
|
||||
)
|
||||
return t.NewViaMake("procps", version, t.NewPatchedSource(
|
||||
"procps", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("procps", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://gitlab.com/procps-ng/procps/-/archive/"+
|
||||
"v"+version+"/procps-v"+version+".tar.bz2",
|
||||
mustDecode(checksum),
|
||||
pkg.TarBzip2,
|
||||
), false,
|
||||
), &MakeAttr{
|
||||
Writable: true,
|
||||
ScriptEarly: `
|
||||
cd /usr/src/procps
|
||||
./autogen.sh
|
||||
`,
|
||||
), nil, &MakeHelper{
|
||||
Generate: "./autogen.sh",
|
||||
Configure: [][2]string{
|
||||
{"without-ncurses"},
|
||||
},
|
||||
},
|
||||
t.Load(M4),
|
||||
t.Load(Perl),
|
||||
t.Load(Autoconf),
|
||||
t.Load(Automake),
|
||||
t.Load(Gettext),
|
||||
t.Load(Libtool),
|
||||
t.Load(Gzip),
|
||||
t.Load(PkgConfig),
|
||||
M4,
|
||||
Perl,
|
||||
Autoconf,
|
||||
Automake,
|
||||
Gettext,
|
||||
Libtool,
|
||||
|
||||
Gzip,
|
||||
PkgConfig,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Procps] = Toolchain.newProcps }
|
||||
|
||||
@@ -12,14 +12,15 @@ func (t Toolchain) newPython() pkg.Artifact {
|
||||
version = "3.14.2"
|
||||
checksum = "7nZunVMGj0viB-CnxpcRego2C90X5wFsMTgsoewd5z-KSZY2zLuqaBwG-14zmKys"
|
||||
)
|
||||
return t.NewViaMake("python", version, t.NewPatchedSource("python", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("python", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://www.python.org/ftp/python/"+version+
|
||||
"/Python-"+version+".tgz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), false), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
// test_synopsis_sourceless assumes this is writable and checks __pycache__
|
||||
Writable: true,
|
||||
Chmod: true,
|
||||
|
||||
Env: []string{
|
||||
"EXTRATESTOPTS=-j0 -x " + strings.Join([]string{
|
||||
@@ -48,15 +49,16 @@ func (t Toolchain) newPython() pkg.Artifact {
|
||||
"LDFLAGS=-Wl,--dynamic-linker=/system/lib/" +
|
||||
"ld-musl-" + linuxArch() + ".so.1",
|
||||
},
|
||||
}, &MakeHelper{
|
||||
Check: []string{"test"},
|
||||
},
|
||||
t.Load(Zlib),
|
||||
t.Load(Libffi),
|
||||
Zlib,
|
||||
Libffi,
|
||||
|
||||
t.Load(PkgConfig),
|
||||
t.Load(OpenSSL),
|
||||
t.Load(Bzip2),
|
||||
t.Load(XZ),
|
||||
PkgConfig,
|
||||
OpenSSL,
|
||||
Bzip2,
|
||||
XZ,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Python] = Toolchain.newPython }
|
||||
|
||||
@@ -7,12 +7,13 @@ func (t Toolchain) newQEMU() pkg.Artifact {
|
||||
version = "10.2.1"
|
||||
checksum = "rjLTSgHJd3X3Vgpxrsus_ZZiaYLiNix1YhcHaGbLd_odYixwZjCcAIt8CVQPJGdZ"
|
||||
)
|
||||
return t.NewViaMake("qemu", version, t.NewPatchedSource(
|
||||
"qemu", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("qemu", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://download.qemu.org/qemu-"+version+".tar.bz2",
|
||||
mustDecode(checksum),
|
||||
pkg.TarBzip2,
|
||||
), false, [2]string{"disable-mcast-test", `diff --git a/tests/qtest/netdev-socket.c b/tests/qtest/netdev-socket.c
|
||||
), &PackageAttr{
|
||||
Patches: [][2]string{
|
||||
{"disable-mcast-test", `diff --git a/tests/qtest/netdev-socket.c b/tests/qtest/netdev-socket.c
|
||||
index b731af0ad9..b5cbed4801 100644
|
||||
--- a/tests/qtest/netdev-socket.c
|
||||
+++ b/tests/qtest/netdev-socket.c
|
||||
@@ -35,26 +36,28 @@ index b731af0ad9..b5cbed4801 100644
|
||||
#endif
|
||||
}
|
||||
`},
|
||||
), &MakeAttr{
|
||||
},
|
||||
|
||||
// configure script uses source as scratch space
|
||||
Writable: true,
|
||||
Chmod: true,
|
||||
|
||||
ScriptEarly: `
|
||||
# tests expect /var/tmp/ to be available
|
||||
mkdir -p /var/tmp/
|
||||
|
||||
# https://gitlab.com/qemu-project/qemu/-/issues/3145
|
||||
(cd /usr/src/qemu && sed -i \
|
||||
sed -i \
|
||||
's,Input/output error,I/O error,g' \
|
||||
tests/qemu-iotests/[0-9][0-9][0-9]* \
|
||||
tests/qemu-iotests/tests/copy-before-write \
|
||||
tests/qemu-iotests/tests/file-io-error.out &&
|
||||
tests/qemu-iotests/tests/file-io-error.out
|
||||
cat << EOF > tests/qemu-iotests/150
|
||||
#!/bin/sh
|
||||
_notrun 'appears to spuriously fail on zfs'
|
||||
EOF
|
||||
)
|
||||
`,
|
||||
}, &MakeHelper{
|
||||
Configure: [][2]string{
|
||||
{"disable-download"},
|
||||
{"disable-docs"},
|
||||
@@ -68,28 +71,28 @@ EOF
|
||||
"ppc64-softmmu"},
|
||||
},
|
||||
},
|
||||
t.Load(Bash),
|
||||
t.Load(Python),
|
||||
t.Load(Ninja),
|
||||
t.Load(Bzip2),
|
||||
t.Load(PkgConfig),
|
||||
t.Load(Diffutils),
|
||||
Bash,
|
||||
Python,
|
||||
Ninja,
|
||||
Bzip2,
|
||||
PkgConfig,
|
||||
Diffutils,
|
||||
|
||||
t.Load(OpenSSL),
|
||||
t.Load(Bzip2),
|
||||
t.Load(XZ),
|
||||
OpenSSL,
|
||||
Bzip2,
|
||||
XZ,
|
||||
|
||||
t.Load(Flex),
|
||||
t.Load(Bison),
|
||||
t.Load(M4),
|
||||
Flex,
|
||||
Bison,
|
||||
M4,
|
||||
|
||||
t.Load(PCRE2),
|
||||
t.Load(Libffi),
|
||||
t.Load(Zlib),
|
||||
t.Load(GLib),
|
||||
t.Load(Zstd),
|
||||
t.Load(DTC),
|
||||
t.Load(KernelHeaders),
|
||||
PCRE2,
|
||||
Libffi,
|
||||
Zlib,
|
||||
GLib,
|
||||
Zstd,
|
||||
DTC,
|
||||
KernelHeaders,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[QEMU] = Toolchain.newQEMU }
|
||||
|
||||
@@ -7,12 +7,14 @@ func (t Toolchain) newRsync() pkg.Artifact {
|
||||
version = "3.4.1"
|
||||
checksum = "VBlTsBWd9z3r2-ex7GkWeWxkUc5OrlgDzikAC0pK7ufTjAJ0MbmC_N04oSVTGPiv"
|
||||
)
|
||||
return t.NewViaMake("rsync", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("rsync", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://download.samba.org/pub/rsync/src/"+
|
||||
"rsync-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
Flag: TEarly,
|
||||
}, &MakeHelper{
|
||||
Configure: [][2]string{
|
||||
{"disable-openssl"},
|
||||
{"disable-xxhash"},
|
||||
@@ -22,10 +24,6 @@ func (t Toolchain) newRsync() pkg.Artifact {
|
||||
|
||||
// circular dependency
|
||||
SkipCheck: true,
|
||||
|
||||
Flag: TEarly,
|
||||
},
|
||||
t.Load(Gawk),
|
||||
)
|
||||
})
|
||||
}
|
||||
func init() { artifactsF[Rsync] = Toolchain.newRsync }
|
||||
|
||||
@@ -7,17 +7,16 @@ func (t Toolchain) newSquashfsTools() pkg.Artifact {
|
||||
version = "4.7.4"
|
||||
checksum = "pG0E_wkRJFS6bvPYF-hTKZT-cWnvo5BbIzCDZrJZVQDgJOx2Vc3ZfNSEV7Di7cSW"
|
||||
)
|
||||
return t.NewViaMake("squashfs-tools", version, t.NewPatchedSource(
|
||||
"squashfs-tools", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("squashfs-tools", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://github.com/plougher/squashfs-tools/releases/"+
|
||||
"download/"+version+"/squashfs-tools-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), false,
|
||||
), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
// uses source tree as scratch space
|
||||
Writable: true,
|
||||
SkipConfigure: true,
|
||||
InPlace: true,
|
||||
Chmod: true,
|
||||
EnterSource: true,
|
||||
|
||||
Env: []string{
|
||||
"CONFIG=1",
|
||||
@@ -27,15 +26,19 @@ func (t Toolchain) newSquashfsTools() pkg.Artifact {
|
||||
"COMP_DEFAULT=zstd",
|
||||
"USE_PREBUILT_MANPAGES=y",
|
||||
},
|
||||
ScriptEarly: "cd /usr/src/squashfs-tools/squashfs-tools",
|
||||
SkipCheck: true,
|
||||
ScriptInstall: "make INSTALL_PREFIX=/work/system install",
|
||||
},
|
||||
t.Load(Sed),
|
||||
}, &MakeHelper{
|
||||
|
||||
t.Load(Zstd),
|
||||
t.Load(Gzip),
|
||||
t.Load(Zlib),
|
||||
SkipConfigure: true,
|
||||
InPlace: true,
|
||||
|
||||
SkipCheck: true,
|
||||
Install: "make INSTALL_PREFIX=/work/system install",
|
||||
},
|
||||
Sed,
|
||||
|
||||
Zstd,
|
||||
Gzip,
|
||||
Zlib,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[SquashfsTools] = Toolchain.newSquashfsTools }
|
||||
|
||||
@@ -12,14 +12,12 @@ func (t Toolchain) newNSS() pkg.Artifact {
|
||||
version0 = "4_38_2"
|
||||
checksum0 = "25x2uJeQnOHIiq_zj17b4sYqKgeoU8-IsySUptoPcdHZ52PohFZfGuIisBreWzx0"
|
||||
)
|
||||
return t.NewViaMake("nss", version, t.NewPatchedSource(
|
||||
"nss", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("nss", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://github.com/nss-dev/nss/archive/refs/tags/"+
|
||||
"NSS_"+version+"_RTM.tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), false,
|
||||
), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
Paths: []pkg.ExecPath{
|
||||
pkg.Path(AbsUsrSrc.Append("nspr.zip"), false, pkg.NewHTTPGet(
|
||||
nil, "https://hg-edge.mozilla.org/projects/nspr/archive/"+
|
||||
@@ -28,16 +26,19 @@ func (t Toolchain) newNSS() pkg.Artifact {
|
||||
)),
|
||||
},
|
||||
|
||||
// uses source tree as scratch space
|
||||
Writable: true,
|
||||
OmitDefaults: true,
|
||||
SkipConfigure: true,
|
||||
InPlace: true,
|
||||
Chmod: true,
|
||||
|
||||
ScriptEarly: `
|
||||
unzip /usr/src/nspr.zip -d /usr/src
|
||||
mv '/usr/src/nspr-NSPR_` + version0 + `_RTM' /usr/src/nspr
|
||||
cd /usr/src/nss
|
||||
`,
|
||||
}, &MakeHelper{
|
||||
OmitDefaults: true,
|
||||
SkipConfigure: true,
|
||||
InPlace: true,
|
||||
|
||||
SkipCheck: true,
|
||||
Make: []string{
|
||||
"CCC=clang++",
|
||||
@@ -46,7 +47,7 @@ cd /usr/src/nss
|
||||
"USE_64=1",
|
||||
"nss_build_all",
|
||||
},
|
||||
ScriptInstall: `
|
||||
Install: `
|
||||
mkdir -p /work/system/nss
|
||||
cp -r \
|
||||
/usr/src/dist/. \
|
||||
@@ -54,14 +55,14 @@ cp -r \
|
||||
/work/system/nss
|
||||
`,
|
||||
},
|
||||
t.Load(Perl),
|
||||
t.Load(Python),
|
||||
t.Load(Unzip),
|
||||
t.Load(Gawk),
|
||||
t.Load(Coreutils),
|
||||
Perl,
|
||||
Python,
|
||||
Unzip,
|
||||
Gawk,
|
||||
Coreutils,
|
||||
|
||||
t.Load(Zlib),
|
||||
t.Load(KernelHeaders),
|
||||
Zlib,
|
||||
KernelHeaders,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[NSS] = Toolchain.newNSS }
|
||||
|
||||
@@ -7,24 +7,27 @@ func (t Toolchain) newToybox(suffix, script string) pkg.Artifact {
|
||||
version = "0.8.13"
|
||||
checksum = "rZ1V1ATDte2WeQZanxLVoiRGdfPXhMlEo5-exX-e-ml8cGn9qOv0ABEUVZpX3wTI"
|
||||
)
|
||||
return t.NewViaMake("toybox"+suffix, version, pkg.NewHTTPGetTar(
|
||||
nil,
|
||||
"https://landley.net/toybox/downloads/toybox-"+version+".tar.gz",
|
||||
return t.NewPackage("toybox"+suffix, version, pkg.NewHTTPGetTar(
|
||||
nil, "https://landley.net/toybox/downloads/toybox-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
// uses source tree as scratch space
|
||||
Writable: true,
|
||||
EnterSource: true,
|
||||
|
||||
Flag: TEarly,
|
||||
}, &MakeHelper{
|
||||
OmitDefaults: true,
|
||||
InPlace: true,
|
||||
SkipConfigure: true,
|
||||
|
||||
ScriptEarly: `
|
||||
ScriptMakeEarly: `
|
||||
LDFLAGS="${LDFLAGS:-''} -static"
|
||||
|
||||
chmod +w /bin/
|
||||
ln -rs "$(which bash)" /bin/ || true
|
||||
|
||||
cd /usr/src/toybox` + suffix + `
|
||||
chmod +w kconfig tests
|
||||
rm \
|
||||
tests/du.test \
|
||||
@@ -37,25 +40,22 @@ make defconfig
|
||||
sed -i \
|
||||
's/^CONFIG_TOYBOX_ZHELP=y$/CONFIG_TOYBOX_ZHELP=0/' \
|
||||
.config
|
||||
`,
|
||||
ScriptConfigured: script,
|
||||
` + script,
|
||||
SkipCheck: t.isStage0(),
|
||||
Check: []string{
|
||||
"USER=cure",
|
||||
"tests",
|
||||
},
|
||||
ScriptInstall: "PREFIX=/work/system/bin make install_flat",
|
||||
Install: "PREFIX=/work/system/bin make install_flat",
|
||||
Script: `
|
||||
mkdir -p /work/usr/bin
|
||||
ln -s ../../system/bin/env /work/usr/bin
|
||||
`,
|
||||
|
||||
Flag: TEarly,
|
||||
},
|
||||
t.Load(Bash),
|
||||
t.Load(Gzip),
|
||||
Bash,
|
||||
Gzip,
|
||||
|
||||
t.Load(KernelHeaders),
|
||||
KernelHeaders,
|
||||
)
|
||||
}
|
||||
func init() {
|
||||
|
||||
@@ -11,17 +11,17 @@ func (t Toolchain) newUtilLinux() pkg.Artifact {
|
||||
version = "2.41.3"
|
||||
checksum = "gPTd5JJ2ho_Rd0qainuogcLiiWwKSXEZPXN3yCCRl0m0KBgMaqwFuMjYgu9z8zCH"
|
||||
)
|
||||
return t.NewViaMake("util-linux", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("util-linux", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://www.kernel.org/pub/linux/utils/util-linux/"+
|
||||
"v"+strings.Join(strings.SplitN(version, ".", 3)[:2], ".")+
|
||||
"/util-linux-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
), &PackageAttr{
|
||||
ScriptEarly: `
|
||||
ln -s ../system/bin/bash /bin/
|
||||
`,
|
||||
|
||||
}, &MakeHelper{
|
||||
Configure: [][2]string{
|
||||
{"disable-use-tty-group"},
|
||||
{"disable-makeinstall-setuid"},
|
||||
@@ -41,9 +41,9 @@ ln -s ../system/bin/bash /bin/
|
||||
// Don't execute on production system!
|
||||
SkipCheck: true,
|
||||
},
|
||||
t.Load(Bash),
|
||||
Bash,
|
||||
|
||||
t.Load(KernelHeaders),
|
||||
KernelHeaders,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[UtilLinux] = Toolchain.newUtilLinux }
|
||||
|
||||
@@ -7,12 +7,12 @@ func (t Toolchain) newUtilMacros() pkg.Artifact {
|
||||
version = "1.17"
|
||||
checksum = "vYPO4Qq3B_WGcsBjG0-lfwZ6DZ7ayyrOLqfDrVOgTDcyLChuMGOAAVAa_UXLu5tD"
|
||||
)
|
||||
return t.NewViaMake("util-macros", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("util-macros", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://www.x.org/releases/X11R7.7/src/util/"+
|
||||
"util-macros-"+version+".tar.bz2",
|
||||
mustDecode(checksum),
|
||||
pkg.TarBzip2,
|
||||
), nil)
|
||||
), nil, (*MakeHelper)(nil))
|
||||
}
|
||||
func init() { artifactsF[utilMacros] = Toolchain.newUtilMacros }
|
||||
|
||||
@@ -21,27 +21,22 @@ func (t Toolchain) newXproto() pkg.Artifact {
|
||||
version = "7.0.23"
|
||||
checksum = "goxwWxV0jZ_3pNczXFltZWHAhq92x-aEreUGyp5Ns8dBOoOmgbpeNIu1nv0Zx07z"
|
||||
)
|
||||
return t.NewViaMake("xproto", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("xproto", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://www.x.org/releases/X11R7.7/src/proto/"+
|
||||
"xproto-"+version+".tar.bz2",
|
||||
mustDecode(checksum),
|
||||
pkg.TarBzip2,
|
||||
), &MakeAttr{
|
||||
Writable: true,
|
||||
|
||||
), nil, &MakeHelper{
|
||||
// ancient configure script
|
||||
ScriptEarly: `
|
||||
cd /usr/src/xproto
|
||||
autoreconf -if
|
||||
`,
|
||||
Generate: "autoreconf -if",
|
||||
},
|
||||
t.Load(M4),
|
||||
t.Load(Perl),
|
||||
t.Load(Autoconf),
|
||||
t.Load(Automake),
|
||||
t.Load(PkgConfig),
|
||||
M4,
|
||||
Perl,
|
||||
Autoconf,
|
||||
Automake,
|
||||
PkgConfig,
|
||||
|
||||
t.Load(utilMacros),
|
||||
utilMacros,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[Xproto] = Toolchain.newXproto }
|
||||
@@ -51,29 +46,24 @@ func (t Toolchain) newLibXau() pkg.Artifact {
|
||||
version = "1.0.7"
|
||||
checksum = "bm768RoZZnHRe9VjNU1Dw3BhfE60DyS9D_bgSR-JLkEEyUWT_Hb_lQripxrXto8j"
|
||||
)
|
||||
return t.NewViaMake("libXau", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("libXau", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://www.x.org/releases/X11R7.7/src/lib/"+
|
||||
"libXau-"+version+".tar.bz2",
|
||||
mustDecode(checksum),
|
||||
pkg.TarBzip2,
|
||||
), &MakeAttr{
|
||||
Writable: true,
|
||||
|
||||
), nil, &MakeHelper{
|
||||
// ancient configure script
|
||||
ScriptEarly: `
|
||||
cd /usr/src/libXau
|
||||
autoreconf -if
|
||||
`,
|
||||
Generate: "autoreconf -if",
|
||||
},
|
||||
t.Load(M4),
|
||||
t.Load(Perl),
|
||||
t.Load(Autoconf),
|
||||
t.Load(Automake),
|
||||
t.Load(Libtool),
|
||||
t.Load(PkgConfig),
|
||||
M4,
|
||||
Perl,
|
||||
Autoconf,
|
||||
Automake,
|
||||
Libtool,
|
||||
PkgConfig,
|
||||
|
||||
t.Load(utilMacros),
|
||||
t.Load(Xproto),
|
||||
utilMacros,
|
||||
Xproto,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[LibXau] = Toolchain.newLibXau }
|
||||
|
||||
@@ -7,12 +7,12 @@ func (t Toolchain) newXCBProto() pkg.Artifact {
|
||||
version = "1.17.0"
|
||||
checksum = "_NtbKaJ_iyT7XiJz25mXQ7y-niTzE8sHPvLXZPcqtNoV_-vTzqkezJ8Hp2U1enCv"
|
||||
)
|
||||
return t.NewViaMake("xcb-proto", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("xcb-proto", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://xcb.freedesktop.org/dist/xcb-proto-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), nil,
|
||||
t.Load(Python),
|
||||
), nil, (*MakeHelper)(nil),
|
||||
Python,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[XCBProto] = Toolchain.newXCBProto }
|
||||
@@ -22,17 +22,17 @@ func (t Toolchain) newXCB() pkg.Artifact {
|
||||
version = "1.17.0"
|
||||
checksum = "hjjsc79LpWM_hZjNWbDDS6qRQUXREjjekS6UbUsDq-RR1_AjgNDxhRvZf-1_kzDd"
|
||||
)
|
||||
return t.NewViaMake("xcb", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("xcb", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://xcb.freedesktop.org/dist/libxcb-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), nil,
|
||||
t.Load(Python),
|
||||
t.Load(PkgConfig),
|
||||
), nil, (*MakeHelper)(nil),
|
||||
Python,
|
||||
PkgConfig,
|
||||
|
||||
t.Load(XCBProto),
|
||||
t.Load(Xproto),
|
||||
t.Load(LibXau),
|
||||
XCBProto,
|
||||
Xproto,
|
||||
LibXau,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[XCB] = Toolchain.newXCB }
|
||||
|
||||
@@ -7,13 +7,13 @@ func (t Toolchain) newXZ() pkg.Artifact {
|
||||
version = "5.8.2"
|
||||
checksum = "rXT-XCp9R2q6cXqJ5qenp0cmGPfiENQiU3BWtUVeVgArfRmSsISeUJgvCR3zI0a0"
|
||||
)
|
||||
return t.NewViaMake("xz", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("xz", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://github.com/tukaani-project/xz/releases/download/"+
|
||||
"v"+version+"/xz-"+version+".tar.bz2",
|
||||
mustDecode(checksum),
|
||||
pkg.TarBzip2,
|
||||
), nil,
|
||||
t.Load(Diffutils),
|
||||
), nil, (*MakeHelper)(nil),
|
||||
Diffutils,
|
||||
)
|
||||
}
|
||||
func init() { artifactsF[XZ] = Toolchain.newXZ }
|
||||
|
||||
@@ -7,15 +7,17 @@ func (t Toolchain) newZlib() pkg.Artifact {
|
||||
version = "1.3.1"
|
||||
checksum = "E-eIpNzE8oJ5DsqH4UuA_0GDKuQF5csqI8ooDx2w7Vx-woJ2mb-YtSbEyIMN44mH"
|
||||
)
|
||||
return t.NewViaMake("zlib", version, pkg.NewHTTPGetTar(
|
||||
return t.NewPackage("zlib", version, pkg.NewHTTPGetTar(
|
||||
nil, "https://zlib.net/zlib-"+version+".tar.gz",
|
||||
mustDecode(checksum),
|
||||
pkg.TarGzip,
|
||||
), &MakeAttr{
|
||||
OmitDefaults: true,
|
||||
), &PackageAttr{
|
||||
Env: []string{
|
||||
"CC=clang -fPIC",
|
||||
},
|
||||
}, &MakeHelper{
|
||||
OmitDefaults: true,
|
||||
|
||||
Host: `""`,
|
||||
Build: `""`,
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user