FROM docker.gitea.com/runner-images:ubuntu-latest RUN rm /var/run && ln -sf ../run /var && mkdir /var/empty RUN add-apt-repository -y ppa:savoury1/pipewire && \ apt-get update && apt-get install -y \ msft-golang \ libmount-dev \ acl \ sway \ xwayland \ xdg-dbus-proxy \ pipewire \ pipewire-pulse \ wireplumber- \ pulseaudio-utils \ foot \ xterm \ fuse3 \ fsmark && \ apt-get clean && rm -rf /var/lib/apt/lists/* RUN PACKAGES=" \ build-essential \ ninja-build \ bison \ libxcb-composite0-dev \ libxcb-ewmh-dev \ libxcb-icccm4-dev \ libxcb-res0-dev \ libjson-c-dev \ libpango1.0-dev \ libevdev-dev \ libudev-dev \ libpipewire-0.3-dev" && \ apt-get update && apt-get install -y $PACKAGES && \ VERSION="1.12.1" && \ curl -L "https://github.com/mesonbuild/meson/releases/download/$VERSION/meson-$VERSION.tar.gz" | \ tar -C /tmp -zx && \ MESON_DIR="/tmp/meson-$VERSION" && \ MESON="$MESON_DIR/meson.py" && \ VERSION="0.20.2" && \ curl "https://gitlab.freedesktop.org/wlroots/wlroots/-/archive/$VERSION/wlroots-${VERSION}.tar.bz2?ref_type=tags" | \ tar -C /tmp -jx && \ "$MESON" setup \ --wrap-mode=default \ -Dprefix=/usr \ -Dbuildtype=release \ -Dc_args='-w' \ -Dxwayland=enabled \ "/tmp/wlroots-$VERSION" build && \ "$MESON" compile -C build && \ "$MESON" install -C build && \ rm -rf build "/tmp/wlroots-$VERSION" && \ VERSION="1.32.0" && \ curl "https://gitlab.freedesktop.org/libinput/libinput/-/archive/$VERSION/libinput-$VERSION.tar.bz2?ref_type=tags" | \ tar -C /tmp -jx && \ "$MESON" setup \ -Dprefix=/usr \ -Dbuildtype=release \ -Dmtdev=false \ -Dlibwacom=false \ -Ddebug-gui=false \ "/tmp/libinput-$VERSION" build && \ "$MESON" compile -C build && \ "$MESON" install -C build && \ rm -rf build "/tmp/libinput-$VERSION" && \ VERSION="1.12" && \ curl -L "https://github.com/swaywm/sway/releases/download/$VERSION/sway-$VERSION.tar.gz" | \ tar -C /tmp -zx && \ "$MESON" setup \ -Dprefix=/usr \ -Dbuildtype=release \ "/tmp/sway-$VERSION" build && \ "$MESON" compile -C build && \ "$MESON" install -C build && \ rm -rf build "/tmp/sway-$VERSION" && \ VERSION='0.5.14' && \ curl "https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/${VERSION}/wireplumber-${VERSION}.tar.bz2" | \ tar -C /tmp -jx && \ "$MESON" setup \ -Dprefix=/usr \ -Dbuildtype=release \ "/tmp/wireplumber-${VERSION}" build && \ "$MESON" compile -C build && \ "$MESON" install -C build && \ rm -rf build "/tmp/wireplumber-${VERSION}" && \ apt-get remove -y $PACKAGES && \ apt-get autoremove -y && \ apt-get clean && rm -rf /var/lib/apt/lists/* && \ rm -rf "$MESON_DIR"