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

This also updates all affected artifacts to use new behaviour.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-03-01 23:54:40 +09:00
parent 9deaf853f0
commit cc60e0d15d
41 changed files with 698 additions and 740 deletions

View File

@@ -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(
nil, "https://ftpmirror.gnu.org/gnu/bc/bc-"+version+".tar.gz",
mustDecode(checksum),
pkg.TarGzip,
), false,
), &MakeAttr{
return t.NewPackage("bc", version, pkg.NewHTTPGetTar(
nil, "https://ftpmirror.gnu.org/gnu/bc/bc-"+version+".tar.gz",
mustDecode(checksum),
pkg.TarGzip,
), &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(
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
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,
), &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 }