aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Dockerfile
diff options
context:
space:
mode:
authorGravatar mitchell <70453897+orbitalquark@users.noreply.github.com>2020-09-08 21:01:05 -0400
committerGravatar mitchell <70453897+orbitalquark@users.noreply.github.com>2020-09-08 21:01:05 -0400
commit0ecb986767b5aeec567f01241b0c06f67c28433c (patch)
tree7a72a11b1724f911cd8ff647cd8fa8570e86dbaa /src/Dockerfile
parentb7d89ca670e4dff664dda6d0d5c98b65eaafdb8d (diff)
Updated Docker build environment to use more recent libc++ headers for osxcross.
Also added some documentation.
Diffstat (limited to 'src/Dockerfile')
-rw-r--r--src/Dockerfile23
1 files changed, 18 insertions, 5 deletions
diff --git a/src/Dockerfile b/src/Dockerfile
index d565ed74..b90faadc 100644
--- a/src/Dockerfile
+++ b/src/Dockerfile
@@ -1,25 +1,38 @@
FROM ubuntu:bionic
LABEL maintainer="textadept"
+# Fetch packages for:
+# * Building on Linux
+# * Building for Windows
+# * Building macOS cross-compiler
+# * Building GTK and curses applications
+# * Generating Markdown documentation
RUN echo "Fetching packages" \
&& apt-get update \
&& DEBIAN_FRONTEND="noninteractive" apt-get install -y -q --no-install-recommends \
build-essential ca-certificates curl git gnupg mercurial unzip wget zip \
mingw-w64 \
- clang cmake libssl-dev libxml2-dev llvm-dev lzma-dev uuid-dev \
- libmpc-dev libmpfr-dev libgmp-dev \
+ clang cmake libc++-dev libssl-dev libxml2-dev llvm-dev lzma-dev uuid-dev \
libgtk2.0-dev libncurses5-dev libncursesw5-dev \
luadoc discount \
&& apt-get clean
+# Patch LuaDoc to better control documentation formatting.
COPY luadoc.patch /
RUN echo "Patching LuaDoc" && cd /usr/share/lua/5.1 && patch -p0 < /luadoc.patch
+# Build osxcross with newer libc++ headers and without i386 support.
+ARG sdk="MacOSX10.13.sdk"
RUN echo "Building osxcross" \
&& wget https://github.com/tpoechtrager/osxcross/archive/748108aec4e3ceb672990df8164a11b0ac6084f7.zip \
&& unzip *.zip && mv osxcross-* /opt/osxcross && rm *.zip \
- && wget https://www.dropbox.com/s/yfbesd249w10lpc/MacOSX10.10.sdk.tar.xz \
- && mv MacOSX* /opt/osxcross/tarballs \
- && cd /opt/osxcross && UNATTENDED=1 SDK_VERSION="10.10" OSX_VERSION_MIN="10.6" ./build.sh
+ && wget https://github.com/phracker/MacOSX-SDKs/releases/download/10.13/${sdk}.tar.xz \
+ && tar xJf ${sdk}.tar.xz \
+ && cp -r /usr/include/c++/v1 ${sdk}/usr/include/c++ \
+ && tar czf /opt/osxcross/tarballs/${sdk}.tar.gz ${sdk} \
+ && rm -r ${sdk}* \
+ && cd /opt/osxcross \
+ && sed -i -e 's/I386_SUPPORTED=1/I386_SUPPORTED=0/;' build.sh \
+ && UNATTENDED=1 SDK_VERSION="10.13" OSX_VERSION_MIN="10.6" ./build.sh
RUN echo "Cleaning up" && rm -rf /opt/osxcross/build /opt/osxcross/tarballs/MacOSX*
ENV PATH="$PATH:/opt/osxcross/target/bin"