diff --git a/internal/rosa/all.go b/internal/rosa/all.go index bc1a8ca..19f4986 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 0000000..1531a88 --- /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 }