Skip to content

Instantly share code, notes, and snippets.

@bertfrees
Last active August 29, 2015 14:21
Show Gist options
  • Save bertfrees/120f7c22a121681f577b to your computer and use it in GitHub Desktop.
Save bertfrees/120f7c22a121681f577b to your computer and use it in GitHub Desktop.
Dockerfile for cross-compiling liblouis, libxml2 and liblouisutdml for Windows
Dockerfile for cross-compiling liblouis, libxml2 and liblouisutdml for Windows
FROM debian:wheezy
RUN apt-get update && apt-get install -y make autoconf automake libtool pkg-config curl mingw32 mercurial git openjdk-7-jdk zip
WORKDIR /tmp/
RUN curl -L http://ftpmirror.gnu.org/texinfo/texinfo-5.2.tar.gz | tar zx
RUN git clone git://git.gnome.org/libxml2
RUN curl -L https://github.com/liblouis/liblouis/releases/download/v2.6.2/liblouis-2.6.2.tar.gz | tar zx
RUN hg clone https://code.google.com/p/liblouisutdml
WORKDIR /tmp/texinfo-5.2
RUN ./configure
RUN make install
WORKDIR /tmp/libxml2
RUN git checkout LIBXML2.7.3
RUN autoreconf -i
RUN ./configure --with-zlib=no --with-iconv=no --with-python=no --host i586-mingw32msvc --prefix=/tmp/liblouis-mingw32msvc
RUN make
RUN make install
WORKDIR /tmp/liblouis-2.6.2
RUN ./configure --enable-ucs4 --host i586-mingw32msvc --prefix=/tmp/liblouis-mingw32msvc
RUN make
RUN make install
WORKDIR /tmp/liblouisutdml
ENV PKG_CONFIG_PATH=/tmp/liblouis-mingw32msvc/lib/pkgconfig
ENV CFLAGS=-I/usr/lib/jvm/java-7-openjdk-amd64/include/
RUN ./autogen.sh
RUN ./configure --host i586-mingw32msvc --prefix=/tmp/liblouis-mingw32msvc
RUN make
RUN make install
liblouis-mingw32msvc.zip :
docker build -t liblouis/liblouis-mingw32 .
docker run --rm -v "$(CURDIR):/target" liblouis/liblouis-mingw32 zip -r /target/$@ /tmp/liblouis-mingw32msvc
tmp/liblouis-mingw32msvc/bin/lou_translate.exe tmp/liblouis-mingw32msvc/bin/file2brl.exe : liblouis-mingw32msvc.zip
unzip $<
check : tmp/liblouis-mingw32msvc/bin/lou_translate.exe tmp/liblouis-mingw32msvc/bin/file2brl.exe
wine tmp/liblouis-mingw32msvc/bin/lou_translate.exe --version
wine tmp/liblouis-mingw32msvc/bin/file2brl.exe --version
clean :
rm -rf liblouis-mingw32msvc.zip tmp
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment