forked from rosa/hakurei
internal/rosa: migrate GNU software
These are quite trivial, so migrate them in one pass. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
@@ -42,38 +42,6 @@ func skipGNUTests(tests ...int) string {
|
||||
return buf.String()
|
||||
}
|
||||
|
||||
func (t Toolchain) newM4() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.4.21"
|
||||
checksum = "pPa6YOo722Jw80l1OsH1tnUaklnPFjFT-bxGw5iAVrZTm1P8FQaWao_NXop46-pm"
|
||||
)
|
||||
return t.NewPackage("m4", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/m4/m4-"+version+".tar.bz2",
|
||||
checksum,
|
||||
pkg.TarBzip2,
|
||||
), &PackageAttr{
|
||||
Writable: true,
|
||||
ScriptEarly: `
|
||||
chmod +w tests/test-c32ispunct.sh && echo '#!/bin/sh' > tests/test-c32ispunct.sh
|
||||
`,
|
||||
}, (*MakeHelper)(nil),
|
||||
Diffutils,
|
||||
|
||||
KernelHeaders,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: Toolchain.newM4,
|
||||
|
||||
Name: "m4",
|
||||
Description: "a macro processor with GNU extensions",
|
||||
Website: "https://www.gnu.org/software/m4/",
|
||||
|
||||
ID: 1871,
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newBison() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "3.8.2"
|
||||
@@ -109,705 +77,6 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newAutoconf() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.73"
|
||||
checksum = "yGabDTeOfaCUB0JX-h3REYLYzMzvpDwFmFFzHNR7QilChCUNE4hR6q7nma4viDYg"
|
||||
)
|
||||
return t.NewPackage("autoconf", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/autoconf/autoconf-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
), &PackageAttr{
|
||||
Flag: TExclusive,
|
||||
}, &MakeHelper{
|
||||
Check: []string{
|
||||
"TESTSUITEFLAGS=" + jobsFlagE,
|
||||
"check",
|
||||
},
|
||||
},
|
||||
M4,
|
||||
Perl,
|
||||
Bash,
|
||||
Diffutils,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: Toolchain.newAutoconf,
|
||||
|
||||
Name: "autoconf",
|
||||
Description: "M4 macros to produce self-contained configure script",
|
||||
Website: "https://www.gnu.org/software/autoconf/",
|
||||
|
||||
Dependencies: P{
|
||||
M4,
|
||||
Perl,
|
||||
},
|
||||
|
||||
ID: 141,
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newAutomake() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.18.1"
|
||||
checksum = "FjvLG_GdQP7cThTZJLDMxYpRcKdpAVG-YDs1Fj1yaHlSdh_Kx6nRGN14E0r_BjcG"
|
||||
)
|
||||
return t.NewPackage("automake", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/automake/automake-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
), &PackageAttr{
|
||||
Writable: true,
|
||||
ScriptEarly: `
|
||||
test_disable() { chmod +w "$2" && echo "$1" > "$2"; }
|
||||
|
||||
test_disable '#!/bin/sh' t/objcxx-minidemo.sh
|
||||
test_disable '#!/bin/sh' t/objcxx-deps.sh
|
||||
|
||||
test_disable '#!/bin/sh' t/dist-no-built-sources.sh
|
||||
test_disable '#!/bin/sh' t/distname.sh
|
||||
test_disable '#!/bin/sh' t/pr9.sh
|
||||
`,
|
||||
}, (*MakeHelper)(nil),
|
||||
Grep,
|
||||
Gzip,
|
||||
Autoconf,
|
||||
Diffutils,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: Toolchain.newAutomake,
|
||||
|
||||
Name: "automake",
|
||||
Description: "a tool for automatically generating Makefile.in files",
|
||||
Website: "https://www.gnu.org/software/automake/",
|
||||
|
||||
Dependencies: P{
|
||||
Autoconf,
|
||||
},
|
||||
|
||||
ID: 144,
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibtool() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.5.4"
|
||||
checksum = "pa6LSrQggh8mSJHQfwGjysAApmZlGJt8wif2cCLzqAAa2jpsTY0jZ-6stS3BWZ2Q"
|
||||
)
|
||||
return t.NewPackage("libtool", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/libtool/libtool-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
), nil, &MakeHelper{
|
||||
// _Z2a2c: symbol not found
|
||||
SkipCheck: t.stage.isStage0(),
|
||||
|
||||
Check: []string{
|
||||
"TESTSUITEFLAGS=" + jobsFlagE,
|
||||
"check",
|
||||
},
|
||||
},
|
||||
M4,
|
||||
Diffutils,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: Toolchain.newLibtool,
|
||||
|
||||
Name: "libtool",
|
||||
Description: "a generic library support script",
|
||||
Website: "https://www.gnu.org/software/libtool/",
|
||||
|
||||
ID: 1741,
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newGzip() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.14"
|
||||
checksum = "NWhjUavnNfTDFkZJyAUonL9aCOak8GVajWX2OMlzpFnuI0ErpBFyj88mz2xSjz0q"
|
||||
)
|
||||
return t.NewPackage("gzip", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/gzip/gzip-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
), nil, &MakeHelper{
|
||||
// dependency loop
|
||||
SkipCheck: true,
|
||||
}), version
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: Toolchain.newGzip,
|
||||
|
||||
Name: "gzip",
|
||||
Description: "a popular data compression program",
|
||||
Website: "https://www.gnu.org/software/gzip/",
|
||||
|
||||
ID: 1290,
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newGettext() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.0"
|
||||
checksum = "3MasKeEdPeFEgWgzsBKk7JqWqql1wEMbgPmzAfs-mluyokoW0N8oQVxPQoOnSdgC"
|
||||
)
|
||||
return t.NewPackage("gettext", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/gettext/gettext-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
), &PackageAttr{
|
||||
Writable: true,
|
||||
ScriptEarly: `
|
||||
test_disable() { chmod +w "$2" && echo "$1" > "$2"; }
|
||||
|
||||
test_disable '#!/bin/sh' gettext-tools/tests/msgcat-22
|
||||
test_disable '#!/bin/sh' gettext-tools/tests/msgconv-2
|
||||
test_disable '#!/bin/sh' gettext-tools/tests/msgconv-8
|
||||
test_disable '#!/bin/sh' gettext-tools/tests/xgettext-python-3
|
||||
test_disable '#!/bin/sh' gettext-tools/tests/msgmerge-compendium-6
|
||||
test_disable '#!/bin/sh' gettext-tools/tests/gettextpo-1
|
||||
test_disable '#!/bin/sh' gettext-tools/tests/format-c-5
|
||||
test_disable '#!/bin/sh' gettext-tools/gnulib-tests/test-c32ispunct.sh
|
||||
test_disable 'int main(){return 0;}' gettext-tools/gnulib-tests/test-stdcountof-h.c
|
||||
|
||||
touch gettext-tools/autotools/archive.dir.tar
|
||||
`,
|
||||
}, (*MakeHelper)(nil),
|
||||
Diffutils,
|
||||
Gzip,
|
||||
Sed,
|
||||
|
||||
KernelHeaders,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: Toolchain.newGettext,
|
||||
|
||||
Name: "gettext",
|
||||
Description: "tools for producing multi-lingual messages",
|
||||
Website: "https://www.gnu.org/software/gettext/",
|
||||
|
||||
ID: 898,
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newDiffutils() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "3.12"
|
||||
checksum = "9J5VAq5oA7eqwzS1Yvw-l3G5o-TccUrNQR3PvyB_lgdryOFAfxtvQfKfhdpquE44"
|
||||
)
|
||||
return t.NewPackage("diffutils", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/diffutils/diffutils-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
), &PackageAttr{
|
||||
Writable: true,
|
||||
ScriptEarly: `
|
||||
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
|
||||
test_disable '#!/bin/sh' tests/cmp
|
||||
`,
|
||||
Flag: TEarly,
|
||||
}, (*MakeHelper)(nil)), version
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: Toolchain.newDiffutils,
|
||||
|
||||
Name: "diffutils",
|
||||
Description: "several programs related to finding differences between files",
|
||||
Website: "https://www.gnu.org/software/diffutils/",
|
||||
|
||||
ID: 436,
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newPatch() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "2.8"
|
||||
checksum = "MA0BQc662i8QYBD-DdGgyyfTwaeALZ1K0yusV9rAmNiIsQdX-69YC4t9JEGXZkeR"
|
||||
)
|
||||
return t.NewPackage("patch", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/patch/patch-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
), &PackageAttr{
|
||||
Writable: true,
|
||||
ScriptEarly: `
|
||||
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)), version
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: Toolchain.newPatch,
|
||||
|
||||
Name: "patch",
|
||||
Description: "a program to apply diff output to files",
|
||||
Website: "https://savannah.gnu.org/projects/patch/",
|
||||
|
||||
ID: 2597,
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newBash() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "5.3"
|
||||
checksum = "4LQ_GRoB_ko-Ih8QPf_xRKA02xAm_TOxQgcJLmFDT6udUPxTAWrsj-ZNeuTusyDq"
|
||||
)
|
||||
return t.NewPackage("bash", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/bash/bash-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
), &PackageAttr{
|
||||
Flag: TEarly,
|
||||
}, &MakeHelper{
|
||||
Script: "ln -s bash /work/system/bin/sh\n",
|
||||
Configure: []KV{
|
||||
{"without-bash-malloc"},
|
||||
},
|
||||
}), version
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: Toolchain.newBash,
|
||||
|
||||
Name: "bash",
|
||||
Description: "the Bourne Again SHell",
|
||||
Website: "https://www.gnu.org/software/bash/",
|
||||
|
||||
ID: 166,
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newCoreutils() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "9.11"
|
||||
checksum = "t8UMed5wpFEoC56aa42_yidfOAaRGzOfj7MRtQkkqgGbpXiskNA8bd-EmVSQkZie"
|
||||
)
|
||||
return t.NewPackage("coreutils", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/coreutils/coreutils-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
), &PackageAttr{
|
||||
Writable: true,
|
||||
ScriptEarly: `
|
||||
test_disable() { chmod +w "$2" && echo "$1" > "$2"; }
|
||||
|
||||
test_disable '#!/bin/sh' gnulib-tests/test-c32ispunct.sh
|
||||
test_disable '#!/bin/sh' tests/ls/hyperlink.sh
|
||||
test_disable '#!/bin/sh' tests/misc/user.sh
|
||||
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: []KV{
|
||||
{"enable-single-binary", "symlinks"},
|
||||
},
|
||||
},
|
||||
Perl,
|
||||
Bash,
|
||||
|
||||
KernelHeaders,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: Toolchain.newCoreutils,
|
||||
|
||||
Name: "coreutils",
|
||||
Description: "the basic file, shell and text manipulation utilities",
|
||||
Website: "https://www.gnu.org/software/coreutils/",
|
||||
|
||||
ID: 343,
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newTexinfo() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "7.3"
|
||||
checksum = "RRmC8Xwdof7JuZJeWGAQ_GeASIHAuJFQMbNONXBz5InooKIQGmqmWRjGNGEr5n4-"
|
||||
)
|
||||
return t.NewPackage("texinfo", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/texinfo/texinfo-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
), nil, &MakeHelper{
|
||||
// nonstandard glibc extension
|
||||
SkipCheck: true,
|
||||
},
|
||||
Perl,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: Toolchain.newTexinfo,
|
||||
|
||||
Name: "texinfo",
|
||||
Description: "the GNU square-wheel-reinvension of man pages",
|
||||
Website: "https://www.gnu.org/software/texinfo/",
|
||||
|
||||
Dependencies: P{
|
||||
Perl,
|
||||
Gawk,
|
||||
},
|
||||
|
||||
ID: 4958,
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newGperf() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "3.3"
|
||||
checksum = "RtIy9pPb_Bb8-31J2Nw-rRGso2JlS-lDlVhuNYhqR7Nt4xM_nObznxAlBMnarJv7"
|
||||
)
|
||||
return t.NewPackage("gperf", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gperf/gperf-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
), nil, (*MakeHelper)(nil),
|
||||
Diffutils,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: Toolchain.newGperf,
|
||||
|
||||
Name: "gperf",
|
||||
Description: "a perfect hash function generator",
|
||||
Website: "https://www.gnu.org/software/gperf/",
|
||||
|
||||
ID: 1237,
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newGawk() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "5.4.0"
|
||||
checksum = "m0RkIolC-PI7EY5q8pcx5Y-0twlIW0Yp3wXXmV-QaHorSdf8BhZ7kW9F8iWomz0C"
|
||||
)
|
||||
return t.NewPackage("gawk", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/gawk/gawk-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
), &PackageAttr{
|
||||
Flag: TEarly,
|
||||
}, &MakeHelper{
|
||||
// dependency loop
|
||||
SkipCheck: true,
|
||||
}), version
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: Toolchain.newGawk,
|
||||
|
||||
Name: "gawk",
|
||||
Description: "an implementation of awk with GNU extensions",
|
||||
Website: "https://www.gnu.org/software/gawk/",
|
||||
|
||||
ID: 868,
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newGrep() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "3.12"
|
||||
checksum = "qMB4RjaPNRRYsxix6YOrjE8gyAT1zVSTy4nW4wKW9fqa0CHYAuWgPwDTirENzm_1"
|
||||
)
|
||||
return t.NewPackage("grep", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/grep/grep-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
), &PackageAttr{
|
||||
Writable: true,
|
||||
ScriptEarly: `
|
||||
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
|
||||
`,
|
||||
}, (*MakeHelper)(nil),
|
||||
Diffutils,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: Toolchain.newGrep,
|
||||
|
||||
Name: "grep",
|
||||
Description: "searches input for lines containing a match to a pattern",
|
||||
Website: "https://www.gnu.org/software/grep/",
|
||||
|
||||
ID: 1251,
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newFindutils() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "4.10.0"
|
||||
checksum = "ZXABdNBQXL7QjTygynRRTdXYWxQKZ0Wn5eMd3NUnxR0xaS0u0VfcKoTlbo50zxv6"
|
||||
)
|
||||
return t.NewPackage("findutils", version, pkg.NewHTTPGet(
|
||||
nil, "https://ftpmirror.gnu.org/gnu/findutils/findutils-"+version+".tar.xz",
|
||||
mustDecode(checksum),
|
||||
), &PackageAttr{
|
||||
ScriptEarly: `
|
||||
echo '#!/bin/sh' > gnulib-tests/test-c32ispunct.sh
|
||||
echo 'int main(){return 0;}' > tests/xargs/test-sigusr.c
|
||||
`,
|
||||
}, (*MakeHelper)(nil),
|
||||
Diffutils,
|
||||
XZ,
|
||||
Sed,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: Toolchain.newFindutils,
|
||||
|
||||
Name: "findutils",
|
||||
Description: "the basic directory searching utilities",
|
||||
Website: "https://www.gnu.org/software/findutils/",
|
||||
|
||||
ID: 812,
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newBC() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.08.2"
|
||||
checksum = "8h6f3hjV80XiFs6v9HOPF2KEyg1kuOgn5eeFdVspV05ODBVQss-ey5glc8AmneLy"
|
||||
)
|
||||
return t.NewPackage("bc", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/bc/bc-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
), &PackageAttr{
|
||||
// source expected to be writable
|
||||
Writable: true,
|
||||
Chmod: true,
|
||||
}, (*MakeHelper)(nil),
|
||||
Texinfo,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: Toolchain.newBC,
|
||||
|
||||
Name: "bc",
|
||||
Description: "an arbitrary precision numeric processing language",
|
||||
Website: "https://www.gnu.org/software/bc/",
|
||||
|
||||
ID: 170,
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibiconv() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.19"
|
||||
checksum = "UibB6E23y4MksNqYmCCrA3zTFO6vJugD1DEDqqWYFZNuBsUWMVMcncb_5pPAr88x"
|
||||
)
|
||||
return t.NewPackage("libiconv", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/libiconv/libiconv-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
), nil, (*MakeHelper)(nil)), version
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: Toolchain.newLibiconv,
|
||||
|
||||
Name: "libiconv",
|
||||
Description: "iconv implementation independent of glibc",
|
||||
Website: "https://www.gnu.org/software/libiconv/",
|
||||
|
||||
ID: 10656,
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newTar() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.35"
|
||||
checksum = "zSaoSlVUDW0dSfm4sbL4FrXLFR8U40Fh3zY5DWhR5NCIJ6GjU6Kc4VZo2-ZqpBRA"
|
||||
)
|
||||
return t.NewPackage("tar", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/tar/tar-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
), nil, &MakeHelper{
|
||||
Configure: []KV{
|
||||
{"disable-acl"},
|
||||
{"without-posix-acls"},
|
||||
{"without-xattrs"},
|
||||
},
|
||||
Check: []string{
|
||||
// very expensive
|
||||
"TARTEST_SKIP_LARGE_FILES=1",
|
||||
|
||||
"TESTSUITEFLAGS=" + jobsFlagE,
|
||||
"check",
|
||||
},
|
||||
},
|
||||
Diffutils,
|
||||
|
||||
Gzip,
|
||||
Bzip2,
|
||||
Zstd,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: Toolchain.newTar,
|
||||
|
||||
Name: "tar",
|
||||
Description: "provides the ability to create tar archives",
|
||||
Website: "https://www.gnu.org/software/tar/",
|
||||
|
||||
ID: 4939,
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newParallel() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "20260422"
|
||||
checksum = "eTsepxgqhXpMEhPd55qh-W5y4vjKn0x9TD2mzbJCNZYtFf4lT4Wzoqr74HGJYBEH"
|
||||
)
|
||||
return t.NewPackage("parallel", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/parallel/parallel-"+version+".tar.bz2",
|
||||
checksum,
|
||||
pkg.TarBzip2,
|
||||
), &PackageAttr{
|
||||
ScriptEarly: `
|
||||
ln -s ../system/bin/bash /bin/
|
||||
`,
|
||||
}, (*MakeHelper)(nil),
|
||||
Perl,
|
||||
Bash,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: Toolchain.newParallel,
|
||||
|
||||
Name: "parallel",
|
||||
Description: "a shell tool for executing jobs in parallel using one or more computers",
|
||||
Website: "https://www.gnu.org/software/parallel/",
|
||||
|
||||
Dependencies: P{
|
||||
Perl,
|
||||
},
|
||||
|
||||
ID: 5448,
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibunistring() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.4.2"
|
||||
checksum = "iW9BbfLoVlXjWoLTZ4AekQSu4cFBnLcZ4W8OHWbv0AhJNgD3j65_zqaLMzFKylg2"
|
||||
)
|
||||
return t.NewPackage("libunistring", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/libunistring/libunistring-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
), &PackageAttr{
|
||||
Writable: true,
|
||||
ScriptEarly: `
|
||||
test_disable() { chmod +w "$2" && echo "$1" > "$2"; }
|
||||
|
||||
test_disable '#!/bin/sh' tests/test-c32ispunct.sh
|
||||
test_disable 'int main(){return 0;}' tests/test-c32ispunct.c
|
||||
`,
|
||||
}, (*MakeHelper)(nil),
|
||||
Diffutils,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: Toolchain.newLibunistring,
|
||||
|
||||
Name: "libunistring",
|
||||
Description: "provides functions for manipulating Unicode strings",
|
||||
Website: "https://www.gnu.org/software/libunistring/",
|
||||
|
||||
ID: 1747,
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newLibtasn1() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "4.21.0"
|
||||
checksum = "9DYI3UYbfYLy8JsKUcY6f0irskbfL0fHZA91Q-JEOA3kiUwpodyjemRsYRjUpjuq"
|
||||
)
|
||||
return t.NewPackage("libtasn1", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/libtasn1/libtasn1-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
), nil, (*MakeHelper)(nil)), version
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: Toolchain.newLibtasn1,
|
||||
|
||||
Name: "libtasn1",
|
||||
Description: "the ASN.1 library used by GnuTLS, p11-kit and some other packages",
|
||||
Website: "https://www.gnu.org/software/libtasn1/",
|
||||
|
||||
ID: 1734,
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newReadline() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "8.3"
|
||||
checksum = "r-lcGRJq_MvvBpOq47Z2Y1OI2iqrmtcqhTLVXR0xWo37ZpC2uT_md7gKq5o_qTMV"
|
||||
)
|
||||
return t.NewPackage("readline", version, newTar(
|
||||
"https://ftpmirror.gnu.org/gnu/readline/readline-"+version+".tar.gz",
|
||||
checksum,
|
||||
pkg.TarGzip,
|
||||
), nil, &MakeHelper{
|
||||
Configure: []KV{
|
||||
{"with-curses"},
|
||||
{"with-shared-termcap-library"},
|
||||
},
|
||||
},
|
||||
Ncurses,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: Toolchain.newReadline,
|
||||
|
||||
Name: "readline",
|
||||
Description: "provides a set of functions for use by applications that allow users to edit command lines as they are typed in",
|
||||
Website: "https://tiswww.cwru.edu/php/chet/readline/rltop.html",
|
||||
|
||||
Dependencies: P{
|
||||
Ncurses,
|
||||
},
|
||||
|
||||
ID: 4173,
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newGnuTLS() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "3.8.12"
|
||||
@@ -1014,105 +283,6 @@ func init() {
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newGMP() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "6.3.0"
|
||||
checksum = "yrgbgEDWKDdMWVHh7gPbVl56-sRtVVhfvv0M_LX7xMUUk_mvZ1QOJEAnt7g4i3k5"
|
||||
)
|
||||
return t.NewPackage("gmp", version, newTar(
|
||||
"https://gcc.gnu.org/pub/gcc/infrastructure/"+
|
||||
"gmp-"+version+".tar.bz2",
|
||||
checksum,
|
||||
pkg.TarBzip2,
|
||||
), &PackageAttr{
|
||||
Env: []string{
|
||||
"CC=cc",
|
||||
},
|
||||
}, (*MakeHelper)(nil),
|
||||
M4,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: Toolchain.newGMP,
|
||||
|
||||
Name: "gmp",
|
||||
Description: "a free library for arbitrary precision arithmetic",
|
||||
Website: "https://gmplib.org/",
|
||||
|
||||
ID: 1186,
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newMPFR() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "4.2.2"
|
||||
checksum = "wN3gx0zfIuCn9r3VAn_9bmfvAYILwrRfgBjYSD1IjLqyLrLojNN5vKyQuTE9kA-B"
|
||||
)
|
||||
return t.NewPackage("mpfr", version, newTar(
|
||||
"https://gcc.gnu.org/pub/gcc/infrastructure/"+
|
||||
"mpfr-"+version+".tar.bz2",
|
||||
checksum,
|
||||
pkg.TarBzip2,
|
||||
), nil, (*MakeHelper)(nil),
|
||||
GMP,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: Toolchain.newMPFR,
|
||||
|
||||
Name: "mpfr",
|
||||
Description: "a C library for multiple-precision floating-point computations",
|
||||
Website: "https://www.mpfr.org/",
|
||||
|
||||
Dependencies: P{
|
||||
GMP,
|
||||
},
|
||||
|
||||
ID: 2019,
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newMPC() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "1.4.1"
|
||||
checksum = "ZffaZyWkvIw0iPvRe5EJ7O-VvHtSkbbb3K_7SgPtK810NvGan7nbF0T5-6tozjQN"
|
||||
)
|
||||
return t.NewPackage("mpc", version, newFromGitLab(
|
||||
"gitlab.inria.fr",
|
||||
"mpc/mpc",
|
||||
version, checksum,
|
||||
), &PackageAttr{
|
||||
// does not find mpc-impl.h otherwise
|
||||
EnterSource: true,
|
||||
}, &MakeHelper{
|
||||
InPlace: true,
|
||||
Generate: "autoreconf -vfi",
|
||||
},
|
||||
Automake,
|
||||
Libtool,
|
||||
Texinfo,
|
||||
|
||||
MPFR,
|
||||
), version
|
||||
}
|
||||
func init() {
|
||||
native.MustRegister(&Artifact{
|
||||
f: Toolchain.newMPC,
|
||||
|
||||
Name: "mpc",
|
||||
Description: "a C library for the arithmetic of complex numbers",
|
||||
Website: "https://www.multiprecision.org/",
|
||||
|
||||
Dependencies: P{
|
||||
MPFR,
|
||||
},
|
||||
|
||||
ID: 1667,
|
||||
})
|
||||
}
|
||||
|
||||
func (t Toolchain) newGCC() (pkg.Artifact, string) {
|
||||
const (
|
||||
version = "16.1.0"
|
||||
|
||||
Reference in New Issue
Block a user