Files
MeshChatX/Dockerfile.arch-builder
T

44 lines
1.1 KiB
Docker

FROM archlinux:latest
# Install build dependencies
RUN pacman -Syu --noconfirm --needed \
base-devel \
git \
sudo \
nodejs \
pnpm \
python \
python-poetry \
opus \
opusfile \
portaudio \
espeak-ng \
nss \
atk \
at-spi2-core \
libxcomposite \
libxrandr \
libxdamage \
mesa \
alsa-lib \
libx11
# Create a non-root user for makepkg
RUN useradd -m build && \
echo "build ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/build
# Set up build directory
RUN mkdir -p /home/build/project && chown build:build /home/build/project
WORKDIR /home/build/project
# Copy packaging files (optional if mounting, but good for standalone)
COPY --chown=build:build packaging/arch /home/build/project/
# Default command to build the package
# We use a script to handle potential permission issues with volume mounts
RUN echo '#!/bin/bash\nsudo chown -R build:build /home/build/project\ncd /home/build/project\nsudo -u build makepkg -s --noconfirm' > /usr/local/bin/build.sh && \
chmod +x /usr/local/bin/build.sh
CMD ["/usr/local/bin/build.sh"]