internal/rosa: various X artifacts
All checks were successful
Test / Create distribution (push) Successful in 49s
Test / Sandbox (push) Successful in 2m37s
Test / Hakurei (push) Successful in 3m48s
Test / ShareFS (push) Successful in 3m57s
Test / Hpkg (push) Successful in 4m25s
Test / Sandbox (race detector) (push) Successful in 5m4s
Test / Hakurei (race detector) (push) Successful in 6m8s
Test / Flake checks (push) Successful in 1m44s

Required by xcb which is required by hakurei.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-01-27 02:02:49 +09:00
parent eb67e5e0a8
commit c84fe63217
5 changed files with 122 additions and 1 deletions

56
internal/rosa/xcb.go Normal file
View File

@@ -0,0 +1,56 @@
package rosa
import "hakurei.app/internal/pkg"
func (t Toolchain) newXCBProto() pkg.Artifact {
const (
version = "1.17.0"
checksum = "_NtbKaJ_iyT7XiJz25mXQ7y-niTzE8sHPvLXZPcqtNoV_-vTzqkezJ8Hp2U1enCv"
)
return t.New("xcb-proto-"+version, false, []pkg.Artifact{
t.Load(Make),
t.Load(Python),
}, nil, nil, `
cd "$(mktemp -d)"
/usr/src/xcb-proto/configure \
--prefix=/system \
--build="${ROSA_TRIPLE}" \
--enable-static
make "-j$(nproc)" check
make DESTDIR=/work install
`, pkg.Path(AbsUsrSrc.Append("xcb-proto"), true, pkg.NewHTTPGetTar(
nil, "https://xcb.freedesktop.org/dist/xcb-proto-"+version+".tar.gz",
mustDecode(checksum),
pkg.TarGzip,
)))
}
func init() { artifactsF[XCBProto] = Toolchain.newXCBProto }
func (t Toolchain) newXCB() pkg.Artifact {
const (
version = "1.17.0"
checksum = "hjjsc79LpWM_hZjNWbDDS6qRQUXREjjekS6UbUsDq-RR1_AjgNDxhRvZf-1_kzDd"
)
return t.New("xcb-"+version, false, []pkg.Artifact{
t.Load(Make),
t.Load(Python),
t.Load(PkgConfig),
t.Load(XCBProto),
t.Load(Xproto),
t.Load(LibXau),
}, nil, nil, `
cd "$(mktemp -d)"
/usr/src/xcb/configure \
--prefix=/system \
--build="${ROSA_TRIPLE}" \
--enable-static
make "-j$(nproc)" check
make DESTDIR=/work install
`, pkg.Path(AbsUsrSrc.Append("xcb"), true, pkg.NewHTTPGetTar(
nil, "https://xcb.freedesktop.org/dist/libxcb-"+version+".tar.gz",
mustDecode(checksum),
pkg.TarGzip,
)))
}
func init() { artifactsF[XCB] = Toolchain.newXCB }