plugin-audio/Dockerfile

110 lines
2.7 KiB
Docker

ARG BUILD_FROM
FROM ${BUILD_FROM}
SHELL ["/bin/ash", "-o", "pipefail", "-c"]
ARG ALSA_LIB_VERSION
ARG ALSA_TOOLS_VERSION
ARG PULSE_VERSION
COPY patches /usr/src/patches
RUN \
set -x \
&& apk add --no-cache \
eudev \
libintl \
libltdl \
alsa-utils \
alsa-lib \
alsa-plugins-pulse \
dbus-libs \
tdb-libs \
bluez-libs \
libsndfile \
speexdsp \
openssl \
fftw \
soxr \
sbc \
&& apk add --no-cache --virtual .build-deps \
meson \
build-base \
tdb-dev \
alsa-lib-dev \
dbus-dev \
glib-dev \
libsndfile-dev \
soxr-dev \
fftw-dev \
bluez-dev \
openssl-dev \
speexdsp-dev \
eudev-dev \
sbc-dev \
libtool \
git \
m4 \
patch \
\
&& curl -L -s --retry 5 \
"https://www.alsa-project.org/files/pub/lib/alsa-ucm-conf-${ALSA_LIB_VERSION}.tar.bz2" \
| tar xvfj - -C /usr/share/alsa --strip-components=1 \
\
&& curl -L -s --retry 5 \
"https://www.alsa-project.org/files/pub/lib/alsa-topology-conf-${ALSA_TOOLS_VERSION}.tar.bz2" \
| tar xvfj - -C /usr/share/alsa --strip-components=1 \
\
&& git clone -b v${PULSE_VERSION} --depth 1 \
https://github.com/pulseaudio/pulseaudio /usr/src/pulseaudio \
&& cd /usr/src/pulseaudio \
&& for i in /usr/src/patches/*.patch; do \
patch -d /usr/src/pulseaudio -p 1 < "${i}"; done \
&& meson \
--prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--optimization=3 \
--buildtype=plain \
-Datomic-arm-linux-helpers=true \
-Datomic-arm-memory-barrier=false \
-Dgcov=false \
-Dman=false \
-Dtests=false \
-Dsystem_user=root \
-Dsystem_group=root \
-Daccess_group=root \
-Ddatabase=tdb \
-Dalsa=enabled \
-Dasyncns=disabled \
-Davahi=disabled \
-Dbluez5=enabled \
-Ddbus=enabled \
-Dfftw=enabled \
-Dglib=enabled \
-Dgsettings=disabled \
-Dgtk=disabled \
-Dhal-compat=false \
-Dipv6=false \
-Djack=disabled \
-Dlirc=disabled \
-Dopenssl=enabled \
-Dorc=disabled \
-Dsamplerate=disabled \
-Dsoxr=enabled \
-Dspeex=enabled \
-Dsystemd=disabled \
-Dudev=enabled \
-Dx11=disabled \
-Ddoxygen=false \
-Dudevrulesdir=/usr/lib/udev/rules.d \
. output \
&& ninja -C output \
&& ninja -C output install \
\
&& apk del .build-deps \
&& rm -rf \
/usr/src/pulseaudio \
/usr/src/patches
COPY rootfs /