1. Needs xorg 2. Somehow we now need to remove the official carla package manually
59 lines
2.1 KiB
Docker
59 lines
2.1 KiB
Docker
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" ]
|