summaryrefslogtreecommitdiff
path: root/extra/opencv
diff options
context:
space:
mode:
authorroot <root@rshg047.dnsready.net>2011-07-10 23:13:07 +0000
committerroot <root@rshg047.dnsready.net>2011-07-10 23:13:07 +0000
commit139460a7a8b085588b699c488fd19b166db18a74 (patch)
treec7ef8dc756803db980465dd7bc9186f9c642aa50 /extra/opencv
parentd1e588afc2779754c0abd1122ecf4f8e3c863d7a (diff)
Sun Jul 10 23:13:07 UTC 2011
Diffstat (limited to 'extra/opencv')
-rw-r--r--extra/opencv/PKGBUILD127
-rw-r--r--extra/opencv/opencv.install12
-rw-r--r--extra/opencv/pypkgpath_nondebian.patch16
3 files changed, 109 insertions, 46 deletions
diff --git a/extra/opencv/PKGBUILD b/extra/opencv/PKGBUILD
index b909207c7..893bb15dc 100644
--- a/extra/opencv/PKGBUILD
+++ b/extra/opencv/PKGBUILD
@@ -1,75 +1,110 @@
-# $Id: PKGBUILD 120048 2011-04-18 20:44:58Z schiv $
+# $Id: PKGBUILD 130774 2011-07-07 23:14:56Z foutrelis $
# Maintainer: Ray Rashif <schiv@archlinux.org>
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
-pkgname=opencv
+pkgbase=opencv
+pkgname=('opencv' 'opencv-docs' 'opencv-samples')
_realname=OpenCV
-pkgver=2.2.0
-pkgrel=5
+pkgver=2.3.0
+pkgrel=1
pkgdesc="Open Source Computer Vision Library"
arch=('i686' 'x86_64')
license=('BSD')
-url="http://opencv.willowgarage.com"
+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')
+makedepends=('pkg-config' 'cmake' 'python2-numpy' 'eigen2')
+optdepends=('python2-numpy: Python 2.x interface'
+ 'eigen2')
options=('!libtool')
-source=(http://downloads.sourceforge.net/opencvlibrary/$_realname-$pkgver.tar.bz2
- ptrcvcapture.patch
- gcc46.patch
- v4l_2.6.38.patch)
-md5sums=('122c9ac793a46854ef2819fedbbd6b1b'
- '461a8b1b0f2264521e13d9ae051d13be'
- 'b5fb8d6786578ae7bf272615279e8865'
- '82c8a8a76275acd4a73a4f8e948c3f78')
+source=("http://downloads.sourceforge.net/opencvlibrary/$_realname-$pkgver.tar.bz2"
+ 'pypkgpath_nondebian.patch')
+md5sums=('dea5e9df241ac37f4439da16559e420d'
+ 'eb884bad665047276e80556e44043a43')
+
+_cmakeopts=('-D CMAKE_BUILD_TYPE=Release'
+ '-D CMAKE_INSTALL_PREFIX=/usr'
+ '-D CMAKE_SKIP_RPATH=ON'
+ '-D BUILD_TESTS=OFF'
+ '-D ENABLE_SSE=ON'
+ '-D ENABLE_SSE2=ON'
+ '-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-$pkgver"
- # Please do not remove any patches from trunk #
-
- # 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"
+ # fix upstream's assumption of "debian-based"
+ patch -Np1 -i "$srcdir/pypkgpath_nondebian.patch"
- # gcc 4.6 compatibility
- # see https://bugs.archlinux.org/task/23741
- patch -Np3 -i "$srcdir/gcc46.patch"
+ # x64, i.e "Athlon64" and upwards, can use SSE3
+ [ $CARCH = x86_64 ] && \
+ _cmakeopts=${_cmakeopts[@]/ENABLE_SSE3=OFF/ENABLE_SSE3=ON}
- # distro kernel no longer has v4l1
- # see https://bugs.archlinux.org/task/23826
- patch -Np1 -i "$srcdir/v4l_2.6.38.patch"
+ cmake ${_cmakeopts[@]} .
- 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() {
+package_opencv() {
+ install=$pkgname.install
+
cd "$srcdir/$_realname-$pkgver"
- make DESTDIR="$pkgdir/" install
+ make DESTDIR="$pkgdir" install
# install license file
install -Dm644 "$srcdir/$_realname-$pkgver/doc/license.txt" \
"$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+
+ # separate docs package; also be -R friendly
+ [ -d "$pkgdir/usr/share/opencv/doc" ] && \
+ mv "$pkgdir/usr/share/opencv/doc" "$srcdir/opencv-doc"
+
+ # separate samples package
+ [ -d "$pkgdir/usr/share/opencv/samples" ] && \
+ mv "$pkgdir/usr/share/opencv/samples" "$srcdir/opencv-samples"
+}
+
+package_opencv-docs() {
+ pkgdesc+=" (documentation)"
+ #arch=('any')
+ depends=()
+ 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)"
+ #arch=('any')
+ depends=()
+ optdepends=()
+ 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/opencv.install b/extra/opencv/opencv.install
new file mode 100644
index 000000000..7709a9cc3
--- /dev/null
+++ b/extra/opencv/opencv.install
@@ -0,0 +1,12 @@
+post_install() {
+ echo "==> Documentation and samples are in separate packages:"
+ echo
+ echo "* opencv-docs"
+ echo "* opencv-samples"
+}
+
+post_upgrade() {
+ post_install
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/extra/opencv/pypkgpath_nondebian.patch b/extra/opencv/pypkgpath_nondebian.patch
new file mode 100644
index 000000000..7c2d44b09
--- /dev/null
+++ b/extra/opencv/pypkgpath_nondebian.patch
@@ -0,0 +1,16 @@
+diff -aur OpenCV-2.3.0.orig/CMakeLists.txt OpenCV-2.3.0/CMakeLists.txt
+--- OpenCV-2.3.0.orig/CMakeLists.txt 2011-07-07 17:31:35.656946629 +0800
++++ OpenCV-2.3.0/CMakeLists.txt 2011-07-07 17:40:34.110696242 +0800
+@@ -620,11 +620,7 @@
+ string(REGEX MATCH "[0-9].[0-9]" PYTHON_VERSION_MAJOR_MINOR "${PYTHON_VERSION_FULL}")
+ if(UNIX)
+ set(PYTHON_PLUGIN_INSTALL_PATH lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages/opencv)
+- if(APPLE)
+- set(PYTHON_PACKAGES_PATH lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages CACHE PATH "Where to install the python packages.")
+- else() #debian based assumed, install to the dist-packages.
+- set(PYTHON_PACKAGES_PATH lib/python${PYTHON_VERSION_MAJOR_MINOR}/dist-packages CACHE PATH "Where to install the python packages.")
+- endif()
++ set(PYTHON_PACKAGES_PATH lib/python${PYTHON_VERSION_MAJOR_MINOR}/site-packages CACHE PATH "Where to install the python packages.")
+ endif()
+ if(WIN32)
+ get_filename_component(PYTHON_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Python\\PythonCore\\${PYTHON_VERSION_MAJOR_MINOR}\\InstallPath]" ABSOLUTE CACHE)