diff --git a/cmd/mbf/main.go b/cmd/mbf/main.go index 61a78cb..43ae72c 100644 --- a/cmd/mbf/main.go +++ b/cmd/mbf/main.go @@ -168,6 +168,8 @@ func main() { p = rosa.Go case "kernel-headers": p = rosa.KernelHeaders + case "libexpat": + p = rosa.Libexpat case "libffi": p = rosa.Libffi case "m4": diff --git a/internal/rosa/all.go b/internal/rosa/all.go index 2401e58..76d4c3b 100644 --- a/internal/rosa/all.go +++ b/internal/rosa/all.go @@ -20,6 +20,7 @@ const ( Git Go KernelHeaders + Libexpat Libffi M4 Make diff --git a/internal/rosa/libexpat.go b/internal/rosa/libexpat.go new file mode 100644 index 0000000..e5317d8 --- /dev/null +++ b/internal/rosa/libexpat.go @@ -0,0 +1,33 @@ +package rosa + +import ( + "strings" + + "hakurei.app/internal/pkg" +) + +func (t Toolchain) newLibexpat() pkg.Artifact { + const ( + version = "2.7.3" + checksum = "GmkoD23nRi9cMT0cgG1XRMrZWD82UcOMzkkvP1gkwSFWCBgeSXMuoLpa8-v8kxW-" + ) + return t.New("libexpat-"+version, []pkg.Artifact{ + t.Load(Make), + t.Load(Bash), + }, nil, nil, ` +cd "$(mktemp -d)" +/usr/src/libexpat/configure \ + --prefix=/system \ + --build="${ROSA_TRIPLE}" +make "-j$(nproc)" check +make DESTDIR=/work install +`, pkg.Path(AbsUsrSrc.Append("libexpat"), false, pkg.NewHTTPGetTar( + nil, + "https://github.com/libexpat/libexpat/releases/download/"+ + "R_"+strings.ReplaceAll(version, ".", "_")+"/"+ + "expat-"+version+".tar.bz2", + mustDecode(checksum), + pkg.TarBzip2, + ))) +} +func init() { artifactsF[Libexpat] = Toolchain.newLibexpat }