aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/workflows/Containerfile
diff options
context:
space:
mode:
Diffstat (limited to 'internal/workflows/Containerfile')
-rw-r--r--internal/workflows/Containerfile93
1 files changed, 93 insertions, 0 deletions
diff --git a/internal/workflows/Containerfile b/internal/workflows/Containerfile
new file mode 100644
index 00000000..82ce8820
--- /dev/null
+++ b/internal/workflows/Containerfile
@@ -0,0 +1,93 @@
+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 \
+ x11-xserver-utils \
+ xdg-dbus-proxy \
+ libnotify-bin \
+ pipewire \
+ pipewire-pulse \
+ wireplumber- \
+ pulseaudio-utils \
+ foot \
+ xterm \
+ grim \
+ 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"