[arch-commits] Commit in opencv/trunk (6 files)

Ray Rashif schiv at archlinux.org
Thu Jul 7 17:28:56 EDT 2011


    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 <schiv at archlinux.org>
 # Contributor: Tobias Powalowski <tpowa at 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>



More information about the arch-commits mailing list