diff options
| author | Ophestra <cat@gensokyo.uk> | 2026-02-07 13:54:57 +0900 |
|---|---|---|
| committer | Ophestra <cat@gensokyo.uk> | 2026-02-07 13:55:40 +0900 |
| commit | bb3f60fc74433ee86728e6039bcb0e5f75bd8510 (patch) | |
| tree | 913c226724dd61a25b3aa0e3c01a4ddd495ecf09 | |
| parent | 697c91e04d992f62b0439fd292f6d4721ec628eb (diff) | |
internal/rosa/gnu: gmp, mpfr, mpc artifacts
Required by GCC.
Signed-off-by: Ophestra <cat@gensokyo.uk>
| -rw-r--r-- | internal/rosa/all.go | 6 | ||||
| -rw-r--r-- | internal/rosa/gnu.go | 53 |
2 files changed, 59 insertions, 0 deletions
diff --git a/internal/rosa/all.go b/internal/rosa/all.go index f600f061..cbf9814e 100644 --- a/internal/rosa/all.go +++ b/internal/rosa/all.go @@ -22,6 +22,7 @@ const ( Findutils Fuse Gawk + GMP Gettext Git Go @@ -41,6 +42,8 @@ const ( Libseccomp Libxml2 M4 + MPC + MPFR Make Meson Mksh @@ -110,6 +113,7 @@ func ResolveName(name string) (p PArtifact, ok bool) { "findutils": Findutils, "fuse": Fuse, "gawk": Gawk, + "gmp": GMP, "gettext": Gettext, "git": Git, "go": Go, @@ -129,6 +133,8 @@ func ResolveName(name string) (p PArtifact, ok bool) { "libgd": Libgd, "libtool": Libtool, "m4": M4, + "mpc": MPC, + "mpfr": MPFR, "make": Make, "meson": Meson, "mksh": Mksh, diff --git a/internal/rosa/gnu.go b/internal/rosa/gnu.go index 71f4b7d4..c006debb 100644 --- a/internal/rosa/gnu.go +++ b/internal/rosa/gnu.go @@ -350,3 +350,56 @@ echo 'int main(){return 0;}' > tests/xargs/test-sigusr.c ) } func init() { artifactsF[Findutils] = Toolchain.newFindutils } + +func (t Toolchain) newGMP() pkg.Artifact { + const ( + version = "6.3.0" + checksum = "yrgbgEDWKDdMWVHh7gPbVl56-sRtVVhfvv0M_LX7xMUUk_mvZ1QOJEAnt7g4i3k5" + ) + return t.NewViaMake("gmp", version, pkg.NewHTTPGetTar( + nil, "https://gcc.gnu.org/pub/gcc/infrastructure/"+ + "gmp-"+version+".tar.bz2", + mustDecode(checksum), + pkg.TarBzip2, + ), &MakeAttr{ + ScriptConfigured: ` +make "-j$(nproc)" +`, + }, + t.Load(M4), + ) +} +func init() { artifactsF[GMP] = Toolchain.newGMP } + +func (t Toolchain) newMPFR() pkg.Artifact { + const ( + version = "4.2.2" + checksum = "wN3gx0zfIuCn9r3VAn_9bmfvAYILwrRfgBjYSD1IjLqyLrLojNN5vKyQuTE9kA-B" + ) + return t.NewViaMake("mpfr", version, pkg.NewHTTPGetTar( + nil, "https://gcc.gnu.org/pub/gcc/infrastructure/"+ + "mpfr-"+version+".tar.bz2", + mustDecode(checksum), + pkg.TarBzip2, + ), nil, + t.Load(GMP), + ) +} +func init() { artifactsF[MPFR] = Toolchain.newMPFR } + +func (t Toolchain) newMPC() pkg.Artifact { + const ( + version = "1.3.1" + checksum = "o8r8K9R4x7PuRx0-JE3-bC5jZQrtxGV2nkB773aqJ3uaxOiBDCID1gKjPaaDxX4V" + ) + return t.NewViaMake("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), + ) +} +func init() { artifactsF[MPC] = Toolchain.newMPC } |
