mirror of
https://github.com/eclipse/upm.git
synced 2025-03-15 04:57:30 +03:00
Dockerfile: add initial docker image for building
Signed-off-by: Nicolas Oliver <dario.n.oliver@intel.com> Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
This commit is contained in:
parent
60379fca37
commit
780b5df024
86
Dockerfile
Normal file
86
Dockerfile
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
FROM ubuntu:16.04
|
||||||
|
|
||||||
|
ENV DEBIAN_FRONTEND noninteractive
|
||||||
|
|
||||||
|
# Preapare apt-get
|
||||||
|
RUN apt-get update && apt-get -y --no-install-recommends install software-properties-common
|
||||||
|
|
||||||
|
# Add Mraa Repository
|
||||||
|
RUN add-apt-repository ppa:mraa/mraa && \
|
||||||
|
# Update apt-get
|
||||||
|
apt-get -y update && \
|
||||||
|
# Install apt-utils
|
||||||
|
apt-get -y --no-install-recommends install apt-utils && \
|
||||||
|
# Main Build Dependencies
|
||||||
|
apt-get -y --no-install-recommends install git build-essential cmake clang-3.8 g++-4.8 libpthread-stubs0-dev pkg-config wget libpcre3 libpcre3-dev \
|
||||||
|
# Mraa Build Dependencies
|
||||||
|
libmraa1 libmraa-dev mraa-tools python-mraa python3-mraa libmraa-java \
|
||||||
|
# Docs Build Dependencies
|
||||||
|
python-sphinx doxygen graphviz \
|
||||||
|
# Python Build Dependencies
|
||||||
|
python python-dev python3 python3-dev \
|
||||||
|
# Java Build Dependencies
|
||||||
|
default-jre default-jdk
|
||||||
|
# Sensor Specific Build Dependencies
|
||||||
|
# TODO: install bacnet-mstp, modbus, openzwave, jpeg
|
||||||
|
|
||||||
|
# Swig Build Dependencies
|
||||||
|
RUN wget http://iotdk.intel.com/misc/tr/swig-3.0.10.tar.gz && \
|
||||||
|
tar xf swig-3.0.10.tar.gz && cd swig-3.0.10 && \
|
||||||
|
./configure --prefix=/usr/ && make && make install && cd ..
|
||||||
|
|
||||||
|
# Node.js Build Dependencies
|
||||||
|
RUN wget -q -O - https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash
|
||||||
|
ARG NODE_VERSION
|
||||||
|
ENV NVM_DIR /root/.nvm
|
||||||
|
RUN . $NVM_DIR/nvm.sh && nvm install $NODE_VERSION && nvm use $NODE_VERSION && \
|
||||||
|
npm install -g node-gyp && node-gyp install
|
||||||
|
|
||||||
|
|
||||||
|
# Set Workdir
|
||||||
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
|
# Configure Build Arguments
|
||||||
|
ARG BUILDDOC
|
||||||
|
ARG BUILDCPP
|
||||||
|
ARG BUILDFTI
|
||||||
|
ARG BUILDSWIGPYTHON
|
||||||
|
ARG BUILDSWIGNODE
|
||||||
|
ARG BUILDSWIGJAVA
|
||||||
|
ARG BUILDEXAMPLES
|
||||||
|
ARG IPK
|
||||||
|
ARG RPM
|
||||||
|
ARG NPM
|
||||||
|
ARG BUILDTESTS
|
||||||
|
ARG WERROR
|
||||||
|
ARG CC
|
||||||
|
ARG CXX
|
||||||
|
|
||||||
|
# Configure Build Environment
|
||||||
|
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/
|
||||||
|
ENV CC $CC
|
||||||
|
ENV CXX $CXX
|
||||||
|
|
||||||
|
# Copy sources
|
||||||
|
COPY . .
|
||||||
|
|
||||||
|
# Change Workdir to build directory
|
||||||
|
WORKDIR /usr/src/app/build
|
||||||
|
|
||||||
|
# Run cmake
|
||||||
|
RUN . $NVM_DIR/nvm.sh && cmake \
|
||||||
|
-DSWIG_EXECUTABLE=/usr/bin/swig \
|
||||||
|
-DSWIG_DIR:PATH=/usr/share/swig/3.0.10/ \
|
||||||
|
-DBUILDDOC=$BUILDDOC \
|
||||||
|
-DBUILDSWIGPYTHON=$BUILDSWIGPYTHON \
|
||||||
|
-DBUILDSWIGNODE=$BUILDSWIGNODE \
|
||||||
|
-DBUILDSWIGJAVA=$BUILDSWIGJAVA \
|
||||||
|
-DBUILDEXAMPLES=$BUILDEXAMPLES \
|
||||||
|
-DIPK=$IPK \
|
||||||
|
-DRPM=$RPM \
|
||||||
|
-DNPM=$NPM \
|
||||||
|
-DBUILDTESTS=$BUILDTESTS \
|
||||||
|
-DWERROR=$WERROR \
|
||||||
|
..
|
||||||
|
|
||||||
|
CMD make
|
Loading…
x
Reference in New Issue
Block a user