aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--internal/rosa/all.go6
-rw-r--r--internal/rosa/gnu.go53
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 }