From 18918d9a0ddf522f40e53520bb0796a5aa57834c Mon Sep 17 00:00:00 2001 From: Ophestra Date: Tue, 27 Jan 2026 05:34:42 +0900 Subject: [PATCH] internal/rosa: fuse artifact Required by hakurei for sharefs. Signed-off-by: Ophestra --- cmd/mbf/main.go | 2 ++ internal/rosa/all.go | 1 + internal/rosa/fuse.go | 45 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 internal/rosa/fuse.go diff --git a/cmd/mbf/main.go b/cmd/mbf/main.go index 4398012..286b111 100644 --- a/cmd/mbf/main.go +++ b/cmd/mbf/main.go @@ -164,6 +164,8 @@ func main() { p = rosa.Coreutils case "diffutils": p = rosa.Diffutils + case "fuse": + p = rosa.Fuse case "gettext": p = rosa.Gettext case "git": diff --git a/internal/rosa/all.go b/internal/rosa/all.go index 4e0207e..dd27566 100644 --- a/internal/rosa/all.go +++ b/internal/rosa/all.go @@ -18,6 +18,7 @@ const ( CMake Coreutils Diffutils + Fuse Gettext Git Go diff --git a/internal/rosa/fuse.go b/internal/rosa/fuse.go new file mode 100644 index 0000000..6f907ed --- /dev/null +++ b/internal/rosa/fuse.go @@ -0,0 +1,45 @@ +package rosa + +import "hakurei.app/internal/pkg" + +func (t Toolchain) newFuse() pkg.Artifact { + const ( + version = "3.18.1" + checksum = "COb-BgJRWXLbt9XUkNeuiroQizpMifXqxgieE1SlkMXhs_WGSyJStrmyewAw2hd6" + ) + return t.New("fuse-"+version, false, []pkg.Artifact{ + t.Load(Python), + t.Load(Meson), + t.Load(Ninja), + + t.Load(IniConfig), + t.Load(Packaging), + t.Load(Pluggy), + t.Load(Pygments), + t.Load(PyTest), + + t.Load(KernelHeaders), + }, nil, nil, ` +cd "$(mktemp -d)" +meson setup \ + --reconfigure \ + --buildtype=release \ + --prefix=/system \ + --prefer-static \ + -Dtests=true \ + -Duseroot=false \ + -Dinitscriptdir=/system/init.d \ + -Ddefault_library=both \ + . /usr/src/fuse +meson compile +python3 -m pytest test/ +meson install \ + --destdir=/work +`, pkg.Path(AbsUsrSrc.Append("fuse"), false, pkg.NewHTTPGetTar( + nil, "https://github.com/libfuse/libfuse/releases/download/"+ + "fuse-"+version+"/fuse-"+version+".tar.gz", + mustDecode(checksum), + pkg.TarGzip, + ))) +} +func init() { artifactsF[Fuse] = Toolchain.newFuse }