diff options
Diffstat (limited to 'extra/opencv')
-rw-r--r-- | extra/opencv/PKGBUILD | 66 | ||||
-rw-r--r-- | extra/opencv/libpng-1.4.patch | 12 | ||||
-rw-r--r-- | extra/opencv/ptrcvcapture.patch | 17 | ||||
-rw-r--r-- | extra/opencv/v4l-mmap.patch | 14 |
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 */, |