diff options
Diffstat (limited to 'testing/opencv')
-rw-r--r-- | testing/opencv/PKGBUILD | 78 | ||||
-rw-r--r-- | testing/opencv/gcc46.patch | 10 | ||||
-rw-r--r-- | testing/opencv/libpng-1.4.patch | 12 | ||||
-rw-r--r-- | testing/opencv/nov4l1.patch | 25 | ||||
-rw-r--r-- | testing/opencv/ptrcvcapture.patch | 17 | ||||
-rw-r--r-- | testing/opencv/v4l-mmap.patch | 14 |
6 files changed, 156 insertions, 0 deletions
diff --git a/testing/opencv/PKGBUILD b/testing/opencv/PKGBUILD new file mode 100644 index 000000000..b371f6930 --- /dev/null +++ b/testing/opencv/PKGBUILD @@ -0,0 +1,78 @@ +# $Id: PKGBUILD 119711 2011-04-13 23:48:14Z schiv $ +# Maintainer: Ray Rashif <schiv@archlinux.org> +# Contributor: Tobias Powalowski <tpowa@archlinux.org> + +pkgname=opencv +_realname=OpenCV +pkgver=2.2.0 +pkgrel=4 +pkgdesc="Open Source Computer Vision Library" +arch=('i686' 'x86_64') +license=('BSD') +url="http://opencv.willowgarage.com" +depends=('jasper' 'gstreamer0.10-base' 'openexr' + 'gtk2' 'xine-lib' 'libdc1394' 'v4l-utils') +makedepends=('pkg-config' 'cmake' 'doxygen' + 'python2-numpy' 'eigen') +optdepends=('eigen' + 'python2-numpy') +options=('!libtool') +source=(http://downloads.sourceforge.net/opencvlibrary/$_realname-$pkgver.tar.bz2 + ptrcvcapture.patch + gcc46.patch + nov4l1.patch) +md5sums=('122c9ac793a46854ef2819fedbbd6b1b' + '461a8b1b0f2264521e13d9ae051d13be' + 'b5fb8d6786578ae7bf272615279e8865' + '0164bdbd54ee28b1f6cba20fcfd53812') + +build() { + cd "$srcdir/$_realname-$pkgver" + + # Please do not remove any patches from trunk # + + # libpng 1.4 compatibility + #patch -Np1 -i "$srcdir/libpng-1.4.patch" + + # fix v4l issue + #patch -Np0 -i "$srcdir/v4l-mmap.patch" + + # fix ffmpeg-related C++ issue + # see http://code.google.com/p/ffmpegsource/source/detail?r=311 + #export CXXFLAGS="$CXXFLAGS -D__STDC_CONSTANT_MACROS" + + # fix linking against highgui + # see https://bugs.archlinux.org/task/22841 + patch -Np0 -i "$srcdir/ptrcvcapture.patch" + + # gcc 4.6 compatibility + # see https://bugs.archlinux.org/task/23741 + patch -Np3 -i "$srcdir/gcc46.patch" + + # distro kernel no longer has v4l1 + # see https://code.ros.org/trac/opencv/ticket/862 + patch -Np1 -i "$srcdir/nov4l1.patch" + + cmake . -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_SKIP_RPATH=ON \ + -DWITH_XINE=ON \ + -DWITH_UNICAP=OFF \ + -DBUILD_EXAMPLES=ON \ + -DBUILD_TESTS=OFF \ + -DINSTALL_C_EXAMPLES=ON \ + -DINSTALL_PYTHON_EXAMPLES=ON + make +} + +package() { + cd "$srcdir/$_realname-$pkgver" + + make DESTDIR="$pkgdir/" install + + # install license file + install -Dm644 "$srcdir/$_realname-$pkgver/doc/license.txt" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +# vim:set ts=2 sw=2 et: diff --git a/testing/opencv/gcc46.patch b/testing/opencv/gcc46.patch new file mode 100644 index 000000000..a69499b4f --- /dev/null +++ b/testing/opencv/gcc46.patch @@ -0,0 +1,10 @@ +Index: /trunk/opencv/modules/core/include/opencv2/core/core.hpp +=================================================================== +--- /trunk/opencv/modules/core/include/opencv2/core/core.hpp (revision 4804) ++++ /trunk/opencv/modules/core/include/opencv2/core/core.hpp (revision 4861) +@@ -56,4 +56,5 @@ + #include <algorithm> + #include <cmath> ++#include <cstddef> + #include <complex> + #include <map> diff --git a/testing/opencv/libpng-1.4.patch b/testing/opencv/libpng-1.4.patch new file mode 100644 index 000000000..c34c5a58a --- /dev/null +++ b/testing/opencv/libpng-1.4.patch @@ -0,0 +1,12 @@ +diff -Naur OpenCV-2.0.0-orig/src/highgui/grfmt_png.cpp OpenCV-2.0.0/src/highgui/grfmt_png.cpp +--- OpenCV-2.0.0-orig/src/highgui/grfmt_png.cpp 2010-01-21 01:08:46.000000000 -0500 ++++ OpenCV-2.0.0/src/highgui/grfmt_png.cpp 2010-01-21 01:13:11.000000000 -0500 +@@ -223,7 +223,7 @@ + png_set_palette_to_rgb( png_ptr ); + + if( m_color_type == PNG_COLOR_TYPE_GRAY && m_bit_depth < 8 ) +- png_set_gray_1_2_4_to_8( png_ptr ); ++ png_set_expand_gray_1_2_4_to_8( png_ptr ); + + if( CV_MAT_CN(m_type) > 1 && color ) + png_set_bgr( png_ptr ); // convert RGB to BGR diff --git a/testing/opencv/nov4l1.patch b/testing/opencv/nov4l1.patch new file mode 100644 index 000000000..cacdd77b7 --- /dev/null +++ b/testing/opencv/nov4l1.patch @@ -0,0 +1,25 @@ +diff -up OpenCV-2.2.0/modules/highgui/src/cap_v4l.cpp.nov4l1 OpenCV-2.2.0/modules/highgui/src/cap_v4l.cpp +--- OpenCV-2.2.0/modules/highgui/src/cap_v4l.cpp.nov4l1 2011-02-02 16:55:22.844244001 +0100 ++++ OpenCV-2.2.0/modules/highgui/src/cap_v4l.cpp 2011-02-02 16:53:22.224244002 +0100 +@@ -214,7 +214,9 @@ make & enjoy! + #include <sys/types.h> + #include <sys/mman.h> + ++#ifdef HAVE_CAMV4L + #include <linux/videodev.h> ++#endif + + #include <string.h> + #include <stdlib.h> +diff -up OpenCV-2.2.0/modules/highgui/src/cap.cpp.nov4l1 OpenCV-2.2.0/modules/highgui/src/cap.cpp +--- OpenCV-2.2.0/modules/highgui/src/cap.cpp.nov4l1 2011-02-04 15:10:51.461243999 +0100 ++++ OpenCV-2.2.0/modules/highgui/src/cap.cpp 2011-02-04 15:11:22.040244001 +0100 +@@ -171,7 +171,7 @@ CV_IMPL CvCapture * cvCreateCameraCaptur + if (capture) + return capture; + #endif +- #if defined (HAVE_CAMV4L) || defined (HAVE_CAMV4L2) ++ #if defined (HAVE_CAMV4L) + capture = cvCreateCameraCapture_V4L (index); + if (capture) + return capture; diff --git a/testing/opencv/ptrcvcapture.patch b/testing/opencv/ptrcvcapture.patch new file mode 100644 index 000000000..c1316f0ea --- /dev/null +++ b/testing/opencv/ptrcvcapture.patch @@ -0,0 +1,17 @@ +Index: modules/highgui/src/cap.cpp +=================================================================== +--- modules/highgui/src/cap.cpp (revision 4283) ++++ modules/highgui/src/cap.cpp (working copy) +@@ -52,10 +52,10 @@ + namespace cv + { + +-template<> inline void Ptr<CvCapture>::delete_obj() ++template<> void Ptr<CvCapture>::delete_obj() + { cvReleaseCapture(&obj); } + +-template<> inline void Ptr<CvVideoWriter>::delete_obj() ++template<> void Ptr<CvVideoWriter>::delete_obj() + { cvReleaseVideoWriter(&obj); } + + } diff --git a/testing/opencv/v4l-mmap.patch b/testing/opencv/v4l-mmap.patch new file mode 100644 index 000000000..b7bbc9b74 --- /dev/null +++ b/testing/opencv/v4l-mmap.patch @@ -0,0 +1,14 @@ +http://code.ros.org/trac/opencv/ticket/141 +http://bugs.gentoo.org/313649 + +--- src/highgui/cvcap_libv4l.cpp ++++ src/highgui/cvcap_libv4l.cpp +@@ -782,7 +782,7 @@ + + capture->buffers[n_buffers].length = buf.length; + capture->buffers[n_buffers].start = +- mmap (NULL /* start anywhere */, ++ v4l2_mmap (NULL /* start anywhere */, + buf.length, + PROT_READ | PROT_WRITE /* required */, + MAP_SHARED /* recommended */, |