internal/rosa/package: cairo
All checks were successful
Test / Create distribution (push) Successful in 1m5s
Test / Sandbox (push) Successful in 2m49s
Test / Hakurei (push) Successful in 3m54s
Test / ShareFS (push) Successful in 3m52s
Test / Sandbox (race detector) (push) Successful in 5m23s
Test / Hakurei (race detector) (push) Successful in 6m32s
Test / Flake checks (push) Successful in 1m22s

Required by sway, which is required by vm test suite.

Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
2026-05-27 12:00:13 +09:00
parent 91e4229e32
commit 7816f8b523
3 changed files with 64 additions and 5 deletions

View File

@@ -20,6 +20,8 @@ type MesonHelper struct {
Setup []KV Setup []KV
// Whether to skip meson test. // Whether to skip meson test.
SkipTest bool SkipTest bool
// Run tests with interactive input/output.
InteractiveTest bool
} }
var _ Helper = new(MesonHelper) var _ Helper = new(MesonHelper)
@@ -55,6 +57,10 @@ func (attr *MesonHelper) script(t Toolchain, name string) string {
scriptTest = ` scriptTest = `
meson test \ meson test \
--print-errorlogs` --print-errorlogs`
if attr.InteractiveTest {
scriptTest += ` \
--interactive`
}
} }
return ` return `

View File

@@ -0,0 +1,52 @@
package cairo {
description = "a 2D graphics library with support for multiple output devices";
website = "https://www.cairographics.org";
anitya = 247;
version# = "1.18.4";
source = remoteGitLab {
domain = "gitlab.freedesktop.org";
suffix = "cairo/cairo";
ref = version;
checksum = "_Ztw0ttmYLIiElqS27x2Iu4EneXOMNHp2or6bJA6suLeF3NRvORzUMPPQy9Wr5gT";
};
exec = meson {
setup = {
"Ddwrite": "enabled";
"Dfontconfig": "enabled";
"Dfreetype": "enabled";
"Dpng": "enabled";
"Dtee": "enabled";
"Dxcb": "enabled";
"Dxlib": "disabled";
"Dxlib-xcb": "disabled";
"Dzlib": "enabled";
};
// runs the entire test suite in a single meson test
interactiveTest = true;
// only works with specific dependency versions
skipTest = true;
};
inputs = [
gawk,
zlib,
libpng,
fontconfig,
freetype,
pixman,
xcb,
];
runtime = [
zlib,
libpng,
fontconfig,
freetype,
pixman,
xcb,
];
}

View File

@@ -819,11 +819,12 @@ func (s *S) getFrame() azalea.Frame {
) (v any, set bool, err error) { ) (v any, set bool, err error) {
var attr MesonHelper var attr MesonHelper
if err = args.Apply(map[unique.Handle[azalea.Ident]]any{ if err = args.Apply(map[unique.Handle[azalea.Ident]]any{
k("preCompile"): &attr.ScriptCompileEarly, k("preCompile"): &attr.ScriptCompileEarly,
k("postCompile"): &attr.ScriptCompiled, k("postCompile"): &attr.ScriptCompiled,
k("postInstall"): &attr.Script, k("postInstall"): &attr.Script,
k("setup"): &attr.Setup, k("setup"): &attr.Setup,
k("skipTest"): &attr.SkipTest, k("skipTest"): &attr.SkipTest,
k("interactiveTest"): &attr.InteractiveTest,
}); err != nil { }); err != nil {
return return
} }