Skip to content

Commit

Permalink
Update docker file, add build scripts.
Browse files Browse the repository at this point in the history
  • Loading branch information
toots committed Sep 13, 2018
1 parent ac2cfd6 commit dc150e6
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 15 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -6,3 +6,4 @@ website/protocols.txt
latest/
liquidsoap-*-full*
website/savonet.github.io
docker/*.zip
15 changes: 8 additions & 7 deletions docker/Dockerfile.win32
@@ -1,17 +1,18 @@
FROM savonet/liquidsoap-win32-deps

USER opam

RUN eval `opam config env` && opam reinstall -y `echo ${OPAM_DEPS} | sed -e 's#,# #g'`
ARG RELEASE=dev
ARG BUILD

WORKDIR /tmp

RUN eval `opam config env` && git clone --recursive https://github.com/savonet/liquidsoap.git && cd liquidsoap && ./bootstrap && ./configure --enable-custom-path --host=x86_64-w64-mingw32.static OCAMLFIND_TOOLCHAIN=windows && env OCAMLFIND_TOOLCHAIN=windows make
RUN if [ "x$RELEASE" != "xdev" ]; then curl https://github.com/savonet/liquidsoap/releases/download/$RELEASE/liquidsoap-$RELEASE.tar.bz2 -L -o /tmp/liquidsoap.tar.bz2 && cd /tmp && tar xvf liquidsoap.tar.bz2 && mv /tmp/liquidsoap-$RELEASE /tmp/liquidsoap ; fi

RUN if [ "x$RELEASE" = "xdev" ]; then git clone --recursive https://github.com/savonet/liquidsoap.git && cd liquidsoap && ./bootstrap ; fi

RUN eval `opam config env` && cd /tmp/liquidsoap && ./configure --enable-custom-path --host=x86_64-w64-mingw32.static OCAMLFIND_TOOLCHAIN=windows && env OCAMLFIND_TOOLCHAIN=windows make

RUN mkdir /tmp/win32

COPY --chown=opam:root win32 /tmp/win32

ARG LIQUIDSOAP_VERSION

RUN eval `opam config env` && mv /tmp/win32 /tmp/liquidsoap-$LIQUIDSOAP_VERSION && cd /tmp/liquidsoap-$LIQUIDSOAP_VERSION && cp /tmp/liquidsoap/src/liquidsoap.exe . && cp /tmp/liquidsoap/scripts/*.liq libs && cp -rf `ocamlfind -toolchain windows ocamlc -where`/../../share/camomile . && cd .. && zip -r liquidsoap-$LIQUIDSOAP_VERSION.zip liquidsoap-$LIQUIDSOAP_VERSION
RUN eval `opam config env` && mv /tmp/win32 /tmp/liquidsoap-$BUILD && cd /tmp/liquidsoap-$BUILD && cp /tmp/liquidsoap/src/liquidsoap.exe . && cp /tmp/liquidsoap/scripts/*.liq libs && cp -rf `ocamlfind -toolchain windows ocamlc -where`/../../share/camomile . && cd .. && zip -r liquidsoap-$BUILD.zip liquidsoap-$BUILD
7 changes: 3 additions & 4 deletions docker/Dockerfile.win32-deps
@@ -1,11 +1,10 @@
FROM ocamlcross/windows-x64-base:4.06.1
FROM ocamlcross/windows-x64-base:4.07.0

ENV OPAM_DEPS=winsvc-windows,camomile-windows,duppy-windows,dtools-windows,pcre-windows,mm-windows,ao-windows,fdkaac-windows,flac-windows,faad-windows,lame-windows,mad-windows,ogg-windows,opus-windows,ssl-windows,portaudio-windows,samplerate-windows,speex-windows,taglib-windows,theora-windows,vorbis-windows,yojson-windows,cry-windows
# TODO: fix compilation with ffmpeg-windows
ENV OPAM_DEPS=winsvc-windows,camomile-windows,duppy-windows,dtools-windows,pcre-windows,mm-windows,ao-windows,fdkaac-windows,flac-windows,faad-windows,lame-windows,mad-windows,ogg-windows,opus-windows,ssl-windows,portaudio-windows,samplerate-windows,speex-windows,taglib-windows,theora-windows,vorbis-windows,yojson-windows,gstreamer-windows,cry-windows

RUN opam list --short --recursive --external=mxe --required-by=$OPAM_DEPS > /home/opam/mxe-deps

USER root

RUN sed -i /etc/apt/sources.list -e 's#jessie#testing#g' && (apt-get update || true) && apt-get install automake

RUN cd /usr/src/mxe/ && cat /home/opam/mxe-deps | xargs make
7 changes: 4 additions & 3 deletions docker/build-win32.sh
@@ -1,10 +1,11 @@
#!/bin/sh

IMAGE=savonet/liquidsoap-win32
VERSION=$1
BUILD=$1
RELEASE=$2

docker build -f Dockerfile.win32-deps -t savonet/liquidsoap-win32-deps .
docker build --no-cache -f Dockerfile.win32 -t ${IMAGE} --build-arg LIQUIDSOAP_VERSION=$VERSION .
docker build -f Dockerfile.win32 -t ${IMAGE} --build-arg RELEASE=$RELEASE --build-arg BUILD=$BUILD .
id=$(docker create ${IMAGE})
docker cp $id:/tmp/liquidsoap-$VERSION.zip .
docker cp $id:/tmp/liquidsoap-$BUILD.zip .
docker rm -v $id
2 changes: 1 addition & 1 deletion docker/update-full.sh
@@ -1,4 +1,4 @@
#!/bin/sh -e

docker build -t savonet/liquidsoap-full -f Dockerfile.full .
docker build --no-cache -t savonet/liquidsoap-full -f Dockerfile.full .
docker push savonet/liquidsoap-full

0 comments on commit dc150e6

Please sign in to comment.