Files
docker/Dockerfile.linux
Denis Dupeyron 84bb2782ba Initial commit
2025-10-26 22:30:26 -06:00

39 lines
1.5 KiB
Docker

FROM ubuntu
RUN apt update && apt full-upgrade -y && apt install -y \
autoconf cmake g++ gcc git glslang-tools libglu1-mesa-dev libhidapi-dev libpulse-dev libtool \
libudev-dev libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-render-util0 libxcb-xinerama0 \
libxcb-xkb1 libxext-dev libxkbcommon-x11-0 mesa-common-dev nasm ninja-build \
qt6-base-private-dev libmbedtls-dev catch2 libfmt-dev liblz4-dev nlohmann-json3-dev \
libzstd-dev libssl-dev libavfilter-dev libavcodec-dev libswscale-dev pkg-config zlib1g-dev \
libva-dev libvdpau-dev qt6-tools-dev libzydis-dev zydis-tools libzycore-dev libvulkan-dev \
spirv-tools spirv-headers libusb-1.0-0-dev libxbyak-dev libboost-dev libboost-fiber-dev \
libboost-context-dev libsdl2-dev libopus-dev libasound2t64 vulkan-utility-libraries-dev \
qt6-multimedia-dev wget xvfb zsync && \
rm -rf /var/lib/apt/lists/*
WORKDIR /workspace
RUN mkdir -p /output
COPY <<EOF /build.sh
#!/bin/bash
set -euo pipefail
cp -r /source/. /workspace
cd /workspace
E_UID=\$(stat -c '%u' /source)
E_GID=\$(stat -c '%g' /source)
BRANCH=\$(git rev-parse --abbrev-ref HEAD)
DATE=\$(date +%Y%m%d%H%M%S)
SHORT_SHA=\$(git rev-parse --short HEAD)
ID=\${DATE}-\${BRANCH}-\${SHORT_SHA}
.ci/linux/build.sh \${1} | tee /output/eden-\${1}-\${ID}.log
.ci/linux/package.sh \${1} | tee -a /output/eden-\${1}-\${ID}.log
chmod +x Eden-*.AppImage
cp Eden-*.AppImage /output/eden-\${1}-\${ID}.AppImage
chown \${E_UID}:\${E_GID} /output/*\${ID}*
EOF
RUN chmod +x /build.sh
ENTRYPOINT ["/build.sh"]
CMD ["steamdeck"]