diff --git a/cmd/mbf/main.go b/cmd/mbf/main.go index 2697492..1b35f67 100644 --- a/cmd/mbf/main.go +++ b/cmd/mbf/main.go @@ -174,6 +174,8 @@ func main() { p = rosa.Libxml2 case "libffi": p = rosa.Libffi + case "libgd": + p = rosa.Libgd case "m4": p = rosa.M4 case "make": diff --git a/internal/rosa/all.go b/internal/rosa/all.go index 330d25a..116dd1b 100644 --- a/internal/rosa/all.go +++ b/internal/rosa/all.go @@ -22,6 +22,7 @@ const ( KernelHeaders Libexpat Libffi + Libgd Libxml2 M4 Make diff --git a/internal/rosa/libgd.go b/internal/rosa/libgd.go new file mode 100644 index 0000000..330159a --- /dev/null +++ b/internal/rosa/libgd.go @@ -0,0 +1,32 @@ +package rosa + +import "hakurei.app/internal/pkg" + +func (t Toolchain) newLibgd() pkg.Artifact { + const ( + version = "2.3.3" + checksum = "8T-sh1_FJT9K9aajgxzh8ot6vWIF-xxjcKAHvTak9MgGUcsFfzP8cAvvv44u2r36" + ) + return t.New("libgd-"+version, []pkg.Artifact{ + t.Load(Make), + + t.Load(Zlib), + }, nil, []string{ + "TMPDIR=/dev/shm/gd", + }, ` +mkdir /dev/shm/gd + +cd "$(mktemp -d)" +/usr/src/libgd/configure \ + --prefix=/system \ + --build="${ROSA_TRIPLE}" +make "-j$(nproc)" check +make DESTDIR=/work install +`, pkg.Path(AbsUsrSrc.Append("libgd"), true, pkg.NewHTTPGetTar( + nil, "https://github.com/libgd/libgd/releases/download/"+ + "gd-"+version+"/libgd-"+version+".tar.gz", + mustDecode(checksum), + pkg.TarGzip, + ))) +} +func init() { artifactsF[Libgd] = Toolchain.newLibgd }