Files
hakurei/internal/rosa/libxml2.go
Ophestra fd8b2fd522
All checks were successful
Test / Create distribution (push) Successful in 1m0s
Test / Sandbox (push) Successful in 2m39s
Test / Hakurei (push) Successful in 3m52s
Test / ShareFS (push) Successful in 4m2s
Test / Hpkg (push) Successful in 4m32s
Test / Sandbox (race detector) (push) Successful in 5m7s
Test / Hakurei (race detector) (push) Successful in 6m19s
Test / Flake checks (push) Successful in 1m42s
internal/rosa: fix up dependencies
These are no longer provided by the (incomplete) toybox implementations, so they need to be specified explicitly.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2026-01-30 03:11:16 +09:00

40 lines
918 B
Go

package rosa
import (
"strings"
"hakurei.app/internal/pkg"
)
func (t Toolchain) newLibxml2() pkg.Artifact {
const (
version = "2.15.1"
checksum = "pYzAR3cNrEHezhEMirgiq7jbboLzwMj5GD7SQp0jhSIMdgoU4G9oU9Gxun3zzUIU"
)
return t.New("libxml2-"+version, 0, []pkg.Artifact{
t.Load(Make),
t.Load(Gawk),
t.Load(Coreutils),
t.Load(Diffutils),
t.Load(XZ),
}, nil, nil, `
cd /usr/src/
tar xf libxml2.tar.xz
mv libxml2-`+version+` libxml2
cd "$(mktemp -d)"
/usr/src/libxml2/configure \
--prefix=/system \
--build="${ROSA_TRIPLE}" \
--enable-static
make "-j$(nproc)" check
make DESTDIR=/work install
`, pkg.Path(AbsUsrSrc.Append("libxml2.tar.xz"), false, pkg.NewHTTPGet(
nil, "https://download.gnome.org/sources/libxml2/"+
strings.Join(strings.Split(version, ".")[:2], ".")+
"/libxml2-"+version+".tar.xz",
mustDecode(checksum),
)))
}
func init() { artifactsF[Libxml2] = Toolchain.newLibxml2 }