From 28ffb9638d7a06b4bfcb87ce6af28c66c2210de3 Mon Sep 17 00:00:00 2001 From: Alex Cornejo Date: Tue, 13 Oct 2015 09:40:40 -0700 Subject: add android build --- src/Dockerfile.android | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 src/Dockerfile.android (limited to 'src/Dockerfile.android') diff --git a/src/Dockerfile.android b/src/Dockerfile.android new file mode 100644 index 00000000..540858fd --- /dev/null +++ b/src/Dockerfile.android @@ -0,0 +1,44 @@ +FROM ubuntu:14.04 +MAINTAINER Junegunn Choi + +# apt-get +RUN apt-get update && apt-get -y upgrade && \ + apt-get install -y --force-yes git curl build-essential + +# Install Go 1.4 +RUN cd / && curl \ + https://storage.googleapis.com/golang/go1.4.2.linux-amd64.tar.gz | \ + tar -xz && mv go go1.4 && \ + sed -i 's@#define PTHREAD_KEYS_MAX 128@@' /go1.4/src/runtime/cgo/gcc_android_arm.c + +ENV GOPATH /go +ENV GOROOT /go1.4 +ENV PATH /go1.4/bin:$PATH + +RUN cd / && \ + curl -O http://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin && \ + chmod 755 /android-ndk* && /android-ndk-r10e-linux-x86_64.bin && \ + mv android-ndk-r10e /android-ndk + +RUN cd /android-ndk && bash ./build/tools/make-standalone-toolchain.sh --platform=android-21 --install-dir=/ndk --arch=arm + +ENV NDK_CC /ndk/bin/arm-linux-androideabi-gcc + +RUN cd $GOROOT/src && \ + CC_FOR_TARGET=$NDK_CC GOOS=android GOARCH=arm GOARM=7 ./make.bash + +RUN cd / && curl \ + http://ftp.gnu.org/gnu/ncurses/ncurses-5.9.tar.gz | \ + tar -xz && cd /ncurses-5.9 && \ + ./configure CC=$NDK_CC CFLAGS="-fPIE -march=armv7-a -mfpu=neon -mhard-float -Wl,--no-warn-mismatch" LDFLAGS="-march=armv7-a -Wl,--no-warn-mismatch" --host=arm-linux --enable-overwrite --enable-const --without-cxx-binding --without-shared --without-debug --enable-widec --enable-ext-colors --enable-ext-mouse --enable-pc-files --with-pkg-config-libdir=$PKG_CONFIG_LIBDIR --without-manpages --without-ada --disable-shared --without-tests --prefix=/ndk/sysroot/usr --with-default-terminfo-dirs=/usr/share/terminfo --with-terminfo-dirs=/usr/share/terminfo ac_cv_header_locale_h=n ac_cv_func_getpwent=no ac_cv_func_getpwnam=no ac_cv_func_getpwuid=no && \ + sed -i 's@#define HAVE_LOCALE_H 1@/* #undef HAVE_LOCALE_H */@' include/ncurses_cfg.h && \ + make && \ + sed -i '0,/echo.*/{s/echo.*/exit 0/}' misc/run_tic.sh && \ + make install && \ + mv /ndk/sysroot/usr/lib/libncursesw.a /ndk/sysroot/usr/lib/libncurses.a + +# Volume +VOLUME /go + +# Default CMD +CMD cd /go/src/github.com/junegunn/fzf/src && /bin/bash -- cgit v1.2.3