1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
# This image is used as the build environment in Github Actions.
FROM registry.gitlab.gnome.org/world/phosh/phosh/debian:v0.0.2025-11-06
ARG PHOSH_REMOTE=https://gitlab.gnome.org/World/Phosh/phosh.git
ARG PHOSH_REF=v0.51.0
ARG PHOC_REMOTE=https://gitlab.gnome.org/World/Phosh/phoc.git
ARG PHOC_REF=v0.51.0
ENV RUSTUP_HOME=/usr/local/rustup \
CARGO_HOME=/usr/local/cargo \
PATH=/usr/local/cargo/bin:$PATH
RUN export DEBIAN_FRONTEND=noninteractive \
&& apt-get -y update \
&& apt-get -y install --no-install-recommends \
curl \
dh-cargo \
foot \
rust-clippy \
wf-recorder \
&& eatmydata git clone ${PHOC_REMOTE} \
&& cd phoc \
&& git checkout ${PHOC_REF} \
&& DEB_BUILD_PROFILES=pkg.phoc.embedwlroots eatmydata apt-get --no-install-recommends -y build-dep . \
&& eatmydata meson setup --prefix=/usr -Dembed-wlroots=enabled _build . \
&& eatmydata meson compile -C _build \
&& eatmydata meson install -C _build \
&& cd .. \
&& eatmydata git clone ${PHOSH_REMOTE} \
&& cd phosh \
&& git checkout ${PHOSH_REF} \
&& eatmydata apt-get --no-install-recommends -y build-dep . \
&& curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \
| sh -s -- -y --no-modify-path --profile minimal --default-toolchain 1.85.0 \
&& rustup component add clippy rustfmt --toolchain 1.85.0 \
&& chmod -R a+rX /usr/local/rustup /usr/local/cargo \
&& eatmydata meson setup --prefix=/usr -Dbindings-lib=true _build . \
&& eatmydata meson compile -C _build \
&& eatmydata meson install -C _build \
&& eatmydata apt-get clean
|