From 644788414bfdd94666c36f5b04f099222df650ec Mon Sep 17 00:00:00 2001 From: sparklyballs Date: Tue, 16 Aug 2016 16:41:14 +0100 Subject: [PATCH] test iconv as possible fix for file types --- Dockerfile | 18 +++++++++++++ patches/libiconv-1-fixes.patch | 46 ++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 patches/libiconv-1-fixes.patch diff --git a/Dockerfile b/Dockerfile index 116d297..d71e164 100644 --- a/Dockerfile +++ b/Dockerfile @@ -21,6 +21,7 @@ RUN \ cmake \ coreutils \ ffmpeg-dev \ + file \ findutils \ g++ \ gcc \ @@ -85,6 +86,23 @@ RUN \ wget \ zlib && \ +# build libiconv + mkdir -p \ + /tmp/iconv-src && \ + curl -o \ + /tmp/iconv.tar.gz -L \ + http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz && \ + tar xf /tmp/iconv.tar.gz -C \ + /tmp/iconv-src --strip-components=1 && \ + cd /tmp/iconv-src && \ + ./configure \ + --prefix=/usr/local && \ + patch -p1 -i \ + /tmp/patches/libiconv-1-fixes.patch && \ + make && \ + make install && \ + libtool --finish /usr/local/lib && \ + # install perl modules curl -L http://cpanmin.us | perl - App::cpanminus && \ cpanm HTML::TableExtract && \ diff --git a/patches/libiconv-1-fixes.patch b/patches/libiconv-1-fixes.patch new file mode 100644 index 0000000..cf3fef5 --- /dev/null +++ b/patches/libiconv-1-fixes.patch @@ -0,0 +1,46 @@ +This file is part of MXE. +See index.html for further information. + +Contains ad hoc patches for cross building. + +From 47345f5dcfb91da8afed7c4e6c29faa2056db447 Mon Sep 17 00:00:00 2001 +From: MXE +Date: Fri, 7 Jun 2013 17:44:24 +1000 +Subject: [PATCH] remove gets since c++11 removed it + https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00186.html + + +diff --git a/srclib/stdio.in.h b/srclib/stdio.in.h +index 473c84c..dfb59eb 100644 +--- a/srclib/stdio.in.h ++++ b/srclib/stdio.in.h +@@ -679,22 +679,11 @@ _GL_WARN_ON_USE (getline, "getline is unportable - " + # endif + #endif + +-#if @GNULIB_GETS@ +-# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ +-# if !(defined __cplusplus && defined GNULIB_NAMESPACE) +-# undef gets +-# define gets rpl_gets +-# endif +-_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1))); +-_GL_CXXALIAS_RPL (gets, char *, (char *s)); +-# else +-_GL_CXXALIAS_SYS (gets, char *, (char *s)); +-# undef gets +-# endif +-_GL_CXXALIASWARN (gets); + /* It is very rare that the developer ever has full control of stdin, +- so any use of gets warrants an unconditional warning. Assume it is +- always declared, since it is required by C89. */ ++ so any use of gets warrants an unconditional warning; besides, C11 ++ removed it. */ ++#undef gets ++#if HAVE_RAW_DECL_GETS + _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); + #endif + +-- +1.8.2.3 +