Skip to content

Commit

Permalink
CI: add a FreeBSD build on Sourcehut
Browse files Browse the repository at this point in the history
  • Loading branch information
Hjdskes committed Apr 22, 2019
1 parent 5bfedaf commit cf06e42
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 1 deletion.
45 changes: 45 additions & 0 deletions .builds/freebsd.yml
Original file line number Diff line number Diff line change
@@ -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 changes: 11 additions & 0 deletions meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,17 @@ endif

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')
wayland_protos = dependency('wayland-protocols', version: '>=1.14')
wayland_server = dependency('wayland-server')
Expand Down
2 changes: 1 addition & 1 deletion output.c
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ scissor_output(struct wlr_output *output, pixman_box32_t *rect)
}

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;
wlr_surface_send_frame_done(surface, now);
Expand Down

0 comments on commit cf06e42

Please sign in to comment.