commit 98551244e9a78c2144e87d8df9ea043575efd7d4 Author: alban Date: Fri Apr 9 23:39:25 2021 +0200 [init] diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ffc26ad --- /dev/null +++ b/Dockerfile @@ -0,0 +1,33 @@ +FROM debian:10 +LABEL name=ofxOscMidi + +WORKDIR /opt/ + +RUN apt update && apt install -y --no-install-recommends curl unzip build-essential + +RUN curl -k https://openframeworks.cc/versions/v0.11.2/of_v0.11.2_linux64gcc6_release.tar.gz -O && tar -xf of_v0.11.2_linux64gcc6_release.tar.gz + +COPY install.sh /opt + +RUN cd /opt && bash /opt/install.sh + +RUN bash /opt/of_v0.11.2_linux64gcc6_release/scripts/linux/compileOF.sh -j6 + +RUN curl -k https://codeload.github.com/Andymann/ofxOscMidi/zip/refs/heads/main -o ./of_v0.11.2_linux64gcc6_release/apps/myApps/oscMidi.zip && \ + unzip of_v0.11.2_linux64gcc6_release/apps/myApps/oscMidi.zip && rm /opt/of_v0.11.2_linux64gcc6_release/apps/myApps/oscMidi.zip + +RUN curl -k https://codeload.github.com/braitsch/ofxDatGui/zip/refs/heads/master -o ./of_v0.11.2_linux64gcc6_release/addons/ofxDatGui.zip && \ + unzip of_v0.11.2_linux64gcc6_release/addons/ofxDatGui.zip + +RUN curl -k https://codeload.github.com/danomatika/ofxMidi/zip/refs/heads/master -o ./of_v0.11.2_linux64gcc6_release/addons/ofxMidi.zip && \ + unzip of_v0.11.2_linux64gcc6_release/addons/ofxMidi.zip + +RUN curl -k https://codeload.github.com/bakercp/ofxNetworkUtils/zip/refs/heads/master -o ./of_v0.11.2_linux64gcc6_release/addons/ofxNetworkUtils.zip && \ + unzip of_v0.11.2_linux64gcc6_release/addons/ofxNetworkUtils.zip + +RUN cd /opt/of_v0.11.2_linux64gcc6_release/apps/myApps/emptyExample/ && make + +# Start the main process. +CMD ["/bin/bash"] + + diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..cc43d2c --- /dev/null +++ b/install.sh @@ -0,0 +1,84 @@ +#!/usr/bin/env bash + +if [ $EUID != 0 ]; then + echo "this script must be run as root" + echo "" + echo "usage:" + echo "sudo "$0 + exit $exit_code + exit 1 +fi + +ROOT=$(cd $(dirname $0); pwd -P) + +apt-get update + +GSTREAMER_VERSION=0.10 +GSTREAMER_FFMPEG=gstreamer${GSTREAMER_VERSION}-ffmpeg + +echo "detecting latest gstreamer version" +apt-cache show libgstreamer1.0-dev +exit_code=$? +if [ $exit_code = 0 ]; then + echo selecting gstreamer 1.0 + GSTREAMER_VERSION=1.0 + GSTREAMER_FFMPEG=gstreamer${GSTREAMER_VERSION}-libav +fi + +GTK_VERSION=2.0 +echo "detecting latest gtk version" +apt-cache show libgtk-3-dev +exit_code=$? +if [ $exit_code = 0 ]; then + echo selecting gtk 3 + GTK_VERSION=-3 +fi + + + +echo "installing OF dependencies" +apt-get install -y --no-install-recommends freeglut3-dev libasound2-dev libxmu-dev libxxf86vm-dev g++ libgl1-mesa-dev libglu1-mesa-dev libraw1394-dev libudev-dev libdrm-dev libglew-dev libopenal-dev libsndfile-dev libfreeimage-dev libcairo2-dev libfreetype6-dev libssl-dev libpulse-dev libusb-1.0-0-dev libgtk${GTK_VERSION}-dev libopencv-dev libegl1-mesa-dev libgles1 libgles2-mesa-dev libassimp-dev librtaudio-dev libboost-filesystem-dev libglfw3-dev liburiparser-dev libcurl4-openssl-dev libpugixml-dev libpoco-dev libgconf-2-4 +exit_code=$? +if [ $exit_code != 0 ]; then + echo "error installing dependencies, there could be an error with your internet connection" + echo "if the error persists, please report an issue in github: http://github.com/openframeworks/openFrameworks/issues" + exit $exit_code +fi + +echo "installing gstreamer" +apt-get install -y --no-install-recommends libgstreamer${GSTREAMER_VERSION}-dev libgstreamer-plugins-base${GSTREAMER_VERSION}-dev ${GSTREAMER_FFMPEG} gstreamer${GSTREAMER_VERSION}-pulseaudio gstreamer${GSTREAMER_VERSION}-x gstreamer${GSTREAMER_VERSION}-plugins-bad gstreamer${GSTREAMER_VERSION}-alsa gstreamer${GSTREAMER_VERSION}-plugins-base gstreamer${GSTREAMER_VERSION}-plugins-good +exit_code=$? +if [ $exit_code != 0 ]; then + echo "error installing gstreamer, there could be an error with your internet connection" + echo "if the error persists, please report an issue in github: http://github.com/openframeworks/openFrameworks/issues" + exit $exit_code +fi + +if [ -f /opt/vc/include/bcm_host.h ]; then + echo "detected Raspberry Pi" + echo "installing gstreamer omx" + apt-get install -y --no-install-recommends gstreamer${GSTREAMER_VERSION}-omx +fi + +OS_CODENAME=$(cat /etc/os-release | grep VERSION= | sed "s/VERSION\=\"\(.*\)\"/\1/") + +if [ "$OS_CODENAME" = "7 (wheezy)" ]; then + echo "detected wheezy, installing g++4.8 for c++11 compatibility" + apt-get install -y --no-install-recommends g++-4.8 + echo "setting gcc-${CXX_VER} as default compiler" + sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 1 --force + sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 1 --force +fi + +# Update addon_config.mk files to use OpenCV 3 or 4 depending on what's installed +addons_dir="/opt/of_v0.11.2_linux64gcc6_release/addons/" +$(pkg-config opencv4 --exists) +exit_code=$? +if [ $exit_code != 0 ]; then + echo "Updating ofxOpenCV to use openCV3" + sed -i -E 's/ADDON_PKG_CONFIG_LIBRARIES =(.*)opencv4(.*)$/ADDON_PKG_CONFIG_LIBRARIES =\1opencv\2/' "$addons_dir/ofxOpenCv/addon_config.mk" +else + echo "Updating ofxOpenCV to use openCV4" + sed -i -E 's/ADDON_PKG_CONFIG_LIBRARIES =(.*)opencv\s/ADDON_PKG_CONFIG_LIBRARIES =\1opencv4 /g' "$addons_dir/ofxOpenCv/addon_config.mk" + sed -i -E 's/ADDON_PKG_CONFIG_LIBRARIES =(.*)opencv$/ADDON_PKG_CONFIG_LIBRARIES =\1opencv4/g' "$addons_dir/ofxOpenCv/addon_config.mk" +fi