aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-01-27 05:34:42 +0900
committerOphestra <cat@gensokyo.uk>2026-01-27 05:34:42 +0900
commit18918d9a0ddf522f40e53520bb0796a5aa57834c (patch)
tree7d25541b3724312604cdd8d709dc98ef919b4cc6
parent380ca4e022457b4da215ec6b69e9f03efb9b4a60 (diff)
internal/rosa: fuse artifact
Required by hakurei for sharefs. Signed-off-by: Ophestra <cat@gensokyo.uk>
-rw-r--r--cmd/mbf/main.go2
-rw-r--r--internal/rosa/all.go1
-rw-r--r--internal/rosa/fuse.go45
3 files changed, 48 insertions, 0 deletions
diff --git a/cmd/mbf/main.go b/cmd/mbf/main.go
index 43980120..286b1115 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 4e0207ea..dd275667 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 00000000..6f907ed9
--- /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 }