From bb3f60fc74433ee86728e6039bcb0e5f75bd8510 Mon Sep 17 00:00:00 2001 From: Ophestra Date: Sat, 7 Feb 2026 13:54:57 +0900 Subject: [PATCH] internal/rosa/gnu: gmp, mpfr, mpc artifacts Required by GCC. Signed-off-by: Ophestra --- internal/rosa/all.go | 6 +++++ internal/rosa/gnu.go | 53 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) diff --git a/internal/rosa/all.go b/internal/rosa/all.go index f600f06..cbf9814 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 71f4b7d..c006deb 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 }