Date: Thursday, July 7, 2011 @ 17:28:56 Author: schiv Revision: 130709
upgpkg: opencv 2.3.0-1 upstream release; move cmake config to a function for easier editing; split docs and samples to trim pkg size by a factor of 5; patch build to NOT install python stuff to dist-packages; clean out startdir remove old patches Added: opencv/trunk/pypkgpath_nondebian.patch Modified: opencv/trunk/PKGBUILD Deleted: opencv/trunk/gcc46.patch opencv/trunk/ptrcvcapture.patch opencv/trunk/v4l-mmap.patch opencv/trunk/v4l_2.6.38.patch ---------------------------+ PKGBUILD | 123 +++++++++++++++++++++++++++----------------- gcc46.patch | 10 --- ptrcvcapture.patch | 17 ------ pypkgpath_nondebian.patch | 16 +++++ v4l-mmap.patch | 14 ----- v4l_2.6.38.patch | 33 ----------- 6 files changed, 94 insertions(+), 119 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2011-07-07 21:27:51 UTC (rev 130708) +++ PKGBUILD 2011-07-07 21:28:56 UTC (rev 130709) @@ -2,74 +2,107 @@ # Maintainer: Ray Rashif <sc...@archlinux.org> # Contributor: Tobias Powalowski <tp...@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 upstream's assumption of "debian-based" + patch -Np1 -i "$srcdir/pypkgpath_nondebian.patch" - # fix v4l issue - #patch -Np0 -i "$srcdir/v4l-mmap.patch" + # x64, i.e "Athlon64" and upwards, can use SSE3 + [ $CARCH = x86_64 ] && \ + _cmakeopts=${_cmakeopts[@]/ENABLE_SSE3=OFF/ENABLE_SSE3=ON} - # fix ffmpeg-related C++ issue - # see http://code.google.com/p/ffmpegsource/source/detail?r=311 - #export CXXFLAGS="$CXXFLAGS -D__STDC_CONSTANT_MACROS" + cmake ${_cmakeopts[@]} . - # 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://bugs.archlinux.org/task/23826 - patch -Np1 -i "$srcdir/v4l_2.6.38.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() { +package_opencv() { 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: Deleted: gcc46.patch =================================================================== --- gcc46.patch 2011-07-07 21:27:51 UTC (rev 130708) +++ gcc46.patch 2011-07-07 21:28:56 UTC (rev 130709) @@ -1,10 +0,0 @@ -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> Deleted: ptrcvcapture.patch =================================================================== --- ptrcvcapture.patch 2011-07-07 21:27:51 UTC (rev 130708) +++ ptrcvcapture.patch 2011-07-07 21:28:56 UTC (rev 130709) @@ -1,17 +0,0 @@ -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); } - - } Added: pypkgpath_nondebian.patch =================================================================== --- pypkgpath_nondebian.patch (rev 0) +++ pypkgpath_nondebian.patch 2011-07-07 21:28:56 UTC (rev 130709) @@ -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) Deleted: v4l-mmap.patch =================================================================== --- v4l-mmap.patch 2011-07-07 21:27:51 UTC (rev 130708) +++ v4l-mmap.patch 2011-07-07 21:28:56 UTC (rev 130709) @@ -1,14 +0,0 @@ -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 */, Deleted: v4l_2.6.38.patch =================================================================== --- v4l_2.6.38.patch 2011-07-07 21:27:51 UTC (rev 130708) +++ v4l_2.6.38.patch 2011-07-07 21:28:56 UTC (rev 130709) @@ -1,33 +0,0 @@ -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 2010-12-05 11:35:25.000000000 +0800 -+++ OpenCV-2.2.0/modules/highgui/src/cap_v4l.cpp 2011-04-18 10:40:01.984950054 +0800 -@@ -214,7 +214,7 @@ - #include <sys/types.h> - #include <sys/mman.h> - --#include <linux/videodev.h> -+#include <libv4l1-videodev.h> - - #include <string.h> - #include <stdlib.h> -diff -up OpenCV-2.2.0/modules/highgui/src/cap_v4l.cpp.nov4l1 OpenCV-2.2.0/modules/highgui/src/cap_libv4l.cpp.cpp ---- OpenCV-2.2.0/modules/highgui/src/cap_libv4l.cpp.nov4l1 2010-12-05 11:35:25.000000000 +0800 -+++ OpenCV-2.2.0/modules/highgui/src/cap_libv4l.cpp 2011-04-18 10:39:07.568578185 +0800 -@@ -224,7 +224,7 @@ - #include "highgui.h" - #include "precomp.hpp" - --#if !defined WIN32 && defined HAVE_CAMV4L && defined HAVE_CAMV4L2 -+#if !defined WIN32 && defined HAVE_CAMV4L2 - - #define CLEAR(x) memset (&(x), 0, sizeof (x)) - -@@ -241,7 +241,7 @@ - #include <sys/stat.h> - #include <sys/ioctl.h> - --#include <linux/videodev.h> -+#include <libv4l1-videodev.h> - #include <linux/videodev2.h> - - #include <libv4l1.h>