From c68dafa3916816e38c6fe19bee67ad9d1c0a5b85 Mon Sep 17 00:00:00 2001
From: Wonderfall <wonderfall@schrodinger.io>
Date: Thu, 22 Sep 2016 16:00:35 +0200
Subject: [PATCH] nextcloud: use gnu libiconv for iconv

---
 nextcloud/10.0/Dockerfile | 27 ++++++++++++++++++++++++---
 1 file changed, 24 insertions(+), 3 deletions(-)

diff --git a/nextcloud/10.0/Dockerfile b/nextcloud/10.0/Dockerfile
index bb4c0f0..eaf9375 100644
--- a/nextcloud/10.0/Dockerfile
+++ b/nextcloud/10.0/Dockerfile
@@ -2,6 +2,7 @@ FROM alpine:3.4
 MAINTAINER Wonderfall <wonderfall@schrodinger.io>
 
 ARG NEXTCLOUD_VERSION=10.0.0
+ARG GNU_LIBICONV_VERSION=1.14
 ARG GPG_nextcloud="2880 6A87 8AE4 23A2 8372  792E D758 99B9 A724 937A"
 
 ENV UID=991 GID=991 \
@@ -11,7 +12,13 @@ ENV UID=991 GID=991 \
 
 RUN echo "@commuedge https://nl.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories \
  && echo "@testing https://nl.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories \
- && BUILD_DEPS="gnupg tar" \
+ && BUILD_DEPS=" \
+    gnupg \
+    tar \
+    build-base \
+    autoconf \
+    automake \
+    libtool" \
  && apk -U add \
     ${BUILD_DEPS} \
     nginx \
@@ -34,7 +41,6 @@ RUN echo "@commuedge https://nl.alpinelinux.org/alpine/edge/community" >> /etc/a
     php7-pdo@commuedge \
     php7-dom@commuedge \
     php7-ctype@commuedge \
-    php7-iconv@commuedge \
     php7-pdo_mysql@commuedge \
     php7-pdo_pgsql@commuedge \
     php7-pgsql@commuedge \
@@ -49,7 +55,22 @@ RUN echo "@commuedge https://nl.alpinelinux.org/alpine/edge/community" >> /etc/a
     php7-ftp@commuedge \
     php7-apcu@testing \
     php7-redis@testing \
+    php7-pear@commuedge \
+    php7-dev@commuedge \
  && mkdir /nextcloud && cd /tmp \
+ && wget -q http://ftp.gnu.org/pub/gnu/libiconv/libiconv-${GNU_LIBICONV_VERSION}.tar.gz \
+ && tar xzf libiconv-${GNU_LIBICONV_VERSION}.tar.gz && cd libiconv-${GNU_LIBICONV_VERSION} \
+ && ./configure --prefix=/usr/local \
+ && wget https://raw.githubusercontent.com/mxe/mxe/7e231efd245996b886b501dad780761205ecf376/src/libiconv-1-fixes.patch \
+ && patch -p1 -u < libiconv-1-fixes.patch \
+ && make && make install && libtool --finish /usr/local/lib && cd /tmp \
+ && wget -q http://is1.php.net/get/php-7.0.11.tar.gz/from/this/mirror -O php7.tar.gz \
+ && tar xzf php7.tar.gz && cd /tmp/php-7.0.11/ext/iconv && phpize7 \
+ && ./configure \
+    --with-iconv=/usr/local \
+    --with-php-config=/usr/bin/php-config7 \
+ && make && cp modules/iconv.so /usr/lib/php7/modules && cd /tmp \
+ && echo "extension=iconv.so" > /etc/php7/conf.d/00_iconv.ini \
  && NEXTCLOUD_TARBALL="nextcloud-${NEXTCLOUD_VERSION}.tar.bz2" \
  && wget -q https://download.nextcloud.com/server/releases/${NEXTCLOUD_TARBALL} \
  && wget -q https://download.nextcloud.com/server/releases/${NEXTCLOUD_TARBALL}.sha256 \
@@ -65,7 +86,7 @@ RUN echo "@commuedge https://nl.alpinelinux.org/alpine/edge/community" >> /etc/a
  && if [ "${FINGERPRINT}" != "${GPG_nextcloud}" ]; then echo "Warning! Wrong GPG fingerprint!" && exit 1; fi \
  && echo "All seems good, now unpacking ${NEXTCLOUD_TARBALL}..." \
  && tar xjf ${NEXTCLOUD_TARBALL} --strip 1 -C /nextcloud \
- && apk del ${BUILD_DEPS} \
+ && apk del ${BUILD_DEPS} php7-pear php7-dev \
  && rm -rf /var/cache/apk/* /tmp/* /root/.gnupg
 
 COPY nginx.conf /etc/nginx/nginx.conf