aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/rosa/libxslt.go
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 /internal/rosa/libxslt.go
parentf7f80f95b9df0e2d9fb0ad60ef10b6043616528c (diff)
internal/rosa: libxslt artifact
For building documentation that cannot be turned off. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'internal/rosa/libxslt.go')
-rw-r--r--internal/rosa/libxslt.go40
1 files changed, 40 insertions, 0 deletions
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 }