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
// Whether to skip meson test.
SkipTest bool
// Run tests with interactive input/output.
InteractiveTest bool
}
var _ Helper = new(MesonHelper)
@@ -55,6 +57,10 @@ func (attr *MesonHelper) script(t Toolchain, name string) string {
scriptTest = `
meson test \
--print-errorlogs`
if attr.InteractiveTest {
scriptTest += ` \
--interactive`
}
}
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

@@ -824,6 +824,7 @@ func (s *S) getFrame() azalea.Frame {
k("postInstall"): &attr.Script,
k("setup"): &attr.Setup,
k("skipTest"): &attr.SkipTest,
k("interactiveTest"): &attr.InteractiveTest,
}); err != nil {
return
}