summaryrefslogtreecommitdiff
path: root/extra/opencv
diff options
context:
space:
mode:
Diffstat (limited to 'extra/opencv')
-rw-r--r--extra/opencv/PKGBUILD66
-rw-r--r--extra/opencv/libpng-1.4.patch12
-rw-r--r--extra/opencv/ptrcvcapture.patch17
-rw-r--r--extra/opencv/v4l-mmap.patch14
4 files changed, 109 insertions, 0 deletions
diff --git a/extra/opencv/PKGBUILD b/extra/opencv/PKGBUILD
new file mode 100644
index 000000000..80b192193
--- /dev/null
+++ b/extra/opencv/PKGBUILD
@@ -0,0 +1,66 @@
+# $Id: PKGBUILD 109758 2011-02-12 15:04:53Z schiv $
+# Maintainer: Ray Rashif <schiv@archlinux.org>
+# Contributor: Tobias Powalowski <tpowa@archlinux.org>
+
+pkgname=opencv
+_realname=OpenCV
+pkgver=2.2.0
+pkgrel=3
+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)
+md5sums=('122c9ac793a46854ef2819fedbbd6b1b'
+ '461a8b1b0f2264521e13d9ae051d13be')
+
+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"
+
+ 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/extra/opencv/libpng-1.4.patch b/extra/opencv/libpng-1.4.patch
new file mode 100644
index 000000000..c34c5a58a
--- /dev/null
+++ b/extra/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/extra/opencv/ptrcvcapture.patch b/extra/opencv/ptrcvcapture.patch
new file mode 100644
index 000000000..c1316f0ea
--- /dev/null
+++ b/extra/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/extra/opencv/v4l-mmap.patch b/extra/opencv/v4l-mmap.patch
new file mode 100644
index 000000000..b7bbc9b74
--- /dev/null
+++ b/extra/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 */,