From bea3fc086eccf8a6bc5ef1d1a3e1268d16772dfc Mon Sep 17 00:00:00 2001 From: Kevin Mihelich Date: Sun, 4 Dec 2011 18:45:33 -0500 Subject: [PATCH] added extra/opencv --- extra/opencv/PKGBUILD | 121 +++++++++++++++++++++++++++++++++++++++ extra/opencv/alarm.patch | 12 ++++ 2 files changed, 133 insertions(+) create mode 100644 extra/opencv/PKGBUILD create mode 100644 extra/opencv/alarm.patch diff --git a/extra/opencv/PKGBUILD b/extra/opencv/PKGBUILD new file mode 100644 index 000000000..0b1a4243c --- /dev/null +++ b/extra/opencv/PKGBUILD @@ -0,0 +1,121 @@ +# $Id: PKGBUILD 144087 2011-12-03 09:31:31Z schiv $ +# Maintainer: Ray Rashif +# Contributor: Tobias Powalowski + +# ALARM: Kevin Mihelich +# - turned off SSE and SSE2 in _cmakeopts +# - alarm.patch to fix function call not in ARM libraries + +plugrel=1 + +pkgbase=opencv +pkgname=('opencv' 'opencv-docs' 'opencv-samples') +_realname=OpenCV +pkgver=2.3.1_a +_realver=2.3.1 +pkgrel=1 +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' 'python2-numpy' 'eigen2') +optdepends=('opencv-docs' + 'opencv-samples' + 'eigen2' + 'python2-numpy: Python 2.x interface') +options=('!libtool') +source=("http://downloads.sourceforge.net/opencvlibrary/$_realname-${_realver}a.tar.bz2" + "alarm.patch") +md5sums=('82e4b6bfa349777233eea09b075e931e' + '941d6076ebdb4af729626ba3730e2f76') + +_cmakeopts=('-D CMAKE_BUILD_TYPE=Release' + '-D CMAKE_INSTALL_PREFIX=/usr' + '-D CMAKE_SKIP_RPATH=ON' + '-D BUILD_TESTS=OFF' + '-D ENABLE_SSE=OFF' + '-D ENABLE_SSE2=OFF' + '-D ENABLE_SSE3=OFF' + '-D ENABLE_SSSE3=OFF' + '-D ENABLE_SSE41=OFF' + '-D ENABLE_SSE42=OFF' + '-D BUILD_EXAMPLES=ON' + '-D INSTALL_C_EXAMPLES=ON' + '-D INSTALL_PYTHON_EXAMPLES=ON' + '-D WITH_XINE=ON' + '-D WITH_QT=OFF' + '-D WITH_QT_OPENGL=OFF' + '-D WITH_UNICAP=OFF' + '-D WITH_PVAPI=OFF' + '-D WITH_OPENNI=OFF' + '-D WITH_TBB=OFF' + '-D WITH_IPP=OFF' + '-D WITH_CUDA=OFF' + '-D USE_FAST_MATH=ON') + +build() { + cd "$srcdir/$_realname-$_realver" + + # x64, i.e "Athlon64" and upwards, can use SSE3 + [ $CARCH = x86_64 ] && \ + _cmakeopts=${_cmakeopts[@]/ENABLE_SSE3=OFF/ENABLE_SSE3=ON} + + patch -p1 -i ${srcdir}/alarm.patch + + cmake ${_cmakeopts[@]} . + + make +} + +package_opencv() { + cd "$srcdir/$_realname-$_realver" + + make DESTDIR="$pkgdir" install + + # install license file + install -Dm644 "$srcdir/$_realname-$_realver/doc/license.txt" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + + cd "$pkgdir/usr/share" + + # prepare FSH-friendly dirs + if [ -d OpenCV ]; then + mv opencv/samples OpenCV/ + rm -r opencv + mv OpenCV opencv + fi + + # separate docs package; also be -R friendly + [ -d opencv/doc ] && mv opencv/doc "$srcdir/opencv-doc" + + # separate samples package + [ -d opencv/samples ] && mv opencv/samples "$srcdir/opencv-samples" +} + +package_opencv-docs() { + pkgdesc+=" (documentation)" + unset depends + unset optdepends + options=('docs') + + cd "$srcdir" + + mkdir -p "$pkgdir/usr/share/doc" + cp -r opencv-doc "$pkgdir/usr/share/doc/opencv" +} + +package_opencv-samples() { + pkgdesc+=" (samples)" + depends=('bash') + unset optdepends + unset options + + cd "$srcdir" + + mkdir -p "$pkgdir/usr/share/opencv" + cp -r opencv-samples "$pkgdir/usr/share/opencv/samples" +} + +# vim:set ts=2 sw=2 et: diff --git a/extra/opencv/alarm.patch b/extra/opencv/alarm.patch new file mode 100644 index 000000000..f695a8d30 --- /dev/null +++ b/extra/opencv/alarm.patch @@ -0,0 +1,12 @@ +diff -urN a/modules/flann/include/opencv2/flann/dist.h b/modules/flann/include/opencv2/flann/dist.h +--- a/modules/flann/include/opencv2/flann/dist.h 2011-09-12 12:42:27.000000000 -0600 ++++ b/modules/flann/include/opencv2/flann/dist.h 2011-11-05 23:29:38.518023435 -0600 +@@ -60,7 +60,7 @@ + inline double abs(double x) { return fabs(x); } + + template<> +-inline long double abs(long double x) { return fabsl(x); } ++inline long double abs(long double x) { return fabs(x); } + + + template