mirror of
https://github.com/cage-kiosk/cage.git
synced 2025-10-29 05:40:19 -04:00
CI: add a FreeBSD build on Sourcehut
This commit is contained in:
parent
5bfedaf84f
commit
cf06e42687
3 changed files with 57 additions and 1 deletions
45
.builds/freebsd.yml
Normal file
45
.builds/freebsd.yml
Normal file
|
|
@ -0,0 +1,45 @@
|
||||||
|
image: freebsd/latest
|
||||||
|
packages:
|
||||||
|
- devel/evdev-proto
|
||||||
|
- devel/meson
|
||||||
|
- devel/libepoll-shim
|
||||||
|
- devel/pkgconf
|
||||||
|
- graphics/mesa-libs
|
||||||
|
- graphics/wayland
|
||||||
|
- graphics/wayland-protocols
|
||||||
|
- x11/libinput
|
||||||
|
- x11/libxkbcommon
|
||||||
|
- x11/pixman
|
||||||
|
sources:
|
||||||
|
- https://github.com/swaywm/wlroots
|
||||||
|
- https://github.com/Hjdskes/cage
|
||||||
|
tasks:
|
||||||
|
# Taken from sway
|
||||||
|
- fixup_epoll: |
|
||||||
|
cat << 'EOF' | sudo tee /usr/local/libdata/pkgconfig/epoll-shim.pc
|
||||||
|
prefix=/usr/local
|
||||||
|
exec_prefix=\$\{\$prefix\}
|
||||||
|
libdir=${prefix}/lib
|
||||||
|
sharedlibdir=${prefix}/lib
|
||||||
|
includedir=${prefix}/include/libepoll-shim
|
||||||
|
Name: epoll-shim
|
||||||
|
Description: epoll shim implemented using kevent
|
||||||
|
Version: 0
|
||||||
|
Requires:
|
||||||
|
Libs: -L${libdir} -L${sharedlibdir} -lepoll-shim
|
||||||
|
Libs.private: -pthread -lrt
|
||||||
|
Cflags: -I${includedir}
|
||||||
|
EOF
|
||||||
|
# Install wlroots, which is required by Cage. Note that we compile a tagged
|
||||||
|
# version, instead of master, to avoid any breaking changes in wlroots.
|
||||||
|
- wlroots: |
|
||||||
|
cd wlroots
|
||||||
|
# This corresponds to the tag of 0.5.0
|
||||||
|
git checkout c9137cba691b57c3eaf3ff94f9bf8e623f66ccc5
|
||||||
|
meson --prefix=/usr/local build -Drootston=false -Dexamples=false
|
||||||
|
ninja -C build
|
||||||
|
sudo ninja -C build install
|
||||||
|
- build: |
|
||||||
|
cd cage
|
||||||
|
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig meson build -Dxwayland=true
|
||||||
|
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ninja -C build
|
||||||
11
meson.build
11
meson.build
|
|
@ -24,6 +24,17 @@ endif
|
||||||
|
|
||||||
cc = meson.get_compiler('c')
|
cc = meson.get_compiler('c')
|
||||||
|
|
||||||
|
is_freebsd = host_machine.system().startswith('freebsd')
|
||||||
|
if is_freebsd
|
||||||
|
add_project_arguments(
|
||||||
|
[
|
||||||
|
'-Wno-format-extra-args',
|
||||||
|
'-Wno-gnu-zero-variadic-macro-arguments',
|
||||||
|
],
|
||||||
|
language: 'c'
|
||||||
|
)
|
||||||
|
endif
|
||||||
|
|
||||||
wlroots = dependency('wlroots', version: '>= 0.5.0')
|
wlroots = dependency('wlroots', version: '>= 0.5.0')
|
||||||
wayland_protos = dependency('wayland-protocols', version: '>=1.14')
|
wayland_protos = dependency('wayland-protocols', version: '>=1.14')
|
||||||
wayland_server = dependency('wayland-server')
|
wayland_server = dependency('wayland-server')
|
||||||
|
|
|
||||||
2
output.c
2
output.c
|
|
@ -55,7 +55,7 @@ scissor_output(struct wlr_output *output, pixman_box32_t *rect)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
send_frame_done(struct wlr_surface *surface, int _unused, int __unused, void *data)
|
send_frame_done(struct wlr_surface *surface, int _unused, int _not_used, void *data)
|
||||||
{
|
{
|
||||||
struct timespec *now = data;
|
struct timespec *now = data;
|
||||||
wlr_surface_send_frame_done(surface, now);
|
wlr_surface_send_frame_done(surface, now);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue