mirror of
https://github.com/cage-kiosk/cage.git
synced 2026-04-10 08:21:10 -04:00
37 lines
1.5 KiB
Text
37 lines
1.5 KiB
Text
|
|
# This isn't ideal from a CI perspective because we're lacking pinned versions
|
||
|
|
# here, but Arch is the only distribution (besides Rawhide) that has new enough
|
||
|
|
# dependencies. Eventually, when wlroots becomes less bleeding-edge, we can
|
||
|
|
# switch to other images that provide stable package versions.
|
||
|
|
FROM archlinux/base:latest
|
||
|
|
|
||
|
|
# Install the required packages for compiling wlroots and Cage, and a simple
|
||
|
|
# xdg-shell-stable application to launch Cage with.
|
||
|
|
RUN pacman -Syu --noconfirm xorg-server-xvfb awk procps-ng termite git bash clang \
|
||
|
|
pkgconf libinput libxkbcommon mesa meson pixman libsystemd wayland \
|
||
|
|
wayland-protocols xcb-util-image xcb-util-wm xcb-util-errors \
|
||
|
|
&& pacman -Scc --noconfirm
|
||
|
|
|
||
|
|
# Install wlroots, which is required by Cage. Note that we compile a tagged
|
||
|
|
# version, instead of master, to avoid any breaking changes in wlroots.
|
||
|
|
RUN git clone https://github.com/swaywm/wlroots.git \
|
||
|
|
&& cd wlroots \
|
||
|
|
&& git checkout tags/0.4.1 \
|
||
|
|
&& meson build --prefix=/usr \
|
||
|
|
-Dlibcap=disabled \
|
||
|
|
-Dlogind=enabled \
|
||
|
|
-Dxcb-errors=enabled \
|
||
|
|
-Dxcb-icccm=enabled \
|
||
|
|
-Dxwayland=disabled \
|
||
|
|
-Dx11-backend=enabled \
|
||
|
|
-Drootston=false \
|
||
|
|
-Dexamples=false \
|
||
|
|
&& ninja -C build \
|
||
|
|
&& ninja -C build install
|
||
|
|
|
||
|
|
# Cage's (or actually, wlroots') logind session expects XDG_RUNTIME_DIR to be
|
||
|
|
# set.
|
||
|
|
ENV XDG_RUNTIME_DIR=/tmp
|
||
|
|
|
||
|
|
# We have Travis place the clone in this directory, so we need to cd to it.
|
||
|
|
WORKDIR /root/cage
|