You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@thrift.apache.org by GitBox <gi...@apache.org> on 2022/10/12 03:40:01 UTC

[GitHub] [thrift] fishy commented on a diff in pull request #2684: THRIFT-5633: [build infra] add ubuntu jammy in build infra

fishy commented on code in PR #2684:
URL: https://github.com/apache/thrift/pull/2684#discussion_r992957105


##########
build/docker/ubuntu-jammy/Dockerfile:
##########
@@ -0,0 +1,283 @@
+# 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 Jammy
+# with some updated packages.
+#
+
+FROM buildpack-deps:jammy-scm
+LABEL MAINTAINER="Apache Thrift <de...@thrift.apache.org>"
+ENV DEBIAN_FRONTEND=noninteractive
+
+### Add apt repos
+
+RUN apt-get update -yq && \
+  apt-get dist-upgrade -y && \
+  apt-get install -y --no-install-recommends --fix-missing \
+  apt \
+  apt-transport-https \
+  apt-utils \
+  curl \
+  dirmngr \
+  software-properties-common \
+  wget
+
+# 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
+
+# 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_16.x focal main" | tee /etc/apt/sources.list.d/nodesource.list
+
+### install general dependencies
+RUN apt-get update -yq && \
+  apt-get install -y --no-install-recommends \
+  `# General dependencies` \
+  bash-completion \
+  bison \
+  build-essential \
+  clang \
+  cmake \
+  debhelper \
+  flex \
+  gdb \
+  libasound2 \
+  libatk-bridge2.0-0 \
+  libgtk-3-0 \
+  llvm \
+  ninja-build \
+  pkg-config \
+  unzip \
+  valgrind \
+  vim
+ENV PATH /usr/lib/llvm-6.0/bin:$PATH
+
+# lib/as3 (ActionScript)
+RUN mkdir -p /usr/local/adobe/flex/4.6 && \
+  cd /usr/local/adobe/flex/4.6 && \
+  wget -q "http://download.macromedia.com/pub/flex/sdk/flex_sdk_4.6.zip" && \
+  unzip flex_sdk_4.6.zip
+ENV FLEX_HOME /usr/local/adobe/flex/4.6
+
+# TODO: "apt-get install" without "apt-get update" in the same "RUN" step can cause cache issues if modified later.
+# See https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#run
+RUN apt-get install -y --no-install-recommends \
+  `# C++ dependencies` \
+  libboost-all-dev \
+  libevent-dev \
+  libssl-dev \
+  qt5-default \
+  qtbase5-dev \
+  qtbase5-dev-tools
+
+ENV SBCL_VERSION 1.5.3
+RUN \
+  `# Common Lisp (sbcl) dependencies` \
+  curl --version && \
+  curl -o sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 -J -L https://sourceforge.net/projects/sbcl/files/sbcl/${SBCL_VERSION}/sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2/download?use_mirror=managedway# && \
+  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.087.0
+ENV DMD_DEB       dmd_2.087.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 && \
+  git clone -b 'v2.0.2+2.0.16' https://github.com/D-Programming-Deimos/libevent.git deimos-libevent-2.0 && \
+  mv deimos-libevent-2.0/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
+  mv deimos-libevent-2.0/C/* /usr/include/dmd/druntime/import/C/ && \
+  rm -rf deimos-libevent-2.0 && \
+  git clone -b 'v2.0.0+1.1.0h' https://github.com/D-Programming-Deimos/openssl.git deimos-openssl-1.1.0h && \
+  mv deimos-openssl-1.1.0h/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
+  mv deimos-openssl-1.1.0h/C/* /usr/include/dmd/druntime/import/C/ && \
+  rm -rf deimos-openssl-1.1.0h
+
+ENV DART_VERSION 2.7.2-1
+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-6.0 \
+  dotnet-runtime-6.0 \
+  aspnetcore-runtime-6.0 \
+  dotnet-apphost-pack-6.0
+
+# Erlang dependencies
+ARG ERLANG_OTP_VERSION=23.3.4.11
+ARG ERLANG_REBAR_VERSION=3.18.0
+RUN apt-get update && apt-get install -y --no-install-recommends libncurses5-dev && \
+  curl -ssLo /usr/local/bin/kerl https://raw.githubusercontent.com/kerl/kerl/master/kerl && chmod +x /usr/local/bin/kerl && \
+  kerl build $ERLANG_OTP_VERSION && kerl install $ERLANG_OTP_VERSION /usr/local/lib/otp/ && . /usr/local/lib/otp/activate && \
+  curl -ssLo /usr/local/bin/rebar3 https://github.com/erlang/rebar3/releases/download/${ERLANG_REBAR_VERSION}/rebar3 && chmod +x /usr/local/bin/rebar3 && \
+  rebar3 --version
+ENV PATH /usr/local/lib/otp/bin:$PATH
+
+RUN apt-get install -y --no-install-recommends \
+  `# GlibC dependencies` \
+  libglib2.0-dev
+
+# golang
+ENV GOLANG_VERSION 1.19
+ENV GOLANG_DOWNLOAD_URL https://go.dev/dl/go$GOLANG_VERSION.linux-amd64.tar.gz
+ENV GOLANG_DOWNLOAD_SHA256 464b6b66591f6cf055bc5df90a9750bf5fbc9d038722bb84a9d56a2bea974be6

Review Comment:
   you would want to match this with recently merged https://github.com/apache/thrift/commit/32bd0bd950739ca048d10783a7617e317c8b9419, though.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@thrift.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org