blob: 1d9a23bdc62907e5f83abaa18f9fb3fae1ddb62e [file] [log] [blame]
Lott, Christopher (cl778h)7a7058a2019-06-17 15:42:33 -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)7a7058a2019-06-17 15:42:33 -040017# Builder image with CI tools for RIC components
18# uses Python 3.7 (Debian stretch) base which has
19# C and C++ tools from buildpack-deps:stretch then adds:
20# Ninja 1.9 from binary distro to /usr/local/bin
21# Nanomsg Next Gen libs by cloning and building
22
23FROM python:3.7
24
25RUN apt-get update && apt-get -q -y install \
26 autoconf \
27 autoconf-archive \
28 automake \
29 cmake \
30 libtool \
31 pkg-config
32
33RUN wget -nv https://github.com/ninja-build/ninja/releases/download/v1.9.0/ninja-linux.zip \
34 && unzip ninja-linux.zip \
35 && chmod +x ninja \
36 && mv ninja /usr/local/bin
37
E. Scott Daniels134c56f2019-09-25 15:20:50 -040038# NNG repo is not frequently tagged so it's pinned to a commit hash.
39# This commit provides fix to the proxy-reconnect
40# bug that we identified: https://github.com/nanomsg/nng/issues/970
41RUN git clone https://github.com/nanomsg/nng.git \
Lott, Christopher (cl778h)7a7058a2019-06-17 15:42:33 -040042 && cd nng \
E. Scott Daniels134c56f2019-09-25 15:20:50 -040043 && git checkout e618abf8f3db2a94269a79c8901a51148d48fcc2 \
Lott, Christopher (cl778h)7a7058a2019-06-17 15:42:33 -040044 && mkdir build \
45 && cd build \
46 && cmake -DBUILD_SHARED_LIBS=1 -G Ninja .. \
47 && ninja \
48 && ninja install