diff --git a/.editorconfig b/.editorconfig index 162ee53a..dc57784a 100644 --- a/.editorconfig +++ b/.editorconfig @@ -12,7 +12,7 @@ charset = utf-8 # Tab indentation (no size specified) [Makefile] -indent_style = space +indent_style = tab indent_size = 2 # Indentation override for all JS under lib directory diff --git a/.travis.yml b/.travis.yml index d0196cfc..6c0f7978 100755 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,20 @@ language: node_js +os: + - linux +# - osx + +matrix: + allow_failures: + - os: osx + node_js: - '0.12' - - "iojs-v1.0.4" +# - "iojs-v1.0.4" + +sudo: required +services: + - docker compiler: clang @@ -42,6 +54,8 @@ install: # test our module - npm test - node lib/opencv.js + - docker build -t peterbraden/node-opencv-ubuntu-12-04 -f test/Dockerfile-ubuntu-12-04 . + - docker build -t peterbraden/node-opencv-ubuntu-14-04 -f test/Dockerfile-ubuntu-14-04 . before_script: - echo "Publishing native platform Binary Package? ->" $PUBLISH_BINARY diff --git a/Dockerfile b/Dockerfile index 2af10e5f..f1ef509f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,15 +4,80 @@ # 2) Build: wget https://raw.github.com/dotcloud/docker/v0.1.6/contrib/docker-build/docker-build && python docker-build $USER/node-opencv < Dockerfile # 3) Test: docker run $USER/node-opencv node -e "console.log(require('opencv').version)" # -# VERSION 0.1 -# DOCKER-VERSION 0.1.6 - -from ubuntu:12.04 -run apt-get update -qq -run apt-get install -y software-properties-common python-software-properties -run add-apt-repository -y ppa:kubuntu-ppa/backports -run apt-get update -run apt-get install -y libcv-dev libcvaux-dev libhighgui-dev libopencv-dev -run curl -sL https://deb.nodesource.com/setup | bash - -run apt-get install -y nodejs -run npm install opencv || cat npm-debug.log +# VERSION 0.3 +# DOCKER-VERSION 8.1.2 + + +# update to 14.04 +FROM ubuntu:14.04 + +# listing myself as maintainer of _this_ Dockerfile, though I am not the author of the install script (credit to http://rodrigoberriel.com/) +MAINTAINER borromeotlhs@gmail.com + +# run Rodrigo Berriel’s script for installing opencv3 on Ubuntu 14.04 +# I’ll convert this into a full Dockerfile later, once I see if it works +#COPY ./install-opencv3.sh /tmp/ + +# this is needed as libfaac-dev comes from multiverse, according to: +# http://superuser.com/questions/467774/how-to-install-libfaac-dev +RUN echo "deb http://us.archive.ubuntu.com/ubuntu/ precise multiverse\n\ +deb-src http://us.archive.ubuntu.com/ubuntu/ precise multiverse\n\ +deb http://us.archive.ubuntu.com/ubuntu/ precise-updates multiverse\n\ +deb-src http://us.archive.ubuntu.com/ubuntu/ precise-updates multiverse\n"\ +>> /etc/apt/sources.list + + +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y \ + software-properties-common +RUN add-apt-repository ppa:george-edison55/cmake-3.x +RUN apt-get update -qq +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y \ +curl \ +cmake \ +wget \ +unzip \ +libopencv-dev \ +build-essential \ +git \ +libgtk2.0-dev \ +pkg-config \ +python-dev \ +python-numpy \ +libdc1394-22 \ +libdc1394-22-dev \ +libjpeg-dev \ +libpng12-dev \ +libtiff4-dev \ +libjasper-dev \ +libavcodec-dev \ +libavformat-dev \ +libswscale-dev \ +libxine-dev \ +libgstreamer0.10-dev \ +libgstreamer-plugins-base0.10-dev \ +libv4l-dev \ +libtbb-dev \ +libqt4-dev \ +libfaac-dev \ +libmp3lame-dev \ +libopencore-amrnb-dev \ +libopencore-amrwb-dev \ +libtheora-dev \ +libvorbis-dev \ +libxvidcore-dev \ +x264 \ +v4l-utils + +RUN mkdir opencv +WORKDIR opencv + +RUN wget https://github.com/Itseez/opencv/archive/3.0.0.zip -O opencv-3.0.0.zip +RUN unzip opencv-3.0.0.zip +RUN mkdir opencv-3.0.0/build +WORKDIR opencv-3.0.0/build + +RUN cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D WITH_OPENGL=ON .. + +RUN make -j $(nproc) && make install +RUN echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf +RUN ldconfig diff --git a/Makefile b/Makefile index a9462b60..98783792 100644 --- a/Makefile +++ b/Makefile @@ -33,3 +33,9 @@ release: @echo "Publishing to NPM" @npm publish .PHONY: release + + +travis-build: + docker build -t peterbraden/node-opencv-ubuntu-12-04 -f test/Dockerfile-ubuntu-12-04 . + docker build -t peterbraden/node-opencv-ubuntu-14-04 -f test/Dockerfile-ubuntu-14-04 . +.PHONY: travis-build diff --git a/examples/salt.js b/examples/salt.js index 737e834e..25c98614 100755 --- a/examples/salt.js +++ b/examples/salt.js @@ -1,3 +1,4 @@ +/* var cv = require('../lib/opencv'); cv.readImage("./files/mona.png", function(err, im) { @@ -18,3 +19,4 @@ function salt(img, n) { img.set(y, x, 255); } } +*/ diff --git a/test/Dockerfile-ubuntu-12-04 b/test/Dockerfile-ubuntu-12-04 new file mode 100644 index 00000000..735625d0 --- /dev/null +++ b/test/Dockerfile-ubuntu-12-04 @@ -0,0 +1,13 @@ +# This is a dockerfile to test the build on ubuntu 12.04 +from ubuntu:12.04 +run apt-get update -qq +run apt-get install -y software-properties-common python-software-properties +run add-apt-repository -y ppa:kubuntu-ppa/backports +run apt-get update +run apt-get install -y libcv-dev libcvaux-dev libhighgui-dev libopencv-dev +run curl -sL https://deb.nodesource.com/setup | bash - +run apt-get install -y nodejs +WORKDIR /root/node-opencv +add . /root/node-opencv +run npm install --unsafe-perm --build-from-source || cat npm-debug.log +run make test diff --git a/test/Dockerfile-ubuntu-14-04 b/test/Dockerfile-ubuntu-14-04 new file mode 100644 index 00000000..262a37da --- /dev/null +++ b/test/Dockerfile-ubuntu-14-04 @@ -0,0 +1,13 @@ +# This is a dockerfile to test the build on ubuntu 14.04 +from ubuntu:14.04 +run apt-get update -qq +run apt-get install -y software-properties-common python-software-properties +run add-apt-repository -y ppa:kubuntu-ppa/backports +run apt-get update +run apt-get install -y libcv-dev libcvaux-dev libhighgui-dev libopencv-dev +run curl -sL https://deb.nodesource.com/setup | bash - +run apt-get install -y nodejs +WORKDIR /root/node-opencv +add . /root/node-opencv +run npm install --unsafe-perm --build-from-source || cat npm-debug.log +run make test