aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2026-02-24 23:41:54 +0900
committerOphestra <cat@gensokyo.uk>2026-02-24 23:41:54 +0900
commitc8bb88ccedc756d4a680c3007cdff4eebc805870 (patch)
tree1288641631e6e20dea5552da6777be657e9b5fe2
parentf7f80f95b9df0e2d9fb0ad60ef10b6043616528c (diff)
internal/rosa: libxslt artifact
For building documentation that cannot be turned off. Signed-off-by: Ophestra <cat@gensokyo.uk>
-rw-r--r--internal/rosa/all.go2
-rw-r--r--internal/rosa/libxslt.go40
2 files changed, 42 insertions, 0 deletions
diff --git a/internal/rosa/all.go b/internal/rosa/all.go
index bc1a8ca6..19f49869 100644
--- a/internal/rosa/all.go
+++ b/internal/rosa/all.go
@@ -56,6 +56,7 @@ const (
Libseccomp
Libucontext
Libxml2
+ Libxslt
M4
MPC
MPFR
@@ -189,6 +190,7 @@ func ResolveName(name string) (p PArtifact, ok bool) {
"libseccomp": Libseccomp,
"libucontext": Libucontext,
"libxml2": Libxml2,
+ "libxslt": Libxslt,
"libffi": Libffi,
"libgd": Libgd,
"libtool": Libtool,
diff --git a/internal/rosa/libxslt.go b/internal/rosa/libxslt.go
new file mode 100644
index 00000000..1531a88e
--- /dev/null
+++ b/internal/rosa/libxslt.go
@@ -0,0 +1,40 @@
+package rosa
+
+import (
+ "strings"
+
+ "hakurei.app/internal/pkg"
+)
+
+func (t Toolchain) newLibxslt() pkg.Artifact {
+ const (
+ version = "1.1.45"
+ checksum = "vw72UbREQnA3YDYuZ9-93hDr9BYCaKV6oh_U4Kt4n1Js_na4E-nFj-ksZnZ0kvEK"
+ )
+ return t.NewViaMake("libxslt", version, pkg.NewHTTPGet(
+ nil, "https://download.gnome.org/sources/libxslt/"+
+ strings.Join(strings.Split(version, ".")[:2], ".")+
+ "/libxslt-"+version+".tar.xz",
+ mustDecode(checksum),
+ ), &MakeAttr{
+ ScriptEarly: `
+cd /usr/src/
+tar xf libxslt.tar.xz
+mv libxslt-` + version + ` libxslt
+`,
+ Configure: [][2]string{
+ {"enable-static"},
+ },
+ SourceSuffix: ".tar.xz",
+
+ // python libxml2 cyclic dependency
+ SkipCheck: true,
+ },
+ t.Load(XZ),
+ t.Load(Python),
+ t.Load(PkgConfig),
+
+ t.Load(Libxml2),
+ )
+}
+func init() { artifactsF[Libxslt] = Toolchain.newLibxslt }