blob: 47e77feaa7515f76cab208af6211041759910666 [file] [log] [blame]
Lott, Christopher (cl778h)52dc4e12019-06-12 15:27:44 -04001# O-RAN-SC
2#
3# Copyright (C) 2019 AT&T Intellectual Property and Nokia
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16
Lott, Christopher (cl778h)d63fe202019-06-17 09:01:48 -040017# Builder image with superset of CI tools for RIC components
Lott, Christopher (cl778h)52dc4e12019-06-12 15:27:44 -040018
Lott, Christopher (cl778h)a92406b2019-06-28 11:18:44 -040019FROM nexus3.o-ran-sc.org:10001/ubuntu:18.04
Lott, Christopher (cl778h)52dc4e12019-06-12 15:27:44 -040020
21RUN apt-get update && apt-get install -y \
Lott, Christopher (cl778h)b09f6822019-06-20 09:14:28 -040022 autoconf \
23 autoconf-archive \
24 automake \
25 autotools-dev \
26 build-essential \
27 g++ \
28 gcc \
29 git \
30 libbz2-dev \
31 libicu-dev \
32 libsctp-dev \
33 libtool \
34 lksctp-tools \
35 make \
36 python-dev \
37 pkg-config \
38 software-properties-common \
39 wget \
40 zlib1g \
41 zlib1g-dev \
42 zlibc \
43 zip
Lott, Christopher (cl778h)52dc4e12019-06-12 15:27:44 -040044
45WORKDIR /tmp
46
47RUN wget -nv https://github.com/Kitware/CMake/releases/download/v3.14.5/cmake-3.14.5-Linux-x86_64.sh \
48 && chmod +x cmake-3.14.5-Linux-x86_64.sh \
49 && ./cmake-3.14.5-Linux-x86_64.sh --prefix=/usr/local --skip-license
50
51RUN wget -nv https://dl.google.com/go/go1.12.linux-amd64.tar.gz \
52 && tar -xf go1.12.linux-amd64.tar.gz \
53 && mv go /usr/local
yakiratza852e2a2019-11-21 09:39:36 +020054ENV PATH=$PATH:/usr/local/go/bin:/usr/lib/go-1.12/bin
55RUN go get -u github.com/ory/go-acc \
56 && mv ~/go/bin/go-acc /usr/local/go/bin
57
58RUN wget -nv https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-3.2.0.1227-linux.zip \
59 && unzip sonar-scanner-cli-3.2.0.1227-linux.zip \
60 && mv sonar-scanner-3.2.0.1227-linux /usr/local/
Lott, Christopher (cl778h)52dc4e12019-06-12 15:27:44 -040061
62RUN wget -nv https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja-linux.zip \
63 && unzip ninja-linux.zip \
64 && chmod +x ninja \
65 && mv ninja /usr/local/bin
66
E. Scott Daniels134c56f2019-09-25 15:20:50 -040067# NNG repo is not frequently tagged so it's pinned to a commit hash.
68# This commit provides fix to the proxy-reconnect
69# bug that we identified: https://github.com/nanomsg/nng/issues/970
70RUN git clone https://github.com/nanomsg/nng.git \
Lott, Christopher (cl778h)52dc4e12019-06-12 15:27:44 -040071 && cd nng \
E. Scott Daniels134c56f2019-09-25 15:20:50 -040072 && git checkout e618abf8f3db2a94269a79c8901a51148d48fcc2 \
Lott, Christopher (cl778h)52dc4e12019-06-12 15:27:44 -040073 && mkdir build \
74 && cd build \
75 && cmake -DBUILD_SHARED_LIBS=1 -G Ninja .. \
76 && ninja \
77 && ninja install
Lott, Christopher (cl778h)d63fe202019-06-17 09:01:48 -040078
79RUN wget -nv https://dl.bintray.com/boostorg/release/1.69.0/source/boost_1_69_0.zip \
80 && unzip -q boost_1_69_0.zip \
81 && cd boost_1_69_0 \
82 && ./bootstrap.sh --prefix=/usr/ \
83 && ./b2 \
84 && ./b2 install \
85 && cd ../ \
86 && rm -rf boost_1_69_0.zip boost_1_69_0