aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-02-16 19:01:02 +0900
committerOphestra <cat@gensokyo.uk>2026-02-16 19:01:02 +0900
commitd4d5e631aea2b0d96ac8d9776299095677e91290 (patch)
tree6316139993323a65c6fbaf802a7fe2f672f4f33c /internal/rosa
parent1df3bcc3b96c5e5bf0f5e4d337cd017569415233 (diff)
internal/rosa: glib artifact
Unfortunately required by many programs, even non-gtk ones. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa')
-rw-r--r--internal/rosa/all.go6
-rw-r--r--internal/rosa/gtk.go55
2 files changed, 59 insertions, 2 deletions
diff --git a/internal/rosa/all.go b/internal/rosa/all.go
index 3c087e5d..1a80a0a1 100644
--- a/internal/rosa/all.go
+++ b/internal/rosa/all.go
@@ -23,8 +23,9 @@ const (
Diffutils
Findutils
Fuse
- Gawk
GMP
+ GLib
+ Gawk
Gettext
Git
Go
@@ -129,8 +130,9 @@ func ResolveName(name string) (p PArtifact, ok bool) {
"diffutils": Diffutils,
"findutils": Findutils,
"fuse": Fuse,
- "gawk": Gawk,
"gmp": GMP,
+ "glib": GLib,
+ "gawk": Gawk,
"gettext": Gettext,
"git": Git,
"go": Go,
diff --git a/internal/rosa/gtk.go b/internal/rosa/gtk.go
new file mode 100644
index 00000000..78469e8d
--- /dev/null
+++ b/internal/rosa/gtk.go
@@ -0,0 +1,55 @@
+package rosa
+
+import (
+ "strings"
+
+ "hakurei.app/container/fhs"
+ "hakurei.app/internal/pkg"
+)
+
+func (t Toolchain) newGLib() pkg.Artifact {
+ const (
+ version = "2.86.4"
+ checksum = "AfTjBrrxtXXPL6dFa1LfTe40PyPSth62CoIkM5m_VJTUngGLOFHw6I4XE7RGQE8G"
+ )
+ return t.NewViaMeson("glib", version, pkg.NewHTTPGet(
+ nil, "https://download.gnome.org/sources/glib/"+
+ strings.Join(strings.SplitN(version, ".", 3)[:2], ".")+
+ "/glib-"+version+".tar.xz",
+ mustDecode(checksum),
+ ), &MesonAttr{
+ SourceSuffix: ".tar.xz",
+ ScriptEarly: `
+cd /usr/src/
+tar xf glib.tar.xz
+mv glib-` + version + ` glib
+`,
+ Configure: [][2]string{
+ {"Ddefault_library", "both"},
+ },
+
+ Paths: []pkg.ExecPath{
+ pkg.Path(fhs.AbsEtc.Append(
+ "machine-id",
+ ), false, pkg.NewFile(
+ "glib-machine-id",
+ []byte("ffffffffffffffffffffffffffffffff\n"),
+ )),
+ pkg.Path(AbsSystem.Append(
+ "var/lib/dbus/machine-id",
+ ), false, pkg.NewFile(
+ "glib-machine-id",
+ []byte("fefefefefefefefefefefefefefefefe\n"),
+ )),
+ },
+ },
+ t.Load(XZ),
+ t.Load(Packaging),
+ t.Load(Bash),
+
+ t.Load(PCRE2),
+ t.Load(Libffi),
+ t.Load(Zlib),
+ )
+}
+func init() { artifactsF[GLib] = Toolchain.newGLib }