diff --git a/Dockerfile b/Dockerfile index 7af1adb..83be883 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM lsiobase/alpine:3.8 as buildstage +FROM lsiobase/alpine:3.11 as buildstage ############## build stage ############## ARG DAAPD_RELEASE @@ -42,9 +42,8 @@ RUN \ tar && \ apk add --no-cache \ --repository http://nl.alpinelinux.org/alpine/edge/testing \ - libantlr3c-dev \ mxml-dev && \ - echo "**** make antlr wrapper and compile forked-daapd ****" && \ + echo "**** make antlr wrapper ****" && \ mkdir -p \ /tmp/source/forked-daapd && \ echo \ @@ -55,6 +54,18 @@ RUN \ curl -o \ /tmp/source/antlr-3.4-complete.jar -L \ http://www.antlr3.org/download/antlr-3.4-complete.jar && \ + echo "**** compile and install antlr3c ****" && \ + curl -o \ + /tmp/libantlr3c-3.4.tar.gz -L \ + https://github.com/antlr/website-antlr3/raw/gh-pages/download/C/libantlr3c-3.4.tar.gz && \ + tar xf /tmp/libantlr3c-3.4.tar.gz -C /tmp && \ + cd /tmp/libantlr3c-3.4 && \ + ./configure --enable-64bit --prefix=/usr && \ + make && \ + make DESTDIR=/tmp/antlr3c-build install && \ + export LDFLAGS="-L/tmp/antlr3c-build/usr/lib" && \ + export CFLAGS="-I/tmp/antlr3c-build/usr/include" && \ + echo "**** compile forked-daapd ****" && \ if [ -z ${DAAPD_RELEASE+x} ]; then \ DAAPD_RELEASE=$(curl -sX GET "https://api.github.com/repos/ejurgensen/forked-daapd/releases/latest" \ | awk '/tag_name/{print $4;exit}' FS='[""]'); \ @@ -84,7 +95,7 @@ RUN \ make DESTDIR=/tmp/daapd-build install && \ mv /tmp/daapd-build/etc/forked-daapd.conf /tmp/daapd-build/etc/forked-daapd.conf.orig ############## runtime stage ############## -FROM lsiobase/alpine:3.8 +FROM lsiobase/alpine:3.11 # set version label ARG BUILD_DATE @@ -113,11 +124,11 @@ RUN \ sqlite-libs && \ apk add --no-cache \ --repository http://nl.alpinelinux.org/alpine/edge/testing \ - libantlr3c \ mxml # copy buildstage and local files COPY --from=buildstage /tmp/daapd-build/ / +COPY --from=buildstage /tmp/antlr3c-build/ / COPY root/ / # ports and volumes diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 3bfa092..10b5b11 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -1,4 +1,4 @@ -FROM lsiobase/alpine:arm64v8-3.8 as buildstage +FROM lsiobase/alpine:arm64v8-3.11 as buildstage ############## build stage ############## ARG DAAPD_RELEASE @@ -42,9 +42,8 @@ RUN \ tar && \ apk add --no-cache \ --repository http://nl.alpinelinux.org/alpine/edge/testing \ - libantlr3c-dev \ mxml-dev && \ - echo "**** make antlr wrapper and compile forked-daapd ****" && \ + echo "**** make antlr wrapper ****" && \ mkdir -p \ /tmp/source/forked-daapd && \ echo \ @@ -55,6 +54,18 @@ RUN \ curl -o \ /tmp/source/antlr-3.4-complete.jar -L \ http://www.antlr3.org/download/antlr-3.4-complete.jar && \ + echo "**** compile and install antlr3c ****" && \ + curl -o \ + /tmp/libantlr3c-3.4.tar.gz -L \ + https://github.com/antlr/website-antlr3/raw/gh-pages/download/C/libantlr3c-3.4.tar.gz && \ + tar xf /tmp/libantlr3c-3.4.tar.gz -C /tmp && \ + cd /tmp/libantlr3c-3.4 && \ + ./configure --build arm-unknown-linux-gnueabi --disable-abiflags --disable-antlrdebug --enable-64bit --prefix=/usr && \ + make && \ + make DESTDIR=/tmp/antlr3c-build install && \ + export LDFLAGS="-L/tmp/antlr3c-build/usr/lib" && \ + export CFLAGS="-I/tmp/antlr3c-build/usr/include" && \ + echo "**** compile forked-daapd ****" && \ if [ -z ${DAAPD_RELEASE+x} ]; then \ DAAPD_RELEASE=$(curl -sX GET "https://api.github.com/repos/ejurgensen/forked-daapd/releases/latest" \ | awk '/tag_name/{print $4;exit}' FS='[""]'); \ @@ -84,7 +95,7 @@ RUN \ make DESTDIR=/tmp/daapd-build install && \ mv /tmp/daapd-build/etc/forked-daapd.conf /tmp/daapd-build/etc/forked-daapd.conf.orig ############## runtime stage ############## -FROM lsiobase/alpine:arm64v8-3.8 +FROM lsiobase/alpine:arm64v8-3.11 # set version label ARG BUILD_DATE @@ -113,11 +124,11 @@ RUN \ sqlite-libs && \ apk add --no-cache \ --repository http://nl.alpinelinux.org/alpine/edge/testing \ - libantlr3c \ mxml # copy buildstage and local files COPY --from=buildstage /tmp/daapd-build/ / +COPY --from=buildstage /tmp/antlr3c-build/ / COPY root/ / # ports and volumes diff --git a/Dockerfile.armhf b/Dockerfile.armhf index c199f33..c0e94ca 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -1,4 +1,4 @@ -FROM lsiobase/alpine:arm32v7-3.8 as buildstage +FROM lsiobase/alpine:arm32v7-3.11 as buildstage ############## build stage ############## ARG DAAPD_RELEASE @@ -42,9 +42,8 @@ RUN \ tar && \ apk add --no-cache \ --repository http://nl.alpinelinux.org/alpine/edge/testing \ - libantlr3c-dev \ mxml-dev && \ - echo "**** make antlr wrapper and compile forked-daapd ****" && \ + echo "**** make antlr wrapper ****" && \ mkdir -p \ /tmp/source/forked-daapd && \ echo \ @@ -55,6 +54,18 @@ RUN \ curl -o \ /tmp/source/antlr-3.4-complete.jar -L \ http://www.antlr3.org/download/antlr-3.4-complete.jar && \ + echo "**** compile and install antlr3c ****" && \ + curl -o \ + /tmp/libantlr3c-3.4.tar.gz -L \ + https://github.com/antlr/website-antlr3/raw/gh-pages/download/C/libantlr3c-3.4.tar.gz && \ + tar xf /tmp/libantlr3c-3.4.tar.gz -C /tmp && \ + cd /tmp/libantlr3c-3.4 && \ + ./configure --build arm-unknown-linux-gnueabihf --disable-abiflags --disable-antlrdebug --prefix=/usr && \ + make && \ + make DESTDIR=/tmp/antlr3c-build install && \ + export LDFLAGS="-L/tmp/antlr3c-build/usr/lib" && \ + export CFLAGS="-I/tmp/antlr3c-build/usr/include" && \ + echo "**** compile forked-daapd ****" && \ if [ -z ${DAAPD_RELEASE+x} ]; then \ DAAPD_RELEASE=$(curl -sX GET "https://api.github.com/repos/ejurgensen/forked-daapd/releases/latest" \ | awk '/tag_name/{print $4;exit}' FS='[""]'); \ @@ -84,7 +95,7 @@ RUN \ make DESTDIR=/tmp/daapd-build install && \ mv /tmp/daapd-build/etc/forked-daapd.conf /tmp/daapd-build/etc/forked-daapd.conf.orig ############## runtime stage ############## -FROM lsiobase/alpine:arm32v7-3.8 +FROM lsiobase/alpine:arm32v7-3.11 # set version label ARG BUILD_DATE @@ -113,11 +124,11 @@ RUN \ sqlite-libs && \ apk add --no-cache \ --repository http://nl.alpinelinux.org/alpine/edge/testing \ - libantlr3c \ mxml # copy buildstage and local files COPY --from=buildstage /tmp/daapd-build/ / +COPY --from=buildstage /tmp/antlr3c-build/ / COPY root/ / # ports and volumes diff --git a/readme-vars.yml b/readme-vars.yml index 244c1b7..8f61bb8 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -53,6 +53,7 @@ app_setup_block: | # changelog changelogs: + - { date: "16.01.20:", desc: "Rebase to alpine linux 3.11 and build antlr3c from source." } - { date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag." } - { date: "14.01.19:", desc: "Add pipeline logic and multi arch." } - { date: "20.08.18:", desc: "Rebase to alpine linux 3.8." }