summaryrefslogtreecommitdiff
path: root/testing/opencv
diff options
context:
space:
mode:
authorroot <root@rshg047.dnsready.net>2011-04-14 04:54:18 +0000
committerroot <root@rshg047.dnsready.net>2011-04-14 04:54:18 +0000
commit0917a0682e48c4261e47d743725d990f47f6ec95 (patch)
tree32b99e036a20918da470922bf40276cedcfe7506 /testing/opencv
parent9c49791f6e912bd4834f00f2c6b3a00e6c12bb73 (diff)
Thu Apr 14 04:54:18 UTC 2011
Diffstat (limited to 'testing/opencv')
-rw-r--r--testing/opencv/PKGBUILD78
-rw-r--r--testing/opencv/gcc46.patch10
-rw-r--r--testing/opencv/libpng-1.4.patch12
-rw-r--r--testing/opencv/nov4l1.patch25
-rw-r--r--testing/opencv/ptrcvcapture.patch17
-rw-r--r--testing/opencv/v4l-mmap.patch14
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 */,