FROM archlinux:latest RUN pacman -Syu --noconfirm \ && pacman -S --needed --noconfirm \ base-devel cmake ninja clang lld nodejs tree-sitter \ jkqtplotter cmark-gfm git \ qt6-base qt6-declarative qt6-shadertools qt6-5compat \ qt6-canvaspainter hyprwayland-scanner \ libqalculate pipewire aubio cava lm_sensors glib2 \ && pacman -Scc --noconfirm RUN pacman -Syu --noconfirm \ && pacman -S --needed --noconfirm \ sudo meson autoconf-archive python-tqdm \ && useradd -m builder \ && printf '%s\n' 'builder ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/builder \ && chmod 0440 /etc/sudoers.d/builder \ && for i in 1 2 3 4 5; do \ rm -rf /tmp/libcava; \ if git clone --depth 1 https://aur.archlinux.org/libcava.git /tmp/libcava; then break; fi; \ sleep 5; \ done \ && test -d /tmp/libcava/.git \ && chown -R builder:builder /tmp/libcava \ && su builder -c "cd /tmp/libcava && makepkg -si --noconfirm" \ && rm -rf /tmp/libcava /etc/sudoers.d/builder \ && userdel -r builder \ && pacman -Scc --noconfirm