THRIFT-4308: re-enable dlang deimos build support for libevent
and openssl, working around a dmd link order issue.
Update dotnet-sdk to 2.1.4 (was 2.0.5) because of build failures
Client: d
Client: netcore
This closes #1483
diff --git a/build/docker/README.md b/build/docker/README.md
index 4b59e03..f58e88b 100644
--- a/build/docker/README.md
+++ b/build/docker/README.md
@@ -136,17 +136,17 @@
| Language | ubuntu-trusty | ubuntu-xenial | ubuntu-artful | Notes |
| :-------- | :------------ | :------------ | :------------ | :---- |
-| as of | Oct 01, 2017 | Jan 11, 2018 | Oct 01, 2017 | |
+| as of | Oct 01, 2017 | Jan 29, 2018 | Jan 29, 2018 | |
| as3 | | | | Not in CI |
| C++ gcc | 4.8.4 | 5.4.0 | 7.2.0 | |
| C++ clang | 3.4 | 3.8 | 4.0 | |
| C# (mono) | 3.2.8.0 | 4.2.1.0 | 4.6.2.7 | |
| c_glib | 2.40.2 | 2.48.2 | 2.54.0 | |
| cocoa | | | | Not in CI |
-| d | 2.070.2 | 2.073.2 | 2.076.0 | |
-| dart | 1.20.1 | 1.22.1 | 1.24.2 | |
+| d | 2.070.2 | 2.073.2 | 2.077.1 | |
+| dart | 1.20.1 | 1.22.1 | 1.24.3 | |
| delphi | | | | Not in CI |
-| dotnet | | 2.0.3 | 2.0.3 | |
+| dotnet | | 2.1.4 | 2.1.4 | v2.1.4 SDK uses v2.0.5 Runtime |
| erlang | R16B03 | 18.3 | 20.0.4 | |
| go | 1.2.1 | 1.6.2 | 1.8.3 | |
| haskell | 7.6.3 | 7.10.3 | 8.0.2 | |
@@ -157,11 +157,11 @@
| nodejs | | 4.2.6 | 8.9.1 | trusty has node.js 0.10.0 which is too old |
| ocaml | | 4.02.3 | 4.04.0 | |
| perl | 5.18.2 | 5.22.1 | 5.26.0 | |
-| php | 5.5.9 | 7.0.22 | 7.1.8 | |
+| php | 5.5.9 | 7.0.22 | 7.1.11 | |
| python | 2.7.6 | 2.7.12 | 2.7.14 | |
| python3 | 3.4.3 | 3.5.2 | 3.6.3 | |
| ruby | 1.9.3p484 | 2.3.1p112 | 2.3.3p222 | |
-| rust | 1.15.1 | 1.17.0 | 1.18.0 | |
+| rust | 1.15.1 | 1.17.0 | 1.21.0 | |
| smalltalk | | | | Not in CI |
| swift | | | | Not in CI |
diff --git a/build/docker/ubuntu-artful/Dockerfile b/build/docker/ubuntu-artful/Dockerfile
index bbc829c..4babc3f 100644
--- a/build/docker/ubuntu-artful/Dockerfile
+++ b/build/docker/ubuntu-artful/Dockerfile
@@ -92,27 +92,28 @@
`# csharp (mono) dependencies` \
mono-devel
+ENV D_VERSION 2.077.1-0.1
RUN apt-get install -y --no-install-recommends \
`# D dependencies` \
- dmd-bin \
- libphobos2-dev \
+ dmd-bin=$D_VERSION \
+ libphobos2-dev=$D_VERSION \
+ dmd-compiler=$D_VERSION \
+ dmd-tools=$D_VERSION \
dub \
dfmt \
dscanner \
libevent-dev \
libssl-dev \
xdg-utils
-# libevent deimos doesn't seem to work so not enabling it:
-# RUN mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
-# curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
-# mv libevent-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
-# mv libevent-master/C/* /usr/include/dmd/druntime/import/C/ && \
-# rm -rf libevent-master
-# openssl deimos doesn't work with openssl-1.0.2 so not enabling it:
-# RUN curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
-# mv openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
-# mv openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
-# rm -rf openssl-master
+RUN mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
+ curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
+ mv libevent-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
+ mv libevent-master/C/* /usr/include/dmd/druntime/import/C/ && \
+ rm -rf libevent-master
+RUN curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
+ mv openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
+ mv openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
+ rm -rf openssl-master
RUN apt-get install -y --no-install-recommends \
`# Dart dependencies` \
@@ -121,7 +122,7 @@
RUN apt-get install -y --no-install-recommends \
`# dotnet core dependencies` \
- dotnet-sdk-2.0.3
+ dotnet-sdk-2.1.4
RUN apt-get install -y --no-install-recommends \
`# Erlang dependencies` \
diff --git a/build/docker/ubuntu-trusty/Dockerfile b/build/docker/ubuntu-trusty/Dockerfile
index 5d7cec2..40f9c55 100644
--- a/build/docker/ubuntu-trusty/Dockerfile
+++ b/build/docker/ubuntu-trusty/Dockerfile
@@ -86,15 +86,15 @@
dfmt \
dscanner \
xdg-utils
-# RUN mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
-# curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
-# mv libevent-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
-# mv libevent-master/C/* /usr/include/dmd/druntime/import/C/ && \
-# rm -rf libevent-master
-# RUN curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
-# mv openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
-# mv openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
-# rm -rf openssl-master
+RUN mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
+ curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
+ mv libevent-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
+ mv libevent-master/C/* /usr/include/dmd/druntime/import/C/ && \
+ rm -rf libevent-master
+RUN curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
+ mv openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
+ mv openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
+ rm -rf openssl-master
RUN apt-get install -y --no-install-recommends \
`# Dart dependencies` \
diff --git a/build/docker/ubuntu-xenial/Dockerfile b/build/docker/ubuntu-xenial/Dockerfile
index d8b43f5..b37434b 100644
--- a/build/docker/ubuntu-xenial/Dockerfile
+++ b/build/docker/ubuntu-xenial/Dockerfile
@@ -106,17 +106,15 @@
libevent-dev \
libssl-dev \
xdg-utils
-# libevent deimos doesn't seem to work so not enabling it:
-# RUN mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
-# curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
-# mv libevent-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
-# mv libevent-master/C/* /usr/include/dmd/druntime/import/C/ && \
-# rm -rf libevent-master
-# openssl deimos doesn't work with openssl-1.0.2 so not enabling it:
-# RUN curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
-# mv openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
-# mv openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
-# rm -rf openssl-master
+RUN mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
+ curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
+ mv libevent-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
+ mv libevent-master/C/* /usr/include/dmd/druntime/import/C/ && \
+ rm -rf libevent-master
+RUN curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
+ mv openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
+ mv openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
+ rm -rf openssl-master
RUN apt-get install -y --no-install-recommends \
`# Dart dependencies` \
@@ -125,7 +123,7 @@
RUN apt-get install -y --no-install-recommends \
`# dotnet core dependencies` \
- dotnet-sdk-2.0.3
+ dotnet-sdk-2.1.4
RUN apt-get install -y --no-install-recommends \
`# Erlang dependencies` \