diff --git a/Dockerfile.raspberrypi b/Dockerfile.raspberrypi new file mode 100644 index 00000000..d702ceb6 --- /dev/null +++ b/Dockerfile.raspberrypi @@ -0,0 +1,101 @@ +FROM ubuntu:trusty + +MAINTAINER Igor Khomyakov + +RUN apt-get update && \ + apt-get install -y make binutils autoconf automake autotools-dev libtool \ + pkg-config git curl dpkg-dev autopoint libcppunit-dev libxml2-dev \ + libgcrypt11-dev lzip + +RUN git clone https://github.com/raspberrypi/tools.git --depth=1 /tools + +ENV ARCH armhf +ENV HOST arm-linux-gnueabihf +ENV LOCAL_DIR /local + +ENV TOOL_BIN_DIR /tools/arm-bcm2708/gcc-linaro-$HOST-raspbian-x64/bin +ENV PATH ${TOOL_BIN_DIR}:$PATH + +RUN mkdir $LOCAL_DIR && mkdir zlib && cd zlib && \ + curl -Ls -o - 'http://prdownloads.sourceforge.net/libpng/zlib-1.2.8.tar.gz?download' | \ + tar xzf - --strip-components=1 && \ + prefix=${LOCAL_DIR} \ + CC=$HOST-gcc \ + STRIP=$HOST-strip \ + RANLIB=$HOST-ranlib \ + AR=$HOST-ar \ + LD=$HOST-ld \ + ./configure --static \ + --libdir=$LOCAL_DIR/lib && \ + make -s && \ + make -s install + +RUN mkdir -p expat && cd expat && \ + curl -Ls -o - 'http://sourceforge.net/projects/expat/files/latest/download' | \ + tar xzf - --strip-components=1 && \ + ./configure \ + --host=$HOST \ + --build=`dpkg-architecture -qDEB_BUILD_GNU_TYPE` \ + --enable-shared=no \ + --enable-static=yes \ + --prefix=${LOCAL_DIR} && \ + make -s && \ + make -s install + +RUN mkdir c-ares && cd c-ares && \ + curl -Ls -o - http://c-ares.haxx.se/download/c-ares-1.10.0.tar.gz | \ + tar xzf - --strip-components=1 && \ + ./configure \ + --host=$HOST \ + --build=`dpkg-architecture -qDEB_BUILD_GNU_TYPE` \ + --enable-shared=no \ + --enable-static=yes \ + --prefix=${LOCAL_DIR} && \ + make -s && \ + make -s install + +RUN mkdir gmp && cd gmp && \ + curl -Ls -o - 'https://gmplib.org/download/gmp/gmp-6.0.0a.tar.lz' | \ + lzip -d | tar xf - --strip-components=1 && \ + ./configure \ + --disable-shared \ + --enable-static \ + --prefix=$LOCAL_DIR \ + --host=$HOST \ + --disable-cxx \ + --enable-fat && \ + make -s && \ + make -s install + +RUN mkdir sqlite && cd sqlite && \ + curl -Ls -o - https://www.sqlite.org/2015/sqlite-autoconf-3080900.tar.gz | \ + tar xzf - --strip-components=1 && \ + ./configure \ + --disable-shared \ + --enable-static \ + --prefix=$LOCAL_DIR \ + --host=$HOST \ + --build=`dpkg-architecture -qDEB_BUILD_GNU_TYPE` && \ + make -s && \ + make -s install + +RUN mkdir aria && cd aria && \ + curl -Ls -o - http://sourceforge.net/projects/aria2/files/latest/download | \ + tar xjf - --strip-components=1 && \ + ./configure \ + --host=$HOST \ + --build=`dpkg-architecture -qDEB_BUILD_GNU_TYPE` \ + --disable-nls \ + --disable-ssl \ + --without-gnutls \ + --without-libxml2 \ + --with-libz --with-libz-prefix=${LOCAL_DIR} \ + --with-libexpat --with-libexpat-prefix=${LOCAL_DIR} \ + --with-slite3 --with-sqlite3-prefix=${LOCAL_DIR} \ + --with-libcares --with-libcares-prefix=${LOCAL_DIR} \ + --prefix=${LOCAL_DIR} \ + LDFLAGS="-L$LOCAL_DIR/lib" \ + PKG_CONFIG_PATH="$LOCAL_DIR/lib/pkgconfig" \ + ARIA2_STATIC=yes && \ + make -s && \ + make -s install-strip