FROM dobu/deps-base-archlinux:latest ARG UPSTREAM_VERSION # TODO: Can we allow users to configure JACK or pipewire-jack RUN pacman --noconfirm -Syu && \ pacman --noconfirm -S base-devel git sudo gnupg pipewire-jack \ lv2-plugins vst-plugins vst3-plugins RUN mkdir /src && chown user:user /src RUN echo "user ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers USER user WORKDIR /src # Build all AUR dependencies first # carla-git (TODO: Remove temporary workaround) RUN git clone https://aur.archlinux.org/carla-git.git && \ cd carla-git && sed -i 's/$_name.git/$_name.git#commit=a580473fbca5b1a14af45518e4d4fbfeabef8b6e/' PKGBUILD && \ sudo pacman -Rdd --noconfirm carla && makepkg --noconfirm -sci # libaudec RUN git clone https://aur.archlinux.org/libaudec.git && \ cd libaudec && makepkg --noconfirm -sci # libbacktrace-git RUN git clone https://aur.archlinux.org/libbacktrace-git.git && \ cd libbacktrace-git && makepkg --noconfirm -sci # libcyaml RUN git clone https://aur.archlinux.org/libcyaml.git && \ cd libcyaml && makepkg --noconfirm -sci # lsp-dsp-lib RUN git clone https://aur.archlinux.org/lsp-dsp-lib.git && \ cd lsp-dsp-lib && makepkg --noconfirm -sci # reproc RUN git clone https://aur.archlinux.org/reproc.git && \ cd reproc && makepkg --noconfirm -sci # Finally, zrythm itself # Zrythm generates duplicate debug info files with carla-git # As a workaround, remove debug symbols from Carla RUN git clone https://aur.archlinux.org/zrythm.git && \ gpg --recv-keys 022EAE42313D70F3 && \ sudo pacman -R --noconfirm carla-git-debug && \ cd zrythm && makepkg --noconfirm -sci WORKDIR /home/user RUN sudo rm -rf /src # machine-id is required for dconf/gsettings RUN sudo dbus-uuidgen --ensure LABEL net.typeblog.dobu.desktop_file_path=/usr/share/applications/org.zrythm.Zrythm.desktop LABEL net.typeblog.dobu.x11_required=true # A dbus daemon is required for Zrythm # It does not have to share the host one though; launching any random dbus daemon would work ENTRYPOINT [ "/usr/bin/bash", "-c", "export $(dbus-launch) && /usr/bin/zrythm" ]