FROM lsiobase/alpine:3.7 # set version label ARG BUILD_DATE ARG VERSION LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" LABEL maintainer="sparklyballs" # package version ARG DAAPD_VER="25.0" RUN \ echo "**** install build packages ****" && \ apk add --no-cache --virtual=build-dependencies \ alsa-lib-dev \ autoconf \ automake \ avahi-dev \ bash \ bsd-compat-headers \ confuse-dev \ curl \ curl-dev \ ffmpeg-dev \ file \ flac-dev \ g++ \ gcc \ gettext-dev \ gnutls-dev \ gperf \ json-c-dev \ libcurl \ libevent-dev \ libgcrypt-dev \ libogg-dev \ libplist-dev \ libsodium-dev \ libtool \ libunistring-dev \ make \ openjdk8-jre-base \ protobuf-c-dev \ sqlite-dev \ taglib-dev \ tar && \ apk add --no-cache --virtual=build-dependencies \ --repository http://nl.alpinelinux.org/alpine/edge/testing \ libantlr3c-dev \ mxml-dev && \ echo "**** install runtime packages ****" && \ apk add --no-cache \ avahi \ confuse \ dbus \ ffmpeg \ json-c \ libcurl \ libevent \ libgcrypt \ libplist \ libsodium \ libunistring \ protobuf-c \ sqlite \ sqlite-libs && \ apk add --no-cache \ --repository http://nl.alpinelinux.org/alpine/edge/testing \ libantlr3c \ mxml && \ echo "**** make antlr wrapper and compile forked-daapd ****" && \ mkdir -p \ /tmp/source/forked-daapd && \ echo \ "#!/bin/bash" > /tmp/source/antlr3 && \ echo \ "exec java -cp /tmp/source/antlr-3.4-complete.jar org.antlr.Tool \"\$@\"" >> /tmp/source/antlr3 && \ chmod a+x /tmp/source/antlr3 && \ curl -o \ /tmp/source/antlr-3.4-complete.jar -L \ http://www.antlr3.org/download/antlr-3.4-complete.jar && \ curl -o \ /tmp/source/forked.tar.gz -L \ "https://github.com/ejurgensen/forked-daapd/archive/${DAAPD_VER}.tar.gz" && \ tar xf /tmp/source/forked.tar.gz -C \ /tmp/source/forked-daapd --strip-components=1 && \ export PATH="/tmp/source:$PATH" && \ cd /tmp/source/forked-daapd && \ autoreconf -i -v && \ ./configure \ --build=$CBUILD \ --enable-chromecast \ --enable-itunes \ --enable-lastfm \ --enable-mpd \ --host=$CHOST \ --infodir=/usr/share/info \ --localstatedir=/var \ --mandir=/usr/share/man \ --prefix=/app \ --sysconfdir=/etc && \ echo "**** attempt to set number of cores available for make to use ****" && \ set -ex && \ CPU_CORES=$( < /proc/cpuinfo grep -c processor ) || echo "failed cpu look up" && \ if echo $CPU_CORES | grep -E -q '^[0-9]+$'; then \ : ;\ if [ "$CPU_CORES" -gt 7 ]; then \ CPU_CORES=$(( CPU_CORES - 3 )); \ elif [ "$CPU_CORES" -gt 5 ]; then \ CPU_CORES=$(( CPU_CORES - 2 )); \ elif [ "$CPU_CORES" -gt 3 ]; then \ CPU_CORES=$(( CPU_CORES - 1 )); fi \ else CPU_CORES="1"; fi && \ make -j $CPU_CORES && \ set +ex && \ make install && \ cp /etc/forked-daapd.conf /etc/forked-daapd.conf.orig && \ echo "**** cleanup ****" && \ apk del --purge \ build-dependencies && \ rm -rf \ /tmp/* # copy local files COPY root/ / # ports and volumes VOLUME /config /music