mirror of
https://github.com/eclipse/upm.git
synced 2025-03-19 06:57:30 +03:00
69 lines
2.7 KiB
Docker
69 lines
2.7 KiB
Docker
![]() |
FROM ubuntu:16.04
|
||
|
|
||
|
ENV DEBIAN_FRONTEND noninteractive
|
||
|
|
||
|
# Prepare 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 swig clang-3.8 gcc-5 g++-5 libpthread-stubs0-dev pkg-config wget unzip \
|
||
|
# Mraa Build Dependencies
|
||
|
libmraa1 libmraa-dev mraa-tools \
|
||
|
# Docs Build Dependencies
|
||
|
python-sphinx doxygen graphviz \
|
||
|
# Sensor Specific Build Dependencies
|
||
|
libjpeg-dev
|
||
|
|
||
|
# Test Build Dependencies
|
||
|
RUN apt-get -y --no-install-recommends install python python-dev python-pip && \
|
||
|
pip install chardet
|
||
|
|
||
|
# Install gcc-6 g++-6
|
||
|
RUN add-apt-repository ppa:ubuntu-toolchain-r/test && \
|
||
|
apt-get update && \
|
||
|
apt-get -y --no-install-recommends install gcc-6 g++-6
|
||
|
|
||
|
WORKDIR /opt
|
||
|
|
||
|
# Install libbacnet 0.3.12
|
||
|
RUN wget https://downloads.sourceforge.net/project/bacnet/bacnet-stack/bacnet-stack-0.8.3/bacnet-stack-0.8.3.zip && \
|
||
|
unzip -qq bacnet-stack-0.8.3.zip && cd bacnet-stack-0.8.3 && \
|
||
|
BACDL_DEFINE=-DBACDL_MSTP=1 MAKE_DEFINE=-fPIC make clean all && \
|
||
|
cp /opt/bacnet-stack-0.8.3/lib/libbacnet.a /usr/lib/libbacnet.a && \
|
||
|
echo "prefix=/usr" >> /usr/lib/pkgconfig/libbacnet.pc && \
|
||
|
echo "exec_prefix=\${prefix}" >> /usr/lib/pkgconfig/libbacnet.pc && \
|
||
|
echo "libdir=\${exec_prefix}/lib" >> /usr/lib/pkgconfig/libbacnet.pc && \
|
||
|
echo "includedir=\${exec_prefix}/include" >> /usr/lib/pkgconfig/libbacnet.pc && \
|
||
|
echo "Name: bacnet" >> /usr/lib/pkgconfig/libbacnet.pc && \
|
||
|
echo "Description: BACnet library" >> /usr/lib/pkgconfig/libbacnet.pc && \
|
||
|
echo "Version: 0.8.3" >> /usr/lib/pkgconfig/libbacnet.pc && \
|
||
|
echo "Libs: -L\${libdir} -lbacnet" >> /usr/lib/pkgconfig/libbacnet.pc && \
|
||
|
echo "Cflags: -I\${includedir}/bacnet" >> /usr/lib/pkgconfig/libbacnet.pc && \
|
||
|
mkdir /usr/include/bacnet && \
|
||
|
cp /opt/bacnet-stack-0.8.3/include/* /usr/include/bacnet/ && \
|
||
|
rm -fr /opt/bacnet-stack-0.8.3.zip
|
||
|
|
||
|
# Install libmodbus 3.1.4
|
||
|
RUN wget http://libmodbus.org/releases/libmodbus-3.1.4.tar.gz && \
|
||
|
tar xf libmodbus-3.1.4.tar.gz && cd libmodbus-3.1.4 && \
|
||
|
./configure && make -j8 && make install && \
|
||
|
rm -fr /opt/libmodbus-3.1.4.tar.gz
|
||
|
|
||
|
# Install openzwave
|
||
|
RUN apt-get update && apt-get -y --no-install-recommends install libudev-dev && \
|
||
|
git clone --depth 1 https://github.com/OpenZWave/open-zwave.git && cd open-zwave && make -j8 install && \
|
||
|
echo "/usr/local/lib64" >> /etc/ld.so.conf.d/openzwave.conf
|
||
|
|
||
|
# Set Workdir
|
||
|
ARG UPM_SRC_DIR=/usr/src/app
|
||
|
ENV UPM_SRC_DIR $UPM_SRC_DIR
|
||
|
WORKDIR $UPM_SRC_DIR
|
||
|
|
||
|
CMD bash
|