Upgrading dependency to Thrift 0.12.0
This commit is contained in:
parent
3e4590dcc0
commit
356978cb42
1302 changed files with 101701 additions and 26784 deletions
201
vendor/git.apache.org/thrift.git/build/docker/README.md
generated
vendored
201
vendor/git.apache.org/thrift.git/build/docker/README.md
generated
vendored
|
@ -1,27 +1,198 @@
|
|||
# Apache Thrift Docker containers
|
||||
A set of docker containers used to build and test Apache Thrift
|
||||
# Docker Integration #
|
||||
|
||||
### Available Containers
|
||||
Due to the large number of languages supported by Apache Thrift,
|
||||
docker containers are used to build and test the project on a
|
||||
variety of platforms to provide maximum test coverage.
|
||||
|
||||
* Ubuntu - based on ubuntu:trusty (14.04)
|
||||
* Centos - based on centos:6.6
|
||||
## Appveyor Integration ##
|
||||
|
||||
## Dependencies
|
||||
At this time the Appveyor scripts do not use docker containers.
|
||||
Once Microsoft supports Visual Studio Build Tools running inside
|
||||
nano containers (instead of Core, which is huge) then we will
|
||||
consider using containers for the Windows builds as well.
|
||||
|
||||
* A working Docker environment. A Vagrantfile is provided which will setup an Ubuntu host and working Docker environment as well as build the Apache Thrift Docker container for testing and development
|
||||
## Travis CI Integration ##
|
||||
|
||||
## Usage
|
||||
From the Apache Thrift code base root
|
||||
The Travis CI scripts use the following environment variables and
|
||||
logic to determine their behavior:
|
||||
|
||||
* Build
|
||||
### Environment Variables ###
|
||||
|
||||
docker build -t thrift build/docker/ubuntu
|
||||
| Variable | Default | Usage |
|
||||
| -------- | ----- | ------- |
|
||||
| `DISTRO` | `ubuntu-bionic` | Set by various build jobs in `.travis.yml` to run builds in different containers. Not intended to be set externally.|
|
||||
| `DOCKER_REPO` | `thrift/thrift-build` | The name of the Docker Hub repository to obtain and store docker images. |
|
||||
| `DOCKER_USER` | `<none>` | The Docker Hub account name containing the repository. |
|
||||
| `DOCKER_PASS` | `<none>` | The Docker Hub account password to use when pushing new tags. |
|
||||
|
||||
or
|
||||
For example, the default docker image that is used in builds if no overrides are specified would be: `thrift/thrift-build:ubuntu-bionic`
|
||||
|
||||
docker build -t thrift build/docker/centos
|
||||
### Forks ###
|
||||
|
||||
* Run
|
||||
If you have forked the Apache Thrift repository and you would like
|
||||
to use your own Docker Hub account to store thrift build images,
|
||||
you can use the Travis CI web interface to set the `DOCKER_USER`,
|
||||
`DOCKER_PASS`, and `DOCKER_REPO` variables in a secure manner.
|
||||
Your fork builds will then pull, push, and tag the docker images
|
||||
in your account.
|
||||
|
||||
docker run -v $(pwd):/thrift/src -it thrift /bin/bash
|
||||
### Logic ###
|
||||
|
||||
The Travis CI build runs in two phases - first the docker images are rebuilt
|
||||
for each of the supported containers if they do not match the Dockerfile that
|
||||
was used to build the most recent tag. If a `DOCKER_PASS` environment
|
||||
variable is specified, the docker stage builds will attempt to log into
|
||||
Docker Hub and push the resulting tags.
|
||||
|
||||
## Supported Containers ##
|
||||
|
||||
The Travis CI (continuous integration) builds use the Ubuntu Bionic
|
||||
(18.04 LTS) and Xenial (16.04 LTS) images to maximize language level
|
||||
coverage.
|
||||
|
||||
### Ubuntu ###
|
||||
|
||||
* bionic (stable, current)
|
||||
* artful (previous stable)
|
||||
* xenial (legacy)
|
||||
|
||||
## Unsupported Containers ##
|
||||
|
||||
These containers may be in various states, and may not build everything.
|
||||
They can be found in the `old/` subdirectory.
|
||||
|
||||
### CentOS ###
|
||||
* 7.3
|
||||
* make check in lib/py may hang in test_sslsocket - root cause unknown
|
||||
|
||||
### Debian ###
|
||||
|
||||
* jessie
|
||||
* stretch
|
||||
* make check in lib/cpp fails due to https://svn.boost.org/trac10/ticket/12507
|
||||
|
||||
## Building like Travis CI does, locally ##
|
||||
|
||||
We recommend you build locally the same way Travis CI does, so that when you
|
||||
submit your pull request you will run into fewer surprises. To make it a
|
||||
little easier, put the following into your `~/.bash_aliases` file:
|
||||
|
||||
# Kill all running containers.
|
||||
alias dockerkillall='docker kill $(docker ps -q)'
|
||||
|
||||
# Delete all stopped containers.
|
||||
alias dockercleanc='printf "\n>>> Deleting stopped containers\n\n" && docker rm $(docker ps -a -q)'
|
||||
|
||||
# Delete all untagged images.
|
||||
alias dockercleani='printf "\n>>> Deleting untagged images\n\n" && docker rmi $(docker images -q -f dangling=true)'
|
||||
|
||||
# Delete all stopped containers and untagged images.
|
||||
alias dockerclean='dockercleanc || true && dockercleani'
|
||||
|
||||
# Build a thrift docker image (run from top level of git repo): argument #1 is image type (ubuntu, centos, etc).
|
||||
function dockerbuild
|
||||
{
|
||||
docker build -t $1 build/docker/$1
|
||||
}
|
||||
|
||||
# Run a thrift docker image: argument #1 is image type (ubuntu, centos, etc).
|
||||
function dockerrun
|
||||
{
|
||||
docker run -v $(pwd):/thrift/src -it $1 /bin/bash
|
||||
}
|
||||
|
||||
Then, to pull down the current image being used to build (the same way
|
||||
Travis CI does it) - if it is out of date in any way it will build a
|
||||
new one for you:
|
||||
|
||||
thrift$ DOCKER_REPO=thrift/thrift-build DISTRO=ubuntu-bionic build/docker/refresh.sh
|
||||
|
||||
To run all unit tests (just like Travis CI does):
|
||||
|
||||
thrift$ dockerrun ubuntu-bionic
|
||||
root@8caf56b0ce7b:/thrift/src# build/docker/scripts/autotools.sh
|
||||
|
||||
To run the cross tests (just like Travis CI does):
|
||||
|
||||
thrift$ dockerrun ubuntu-bionic
|
||||
root@8caf56b0ce7b:/thrift/src# build/docker/scripts/cross-test.sh
|
||||
|
||||
When you are done, you want to clean up occasionally so that docker isn't using lots of extra disk space:
|
||||
|
||||
thrift$ dockerclean
|
||||
|
||||
You need to run the docker commands from the root of the local clone of the
|
||||
thrift git repository for them to work.
|
||||
|
||||
When you are done in the root docker shell you can `exit` to go back to
|
||||
your user host shell. Once the unit tests and cross test passes locally,
|
||||
submit the changes, and if desired squash the pull request to one commit
|
||||
to make it easier to merge (the committers can squash at commit time now
|
||||
that GitHub is the master repository). Now you are building like Travis CI does!
|
||||
|
||||
## Raw Commands for Building with Docker ##
|
||||
|
||||
If you do not want to use the same scripts Travis CI does, you can do it manually:
|
||||
|
||||
Build the image:
|
||||
|
||||
thrift$ docker build -t thrift build/docker/ubuntu-bionic
|
||||
|
||||
Open a command prompt in the image:
|
||||
|
||||
thrift$ docker run -v $(pwd):/thrift/src -it thrift /bin/bash
|
||||
|
||||
## Core Tool Versions per Dockerfile ##
|
||||
|
||||
Last updated: October 1, 2017
|
||||
|
||||
| Tool | ubuntu-xenial | ubuntu-bionic | Notes |
|
||||
| :-------- | :------------ | :------------ | :---- |
|
||||
| ant | 1.9.6 | 1.10.3 | |
|
||||
| autoconf | 2.69 | 2.69 | |
|
||||
| automake | 1.15 | 1.15.1 | |
|
||||
| bison | 3.0.4 | 3.0.4 | |
|
||||
| boost | 1.58.0 | 1.65.1 | |
|
||||
| cmake | 3.5.1 | 3.10.2 | |
|
||||
| cppcheck | 1.72 | 1.82 | |
|
||||
| flex | 2.6.0 | 2.6.4 | |
|
||||
| libc6 | 2.23 | 2.27 | glibc |
|
||||
| libevent | 2.0.21 | 2.1.8 | |
|
||||
| libstdc++ | 5.4.0 | 7.3.0 | |
|
||||
| make | 4.1 | 4.1 | |
|
||||
| openssl | 1.0.2g | 1.1.0g | |
|
||||
| qt5 | 5.5.1 | 5.9.5 | |
|
||||
|
||||
## Compiler/Language Versions per Dockerfile ##
|
||||
|
||||
| Language | ubuntu-xenial | ubuntu-bionic | Notes |
|
||||
| :-------- | :------------ | :------------ | :---- |
|
||||
| as of | Mar 06, 2018 | Jul 6, 2018 | |
|
||||
| as3 | | | Not in CI |
|
||||
| C++ gcc | 5.4.0 | 7.3.0 | |
|
||||
| C++ clang | 3.8 | 6.0 | |
|
||||
| C# (mono) | 4.2.1.0 | 4.6.2.7 | |
|
||||
| c_glib | 2.48.2 | 2.56.0 | |
|
||||
| cl (sbcl) | | 1.4.9 | |
|
||||
| cocoa | | | Not in CI |
|
||||
| d | 2.075.1 | 2.081.0 | |
|
||||
| dart | 1.22.1 | 1.24.3 | |
|
||||
| delphi | | | Not in CI |
|
||||
| dotnet | 2.1.4 | 2.1.301 | |
|
||||
| erlang | 18.3 | 20.2.2 | |
|
||||
| go | 1.7.6 | 1.10.3 | |
|
||||
| haskell | 7.10.3 | 8.0.2 | |
|
||||
| haxe | 3.2.1 | 3.4.4 | THRIFT-4352: avoid 3.4.2 |
|
||||
| java | 1.8.0_151 | 1.8.0_171 | |
|
||||
| js | | | Unsure how to look for version info? |
|
||||
| lua | 5.2.4 | 5.2.4 | Lua 5.3: see THRIFT-4386 |
|
||||
| nodejs | 6.13.0 | 8.11.3 | |
|
||||
| ocaml | | 4.05.0 | THRIFT-4517: ocaml 4.02.3 on xenial appears broken |
|
||||
| perl | 5.22.1 | 5.26.1 | |
|
||||
| php | 7.0.22 | 7.2.5 | |
|
||||
| python | 2.7.12 | 2.7.15rc1 | |
|
||||
| python3 | 3.5.2 | 3.6.5 | |
|
||||
| ruby | 2.3.1p112 | 2.5.1p57 | |
|
||||
| rust | 1.17.0 | 1.24.1 | |
|
||||
| smalltalk | | | Not in CI |
|
||||
| swift | | | Not in CI |
|
||||
|
|
142
vendor/git.apache.org/thrift.git/build/docker/centos/Dockerfile
generated
vendored
142
vendor/git.apache.org/thrift.git/build/docker/centos/Dockerfile
generated
vendored
|
@ -1,142 +0,0 @@
|
|||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Apache Thrift Docker build environment for Centos
|
||||
#
|
||||
# Known missing client libraries:
|
||||
# - D
|
||||
# - Haxe
|
||||
# - Lua
|
||||
#
|
||||
|
||||
FROM centos:7
|
||||
MAINTAINER Apache Thrift <dev@thrift.apache.org>
|
||||
|
||||
RUN yum install -y epel-release
|
||||
|
||||
# General dependencies
|
||||
RUN yum install -y \
|
||||
tar \
|
||||
m4 \
|
||||
perl \
|
||||
clang \
|
||||
gcc \
|
||||
gcc-c++ \
|
||||
git \
|
||||
libtool \
|
||||
autoconf \
|
||||
make \
|
||||
bison \
|
||||
bison-devel \
|
||||
flex
|
||||
|
||||
# C++ dependencies
|
||||
RUN yum install -y \
|
||||
boost-devel-static \
|
||||
zlib-devel \
|
||||
openssl-devel \
|
||||
libevent-devel
|
||||
|
||||
# Java Dependencies
|
||||
RUN yum install -y \
|
||||
ant \
|
||||
junit \
|
||||
ant-junit \
|
||||
java-1.7.0-openjdk-devel
|
||||
|
||||
# Python Dependencies
|
||||
RUN yum install -y \
|
||||
python-devel \
|
||||
python-pip \
|
||||
python-setuptools \
|
||||
python-six \
|
||||
python-twisted-web && \
|
||||
pip install -U backports.ssl_match_hostname ipaddress tornado
|
||||
|
||||
# Ruby Dependencies
|
||||
RUN yum install -y \
|
||||
ruby \
|
||||
ruby-devel \
|
||||
rubygems && \
|
||||
gem install bundler rake
|
||||
|
||||
# Perl Dependencies
|
||||
RUN yum install -y \
|
||||
perl-Bit-Vector \
|
||||
perl-Class-Accessor \
|
||||
perl-ExtUtils-MakeMaker \
|
||||
perl-Test-Simple \
|
||||
perl-IO-Socket-SSL \
|
||||
perl-Net-SSLeay \
|
||||
perl-Crypt-SSLeay
|
||||
|
||||
# PHP Dependencies
|
||||
RUN yum install -y \
|
||||
php \
|
||||
php-devel \
|
||||
php-pear \
|
||||
re2c \
|
||||
php-phpunit-PHPUnit \
|
||||
bzip2
|
||||
|
||||
# GLibC Dependencies
|
||||
RUN yum install -y glib2-devel
|
||||
|
||||
# Erlang Dependencies
|
||||
RUN curl -sSL http://packages.erlang-solutions.com/rpm/centos/erlang_solutions.repo -o /etc/yum.repos.d/erlang_solutions.repo && \
|
||||
yum install -y \
|
||||
erlang-kernel \
|
||||
erlang-erts \
|
||||
erlang-stdlib \
|
||||
erlang-eunit \
|
||||
erlang-rebar \
|
||||
erlang-tools
|
||||
|
||||
# Go Dependencies
|
||||
RUN curl -sSL https://storage.googleapis.com/golang/go1.4.3.linux-amd64.tar.gz | tar -C /usr/local/ -xz
|
||||
ENV PATH /usr/local/go/bin:$PATH
|
||||
|
||||
# Haskell Dependencies
|
||||
RUN yum -y install haskell-platform
|
||||
|
||||
# Node.js Dependencies
|
||||
RUN yum install -y \
|
||||
nodejs \
|
||||
nodejs-devel \
|
||||
npm
|
||||
|
||||
# C# Dependencies
|
||||
RUN yum install -y \
|
||||
mono-core \
|
||||
mono-devel \
|
||||
mono-web-devel \
|
||||
mono-extras \
|
||||
|
||||
# MinGW Dependencies
|
||||
RUN yum install -y \
|
||||
mingw32-binutils \
|
||||
mingw32-crt \
|
||||
mingw32-nsis
|
||||
|
||||
# CMake
|
||||
RUN curl -sSL https://cmake.org/files/v3.4/cmake-3.4.0.tar.gz | tar -xz && \
|
||||
cd cmake-3.4.0 && ./bootstrap && make -j4 && make install && \
|
||||
cd .. && rm -rf cmake-3.4.0
|
||||
|
||||
# Clean up
|
||||
RUN rm -rf /tmp/* && \
|
||||
yum clean all
|
||||
|
||||
ENV THRIFT_ROOT /thrift
|
||||
RUN mkdir -p $THRIFT_ROOT/src
|
||||
COPY Dockerfile $THRIFT_ROOT/
|
||||
WORKDIR $THRIFT_ROOT/src
|
54
vendor/git.apache.org/thrift.git/build/docker/centos6/Dockerfile
generated
vendored
54
vendor/git.apache.org/thrift.git/build/docker/centos6/Dockerfile
generated
vendored
|
@ -1,54 +0,0 @@
|
|||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Apache Thrift Docker build environment for Centos 6
|
||||
#
|
||||
# This file is intended for testing old packages that are not available for
|
||||
# latest Ubuntu LTS/Debian/CentOS. Currently, it is only used for Python 2.6.
|
||||
#
|
||||
|
||||
FROM centos:6
|
||||
MAINTAINER Apache Thrift <dev@thrift.apache.org>
|
||||
|
||||
RUN yum install -y epel-release && \
|
||||
yum install -y \
|
||||
autoconf \
|
||||
bison \
|
||||
bison-devel \
|
||||
clang \
|
||||
flex \
|
||||
gcc \
|
||||
gcc-c++ \
|
||||
git \
|
||||
libtool \
|
||||
m4 \
|
||||
make \
|
||||
perl \
|
||||
tar \
|
||||
python-devel \
|
||||
python-setuptools \
|
||||
python-twisted-web \
|
||||
python-pip \
|
||||
&& yum clean all
|
||||
|
||||
# optional dependencies
|
||||
RUN pip install ipaddress backports.ssl_match_hostname tornado
|
||||
|
||||
# CMake
|
||||
RUN curl -sSL https://cmake.org/files/v3.4/cmake-3.4.1.tar.gz | tar -xz && \
|
||||
cd cmake-3.4.1 && ./bootstrap && make -j4 && make install && \
|
||||
cd .. && rm -rf cmake-3.4.1
|
||||
|
||||
ENV THRIFT_ROOT /thrift
|
||||
RUN mkdir -p $THRIFT_ROOT/src
|
||||
COPY Dockerfile $THRIFT_ROOT/
|
||||
WORKDIR $THRIFT_ROOT/src
|
199
vendor/git.apache.org/thrift.git/build/docker/old/centos-7.3/Dockerfile
generated
vendored
Normal file
199
vendor/git.apache.org/thrift.git/build/docker/old/centos-7.3/Dockerfile
generated
vendored
Normal file
|
@ -0,0 +1,199 @@
|
|||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Apache Thrift Docker build environment for CentOS
|
||||
#
|
||||
# Known missing client libraries:
|
||||
# - dotnet (will update to 2.0.0 separately)
|
||||
# - haxe (not in centos)
|
||||
|
||||
FROM centos:7.3.1611
|
||||
MAINTAINER Apache Thrift <dev@thrift.apache.org>
|
||||
|
||||
RUN yum install -y epel-release
|
||||
|
||||
# General dependencies
|
||||
RUN yum install -y \
|
||||
autoconf \
|
||||
bison \
|
||||
bison-devel \
|
||||
clang \
|
||||
clang-analyzer \
|
||||
cmake3 \
|
||||
curl \
|
||||
flex \
|
||||
gcc \
|
||||
gcc-c++ \
|
||||
gdb \
|
||||
git \
|
||||
libtool \
|
||||
m4 \
|
||||
make \
|
||||
tar \
|
||||
unzip \
|
||||
valgrind \
|
||||
wget && \
|
||||
ln -s /usr/bin/cmake3 /usr/bin/cmake && \
|
||||
ln -s /usr/bin/cpack3 /usr/bin/cpack && \
|
||||
ln -s /usr/bin/ctest3 /usr/bin/ctest
|
||||
|
||||
# C++ dependencies
|
||||
RUN yum install -y \
|
||||
boost-devel-static \
|
||||
zlib-devel \
|
||||
openssl-devel \
|
||||
libevent-devel && \
|
||||
cd /usr/lib64 && \
|
||||
ln -s libboost_thread-mt.a libboost_thread.a
|
||||
|
||||
# C# Dependencies
|
||||
RUN yum install -y \
|
||||
mono-core \
|
||||
mono-devel \
|
||||
mono-web-devel \
|
||||
mono-extras
|
||||
|
||||
# D Dependencies
|
||||
RUN yum install -y http://downloads.dlang.org/releases/2.x/2.076.0/dmd-2.076.0-0.fedora.x86_64.rpm xdg-utils
|
||||
RUN curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
|
||||
curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
|
||||
mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
|
||||
mv libevent-master/deimos/* openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
|
||||
mv libevent-master/C/* openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
|
||||
rm -rf libevent-master openssl-master
|
||||
|
||||
# Dart
|
||||
RUN cd /usr/local && \
|
||||
wget -q https://storage.googleapis.com/dart-archive/channels/stable/release/1.24.2/sdk/dartsdk-linux-x64-release.zip && \
|
||||
unzip -q dartsdk-linux-x64-release.zip && \
|
||||
rm dartsdk-linux-x64-release.zip
|
||||
ENV PATH /usr/local/dart-sdk/bin:$PATH
|
||||
|
||||
# Erlang Dependencies
|
||||
RUN curl -sSL http://packages.erlang-solutions.com/rpm/centos/erlang_solutions.repo -o /etc/yum.repos.d/erlang_solutions.repo && \
|
||||
yum install -y \
|
||||
erlang-kernel \
|
||||
erlang-erts \
|
||||
erlang-stdlib \
|
||||
erlang-eunit \
|
||||
erlang-rebar \
|
||||
erlang-tools
|
||||
|
||||
# GLibC Dependencies
|
||||
RUN yum install -y glib2-devel
|
||||
|
||||
# Go Dependencies
|
||||
RUN curl -sSL https://storage.googleapis.com/golang/go1.9.linux-amd64.tar.gz | tar -C /usr/local/ -xz
|
||||
ENV PATH /usr/local/go/bin:$PATH
|
||||
|
||||
# Haskell Dependencies
|
||||
RUN yum -y install haskell-platform
|
||||
|
||||
# Haxe Dependencies
|
||||
# Not in debian/stretch
|
||||
|
||||
# Java Dependencies
|
||||
RUN yum install -y \
|
||||
ant \
|
||||
junit \
|
||||
ant-junit \
|
||||
java-1.8.0-openjdk-devel
|
||||
|
||||
# Lua Dependencies
|
||||
# Lua in epel is too old (5.1.4, need 5.2) so we get the latest
|
||||
RUN yum install -y readline-devel && \
|
||||
wget -q http://www.lua.org/ftp/lua-5.3.4.tar.gz && \
|
||||
tar xzf lua-5.3.4.tar.gz && \
|
||||
cd lua-5.3.4 && \
|
||||
sed -i 's/CFLAGS= /CFLAGS= -fPIC /g' src/Makefile && \
|
||||
make linux && \
|
||||
make install && \
|
||||
cd .. && \
|
||||
rm -rf lua-5*
|
||||
|
||||
# MinGW Dependencies
|
||||
RUN yum install -y \
|
||||
mingw32-binutils \
|
||||
mingw32-crt \
|
||||
mingw32-nsis
|
||||
|
||||
# Node.js Dependencies
|
||||
# Work around epel issue where they removed http-parser that nodejs depends on!
|
||||
RUN yum -y install https://opensource.enda.eu/packages/http-parser-2.7.1-3.el7.x86_64.rpm
|
||||
RUN yum install -y \
|
||||
nodejs \
|
||||
npm
|
||||
|
||||
# Ocaml Dependencies
|
||||
RUN yum install -y \
|
||||
ocaml \
|
||||
ocaml-ocamldoc && \
|
||||
wget -q https://raw.github.com/ocaml/opam/master/shell/opam_installer.sh -O - | sh -s /usr/local/bin && \
|
||||
opam init --yes && \
|
||||
opam install --yes oasis && \
|
||||
echo '. /root/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true' >> ~/.bashrc
|
||||
|
||||
# Perl Dependencies
|
||||
RUN yum install -y \
|
||||
perl \
|
||||
perl-version \
|
||||
perl-Bit-Vector \
|
||||
perl-Class-Accessor \
|
||||
perl-ExtUtils-MakeMaker \
|
||||
perl-Test-Simple \
|
||||
perl-IO-Socket-SSL \
|
||||
perl-Net-SSLeay \
|
||||
perl-Crypt-SSLeay
|
||||
|
||||
# PHP Dependencies
|
||||
RUN yum install -y \
|
||||
php \
|
||||
php-devel \
|
||||
php-pear \
|
||||
re2c \
|
||||
php-phpunit-PHPUnit \
|
||||
bzip2
|
||||
|
||||
# Python Dependencies
|
||||
RUN yum install -y \
|
||||
python \
|
||||
python-devel \
|
||||
python-pip \
|
||||
python-setuptools \
|
||||
python34 \
|
||||
python34-devel \
|
||||
python34-pip \
|
||||
python34-setuptools
|
||||
RUN pip2 install --upgrade pip
|
||||
RUN pip2 install --upgrade backports.ssl_match_hostname ipaddress setuptools six tornado tornado-testing twisted virtualenv zope-interface
|
||||
RUN pip3 install --upgrade pip
|
||||
RUN pip3 install --upgrade backports.ssl_match_hostname ipaddress setuptools six tornado tornado-testing twisted virtualenv zope-interface
|
||||
|
||||
# Ruby Dependencies
|
||||
RUN yum install -y \
|
||||
ruby \
|
||||
ruby-devel \
|
||||
rubygems && \
|
||||
gem install bundler rake
|
||||
|
||||
# Rust
|
||||
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain 1.17.0
|
||||
ENV PATH /root/.cargo/bin:$PATH
|
||||
|
||||
# Clean up
|
||||
RUN rm -rf /tmp/* && \
|
||||
yum clean all
|
||||
|
||||
ENV THRIFT_ROOT /thrift
|
||||
RUN mkdir -p $THRIFT_ROOT/src
|
||||
COPY Dockerfile $THRIFT_ROOT/
|
||||
WORKDIR $THRIFT_ROOT/src
|
|
@ -10,10 +10,11 @@
|
|||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Apache Thrift Docker build environment for Centos
|
||||
# Apache Thrift Docker build environment for Debian
|
||||
#
|
||||
# Known missing client libraries:
|
||||
# - None
|
||||
# - dotnetcore
|
||||
# - rust
|
||||
|
||||
FROM buildpack-deps:jessie-scm
|
||||
MAINTAINER Apache Thrift <dev@thrift.apache.org>
|
||||
|
@ -21,6 +22,9 @@ MAINTAINER Apache Thrift <dev@thrift.apache.org>
|
|||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
# Add apt sources
|
||||
# jessie-backports for cmake and some ruby bits
|
||||
RUN echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/jessie-backports.list
|
||||
|
||||
# Dart
|
||||
RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
|
||||
curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list && \
|
||||
|
@ -31,12 +35,12 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||
bison \
|
||||
build-essential \
|
||||
clang \
|
||||
cmake \
|
||||
debhelper \
|
||||
flex \
|
||||
pkg-config
|
||||
pkg-config && \
|
||||
apt-get -t jessie-backports install -y --no-install-recommends cmake
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# C++ dependencies` \
|
||||
libboost-dev \
|
||||
libboost-filesystem-dev \
|
||||
|
@ -50,14 +54,14 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||
qtbase5-dev \
|
||||
qtbase5-dev-tools
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Java dependencies` \
|
||||
ant \
|
||||
ant-optional \
|
||||
openjdk-7-jdk \
|
||||
maven
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Python dependencies` \
|
||||
python-all \
|
||||
python-all-dbg \
|
||||
|
@ -72,11 +76,9 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|||
python3-setuptools \
|
||||
python3-pip
|
||||
|
||||
RUN echo 'deb http://deb.debian.org/debian jessie-backports main' >> /etc/apt/sources.list \
|
||||
&& apt-get update && apt-get install -y --no-install-recommends \
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Ruby dependencies` \
|
||||
ruby \
|
||||
ruby-bundler \
|
||||
ruby-dev \
|
||||
`# Perl dependencies` \
|
||||
libbit-vector-perl \
|
||||
|
@ -85,7 +87,8 @@ RUN echo 'deb http://deb.debian.org/debian jessie-backports main' >> /etc/apt/so
|
|||
libio-socket-ssl-perl \
|
||||
libnet-ssleay-perl
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
RUN apt-get -t jessie-backports install -y ruby-bundler
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Php dependencies` \
|
||||
php5 \
|
||||
php5-dev \
|
||||
|
@ -157,7 +160,7 @@ ENV PATH /usr/local/go/bin:$PATH
|
|||
|
||||
# Haxe
|
||||
RUN mkdir -p /usr/lib/haxe && \
|
||||
curl http://haxe.org/website-content/downloads/3.2.0/downloads/haxe-3.2.0-linux64.tar.gz | \
|
||||
wget -O - https://github.com/HaxeFoundation/haxe/releases/download/3.2.1/haxe-3.2.1-linux64.tar.gz | \
|
||||
tar -C /usr/lib/haxe --strip-components=1 -xz && \
|
||||
ln -s /usr/lib/haxe/haxe /usr/bin/haxe && \
|
||||
ln -s /usr/lib/haxe/haxelib /usr/bin/haxelib && \
|
||||
|
@ -183,6 +186,15 @@ RUN curl -sSL http://downloads.dlang.org/releases/2.x/2.070.0/dmd_2.070.0-0_amd6
|
|||
# Dart
|
||||
ENV PATH /usr/lib/dart/bin:$PATH
|
||||
|
||||
# OCaml
|
||||
RUN echo 'deb http://ppa.launchpad.net/avsm/ppa/ubuntu trusty main' > /etc/apt/sources.list.d/avsm-official-ocaml.list && \
|
||||
gpg --keyserver keyserver.ubuntu.com --recv 61707B09 && \
|
||||
gpg --export --armor 61707B09 | apt-key add - && \
|
||||
apt-get update && \
|
||||
apt-get install -y ocaml opam && \
|
||||
opam init && \
|
||||
opam install oasis
|
||||
|
||||
# Force utf8 locale to successfully build Haskell tf-random
|
||||
ENV LC_ALL C.UTF-8
|
||||
|
231
vendor/git.apache.org/thrift.git/build/docker/old/debian-stretch/Dockerfile
generated
vendored
Normal file
231
vendor/git.apache.org/thrift.git/build/docker/old/debian-stretch/Dockerfile
generated
vendored
Normal file
|
@ -0,0 +1,231 @@
|
|||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Apache Thrift Docker build environment for Debian Stretch
|
||||
#
|
||||
# Known issues:
|
||||
# - d: deimos for libevent and openssl disabled - build errors
|
||||
# - dotnetcore, because netcore is for 1.0.0-preview and 2.0.0 is out
|
||||
# - rust: cargo not in debian repo - perhaps not needed?
|
||||
|
||||
FROM buildpack-deps:stretch-scm
|
||||
MAINTAINER Apache Thrift <dev@thrift.apache.org>
|
||||
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
### Add apt repos
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends apt apt-transport-https curl wget apt-utils
|
||||
|
||||
# D
|
||||
RUN wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list && \
|
||||
apt-get update && apt-get -y --allow-unauthenticated install --reinstall d-apt-keyring
|
||||
|
||||
# Dart
|
||||
RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
|
||||
curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list && \
|
||||
sed -i /etc/apt/sources.list.d/dart_stable.list -e 's/https:/http:/g'
|
||||
|
||||
# dotnet (core) 2.0.0 - project isn't ready for this yet:
|
||||
# RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
|
||||
# echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > /etc/apt/sources.list.d/dotnetdev.list
|
||||
|
||||
# node.js (this step runs apt-get update internally)
|
||||
RUN curl -sL https://deb.nodesource.com/setup_8.x | bash
|
||||
|
||||
|
||||
### install general dependencies
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# General dependencies` \
|
||||
bash-completion \
|
||||
bison \
|
||||
build-essential \
|
||||
clang \
|
||||
cmake \
|
||||
debhelper \
|
||||
flex \
|
||||
gdb \
|
||||
ninja-build \
|
||||
pkg-config \
|
||||
valgrind \
|
||||
vim
|
||||
|
||||
|
||||
### languages
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# C++ dependencies` \
|
||||
libboost-dev \
|
||||
libboost-filesystem-dev \
|
||||
libboost-program-options-dev \
|
||||
libboost-system-dev \
|
||||
libboost-test-dev \
|
||||
libboost-thread-dev \
|
||||
libevent-dev \
|
||||
libssl-dev \
|
||||
qt5-default \
|
||||
qtbase5-dev \
|
||||
qtbase5-dev-tools
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# csharp (mono) dependencies` \
|
||||
mono-devel
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# D dependencies` \
|
||||
dmd-bin \
|
||||
libevent-dev \
|
||||
libssl-dev \
|
||||
xdg-utils
|
||||
# libevent deimos disabled - build errors
|
||||
# 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.1.0 - disabling it for now:
|
||||
# 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` \
|
||||
dart
|
||||
ENV PATH /usr/lib/dart/bin:$PATH
|
||||
|
||||
# project isn't ready for this quite yet:
|
||||
# RUN apt-get install -y --no-install-recommends \
|
||||
# `# dotnet core dependencies` \
|
||||
# dotnet-sdk-2.0.0
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Erlang dependencies` \
|
||||
erlang-base \
|
||||
erlang-eunit \
|
||||
erlang-dev \
|
||||
erlang-tools \
|
||||
rebar
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# GlibC dependencies` \
|
||||
libglib2.0-dev
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# golang (go) dependencies` \
|
||||
golang-go
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Haskell dependencies` \
|
||||
ghc \
|
||||
cabal-install
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Haxe dependencies` \
|
||||
haxe \
|
||||
neko \
|
||||
neko-dev
|
||||
RUN haxelib setup --always /usr/share/haxe/lib && \
|
||||
haxelib install --always hxcpp
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Java dependencies` \
|
||||
ant \
|
||||
ant-optional \
|
||||
openjdk-8-jdk \
|
||||
maven
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Lua dependencies` \
|
||||
lua5.2 \
|
||||
lua5.2-dev
|
||||
# https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
|
||||
# same for debian stretch
|
||||
# lua5.3 does not install alternatives so stick with 5.2 here
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Node.js dependencies` \
|
||||
nodejs
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# OCaml dependencies` \
|
||||
ocaml \
|
||||
opam && \
|
||||
opam init --yes && \
|
||||
opam install --yes oasis
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Perl dependencies` \
|
||||
libbit-vector-perl \
|
||||
libclass-accessor-class-perl \
|
||||
libcrypt-ssleay-perl \
|
||||
libio-socket-ssl-perl \
|
||||
libnet-ssleay-perl
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Php dependencies` \
|
||||
php7.0 \
|
||||
php7.0-cli \
|
||||
php7.0-dev \
|
||||
php-pear \
|
||||
re2c \
|
||||
phpunit
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Python dependencies` \
|
||||
python-all \
|
||||
python-all-dbg \
|
||||
python-all-dev \
|
||||
python-backports.ssl-match-hostname \
|
||||
python-ipaddress \
|
||||
python-pip \
|
||||
python-setuptools \
|
||||
python-six \
|
||||
python-tornado \
|
||||
python-twisted \
|
||||
python-wheel \
|
||||
python-zope.interface \
|
||||
python3-all \
|
||||
python3-all-dbg \
|
||||
python3-all-dev \
|
||||
python3-setuptools \
|
||||
python3-six \
|
||||
python3-tornado \
|
||||
python3-twisted \
|
||||
python3-wheel \
|
||||
python3-zope.interface && \
|
||||
pip install --upgrade backports.ssl_match_hostname
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Ruby dependencies` \
|
||||
ruby \
|
||||
ruby-dev \
|
||||
ruby-bundler
|
||||
RUN gem install bundler --no-ri --no-rdoc
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Rust dependencies` \
|
||||
rustc
|
||||
|
||||
# Update anything else left hanging
|
||||
RUN apt-get dist-upgrade -y
|
||||
|
||||
# Clean up
|
||||
RUN rm -rf /var/cache/apt/* && \
|
||||
rm -rf /var/lib/apt/lists/* && \
|
||||
rm -rf /tmp/* && \
|
||||
rm -rf /var/tmp/*
|
||||
|
||||
ENV THRIFT_ROOT /thrift
|
||||
RUN mkdir -p $THRIFT_ROOT/src
|
||||
COPY Dockerfile $THRIFT_ROOT/
|
||||
WORKDIR $THRIFT_ROOT/src
|
244
vendor/git.apache.org/thrift.git/build/docker/old/ubuntu-trusty/Dockerfile
generated
vendored
Normal file
244
vendor/git.apache.org/thrift.git/build/docker/old/ubuntu-trusty/Dockerfile
generated
vendored
Normal file
|
@ -0,0 +1,244 @@
|
|||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
#
|
||||
# Apache Thrift Docker build environment for Ubuntu Trusty
|
||||
# Using all stock Ubuntu Trusty packaging except for:
|
||||
# - d: does not come with Ubuntu so we're installing 2.070.0
|
||||
# - dart: does not come with Ubuntu so we're installing 1.20.1
|
||||
# - dotnetcore, disabled because netcore is for 1.0.0-preview and 2.0.0 is out
|
||||
# - haxe, disabled because the distro comes with 3.0.0 and it cores while installing
|
||||
# - node.js, disabled because it is at 0.10.0 in the distro which is too old (need 4+)
|
||||
# - ocaml, disabled because it fails to install properly
|
||||
#
|
||||
|
||||
FROM buildpack-deps:trusty-scm
|
||||
MAINTAINER Apache Thrift <dev@thrift.apache.org>
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
### Add apt repos
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get dist-upgrade -y && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
apt \
|
||||
apt-transport-https \
|
||||
apt-utils \
|
||||
curl \
|
||||
dirmngr \
|
||||
software-properties-common \
|
||||
wget
|
||||
|
||||
# D
|
||||
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EBCF975E5BA24D5E && \
|
||||
wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list && \
|
||||
wget -qO - https://dlang.org/d-keyring.gpg | apt-key add -
|
||||
|
||||
# Dart
|
||||
RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
|
||||
curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > \
|
||||
/etc/apt/sources.list.d/dart_stable.list
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
`# General dependencies` \
|
||||
bash-completion \
|
||||
bison \
|
||||
build-essential \
|
||||
clang \
|
||||
cmake \
|
||||
debhelper \
|
||||
flex \
|
||||
gdb \
|
||||
llvm \
|
||||
ninja-build \
|
||||
pkg-config \
|
||||
valgrind \
|
||||
vim
|
||||
ENV PATH /usr/lib/llvm-3.8/bin:$PATH
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# C++ dependencies` \
|
||||
libboost-all-dev \
|
||||
libevent-dev \
|
||||
libssl-dev \
|
||||
qt5-default \
|
||||
qtbase5-dev \
|
||||
qtbase5-dev-tools
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# csharp (mono) dependencies` \
|
||||
mono-devel
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# D dependencies` \
|
||||
dmd-bin=2.070.2-0 \
|
||||
libphobos2-dev=2.070.2-0 \
|
||||
dub \
|
||||
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 apt-get install -y --no-install-recommends \
|
||||
`# Dart dependencies` \
|
||||
dart=1.20.1-1
|
||||
ENV PATH /usr/lib/dart/bin:$PATH
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Erlang dependencies` \
|
||||
erlang-base \
|
||||
erlang-eunit \
|
||||
erlang-dev \
|
||||
erlang-tools \
|
||||
rebar
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# GlibC dependencies` \
|
||||
libglib2.0-dev
|
||||
|
||||
# golang
|
||||
ENV GOLANG_VERSION 1.7.6
|
||||
ENV GOLANG_DOWNLOAD_URL https://golang.org/dl/go$GOLANG_VERSION.linux-amd64.tar.gz
|
||||
ENV GOLANG_DOWNLOAD_SHA256 ad5808bf42b014c22dd7646458f631385003049ded0bb6af2efc7f1f79fa29ea
|
||||
RUN curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz && \
|
||||
echo "$GOLANG_DOWNLOAD_SHA256 golang.tar.gz" | sha256sum -c - && \
|
||||
tar -C /usr/local -xzf golang.tar.gz && \
|
||||
ln -s /usr/local/go/bin/go /usr/local/bin && \
|
||||
rm golang.tar.gz
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Haskell dependencies` \
|
||||
ghc \
|
||||
cabal-install
|
||||
|
||||
# disabled because it cores while installing
|
||||
# RUN apt-get install -y --no-install-recommends \
|
||||
# `# Haxe dependencies` \
|
||||
# haxe \
|
||||
# neko \
|
||||
# neko-dev && \
|
||||
# haxelib setup /usr/share/haxe/lib && \
|
||||
# haxelib install hxcpp 3.2.102
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Java dependencies` \
|
||||
ant \
|
||||
ant-optional \
|
||||
openjdk-7-jdk \
|
||||
maven
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Lua dependencies` \
|
||||
lua5.1 \
|
||||
lua5.1-dev
|
||||
|
||||
# disabled because it is too old
|
||||
# RUN apt-get install -y --no-install-recommends \
|
||||
# `# Node.js dependencies` \
|
||||
# nodejs \
|
||||
# npm
|
||||
|
||||
# disabled because it fails to install properly
|
||||
# RUN apt-get install -y --no-install-recommends \
|
||||
# `# OCaml dependencies` \
|
||||
# ocaml \
|
||||
# opam && \
|
||||
# opam init --yes && \
|
||||
# opam install --yes oasis
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Perl dependencies` \
|
||||
libbit-vector-perl \
|
||||
libclass-accessor-class-perl \
|
||||
libcrypt-ssleay-perl \
|
||||
libio-socket-ssl-perl \
|
||||
libnet-ssleay-perl
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Php dependencies` \
|
||||
php5 \
|
||||
php5-cli \
|
||||
php5-dev \
|
||||
php-pear \
|
||||
re2c && \
|
||||
wget https://getcomposer.org/installer -O - -q | php -- --quiet --install-dir=/usr/local/bin/ --filename=composer
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Python dependencies` \
|
||||
python-all \
|
||||
python-all-dbg \
|
||||
python-all-dev \
|
||||
python-pip \
|
||||
python-setuptools \
|
||||
python-six \
|
||||
python-twisted \
|
||||
python-wheel \
|
||||
python-zope.interface \
|
||||
python3-all \
|
||||
python3-all-dbg \
|
||||
python3-all-dev \
|
||||
python3-pip \
|
||||
python3-setuptools \
|
||||
python3-six \
|
||||
python3-wheel \
|
||||
python3-zope.interface && \
|
||||
pip install -U ipaddress backports.ssl_match_hostname tornado && \
|
||||
pip3 install -U backports.ssl_match_hostname tornado
|
||||
# installing tornado by pip/pip3 instead of debian package
|
||||
# if we install the debian package, the build fails in py2
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Ruby dependencies` \
|
||||
ruby \
|
||||
ruby-dev \
|
||||
ruby-bundler
|
||||
RUN gem install bundler --no-ri --no-rdoc
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Rust dependencies` \
|
||||
cargo \
|
||||
rustc
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Static Code Analysis dependencies` \
|
||||
cppcheck \
|
||||
sloccount && \
|
||||
pip install flake8
|
||||
|
||||
# Install BouncyCastle provider to fix Java builds issues with JDK 7
|
||||
# Builds accessing repote repositories fail as seen here: https://github.com/travis-ci/travis-ci/issues/8503
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# BouncyCastle JCE Provider dependencies` \
|
||||
libbcprov-java && \
|
||||
ln -s /usr/share/java/bcprov.jar /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext/bcprov.jar && \
|
||||
awk -F . -v OFS=. 'BEGIN{n=2}/^security\.provider/ {split($3, posAndEquals, "=");$3=n++"="posAndEquals[2];print;next} 1' /etc/java-7-openjdk/security/java.security > /tmp/java.security && \
|
||||
echo "security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider" >> /tmp/java.security && \
|
||||
mv /tmp/java.security /etc/java-7-openjdk/security/java.security
|
||||
|
||||
# Clean up
|
||||
RUN rm -rf /var/cache/apt/* && \
|
||||
rm -rf /var/lib/apt/lists/* && \
|
||||
rm -rf /tmp/* && \
|
||||
rm -rf /var/tmp/*
|
||||
|
||||
ENV THRIFT_ROOT /thrift
|
||||
RUN mkdir -p $THRIFT_ROOT/src
|
||||
COPY Dockerfile $THRIFT_ROOT/
|
||||
WORKDIR $THRIFT_ROOT/src
|
82
vendor/git.apache.org/thrift.git/build/docker/refresh.sh
generated
vendored
Executable file
82
vendor/git.apache.org/thrift.git/build/docker/refresh.sh
generated
vendored
Executable file
|
@ -0,0 +1,82 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one
|
||||
# or more contributor license agreements. See the NOTICE file
|
||||
# distributed with this work for additional information
|
||||
# regarding copyright ownership. The ASF licenses this file
|
||||
# to you under the Apache License, Version 2.0 (the
|
||||
# "License"); you may not use this file except in compliance
|
||||
# with the License. You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing,
|
||||
# software distributed under the License is distributed on an
|
||||
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||
# KIND, either express or implied. See the License for the
|
||||
# specific language governing permissions and limitations
|
||||
# under the License.
|
||||
#
|
||||
|
||||
#
|
||||
# The build has two stages: "docker" and "test"
|
||||
# The "docker" stage is meant to rebuild the docker images
|
||||
# if needed. If we cannot push that result however then
|
||||
# there is no reason to do anything.
|
||||
# The "test" stage is an actual test job. Even if the docker
|
||||
# image doesn't match what's in the repo, we still build
|
||||
# the image so the build job can run properly.
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
DOCKER_TAG=$DOCKER_REPO:$DISTRO
|
||||
|
||||
function dockerfile_changed {
|
||||
# image may not exist yet, so we have to let it fail silently:
|
||||
docker pull $DOCKER_TAG || true
|
||||
docker run $DOCKER_TAG bash -c 'cd .. && sha512sum Dockerfile' > .Dockerfile.sha512
|
||||
sha512sum -c .Dockerfile.sha512
|
||||
}
|
||||
|
||||
#
|
||||
# If this build has no DOCKER_PASS and it is in the docker stage
|
||||
# then there's no reason to do any processing because we cannot
|
||||
# push the result if the Dockerfile changed.
|
||||
#
|
||||
|
||||
if [[ "$TRAVIS_BUILD_STAGE" == "docker" ]] && [[ -z "$DOCKER_PASS" ]]; then
|
||||
echo Detected docker stage build and no defined DOCKER_PASS, this build job will be skipped.
|
||||
echo Subsequent jobs in the test stage may each rebuild the docker image.
|
||||
exit 0
|
||||
fi
|
||||
|
||||
|
||||
pushd ${SCRIPT_DIR}/$DISTRO
|
||||
if dockerfile_changed; then
|
||||
echo Dockerfile has not changed. No need to rebuild.
|
||||
exit 0
|
||||
else
|
||||
echo Dockerfile has changed.
|
||||
fi
|
||||
popd
|
||||
|
||||
#
|
||||
# Dockerfile has changed - rebuild it for the current build job.
|
||||
# If it is a "docker" stage build then we want to push it back
|
||||
# to the DOCKER_REPO. If it is a "test" stage build then we do
|
||||
# not. If nobody defined a DOCKER_PASS then it doesn't matter.
|
||||
#
|
||||
|
||||
echo Rebuilding docker image $DISTRO
|
||||
docker build --tag $DOCKER_TAG build/docker/$DISTRO
|
||||
|
||||
if [[ "$TRAVIS_BUILD_STAGE" == "docker" ]] && [[ ! -z "$DOCKER_USER" ]] && [[ ! -z "$DOCKER_PASS" ]]; then
|
||||
echo Pushing docker image $DOCKER_TAG
|
||||
docker login -u $DOCKER_USER -p $DOCKER_PASS
|
||||
docker push $DOCKER_TAG
|
||||
else
|
||||
echo Not pushing docker image: either not a docker stage build job, or one of DOCKER_USER or DOCKER_PASS is undefined.
|
||||
fi
|
||||
|
|
@ -18,25 +18,13 @@
|
|||
# under the License.
|
||||
#
|
||||
|
||||
# Download prebuilt docker image and compare Dockerfile hash values
|
||||
|
||||
set -ex
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
DISTRO=$1
|
||||
SRC_IMG=thrift/thrift-build:$DISTRO
|
||||
DOCKER_TAG=$DOCKER_REPO:$DISTRO
|
||||
|
||||
function try_pull {
|
||||
docker pull $SRC_IMG
|
||||
cd ${SCRIPT_DIR}/$DISTRO
|
||||
docker run $SRC_IMG bash -c 'cd .. && sha512sum Dockerfile' > .Dockerfile.sha512
|
||||
sha512sum -c .Dockerfile.sha512
|
||||
}
|
||||
printenv | sort
|
||||
|
||||
docker run --net=host -e BUILD_LIBS="$BUILD_LIBS" $BUILD_ENV -v $(pwd):/thrift/src \
|
||||
-it $DOCKER_TAG build/docker/scripts/$SCRIPT $BUILD_ARG
|
||||
|
||||
if try_pull; then
|
||||
echo Dockerfile seems identical. No need to rebuild from scratch.
|
||||
docker tag thrift/thrift-build:$DISTRO thrift-build:$DISTRO
|
||||
else
|
||||
echo Either Dockerfile has changed or pull failure. Need to build brand new one.
|
||||
exit 1
|
||||
fi
|
4
vendor/git.apache.org/thrift.git/build/docker/scripts/cmake.sh
generated
vendored
4
vendor/git.apache.org/thrift.git/build/docker/scripts/cmake.sh
generated
vendored
|
@ -19,5 +19,5 @@ for LIB in $BUILD_LIBS; do
|
|||
done
|
||||
$MAKEPROG -j3
|
||||
cpack
|
||||
ctest -VV
|
||||
# was: -E "(concurrency_test|processor_test)"
|
||||
ctest -VV -E "(python_test)"
|
||||
# disabled cmake python_test for now since it fails in travis under centos
|
||||
|
|
50
vendor/git.apache.org/thrift.git/build/docker/scripts/covscan.sh
generated
vendored
Executable file
50
vendor/git.apache.org/thrift.git/build/docker/scripts/covscan.sh
generated
vendored
Executable file
|
@ -0,0 +1,50 @@
|
|||
#
|
||||
# Coverity Scan Travis build script
|
||||
# To run this interactively, set the environment variables yourself,
|
||||
# and run this inside a docker container.
|
||||
#
|
||||
# Command-Line Arguments
|
||||
#
|
||||
# --skipdownload to skip re-downloading the Coverity Scan build package (large)
|
||||
#
|
||||
# Environment Variables (required)
|
||||
#
|
||||
# COVERITY_SCAN_NOTIFICATION_EMAIL - email address to notify
|
||||
# COVERITY_SCAN_TOKEN - the Coverity Scan token (should be secure)
|
||||
#
|
||||
# Environment Variables (defaulted)
|
||||
#
|
||||
# COVERITY_SCAN_BUILD_COMMAND - defaults to "build/docker/scripts/autotools.sh"
|
||||
# COVERITY_SCAN_DESCRIPTION - defaults to TRAVIS_BRANCH or "master" if empty
|
||||
# COVERITY_SCAN_PROJECT - defaults to "thrift"
|
||||
|
||||
set -ex
|
||||
|
||||
COVERITY_SCAN_BUILD_COMMAND=${COVERITY_SCAN_BUILD_COMMAND:-build/docker/scripts/autotools.sh}
|
||||
COVERITY_SCAN_DESCRIPTION=${COVERITY_SCAN_DESCRIPTION:-${TRAVIS_BRANCH:-master}}
|
||||
COVERITY_SCAN_PROJECT=${COVERITY_SCAN_PROJECT:-thrift}
|
||||
|
||||
# download the coverity scan package
|
||||
|
||||
pushd /tmp
|
||||
if [[ "$1" != "--skipdownload" ]]; then
|
||||
rm -rf coverity_tool.tgz cov-analysis*
|
||||
wget https://scan.coverity.com/download/linux64 --post-data "token=$COVERITY_SCAN_TOKEN&project=$COVERITY_SCAN_PROJECT" -O coverity_tool.tgz
|
||||
tar xzf coverity_tool.tgz
|
||||
fi
|
||||
COVBIN=$(echo $(pwd)/cov-analysis*/bin)
|
||||
export PATH=$COVBIN:$PATH
|
||||
popd
|
||||
|
||||
# build the project with coverity scan
|
||||
|
||||
rm -rf cov-int/
|
||||
cov-build --dir cov-int $COVERITY_SCAN_BUILD_COMMAND
|
||||
tar cJf cov-int.tar.xz cov-int/
|
||||
curl --form token="$COVERITY_SCAN_TOKEN" \
|
||||
--form email="$COVERITY_SCAN_NOTIFICATION_EMAIL" \
|
||||
--form file=@cov-int.tar.xz \
|
||||
--form version="$(git describe --tags)" \
|
||||
--form description="$COVERITY_SCAN_DESCRIPTION" \
|
||||
https://scan.coverity.com/builds?project="$COVERITY_SCAN_PROJECT"
|
||||
|
66
vendor/git.apache.org/thrift.git/build/docker/scripts/sca.sh
generated
vendored
Executable file
66
vendor/git.apache.org/thrift.git/build/docker/scripts/sca.sh
generated
vendored
Executable file
|
@ -0,0 +1,66 @@
|
|||
#!/bin/bash
|
||||
set -ev
|
||||
|
||||
#
|
||||
# Generate thrift files so the static code analysis includes an analysis
|
||||
# of the files the thrift compiler spits out. If running interactively
|
||||
# set the NOBUILD environment variable to skip the boot/config/make phase.
|
||||
#
|
||||
|
||||
if [[ -z "$NOBUILD" ]]; then
|
||||
./bootstrap.sh
|
||||
./configure --enable-tutorial=no
|
||||
make -j3 precross
|
||||
fi
|
||||
|
||||
#
|
||||
# C/C++ static code analysis with cppcheck
|
||||
# add --error-exitcode=1 to --enable=all as soon as everything is fixed
|
||||
#
|
||||
# Python code style check with flake8
|
||||
#
|
||||
# search for TODO etc within source tree
|
||||
# some statistics about the code base
|
||||
# some info about the build machine
|
||||
|
||||
# Compiler cppcheck (All)
|
||||
cppcheck --force --quiet --inline-suppr --enable=all -j2 compiler/cpp/src
|
||||
|
||||
# C++ cppcheck (All)
|
||||
cppcheck --force --quiet --inline-suppr --enable=all -j2 lib/cpp/src lib/cpp/test test/cpp tutorial/cpp
|
||||
|
||||
# C Glib cppcheck (All)
|
||||
cppcheck --force --quiet --inline-suppr --enable=all -j2 lib/c_glib/src lib/c_glib/test test/c_glib/src tutorial/c_glib
|
||||
|
||||
# Silent error checks
|
||||
# See THRIFT-4371 : flex generated code triggers "possible null pointer dereference" in yy_init_buffer
|
||||
cppcheck --force --quiet --inline-suppr --suppress="*:thrift/thriftl.cc" --error-exitcode=1 -j2 compiler/cpp/src
|
||||
cppcheck --force --quiet --inline-suppr --error-exitcode=1 -j2 lib/cpp/src lib/cpp/test test/cpp tutorial/cpp
|
||||
cppcheck --force --quiet --inline-suppr --error-exitcode=1 -j2 lib/c_glib/src lib/c_glib/test test/c_glib/src tutorial/c_glib
|
||||
|
||||
# Python code style
|
||||
flake8 --ignore=E501 --exclude=lib/py/build lib/py
|
||||
flake8 --exclude=tutorial/py/build tutorial/py
|
||||
# THRIFT-4371 : generated files are excluded because they haven't been scrubbed yet
|
||||
flake8 --ignore=E501 --exclude="*/gen-py*/*",test/py/build test/py
|
||||
flake8 test/py.twisted
|
||||
flake8 test/py.tornado
|
||||
flake8 --ignore=E501 test/test.py
|
||||
flake8 --ignore=E501,E722 test/crossrunner
|
||||
flake8 test/features
|
||||
|
||||
# PHP code style
|
||||
composer install --quiet
|
||||
./vendor/bin/phpcs
|
||||
|
||||
# TODO etc
|
||||
echo FIXMEs: `grep -r FIXME * | wc -l`
|
||||
echo HACKs: `grep -r HACK * | wc -l`
|
||||
echo TODOs: `grep -r TODO * | wc -l`
|
||||
|
||||
# LoC
|
||||
sloccount .
|
||||
|
||||
# System Info
|
||||
dpkg -l
|
||||
uname -a
|
30
vendor/git.apache.org/thrift.git/build/docker/scripts/ubsan.sh
generated
vendored
Executable file
30
vendor/git.apache.org/thrift.git/build/docker/scripts/ubsan.sh
generated
vendored
Executable file
|
@ -0,0 +1,30 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
# Wraps autotools.sh, but each binary crashes if it exhibits undefined behavior.
|
||||
# Set the undefined behavior flags. This crashes on all undefined behavior except for
|
||||
# undefined casting, aka "vptr".
|
||||
# TODO: fix undefined vptr behavior and turn this option back on.
|
||||
|
||||
export CFLAGS="-fsanitize=undefined -fno-sanitize-recover=undefined -O0 -ggdb3 -fno-omit-frame-pointer"
|
||||
export CXXFLAGS="${CFLAGS}"
|
||||
export LDFLAGS="-lubsan"
|
||||
export UBSAN_OPTIONS=print_stacktrace=1
|
||||
|
||||
#
|
||||
# work around https://svn.boost.org/trac10/ticket/11632 if present
|
||||
#
|
||||
|
||||
sed -i 's/, stream_t(rdbuf()) /, stream_t(pbase_type::member.get())/g' /usr/include/boost/format/alt_sstream.hpp
|
||||
|
||||
# llvm-symbolizer must be on PATH to get a stack trace on error
|
||||
|
||||
CLANG_PATH="$(mktemp -d)"
|
||||
trap "rm -rf ${CLANG_PATH}" EXIT
|
||||
ln -s "$(whereis llvm-symbolizer-4.0 | rev | cut -d ' ' -f 1 | rev)" \
|
||||
"${CLANG_PATH}/llvm-symbolizer"
|
||||
export PATH="${CLANG_PATH}:${PATH}"
|
||||
llvm-symbolizer -version
|
||||
|
||||
build/docker/scripts/autotools.sh $*
|
270
vendor/git.apache.org/thrift.git/build/docker/ubuntu-artful/Dockerfile
generated
vendored
Normal file
270
vendor/git.apache.org/thrift.git/build/docker/ubuntu-artful/Dockerfile
generated
vendored
Normal file
|
@ -0,0 +1,270 @@
|
|||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
#
|
||||
# Apache Thrift Docker build environment for Ubuntu Artful
|
||||
# Using all stock Ubuntu Artful packaging except for:
|
||||
# - cpp: stock boost 1.62 in artful has a nasty bug so we use stock boost 1.63
|
||||
# - d: dmd does not come with Ubuntu
|
||||
# - dart: does not come with Ubuntu. Pinned to last 1.x release
|
||||
# - dotnet: does not come with Ubuntu
|
||||
# - haxe: version 3.4.2 that comes with Ubuntu cores in our CI build
|
||||
# - go: artful comes with 1.9, we want the latest (supported)
|
||||
# - nodejs: want v8, artful comes with v6
|
||||
#
|
||||
|
||||
FROM buildpack-deps:artful-scm
|
||||
MAINTAINER Apache Thrift <dev@thrift.apache.org>
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
### Add apt repos
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get dist-upgrade -y && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
apt \
|
||||
apt-transport-https \
|
||||
apt-utils \
|
||||
curl \
|
||||
dirmngr \
|
||||
software-properties-common \
|
||||
wget
|
||||
|
||||
# csharp (mono) - if we ever want a later version
|
||||
# RUN echo "deb http://download.mono-project.com/repo/debian xenial main" | tee /etc/apt/sources.list.d/mono.list && \
|
||||
# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A6A19B38D3D831EF
|
||||
|
||||
# Dart
|
||||
RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
|
||||
curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > \
|
||||
/etc/apt/sources.list.d/dart_stable.list
|
||||
ENV DART_VERSION 1.24.3-1
|
||||
|
||||
# dotnet (netcore)
|
||||
RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
|
||||
echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-artful-prod artful main" > \
|
||||
/etc/apt/sources.list.d/dotnetdev.list
|
||||
|
||||
# haxe (https://haxe.org/download/linux/)
|
||||
RUN add-apt-repository ppa:haxe/releases -y
|
||||
|
||||
# node.js
|
||||
RUN curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
|
||||
echo "deb https://deb.nodesource.com/node_8.x artful main" | tee /etc/apt/sources.list.d/nodesource.list
|
||||
|
||||
### install general dependencies
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
`# General dependencies` \
|
||||
bash-completion \
|
||||
bison \
|
||||
build-essential \
|
||||
clang \
|
||||
cmake \
|
||||
debhelper \
|
||||
flex \
|
||||
gdb \
|
||||
llvm \
|
||||
ninja-build \
|
||||
pkg-config \
|
||||
valgrind \
|
||||
vim
|
||||
ENV PATH /usr/lib/llvm-3.8/bin:$PATH
|
||||
|
||||
# boost-1.62 has a terrible bug in boost::test, see https://svn.boost.org/trac10/ticket/12507
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# C++ dependencies` \
|
||||
libboost1.63-all-dev \
|
||||
libevent-dev \
|
||||
libssl-dev \
|
||||
qt5-default \
|
||||
qtbase5-dev \
|
||||
qtbase5-dev-tools
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# csharp (mono) dependencies` \
|
||||
mono-devel
|
||||
|
||||
ENV SBCL_VERSION 1.4.5
|
||||
RUN \
|
||||
`# Common Lisp (sbcl) dependencies` \
|
||||
curl --version && \
|
||||
curl -O -J -L https://kent.dl.sourceforge.net/project/sbcl/sbcl/${SBCL_VERSION}/sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 && \
|
||||
tar xjf sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 && \
|
||||
cd sbcl-${SBCL_VERSION}-x86-64-linux && \
|
||||
./install.sh && \
|
||||
sbcl --version && \
|
||||
rm -rf sbcl*
|
||||
|
||||
ENV D_VERSION 2.080.0
|
||||
ENV DMD_DEB dmd_2.080.0-0_amd64.deb
|
||||
RUN \
|
||||
`# D dependencies` \
|
||||
wget -q http://downloads.dlang.org/releases/2.x/${D_VERSION}/${DMD_DEB} && \
|
||||
dpkg --install ${DMD_DEB} && \
|
||||
rm -f ${DMD_DEB} && \
|
||||
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 && \
|
||||
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` \
|
||||
dart=$DART_VERSION
|
||||
ENV PATH /usr/lib/dart/bin:$PATH
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# dotnet core dependencies` \
|
||||
dotnet-sdk-2.1.4
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Erlang dependencies` \
|
||||
erlang-base \
|
||||
erlang-eunit \
|
||||
erlang-dev \
|
||||
erlang-tools \
|
||||
rebar
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# GlibC dependencies` \
|
||||
libglib2.0-dev
|
||||
|
||||
# golang
|
||||
ENV GOLANG_VERSION 1.10
|
||||
ENV GOLANG_DOWNLOAD_URL https://golang.org/dl/go$GOLANG_VERSION.linux-amd64.tar.gz
|
||||
ENV GOLANG_DOWNLOAD_SHA256 b5a64335f1490277b585832d1f6c7f8c6c11206cba5cd3f771dcb87b98ad1a33
|
||||
RUN curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz && \
|
||||
echo "$GOLANG_DOWNLOAD_SHA256 golang.tar.gz" | sha256sum -c - && \
|
||||
tar -C /usr/local -xzf golang.tar.gz && \
|
||||
ln -s /usr/local/go/bin/go /usr/local/bin && \
|
||||
rm golang.tar.gz
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Haskell dependencies` \
|
||||
ghc \
|
||||
cabal-install
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Haxe dependencies` \
|
||||
haxe \
|
||||
neko \
|
||||
neko-dev && \
|
||||
haxelib setup --always /usr/share/haxe/lib && \
|
||||
haxelib install --always hxcpp 2>&1 > /dev/null
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Java dependencies` \
|
||||
ant \
|
||||
ant-optional \
|
||||
openjdk-8-jdk \
|
||||
maven
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Lua dependencies` \
|
||||
lua5.2 \
|
||||
lua5.2-dev
|
||||
# https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
|
||||
# lua5.3 does not install alternatives!
|
||||
# need to update our luasocket code, lua doesn't have luaL_openlib any more
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Node.js dependencies` \
|
||||
nodejs
|
||||
|
||||
# Test dependencies for running puppeteer
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# JS dependencies` \
|
||||
libxss1
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# OCaml dependencies` \
|
||||
ocaml \
|
||||
opam && \
|
||||
opam init --yes && \
|
||||
opam install --yes oasis
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Perl dependencies` \
|
||||
libbit-vector-perl \
|
||||
libclass-accessor-class-perl \
|
||||
libcrypt-ssleay-perl \
|
||||
libio-socket-ssl-perl \
|
||||
libnet-ssleay-perl
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Php dependencies` \
|
||||
php \
|
||||
php-cli \
|
||||
php-dev \
|
||||
php-pear \
|
||||
re2c \
|
||||
composer
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Python dependencies` \
|
||||
python-all \
|
||||
python-all-dbg \
|
||||
python-all-dev \
|
||||
python-ipaddress \
|
||||
python-pip \
|
||||
python-setuptools \
|
||||
python-six \
|
||||
python-tornado \
|
||||
python-twisted \
|
||||
python-wheel \
|
||||
python-zope.interface && \
|
||||
pip install --upgrade backports.ssl_match_hostname
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Python3 dependencies` \
|
||||
python3-all \
|
||||
python3-all-dbg \
|
||||
python3-all-dev \
|
||||
python3-pip \
|
||||
python3-setuptools \
|
||||
python3-six \
|
||||
python3-tornado \
|
||||
python3-twisted \
|
||||
python3-wheel \
|
||||
python3-zope.interface
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Ruby dependencies` \
|
||||
ruby \
|
||||
ruby-dev \
|
||||
ruby-bundler
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Rust dependencies` \
|
||||
cargo \
|
||||
rustc
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Static Code Analysis dependencies` \
|
||||
cppcheck \
|
||||
sloccount && \
|
||||
pip install flake8
|
||||
|
||||
# Clean up
|
||||
RUN rm -rf /var/cache/apt/* && \
|
||||
rm -rf /var/lib/apt/lists/* && \
|
||||
rm -rf /tmp/* && \
|
||||
rm -rf /var/tmp/*
|
||||
|
||||
ENV THRIFT_ROOT /thrift
|
||||
RUN mkdir -p $THRIFT_ROOT/src
|
||||
COPY Dockerfile $THRIFT_ROOT/
|
||||
WORKDIR $THRIFT_ROOT/src
|
272
vendor/git.apache.org/thrift.git/build/docker/ubuntu-bionic/Dockerfile
generated
vendored
Normal file
272
vendor/git.apache.org/thrift.git/build/docker/ubuntu-bionic/Dockerfile
generated
vendored
Normal file
|
@ -0,0 +1,272 @@
|
|||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
#
|
||||
# Apache Thrift Docker build environment for Ubuntu Bionic
|
||||
# Using all stock Ubuntu Bionic packaging except for:
|
||||
# - cl: want latest
|
||||
# - d: dmd does not come with Ubuntu
|
||||
# - dart: does not come with Ubuntu. Pinned to last 1.x release
|
||||
# - dotnet: does not come with Ubuntu
|
||||
# - go: want latest
|
||||
# - nodejs: want v8, bionic comes with v6
|
||||
#
|
||||
|
||||
FROM buildpack-deps:bionic-scm
|
||||
MAINTAINER Apache Thrift <dev@thrift.apache.org>
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
### Add apt repos
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get dist-upgrade -y && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
apt \
|
||||
apt-transport-https \
|
||||
apt-utils \
|
||||
curl \
|
||||
dirmngr \
|
||||
software-properties-common \
|
||||
wget
|
||||
|
||||
# csharp (mono) - if we ever want a later version
|
||||
# RUN echo "deb http://download.mono-project.com/repo/debian xenial main" | tee /etc/apt/sources.list.d/mono.list && \
|
||||
# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A6A19B38D3D831EF
|
||||
|
||||
# Dart
|
||||
RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
|
||||
curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > \
|
||||
/etc/apt/sources.list.d/dart_stable.list
|
||||
ENV DART_VERSION 1.24.3-1
|
||||
|
||||
# dotnet (netcore)
|
||||
RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
|
||||
wget -q -O /etc/apt/sources.list.d/microsoft-prod.list https://packages.microsoft.com/config/ubuntu/18.04/prod.list && \
|
||||
chown root:root /etc/apt/trusted.gpg.d/microsoft.gpg && \
|
||||
chown root:root /etc/apt/sources.list.d/microsoft-prod.list
|
||||
|
||||
# node.js
|
||||
RUN curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
|
||||
echo "deb https://deb.nodesource.com/node_8.x bionic main" | tee /etc/apt/sources.list.d/nodesource.list
|
||||
|
||||
### install general dependencies
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
`# General dependencies` \
|
||||
bash-completion \
|
||||
bison \
|
||||
build-essential \
|
||||
clang \
|
||||
cmake \
|
||||
debhelper \
|
||||
flex \
|
||||
gdb \
|
||||
llvm \
|
||||
ninja-build \
|
||||
pkg-config \
|
||||
valgrind \
|
||||
vim
|
||||
ENV PATH /usr/lib/llvm-6.0/bin:$PATH
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# C++ dependencies` \
|
||||
libboost-all-dev \
|
||||
libevent-dev \
|
||||
libssl-dev \
|
||||
qt5-default \
|
||||
qtbase5-dev \
|
||||
qtbase5-dev-tools
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# csharp (mono) dependencies` \
|
||||
mono-devel
|
||||
|
||||
ENV SBCL_VERSION 1.4.9
|
||||
RUN \
|
||||
`# Common Lisp (sbcl) dependencies` \
|
||||
curl --version && \
|
||||
curl -O -J -L https://kent.dl.sourceforge.net/project/sbcl/sbcl/${SBCL_VERSION}/sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 && \
|
||||
tar xjf sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 && \
|
||||
cd sbcl-${SBCL_VERSION}-x86-64-linux && \
|
||||
./install.sh && \
|
||||
sbcl --version && \
|
||||
cd .. && \
|
||||
rm -rf sbcl*
|
||||
|
||||
ENV D_VERSION 2.081.0
|
||||
ENV DMD_DEB dmd_2.081.0-0_amd64.deb
|
||||
RUN \
|
||||
`# D dependencies` \
|
||||
wget -q http://downloads.dlang.org/releases/2.x/${D_VERSION}/${DMD_DEB} && \
|
||||
dpkg --install ${DMD_DEB} && \
|
||||
rm -f ${DMD_DEB} && \
|
||||
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 && \
|
||||
curl -sSL https://github.com/jeking3/openssl/archive/tls_method.tar.gz| tar xz && \
|
||||
mv openssl-tls_method/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
|
||||
mv openssl-tls_method/C/* /usr/include/dmd/druntime/import/C/ && \
|
||||
rm -rf openssl-tls_method
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Dart dependencies` \
|
||||
dart=$DART_VERSION
|
||||
ENV PATH /usr/lib/dart/bin:$PATH
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# dotnet core dependencies` \
|
||||
dotnet-sdk-2.1
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Erlang dependencies` \
|
||||
erlang-base \
|
||||
erlang-eunit \
|
||||
erlang-dev \
|
||||
erlang-tools \
|
||||
rebar
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# GlibC dependencies` \
|
||||
libglib2.0-dev
|
||||
|
||||
# golang
|
||||
ENV GOLANG_VERSION 1.10.3
|
||||
ENV GOLANG_DOWNLOAD_URL https://golang.org/dl/go$GOLANG_VERSION.linux-amd64.tar.gz
|
||||
ENV GOLANG_DOWNLOAD_SHA256 fa1b0e45d3b647c252f51f5e1204aba049cde4af177ef9f2181f43004f901035
|
||||
RUN curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz && \
|
||||
echo "$GOLANG_DOWNLOAD_SHA256 golang.tar.gz" | sha256sum -c - && \
|
||||
tar -C /usr/local -xzf golang.tar.gz && \
|
||||
ln -s /usr/local/go/bin/go /usr/local/bin && \
|
||||
rm golang.tar.gz
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Haskell dependencies` \
|
||||
ghc \
|
||||
cabal-install
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Haxe dependencies` \
|
||||
haxe \
|
||||
neko \
|
||||
neko-dev && \
|
||||
haxelib setup --always /usr/share/haxe/lib && \
|
||||
haxelib install --always hxcpp 2>&1 > /dev/null
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Java dependencies` \
|
||||
ant \
|
||||
ant-optional \
|
||||
openjdk-8-jdk \
|
||||
maven && \
|
||||
update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Lua dependencies` \
|
||||
lua5.2 \
|
||||
lua5.2-dev
|
||||
# https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
|
||||
# lua5.3 does not install alternatives!
|
||||
# need to update our luasocket code, lua doesn't have luaL_openlib any more
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Node.js dependencies` \
|
||||
nodejs
|
||||
|
||||
# Test dependencies for running puppeteer
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# JS dependencies` \
|
||||
libxss1
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# OCaml dependencies` \
|
||||
ocaml \
|
||||
opam && \
|
||||
opam init --yes && \
|
||||
opam install --yes oasis
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Perl dependencies` \
|
||||
libbit-vector-perl \
|
||||
libclass-accessor-class-perl \
|
||||
libcrypt-ssleay-perl \
|
||||
libio-socket-ssl-perl \
|
||||
libnet-ssleay-perl
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Php dependencies` \
|
||||
php \
|
||||
php-cli \
|
||||
php-dev \
|
||||
php-pear \
|
||||
re2c \
|
||||
composer
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Python dependencies` \
|
||||
python-all \
|
||||
python-all-dbg \
|
||||
python-all-dev \
|
||||
python-ipaddress \
|
||||
python-pip \
|
||||
python-setuptools \
|
||||
python-six \
|
||||
python-tornado \
|
||||
python-twisted \
|
||||
python-wheel \
|
||||
python-zope.interface && \
|
||||
pip install --upgrade backports.ssl_match_hostname
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Python3 dependencies` \
|
||||
python3-all \
|
||||
python3-all-dbg \
|
||||
python3-all-dev \
|
||||
python3-pip \
|
||||
python3-setuptools \
|
||||
python3-six \
|
||||
python3-tornado \
|
||||
python3-twisted \
|
||||
python3-wheel \
|
||||
python3-zope.interface
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Ruby dependencies` \
|
||||
ruby \
|
||||
ruby-dev \
|
||||
ruby-bundler
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Rust dependencies` \
|
||||
cargo \
|
||||
rustc
|
||||
|
||||
# cppcheck-1.82 has a nasty cpp parser bug, so we're using something newer
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Static Code Analysis dependencies` \
|
||||
cppcheck \
|
||||
sloccount && \
|
||||
pip install flake8 && \
|
||||
wget -q "https://launchpad.net/ubuntu/+source/cppcheck/1.83-2/+build/14874703/+files/cppcheck_1.83-2_amd64.deb" && \
|
||||
dpkg -i cppcheck_1.83-2_amd64.deb && \
|
||||
rm cppcheck_1.83-2_amd64.deb
|
||||
|
||||
# Clean up
|
||||
RUN rm -rf /var/cache/apt/* && \
|
||||
rm -rf /var/lib/apt/lists/* && \
|
||||
rm -rf /tmp/* && \
|
||||
rm -rf /var/tmp/*
|
||||
|
||||
ENV THRIFT_ROOT /thrift
|
||||
RUN mkdir -p $THRIFT_ROOT/src
|
||||
COPY Dockerfile $THRIFT_ROOT/
|
||||
WORKDIR $THRIFT_ROOT/src
|
271
vendor/git.apache.org/thrift.git/build/docker/ubuntu-xenial/Dockerfile
generated
vendored
Normal file
271
vendor/git.apache.org/thrift.git/build/docker/ubuntu-xenial/Dockerfile
generated
vendored
Normal file
|
@ -0,0 +1,271 @@
|
|||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
#
|
||||
# Apache Thrift Docker build environment for Ubuntu Xenial
|
||||
# Using all stock Ubuntu Xenial packaging except for:
|
||||
# - d: does not come with Ubuntu so we're installing 2.075.1 for coverage
|
||||
# - dart: does not come with Ubuntu so we're installing 1.22.1 for coverage
|
||||
# - dotnet: does not come with Ubuntu
|
||||
# - go: Xenial comes with 1.6, but we need 1.7 or later
|
||||
# - nodejs: Xenial comes with 4.2.6 which exits LTS April 2018, so we're installing 6.x
|
||||
# - ocaml: causes stack overflow error, just started March 2018 not sure why
|
||||
#
|
||||
|
||||
FROM buildpack-deps:xenial-scm
|
||||
MAINTAINER Apache Thrift <dev@thrift.apache.org>
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
### Add apt repos
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get dist-upgrade -y && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
apt \
|
||||
apt-transport-https \
|
||||
apt-utils \
|
||||
curl \
|
||||
software-properties-common \
|
||||
wget
|
||||
|
||||
# csharp (mono)
|
||||
# RUN echo "deb http://download.mono-project.com/repo/debian xenial main" | tee /etc/apt/sources.list.d/mono.list && \
|
||||
# apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A6A19B38D3D831EF
|
||||
|
||||
# D
|
||||
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys EBCF975E5BA24D5E && \
|
||||
wget http://master.dl.sourceforge.net/project/d-apt/files/d-apt.list -O /etc/apt/sources.list.d/d-apt.list && \
|
||||
wget -qO - https://dlang.org/d-keyring.gpg | apt-key add -
|
||||
|
||||
# Dart
|
||||
RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
|
||||
curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > \
|
||||
/etc/apt/sources.list.d/dart_stable.list
|
||||
ENV DART_VERSION 1.22.1-1
|
||||
|
||||
# dotnet (core)
|
||||
RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg && \
|
||||
echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > \
|
||||
/etc/apt/sources.list.d/dotnetdev.list
|
||||
|
||||
# node.js
|
||||
RUN curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
|
||||
echo "deb https://deb.nodesource.com/node_6.x xenial main" | tee /etc/apt/sources.list.d/nodesource.list
|
||||
|
||||
### install general dependencies
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
`# General dependencies` \
|
||||
bash-completion \
|
||||
bison \
|
||||
build-essential \
|
||||
clang \
|
||||
cmake \
|
||||
debhelper \
|
||||
flex \
|
||||
gdb \
|
||||
llvm \
|
||||
ninja-build \
|
||||
pkg-config \
|
||||
valgrind \
|
||||
vim
|
||||
ENV PATH /usr/lib/llvm-3.8/bin:$PATH
|
||||
|
||||
### languages
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# C++ dependencies` \
|
||||
libboost-dev \
|
||||
libboost-filesystem-dev \
|
||||
libboost-program-options-dev \
|
||||
libboost-system-dev \
|
||||
libboost-test-dev \
|
||||
libboost-thread-dev \
|
||||
libevent-dev \
|
||||
libssl-dev \
|
||||
qt5-default \
|
||||
qtbase5-dev \
|
||||
qtbase5-dev-tools
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# csharp (mono) dependencies` \
|
||||
mono-devel
|
||||
|
||||
ENV D_VERSION 2.075.1-0
|
||||
RUN apt-get install -y --allow-unauthenticated --no-install-recommends \
|
||||
`# D dependencies` \
|
||||
dmd-bin=$D_VERSION \
|
||||
libphobos2-dev=$D_VERSION \
|
||||
dub=1.6.0-0 \
|
||||
dfmt \
|
||||
dscanner \
|
||||
libevent-dev \
|
||||
libssl-dev \
|
||||
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/v1.1.6+1.0.1g.tar.gz | tar xz && \
|
||||
mv openssl-1.1.6-1.0.1g/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
|
||||
mv openssl-1.1.6-1.0.1g/C/* /usr/include/dmd/druntime/import/C/ && \
|
||||
rm -rf openssl-1.1.6-1.0.1g
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Dart dependencies` \
|
||||
dart=$DART_VERSION
|
||||
ENV PATH /usr/lib/dart/bin:$PATH
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# dotnet core dependencies` \
|
||||
dotnet-sdk-2.1.4
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Erlang dependencies` \
|
||||
erlang-base \
|
||||
erlang-eunit \
|
||||
erlang-dev \
|
||||
erlang-tools \
|
||||
rebar
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# GlibC dependencies` \
|
||||
libglib2.0-dev
|
||||
|
||||
# golang
|
||||
ENV GOLANG_VERSION 1.7.6
|
||||
ENV GOLANG_DOWNLOAD_URL https://golang.org/dl/go$GOLANG_VERSION.linux-amd64.tar.gz
|
||||
ENV GOLANG_DOWNLOAD_SHA256 ad5808bf42b014c22dd7646458f631385003049ded0bb6af2efc7f1f79fa29ea
|
||||
RUN curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz && \
|
||||
echo "$GOLANG_DOWNLOAD_SHA256 golang.tar.gz" | sha256sum -c - && \
|
||||
tar -C /usr/local -xzf golang.tar.gz && \
|
||||
ln -s /usr/local/go/bin/go /usr/local/bin && \
|
||||
rm golang.tar.gz
|
||||
|
||||
# due to a bug in cabal in xenial (cabal-install package) we pull in another:
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Haskell dependencies` \
|
||||
ghc && \
|
||||
cd /tmp && \
|
||||
wget -q https://www.haskell.org/cabal/release/cabal-install-1.24.0.2/cabal-install-1.24.0.2-x86_64-unknown-linux.tar.gz && \
|
||||
tar xzf cabal-install-1.24.0.2-x86_64-unknown-linux.tar.gz && \
|
||||
find dist-newstyle/ -type f -name cabal -exec mv {} /usr/bin \; && \
|
||||
rm -rf /tmp/cabal* && \
|
||||
cabal --version
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Haxe dependencies` \
|
||||
haxe \
|
||||
neko \
|
||||
neko-dev \
|
||||
libneko0 && \
|
||||
haxelib setup --always /usr/share/haxe/lib && \
|
||||
haxelib install --always hxcpp 3.4.64 2>&1 > /dev/null
|
||||
# note: hxcpp 3.4.185 (latest) no longer ships static libraries, and caused a build failure
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Java dependencies` \
|
||||
ant \
|
||||
ant-optional \
|
||||
openjdk-8-jdk \
|
||||
maven
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Lua dependencies` \
|
||||
lua5.2 \
|
||||
lua5.2-dev
|
||||
# https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
|
||||
# lua5.3 does not install alternatives so stick with 5.2 here
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Node.js dependencies` \
|
||||
nodejs
|
||||
|
||||
# Test dependencies for running puppeteer
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# JS dependencies` \
|
||||
libxss1 \
|
||||
libatk-bridge2.0-0 \
|
||||
libgtk-3-0
|
||||
|
||||
# THRIFT-4517: causes stack overflows; version too old; skip ocaml in xenial
|
||||
# RUN apt-get install -y --no-install-recommends \
|
||||
# `# OCaml dependencies` \
|
||||
# ocaml \
|
||||
# opam && \
|
||||
# opam init --yes && \
|
||||
# opam install --yes oasis
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Perl dependencies` \
|
||||
libbit-vector-perl \
|
||||
libclass-accessor-class-perl \
|
||||
libcrypt-ssleay-perl \
|
||||
libio-socket-ssl-perl \
|
||||
libnet-ssleay-perl
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Php dependencies` \
|
||||
php7.0 \
|
||||
php7.0-cli \
|
||||
php7.0-dev \
|
||||
php-pear \
|
||||
re2c \
|
||||
composer
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Python dependencies` \
|
||||
python-all \
|
||||
python-all-dbg \
|
||||
python-all-dev \
|
||||
python-backports.ssl-match-hostname \
|
||||
python-ipaddress \
|
||||
python-pip \
|
||||
python-setuptools \
|
||||
python-six \
|
||||
python-tornado \
|
||||
python-twisted \
|
||||
python-wheel \
|
||||
python-zope.interface \
|
||||
python3-all \
|
||||
python3-all-dbg \
|
||||
python3-all-dev \
|
||||
python3-setuptools \
|
||||
python3-six \
|
||||
python3-tornado \
|
||||
python3-twisted \
|
||||
python3-wheel \
|
||||
python3-zope.interface && \
|
||||
pip install --upgrade backports.ssl_match_hostname
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Ruby dependencies` \
|
||||
ruby \
|
||||
ruby-dev \
|
||||
ruby-bundler
|
||||
|
||||
RUN apt-get install -y --no-install-recommends \
|
||||
`# Rust dependencies` \
|
||||
cargo \
|
||||
rustc
|
||||
|
||||
# Clean up
|
||||
RUN rm -rf /var/cache/apt/* && \
|
||||
rm -rf /var/lib/apt/lists/* && \
|
||||
rm -rf /tmp/* && \
|
||||
rm -rf /var/tmp/*
|
||||
|
||||
ENV DOTNET_CLI_TELEMETRY_OPTOUT 1
|
||||
ENV THRIFT_ROOT /thrift
|
||||
RUN mkdir -p $THRIFT_ROOT/src
|
||||
COPY Dockerfile $THRIFT_ROOT/
|
||||
WORKDIR $THRIFT_ROOT/src
|
209
vendor/git.apache.org/thrift.git/build/docker/ubuntu/Dockerfile
generated
vendored
209
vendor/git.apache.org/thrift.git/build/docker/ubuntu/Dockerfile
generated
vendored
|
@ -1,209 +0,0 @@
|
|||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Apache Thrift Docker build environment for Centos
|
||||
#
|
||||
# Known missing client libraries:
|
||||
# - None
|
||||
|
||||
FROM buildpack-deps:trusty-scm
|
||||
MAINTAINER Apache Thrift <dev@thrift.apache.org>
|
||||
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
# Add apt sources
|
||||
# Erlang
|
||||
RUN echo 'deb http://packages.erlang-solutions.com/debian trusty contrib' > /etc/apt/sources.list.d/erlang_solutions.list && \
|
||||
curl -sSL https://packages.erlang-solutions.com/debian/erlang_solutions.asc | apt-key add -
|
||||
# Dart
|
||||
RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
|
||||
curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list && \
|
||||
sed -i /etc/apt/sources.list.d/dart_stable.list -e 's/https:/http:/g'
|
||||
|
||||
# Consider using mirror nearby when building locally
|
||||
# TODO: Provide option via --build-arg=...
|
||||
# RUN sed -i /etc/apt/sources.list -e 's!http://archive.ubuntu.com/ubuntu/!http://your/mirror/!g'
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
`# General dependencies` \
|
||||
bison \
|
||||
build-essential \
|
||||
clang \
|
||||
cmake \
|
||||
debhelper \
|
||||
flex \
|
||||
ninja-build \
|
||||
pkg-config \
|
||||
`# Included in buildpack-deps` \
|
||||
`# autoconf` \
|
||||
`# automake` \
|
||||
`# g++` \
|
||||
`# git` \
|
||||
`# libtool` \
|
||||
`# make`
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
`# C++ dependencies` \
|
||||
`# libevent and OpenSSL are needed by D too` \
|
||||
libboost-dev \
|
||||
libboost-filesystem-dev \
|
||||
libboost-program-options-dev \
|
||||
libboost-system-dev \
|
||||
libboost-test-dev \
|
||||
libboost-thread-dev \
|
||||
libevent-dev \
|
||||
libssl-dev \
|
||||
qt5-default \
|
||||
qtbase5-dev \
|
||||
qtbase5-dev-tools
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
`# Java dependencies` \
|
||||
ant \
|
||||
ant-optional \
|
||||
openjdk-7-jdk \
|
||||
maven
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
`# Python dependencies` \
|
||||
`# TODO:` \
|
||||
`# Install twisted and zope.interface via pip. we need twisted at ./configure time, otherwise` \
|
||||
`# py.twisted tests are skipped.` \
|
||||
python-all \
|
||||
python-all-dbg \
|
||||
python-all-dev \
|
||||
python-pip \
|
||||
python-setuptools \
|
||||
python-twisted \
|
||||
python-zope.interface \
|
||||
python3-all \
|
||||
python3-all-dbg \
|
||||
python3-all-dev \
|
||||
python3-setuptools \
|
||||
python3-pip
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
`# Ruby dependencies` \
|
||||
ruby \
|
||||
ruby-bundler \
|
||||
ruby-dev \
|
||||
`# Perl dependencies` \
|
||||
libbit-vector-perl \
|
||||
libclass-accessor-class-perl \
|
||||
libcrypt-ssleay-perl \
|
||||
libio-socket-ssl-perl \
|
||||
libnet-ssleay-perl
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
`# Php dependencies` \
|
||||
php5 \
|
||||
php5-dev \
|
||||
php5-cli \
|
||||
php-pear \
|
||||
re2c \
|
||||
phpunit \
|
||||
`# GlibC dependencies` \
|
||||
libglib2.0-dev
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
`# Erlang dependencies` \
|
||||
erlang-base \
|
||||
erlang-eunit \
|
||||
erlang-dev \
|
||||
erlang-tools \
|
||||
rebar
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
`# Haskell dependencies` \
|
||||
ghc \
|
||||
cabal-install \
|
||||
`# Haxe dependencies` \
|
||||
neko \
|
||||
neko-dev \
|
||||
libneko0
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
`# Node.js dependencies` \
|
||||
nodejs \
|
||||
nodejs-dev \
|
||||
nodejs-legacy
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
`# CSharp dependencies` \
|
||||
libmono-system-web2.0-cil \
|
||||
mono-devel
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
`# D dependencies` \
|
||||
xdg-utils \
|
||||
`# Dart dependencies` \
|
||||
dart \
|
||||
`# Lua dependencies` \
|
||||
lua5.2 \
|
||||
lua5.2-dev \
|
||||
`# MinGW dependencies` \
|
||||
mingw32 \
|
||||
mingw32-binutils \
|
||||
mingw32-runtime \
|
||||
nsis \
|
||||
`# Clean up` \
|
||||
&& rm -rf /var/cache/apt/* && \
|
||||
rm -rf /var/lib/apt/lists/* && \
|
||||
rm -rf /tmp/* && \
|
||||
rm -rf /var/tmp/*
|
||||
|
||||
# Ruby
|
||||
RUN gem install bundler --no-ri --no-rdoc
|
||||
|
||||
# Python optional dependencies
|
||||
RUN pip2 install -U ipaddress backports.ssl_match_hostname tornado
|
||||
RUN pip3 install -U backports.ssl_match_hostname tornado
|
||||
|
||||
# Go
|
||||
RUN curl -sSL https://storage.googleapis.com/golang/go1.4.3.linux-amd64.tar.gz | tar -C /usr/local/ -xz
|
||||
ENV PATH /usr/local/go/bin:$PATH
|
||||
|
||||
# Haxe
|
||||
RUN mkdir -p /usr/lib/haxe && \
|
||||
curl http://haxe.org/website-content/downloads/3.2.0/downloads/haxe-3.2.0-linux64.tar.gz | \
|
||||
tar -C /usr/lib/haxe --strip-components=1 -xz && \
|
||||
ln -s /usr/lib/haxe/haxe /usr/bin/haxe && \
|
||||
ln -s /usr/lib/haxe/haxelib /usr/bin/haxelib && \
|
||||
mkdir -p /usr/lib/haxe/lib && \
|
||||
chmod -R 777 /usr/lib/haxe/lib && \
|
||||
haxelib setup /usr/lib/haxe/lib && \
|
||||
haxelib install hxcpp
|
||||
|
||||
# Node.js
|
||||
RUN curl -sSL https://www.npmjs.com/install.sh | sh
|
||||
|
||||
# D
|
||||
RUN curl -sSL http://downloads.dlang.org/releases/2.x/2.070.0/dmd_2.070.0-0_amd64.deb -o /tmp/dmd_2.070.0-0_amd64.deb && \
|
||||
dpkg -i /tmp/dmd_2.070.0-0_amd64.deb && \
|
||||
rm /tmp/dmd_2.070.0-0_amd64.deb && \
|
||||
curl -sSL https://github.com/D-Programming-Deimos/openssl/archive/master.tar.gz| tar xz && \
|
||||
curl -sSL https://github.com/D-Programming-Deimos/libevent/archive/master.tar.gz| tar xz && \
|
||||
mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
|
||||
mv libevent-master/deimos/* openssl-master/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
|
||||
mv libevent-master/C/* openssl-master/C/* /usr/include/dmd/druntime/import/C/ && \
|
||||
rm -rf libevent-master openssl-master && \
|
||||
echo 'gcc -Wl,--no-as-needed $*' > /usr/local/bin/gcc-dmd && \
|
||||
chmod 755 /usr/local/bin/gcc-dmd && \
|
||||
echo 'CC=/usr/local/bin/gcc-dmd' >> /etc/dmd.conf
|
||||
|
||||
# Dart
|
||||
ENV PATH /usr/lib/dart/bin:$PATH
|
||||
|
||||
ENV THRIFT_ROOT /thrift
|
||||
RUN mkdir -p $THRIFT_ROOT/src
|
||||
COPY Dockerfile $THRIFT_ROOT/
|
||||
WORKDIR $THRIFT_ROOT/src
|
Loading…
Add table
Add a link
Reference in a new issue