diff --git a/cmd/mbf/main.go b/cmd/mbf/main.go index 04082eb..944fd75 100644 --- a/cmd/mbf/main.go +++ b/cmd/mbf/main.go @@ -148,6 +148,10 @@ func main() { } var p rosa.PArtifact switch args[0] { + case "acl": + p = rosa.ACL + case "attr": + p = rosa.Attr case "autoconf": p = rosa.Autoconf case "bash": diff --git a/internal/rosa/acl.go b/internal/rosa/acl.go new file mode 100644 index 0000000..ce03b1f --- /dev/null +++ b/internal/rosa/acl.go @@ -0,0 +1,91 @@ +package rosa + +import "hakurei.app/internal/pkg" + +func (t Toolchain) newAttr() pkg.Artifact { + const ( + version = "2.5.2" + checksum = "YWEphrz6vg1sUMmHHVr1CRo53pFXRhq_pjN-AlG8UgwZK1y6m7zuDhxqJhD0SV0l" + ) + return t.New("attr-"+version, []pkg.Artifact{ + t.Load(Make), + t.Load(Perl), + }, nil, nil, ` +cd /usr/src/attr +chmod +w tools +patch -p 1 << EOF +From 8a80d895dfd779373363c3a4b62ecce5a549efb2 Mon Sep 17 00:00:00 2001 +From: "Haelwenn (lanodan) Monnier" +Date: Sat, 30 Mar 2024 10:17:10 +0100 +Subject: tools/attr.c: Add missing libgen.h include for basename(3) + +Fixes compilation issue with musl and modern C99 compilers. + +See: https://bugs.gentoo.org/926294 +--- + tools/attr.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/tools/attr.c b/tools/attr.c +index f12e4af..6a3c1e9 100644 +--- a/tools/attr.c ++++ b/tools/attr.c +@@ -28,6 +28,7 @@ + #include + #include + #include ++#include + + #include + +-- +cgit v1.1 +EOF + +chmod +w test +sed -i 's/Operation not supported/Not supported/' test/attr.test +ln -s ../../system/bin/perl /usr/bin + +cd "$(mktemp -d)" +/usr/src/attr/configure \ + --prefix=/system \ + --build="${ROSA_TRIPLE}" \ + --enable-static +make "-j$(nproc)" check +make DESTDIR=/work install +`, pkg.Path(AbsUsrSrc.Append("attr"), true, pkg.NewHTTPGetTar( + nil, + "https://download.savannah.nongnu.org/releases/attr/"+ + "attr-"+version+".tar.gz", + mustDecode(checksum), + pkg.TarGzip, + ))) +} +func init() { artifactsF[Attr] = Toolchain.newAttr } + +func (t Toolchain) newACL() pkg.Artifact { + const ( + version = "2.3.2" + checksum = "-fY5nwH4K8ZHBCRXrzLdguPkqjKI6WIiGu4dBtrZ1o0t6AIU73w8wwJz_UyjIS0P" + ) + return t.New("acl-"+version, []pkg.Artifact{ + t.Load(Make), + + t.Load(Attr), + }, nil, nil, ` +cd "$(mktemp -d)" +/usr/src/acl/configure \ + --prefix=/system \ + --build="${ROSA_TRIPLE}" \ + --enable-static +make "-j$(nproc)" +make DESTDIR=/work install +`, pkg.Path(AbsUsrSrc.Append("acl"), true, pkg.NewHTTPGetTar( + nil, + "https://download.savannah.nongnu.org/releases/acl/"+ + "acl-"+version+".tar.gz", + mustDecode(checksum), + pkg.TarGzip, + ))) +} +func init() { artifactsF[ACL] = Toolchain.newACL } diff --git a/internal/rosa/all.go b/internal/rosa/all.go index babd61d..4d95d4e 100644 --- a/internal/rosa/all.go +++ b/internal/rosa/all.go @@ -10,7 +10,9 @@ import ( type PArtifact int const ( - Autoconf PArtifact = iota + ACL PArtifact = iota + Attr + Autoconf Bash Busybox CMake