[arch-commits] Commit in opencv/repos (10 files)

Ray Rashif schiv at archlinux.org
Fri Oct 31 14:15:17 UTC 2014


    Date: Friday, October 31, 2014 @ 15:15:17
  Author: schiv
Revision: 225518

archrelease: copy trunk to testing-i686, testing-x86_64

Added:
  opencv/repos/testing-i686/
  opencv/repos/testing-i686/PKGBUILD
    (from rev 225517, opencv/trunk/PKGBUILD)
  opencv/repos/testing-i686/fsh.patch
    (from rev 225517, opencv/trunk/fsh.patch)
  opencv/repos/testing-i686/pkgconfig.patch
    (from rev 225517, opencv/trunk/pkgconfig.patch)
  opencv/repos/testing-i686/x86_asmfix.patch
    (from rev 225517, opencv/trunk/x86_asmfix.patch)
  opencv/repos/testing-x86_64/
  opencv/repos/testing-x86_64/PKGBUILD
    (from rev 225517, opencv/trunk/PKGBUILD)
  opencv/repos/testing-x86_64/fsh.patch
    (from rev 225517, opencv/trunk/fsh.patch)
  opencv/repos/testing-x86_64/pkgconfig.patch
    (from rev 225517, opencv/trunk/pkgconfig.patch)
  opencv/repos/testing-x86_64/x86_asmfix.patch
    (from rev 225517, opencv/trunk/x86_asmfix.patch)

---------------------------------+
 testing-i686/PKGBUILD           |  120 +++++++++++++++++++++++++++++++++
 testing-i686/fsh.patch          |  136 ++++++++++++++++++++++++++++++++++++++
 testing-i686/pkgconfig.patch    |   35 +++++++++
 testing-i686/x86_asmfix.patch   |   46 ++++++++++++
 testing-x86_64/PKGBUILD         |  120 +++++++++++++++++++++++++++++++++
 testing-x86_64/fsh.patch        |  136 ++++++++++++++++++++++++++++++++++++++
 testing-x86_64/pkgconfig.patch  |   35 +++++++++
 testing-x86_64/x86_asmfix.patch |   46 ++++++++++++
 8 files changed, 674 insertions(+)

Copied: opencv/repos/testing-i686/PKGBUILD (from rev 225517, opencv/trunk/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD	                        (rev 0)
+++ testing-i686/PKGBUILD	2014-10-31 14:15:17 UTC (rev 225518)
@@ -0,0 +1,120 @@
+# $Id$
+# Maintainer: Ray Rashif <schiv at archlinux.org>
+# Contributor: Tobias Powalowski <tpowa at archlinux.org>
+
+pkgbase=opencv
+pkgname=('opencv' 'opencv-samples')
+pkgver=2.4.10
+pkgrel=1
+pkgdesc="Open Source Computer Vision Library"
+arch=('i686' 'x86_64')
+license=('BSD')
+url="http://opencv.org/"
+depends=('intel-tbb' 'openexr' 'xine-lib' 'libdc1394' 'gtkglext')
+makedepends=('cmake' 'python2-numpy' 'mesa' 'eigen2' 'vtk')
+optdepends=('opencv-samples'
+            'eigen2'
+            'libcl: For coding with OpenCL'
+            'vtk: 3D visualization'
+            'python2-numpy: Python 2.x interface')
+source=("http://downloads.sourceforge.net/opencvlibrary/$pkgname-$pkgver.zip"
+        'pkgconfig.patch'
+        'fsh.patch'
+        'x86_asmfix.patch')
+md5sums=('ec63952d3a3dff965d5fdde765926821'
+         'c7cea48ed7d4f729ebdb9673bac41bd3'
+         'c597598d142dd34d0eb4af7d6e9779d8'
+         'b937d3589a62666f17f6dc93e0109717')
+
+_cmakeopts=('-D WITH_OPENCL=ON'
+            '-D WITH_OPENGL=ON'
+            '-D WITH_VTK=ON'
+            '-D WITH_TBB=ON'
+            '-D WITH_XINE=ON'
+            '-D WITH_GSTREAMER=OFF'
+            '-D BUILD_WITH_DEBUG_INFO=OFF'
+            '-D BUILD_TESTS=OFF'
+            '-D BUILD_PERF_TESTS=OFF'
+            '-D BUILD_EXAMPLES=ON'
+            '-D INSTALL_C_EXAMPLES=ON'
+            '-D INSTALL_PYTHON_EXAMPLES=ON'
+            '-D CMAKE_BUILD_TYPE=Release'
+            '-D CMAKE_INSTALL_PREFIX=/usr'
+            '-D CMAKE_SKIP_RPATH=ON')
+
+# SSE only available from Pentium 3 onwards (i686 is way older)
+[[ "$CARCH" = 'i686' ]] && \
+  _cmakeopts+=('-D ENABLE_SSE=OFF'
+               '-D ENABLE_SSE2=OFF'
+               '-D ENABLE_SSE3=OFF')
+
+# all x64 CPUs support SSE2 but not SSE3
+[[ "$CARCH" = 'x86_64' ]] && _cmakeopts+=('-D ENABLE_SSE3=OFF')
+
+prepare() {
+  cd "$srcdir/$pkgname-$pkgver"
+
+  msg2 "Applying backported fix for x86 ASM breakage"
+  # see https://github.com/Itseez/opencv/pull/3331
+  patch -Np1 -i "$srcdir/x86_asmfix.patch"
+
+  msg2 "Fixing broken pkg-config (downstream)"
+  # see https://bugs.archlinux.org/task/32430
+  # and http://code.opencv.org/issues/1925
+  patch -Np1 -i "$srcdir/pkgconfig.patch"
+
+  # TODO: this is mostly upstream frei0r; they hardcode the path
+  #msg2 "Hack-fixing folder naming inconsistency (downstream)"
+  # see http://code.opencv.org/issues/2512
+  # and https://bugs.archlinux.org/task/32342
+  #patch -Np1 -i "$srcdir/fsh.patch"
+
+  # no longer including docs, see https://bugs.archlinux.org/task/34185
+  # python2 compatibility for generating (html) docs
+  #sed -i 's/sphinx-build/sphinx-build2/' cmake/OpenCVDetectPython.cmake
+}
+
+build() {
+  cd "$srcdir/$pkgname-$pkgver"
+
+  cmake ${_cmakeopts[@]} .
+
+  make
+}
+
+package_opencv() {
+  options=('staticlibs')
+
+  cd "$srcdir/$pkgname-$pkgver"
+
+  make DESTDIR="$pkgdir" install
+
+  # install license file
+  install -Dm644 "$srcdir/$pkgname-$pkgver/LICENSE" \
+    "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+
+  cd "$pkgdir/usr/share"
+
+  # separate samples package; also be -R friendly
+  if [[ -d OpenCV/samples ]]; then
+    mv OpenCV/samples "$srcdir/$pkgname-samples"
+    mv OpenCV $pkgname # otherwise folder naming is inconsistent
+  elif [[ ! -d OpenCV ]]; then
+    warning "Directory naming issue; samples package may not be built!"
+  fi
+}
+
+package_opencv-samples() {
+  pkgdesc+=" (samples)"
+  depends=("opencv=$pkgver") # sample codes change with lib/API
+  unset optdepends
+
+  mkdir -p "$pkgdir/usr/share/opencv"
+  cp -r "$srcdir/opencv-samples" "$pkgdir/usr/share/opencv/samples"
+
+  # install license file
+  install -Dm644 "$srcdir/opencv-$pkgver/LICENSE" \
+    "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:

Copied: opencv/repos/testing-i686/fsh.patch (from rev 225517, opencv/trunk/fsh.patch)
===================================================================
--- testing-i686/fsh.patch	                        (rev 0)
+++ testing-i686/fsh.patch	2014-10-31 14:15:17 UTC (rev 225518)
@@ -0,0 +1,136 @@
+diff -baur opencv-2.4.7.orig/cmake/OpenCVGenPkgconfig.cmake opencv-2.4.7/cmake/OpenCVGenPkgconfig.cmake
+--- opencv-2.4.7.orig/cmake/OpenCVGenPkgconfig.cmake	2013-11-12 20:31:27.253763202 +0000
++++ opencv-2.4.7/cmake/OpenCVGenPkgconfig.cmake	2013-11-12 20:31:54.923577113 +0000
+@@ -46,7 +46,7 @@
+ 
+   #need better solution....
+   if(libpath MATCHES "3rdparty")
+-    set(installDir "share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH}")
++    set(installDir "share/opencv/3rdparty/${OPENCV_LIB_INSTALL_PATH}")
+   else()
+     set(installDir "${OPENCV_LIB_INSTALL_PATH}")
+   endif()
+diff -baur opencv-2.4.7.orig/cmake/OpenCVModule.cmake opencv-2.4.7/cmake/OpenCVModule.cmake
+--- opencv-2.4.7.orig/cmake/OpenCVModule.cmake	2013-11-12 20:31:27.253763202 +0000
++++ opencv-2.4.7/cmake/OpenCVModule.cmake	2013-11-12 20:35:37.805415871 +0000
+@@ -807,7 +807,7 @@
+   if(INSTALL_C_EXAMPLES AND NOT WIN32 AND EXISTS "${samples_path}")
+     file(GLOB sample_files "${samples_path}/*")
+     install(FILES ${sample_files}
+-            DESTINATION share/OpenCV/samples/${module_id}
++            DESTINATION share/opencv/samples/${module_id}
+             PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
+   endif()
+ endfunction()
+diff -baur opencv-2.4.7.orig/CMakeLists.txt opencv-2.4.7/CMakeLists.txt
+--- opencv-2.4.7.orig/CMakeLists.txt	2013-11-12 20:31:27.437095684 +0000
++++ opencv-2.4.7/CMakeLists.txt	2013-11-12 20:40:21.160171499 +0000
+@@ -243,9 +243,9 @@
+ if(ANDROID OR WIN32)
+   set(OPENCV_DOC_INSTALL_PATH doc)
+ elseif(INSTALL_TO_MANGLED_PATHS)
+-  set(OPENCV_DOC_INSTALL_PATH share/OpenCV-${OPENCV_VERSION}/doc)
++  set(OPENCV_DOC_INSTALL_PATH share/doc/opencv-${OPENCV_VERSION})
+ else()
+-  set(OPENCV_DOC_INSTALL_PATH share/OpenCV/doc)
++  set(OPENCV_DOC_INSTALL_PATH share/doc/opencv)
+ endif()
+ 
+ if(WIN32)
+@@ -282,7 +282,7 @@
+     set(OPENCV_3P_LIB_INSTALL_PATH  "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib${LIB_SUFFIX}")
+   else()
+     set(OPENCV_LIB_INSTALL_PATH     lib${LIB_SUFFIX})
+-    set(OPENCV_3P_LIB_INSTALL_PATH  share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH})
++    set(OPENCV_3P_LIB_INSTALL_PATH  share/opencv/3rdparty/${OPENCV_LIB_INSTALL_PATH})
+   endif()
+   set(OPENCV_INCLUDE_INSTALL_PATH "include")
+ 
+@@ -290,7 +290,7 @@
+   if(LIB_SUFFIX AND NOT SIZEOF_VOID_P_BITS EQUAL LIB_SUFFIX)
+     set(OPENCV_CONFIG_INSTALL_PATH lib${LIB_SUFFIX}/cmake/opencv)
+   else()
+-    set(OPENCV_CONFIG_INSTALL_PATH share/OpenCV)
++    set(OPENCV_CONFIG_INSTALL_PATH share/opencv)
+   endif()
+ endif()
+ 
+diff -baur opencv-2.4.7.orig/data/CMakeLists.txt opencv-2.4.7/data/CMakeLists.txt
+--- opencv-2.4.7.orig/data/CMakeLists.txt	2013-11-12 20:31:27.280430213 +0000
++++ opencv-2.4.7/data/CMakeLists.txt	2013-11-12 20:31:54.923577113 +0000
+@@ -5,6 +5,6 @@
+   install(FILES ${HAAR_CASCADES} DESTINATION sdk/etc/haarcascades COMPONENT main)
+   install(FILES ${LBP_CASCADES}  DESTINATION sdk/etc/lbpcascades  COMPONENT main)
+ elseif(NOT WIN32)
+-  install(FILES ${HAAR_CASCADES} DESTINATION share/OpenCV/haarcascades COMPONENT main)
+-  install(FILES ${LBP_CASCADES}  DESTINATION share/OpenCV/lbpcascades  COMPONENT main)
++  install(FILES ${HAAR_CASCADES} DESTINATION share/opencv/haarcascades COMPONENT main)
++  install(FILES ${LBP_CASCADES}  DESTINATION share/opencv/lbpcascades  COMPONENT main)
+ endif()
+diff -baur opencv-2.4.7.orig/modules/java/CMakeLists.txt opencv-2.4.7/modules/java/CMakeLists.txt
+--- opencv-2.4.7.orig/modules/java/CMakeLists.txt	2013-11-12 20:31:27.360429532 +0000
++++ opencv-2.4.7/modules/java/CMakeLists.txt	2013-11-12 20:36:41.984985273 +0000
+@@ -279,7 +279,7 @@
+   if(WIN32)
+     set(JAR_INSTALL_DIR java)
+   else(WIN32)
+-    set(JAR_INSTALL_DIR share/OpenCV/java)
++    set(JAR_INSTALL_DIR share/opencv/java)
+   endif(WIN32)
+   install(FILES ${JAR_FILE} DESTINATION ${JAR_INSTALL_DIR} COMPONENT main)
+ endif(ANDROID)
+diff -baur opencv-2.4.7.orig/samples/c/CMakeLists.txt opencv-2.4.7/samples/c/CMakeLists.txt
+--- opencv-2.4.7.orig/samples/c/CMakeLists.txt	2013-11-12 20:31:27.433762373 +0000
++++ opencv-2.4.7/samples/c/CMakeLists.txt	2013-11-12 20:31:54.923577113 +0000
+@@ -54,6 +54,6 @@
+ if (INSTALL_C_EXAMPLES AND NOT WIN32)
+   file(GLOB C_SAMPLES *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd )
+   install(FILES ${C_SAMPLES}
+-          DESTINATION share/OpenCV/samples/c
++          DESTINATION share/opencv/samples/c
+           PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
+ endif ()
+diff -baur opencv-2.4.7.orig/samples/cpp/CMakeLists.txt opencv-2.4.7/samples/cpp/CMakeLists.txt
+--- opencv-2.4.7.orig/samples/cpp/CMakeLists.txt	2013-11-12 20:31:27.417095818 +0000
++++ opencv-2.4.7/samples/cpp/CMakeLists.txt	2013-11-12 20:31:55.110242982 +0000
+@@ -83,6 +83,6 @@
+ if (INSTALL_C_EXAMPLES AND NOT WIN32)
+   file(GLOB C_SAMPLES *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd )
+   install(FILES ${C_SAMPLES}
+-          DESTINATION share/OpenCV/samples/cpp
++          DESTINATION share/opencv/samples/cpp
+           PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
+ endif()
+diff -baur opencv-2.4.7.orig/samples/gpu/CMakeLists.txt opencv-2.4.7/samples/gpu/CMakeLists.txt
+--- opencv-2.4.7.orig/samples/gpu/CMakeLists.txt	2013-11-12 20:31:27.407095885 +0000
++++ opencv-2.4.7/samples/gpu/CMakeLists.txt	2013-11-12 20:31:55.110242982 +0000
+@@ -83,6 +83,6 @@
+ if (INSTALL_C_EXAMPLES AND NOT WIN32)
+   file(GLOB install_list *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd )
+   install(FILES ${install_list}
+-          DESTINATION share/OpenCV/samples/${project}
++          DESTINATION share/opencv/samples/${project}
+           PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
+ endif()
+diff -baur opencv-2.4.7.orig/samples/gpu/performance/CMakeLists.txt opencv-2.4.7/samples/gpu/performance/CMakeLists.txt
+--- opencv-2.4.7.orig/samples/gpu/performance/CMakeLists.txt	2013-11-12 20:31:27.407095885 +0000
++++ opencv-2.4.7/samples/gpu/performance/CMakeLists.txt	2013-11-12 20:31:55.110242982 +0000
+@@ -29,6 +29,6 @@
+ if(INSTALL_C_EXAMPLES AND NOT WIN32)
+   file(GLOB GPU_FILES performance/*.cpp performance/*.h)
+   install(FILES ${GPU_FILES}
+-          DESTINATION share/OpenCV/samples/gpu/performance
++          DESTINATION share/opencv/samples/gpu/performance
+           PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
+ endif()
+diff -baur opencv-2.4.7.orig/samples/ocl/CMakeLists.txt opencv-2.4.7/samples/ocl/CMakeLists.txt
+--- opencv-2.4.7.orig/samples/ocl/CMakeLists.txt	2013-11-12 20:31:27.397095952 +0000
++++ opencv-2.4.7/samples/ocl/CMakeLists.txt	2013-11-12 20:39:29.227200043 +0000
+@@ -54,6 +54,6 @@
+ if (INSTALL_C_EXAMPLES AND NOT WIN32)
+   file(GLOB install_list *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd )
+   install(FILES ${install_list}
+-          DESTINATION share/OpenCV/samples/${project}
++          DESTINATION share/opencv/samples/${project}
+           PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
+ endif()

Copied: opencv/repos/testing-i686/pkgconfig.patch (from rev 225517, opencv/trunk/pkgconfig.patch)
===================================================================
--- testing-i686/pkgconfig.patch	                        (rev 0)
+++ testing-i686/pkgconfig.patch	2014-10-31 14:15:17 UTC (rev 225518)
@@ -0,0 +1,35 @@
+diff -baur opencv-2.4.7.orig/cmake/OpenCVGenPkgconfig.cmake opencv-2.4.7/cmake/OpenCVGenPkgconfig.cmake
+--- opencv-2.4.7.orig/cmake/OpenCVGenPkgconfig.cmake	2013-11-12 20:31:27.253763202 +0000
++++ opencv-2.4.7/cmake/OpenCVGenPkgconfig.cmake	2013-11-12 20:41:48.936262732 +0000
+@@ -10,7 +10,7 @@
+ # -------------------------------------------------------------------------------------------
+ set(prefix      "${CMAKE_INSTALL_PREFIX}")
+ set(exec_prefix "\${prefix}")
+-set(libdir      "") #TODO: need link paths for OpenCV_EXTRA_COMPONENTS
++set(libdir      "\${prefix}/${OPENCV_LIB_INSTALL_PATH}")
+ set(includedir  "\${prefix}/${OPENCV_INCLUDE_INSTALL_PATH}")
+ 
+ if(CMAKE_BUILD_TYPE MATCHES "Release")
+@@ -35,10 +35,11 @@
+ ocv_list_reverse(OpenCV_EXTRA_COMPONENTS)
+ 
+ #build the list of components
+-set(OpenCV_LIB_COMPONENTS_ "")
++set(OpenCV_LIB_COMPONENTS_ "-L\${libdir}")
+ foreach(CVLib ${OpenCV_LIB_COMPONENTS})
+   get_target_property(libpath ${CVLib} LOCATION_${CMAKE_BUILD_TYPE})
+   get_filename_component(libname "${libpath}" NAME)
++  get_filename_component(lname "${libpath}" NAME_WE)
+ 
+   if(INSTALL_TO_MANGLED_PATHS)
+     set(libname "${libname}.${OPENCV_VERSION}")
+@@ -51,7 +52,8 @@
+     set(installDir "${OPENCV_LIB_INSTALL_PATH}")
+   endif()
+ 
+-  set(OpenCV_LIB_COMPONENTS_ "${OpenCV_LIB_COMPONENTS_} \${exec_prefix}/${installDir}/${libname}")
++  string(REPLACE "libopencv" "-lopencv" lname "${lname}")
++  set(OpenCV_LIB_COMPONENTS_ "${OpenCV_LIB_COMPONENTS_} ${lname}")
+ endforeach()
+ 
+ # add extra dependencies required for OpenCV

Copied: opencv/repos/testing-i686/x86_asmfix.patch (from rev 225517, opencv/trunk/x86_asmfix.patch)
===================================================================
--- testing-i686/x86_asmfix.patch	                        (rev 0)
+++ testing-i686/x86_asmfix.patch	2014-10-31 14:15:17 UTC (rev 225518)
@@ -0,0 +1,46 @@
+From ea50be0529c248961e1b66293f8a9e4b807294a6 Mon Sep 17 00:00:00 2001
+From: Samuel Martin <s.martin49 at gmail.com>
+Date: Sun, 12 Oct 2014 10:17:23 +0200
+Subject: [PATCH] core: fix x86 PIC code compilation
+
+This bug was triggered by Buildroot autobuilders [1,2], causing this
+kind of failures [3,4]:
+
+  [ 14%] Building CXX object modules/core/CMakeFiles/opencv_core.dir/src/system.cpp.o
+  /home/test/autobuild/instance-0/output/build/opencv-2.4.10/modules/core/src/system.cpp: In function '(static initializers for /home/test/autobuild/instance-0/output/build/opencv-2.4.10/modules/core/src/system.cpp)':
+  /home/test/autobuild/instance-0/output/build/opencv-2.4.10/modules/core/src/system.cpp:280:10: error: inconsistent operand constraints in an 'asm'
+  make[3]: *** [modules/core/CMakeFiles/opencv_core.dir/src/system.cpp.o] Error 1
+
+[1] http://buildroot.org/
+[2] http://autobuild.buildroot.org/
+[3] http://autobuild.buildroot.org/?reason=opencv-2.4.10
+[4] http://autobuild.buildroot.org/results/483/4838285b25d6293a5cf0bb9eadd5040a7c75d766/build-end.log
+
+Signed-off-by: Samuel Martin <s.martin49 at gmail.com>
+---
+ modules/core/src/system.cpp | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/modules/core/src/system.cpp b/modules/core/src/system.cpp
+index 5a970d5..e9ffdc7 100644
+--- a/modules/core/src/system.cpp
++++ b/modules/core/src/system.cpp
+@@ -267,14 +267,17 @@ struct HWFeatures
+          : "cc"
+         );
+         #else
++        // We need to preserve ebx since we are compiling PIC code.
++        // This means we cannot use "=b" for the 2nd output register.
+         asm volatile
+         (
+          "pushl %%ebx\n\t"
+          "movl $7,%%eax\n\t"
+          "movl $0,%%ecx\n\t"
+          "cpuid\n\t"
++         "movl %%ebx,%1\n\t"
+          "popl %%ebx\n\t"
+-         : "=a"(cpuid_data[0]), "=b"(cpuid_data[1]), "=c"(cpuid_data[2]), "=d"(cpuid_data[3])
++         : "=a"(cpuid_data[0]), "=r"(cpuid_data[1]), "=c"(cpuid_data[2]), "=d"(cpuid_data[3])
+          :
+          : "cc"
+         );

Copied: opencv/repos/testing-x86_64/PKGBUILD (from rev 225517, opencv/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD	                        (rev 0)
+++ testing-x86_64/PKGBUILD	2014-10-31 14:15:17 UTC (rev 225518)
@@ -0,0 +1,120 @@
+# $Id$
+# Maintainer: Ray Rashif <schiv at archlinux.org>
+# Contributor: Tobias Powalowski <tpowa at archlinux.org>
+
+pkgbase=opencv
+pkgname=('opencv' 'opencv-samples')
+pkgver=2.4.10
+pkgrel=1
+pkgdesc="Open Source Computer Vision Library"
+arch=('i686' 'x86_64')
+license=('BSD')
+url="http://opencv.org/"
+depends=('intel-tbb' 'openexr' 'xine-lib' 'libdc1394' 'gtkglext')
+makedepends=('cmake' 'python2-numpy' 'mesa' 'eigen2' 'vtk')
+optdepends=('opencv-samples'
+            'eigen2'
+            'libcl: For coding with OpenCL'
+            'vtk: 3D visualization'
+            'python2-numpy: Python 2.x interface')
+source=("http://downloads.sourceforge.net/opencvlibrary/$pkgname-$pkgver.zip"
+        'pkgconfig.patch'
+        'fsh.patch'
+        'x86_asmfix.patch')
+md5sums=('ec63952d3a3dff965d5fdde765926821'
+         'c7cea48ed7d4f729ebdb9673bac41bd3'
+         'c597598d142dd34d0eb4af7d6e9779d8'
+         'b937d3589a62666f17f6dc93e0109717')
+
+_cmakeopts=('-D WITH_OPENCL=ON'
+            '-D WITH_OPENGL=ON'
+            '-D WITH_VTK=ON'
+            '-D WITH_TBB=ON'
+            '-D WITH_XINE=ON'
+            '-D WITH_GSTREAMER=OFF'
+            '-D BUILD_WITH_DEBUG_INFO=OFF'
+            '-D BUILD_TESTS=OFF'
+            '-D BUILD_PERF_TESTS=OFF'
+            '-D BUILD_EXAMPLES=ON'
+            '-D INSTALL_C_EXAMPLES=ON'
+            '-D INSTALL_PYTHON_EXAMPLES=ON'
+            '-D CMAKE_BUILD_TYPE=Release'
+            '-D CMAKE_INSTALL_PREFIX=/usr'
+            '-D CMAKE_SKIP_RPATH=ON')
+
+# SSE only available from Pentium 3 onwards (i686 is way older)
+[[ "$CARCH" = 'i686' ]] && \
+  _cmakeopts+=('-D ENABLE_SSE=OFF'
+               '-D ENABLE_SSE2=OFF'
+               '-D ENABLE_SSE3=OFF')
+
+# all x64 CPUs support SSE2 but not SSE3
+[[ "$CARCH" = 'x86_64' ]] && _cmakeopts+=('-D ENABLE_SSE3=OFF')
+
+prepare() {
+  cd "$srcdir/$pkgname-$pkgver"
+
+  msg2 "Applying backported fix for x86 ASM breakage"
+  # see https://github.com/Itseez/opencv/pull/3331
+  patch -Np1 -i "$srcdir/x86_asmfix.patch"
+
+  msg2 "Fixing broken pkg-config (downstream)"
+  # see https://bugs.archlinux.org/task/32430
+  # and http://code.opencv.org/issues/1925
+  patch -Np1 -i "$srcdir/pkgconfig.patch"
+
+  # TODO: this is mostly upstream frei0r; they hardcode the path
+  #msg2 "Hack-fixing folder naming inconsistency (downstream)"
+  # see http://code.opencv.org/issues/2512
+  # and https://bugs.archlinux.org/task/32342
+  #patch -Np1 -i "$srcdir/fsh.patch"
+
+  # no longer including docs, see https://bugs.archlinux.org/task/34185
+  # python2 compatibility for generating (html) docs
+  #sed -i 's/sphinx-build/sphinx-build2/' cmake/OpenCVDetectPython.cmake
+}
+
+build() {
+  cd "$srcdir/$pkgname-$pkgver"
+
+  cmake ${_cmakeopts[@]} .
+
+  make
+}
+
+package_opencv() {
+  options=('staticlibs')
+
+  cd "$srcdir/$pkgname-$pkgver"
+
+  make DESTDIR="$pkgdir" install
+
+  # install license file
+  install -Dm644 "$srcdir/$pkgname-$pkgver/LICENSE" \
+    "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+
+  cd "$pkgdir/usr/share"
+
+  # separate samples package; also be -R friendly
+  if [[ -d OpenCV/samples ]]; then
+    mv OpenCV/samples "$srcdir/$pkgname-samples"
+    mv OpenCV $pkgname # otherwise folder naming is inconsistent
+  elif [[ ! -d OpenCV ]]; then
+    warning "Directory naming issue; samples package may not be built!"
+  fi
+}
+
+package_opencv-samples() {
+  pkgdesc+=" (samples)"
+  depends=("opencv=$pkgver") # sample codes change with lib/API
+  unset optdepends
+
+  mkdir -p "$pkgdir/usr/share/opencv"
+  cp -r "$srcdir/opencv-samples" "$pkgdir/usr/share/opencv/samples"
+
+  # install license file
+  install -Dm644 "$srcdir/opencv-$pkgver/LICENSE" \
+    "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+}
+
+# vim:set ts=2 sw=2 et:

Copied: opencv/repos/testing-x86_64/fsh.patch (from rev 225517, opencv/trunk/fsh.patch)
===================================================================
--- testing-x86_64/fsh.patch	                        (rev 0)
+++ testing-x86_64/fsh.patch	2014-10-31 14:15:17 UTC (rev 225518)
@@ -0,0 +1,136 @@
+diff -baur opencv-2.4.7.orig/cmake/OpenCVGenPkgconfig.cmake opencv-2.4.7/cmake/OpenCVGenPkgconfig.cmake
+--- opencv-2.4.7.orig/cmake/OpenCVGenPkgconfig.cmake	2013-11-12 20:31:27.253763202 +0000
++++ opencv-2.4.7/cmake/OpenCVGenPkgconfig.cmake	2013-11-12 20:31:54.923577113 +0000
+@@ -46,7 +46,7 @@
+ 
+   #need better solution....
+   if(libpath MATCHES "3rdparty")
+-    set(installDir "share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH}")
++    set(installDir "share/opencv/3rdparty/${OPENCV_LIB_INSTALL_PATH}")
+   else()
+     set(installDir "${OPENCV_LIB_INSTALL_PATH}")
+   endif()
+diff -baur opencv-2.4.7.orig/cmake/OpenCVModule.cmake opencv-2.4.7/cmake/OpenCVModule.cmake
+--- opencv-2.4.7.orig/cmake/OpenCVModule.cmake	2013-11-12 20:31:27.253763202 +0000
++++ opencv-2.4.7/cmake/OpenCVModule.cmake	2013-11-12 20:35:37.805415871 +0000
+@@ -807,7 +807,7 @@
+   if(INSTALL_C_EXAMPLES AND NOT WIN32 AND EXISTS "${samples_path}")
+     file(GLOB sample_files "${samples_path}/*")
+     install(FILES ${sample_files}
+-            DESTINATION share/OpenCV/samples/${module_id}
++            DESTINATION share/opencv/samples/${module_id}
+             PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
+   endif()
+ endfunction()
+diff -baur opencv-2.4.7.orig/CMakeLists.txt opencv-2.4.7/CMakeLists.txt
+--- opencv-2.4.7.orig/CMakeLists.txt	2013-11-12 20:31:27.437095684 +0000
++++ opencv-2.4.7/CMakeLists.txt	2013-11-12 20:40:21.160171499 +0000
+@@ -243,9 +243,9 @@
+ if(ANDROID OR WIN32)
+   set(OPENCV_DOC_INSTALL_PATH doc)
+ elseif(INSTALL_TO_MANGLED_PATHS)
+-  set(OPENCV_DOC_INSTALL_PATH share/OpenCV-${OPENCV_VERSION}/doc)
++  set(OPENCV_DOC_INSTALL_PATH share/doc/opencv-${OPENCV_VERSION})
+ else()
+-  set(OPENCV_DOC_INSTALL_PATH share/OpenCV/doc)
++  set(OPENCV_DOC_INSTALL_PATH share/doc/opencv)
+ endif()
+ 
+ if(WIN32)
+@@ -282,7 +282,7 @@
+     set(OPENCV_3P_LIB_INSTALL_PATH  "${OpenCV_INSTALL_BINARIES_PREFIX}staticlib${LIB_SUFFIX}")
+   else()
+     set(OPENCV_LIB_INSTALL_PATH     lib${LIB_SUFFIX})
+-    set(OPENCV_3P_LIB_INSTALL_PATH  share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH})
++    set(OPENCV_3P_LIB_INSTALL_PATH  share/opencv/3rdparty/${OPENCV_LIB_INSTALL_PATH})
+   endif()
+   set(OPENCV_INCLUDE_INSTALL_PATH "include")
+ 
+@@ -290,7 +290,7 @@
+   if(LIB_SUFFIX AND NOT SIZEOF_VOID_P_BITS EQUAL LIB_SUFFIX)
+     set(OPENCV_CONFIG_INSTALL_PATH lib${LIB_SUFFIX}/cmake/opencv)
+   else()
+-    set(OPENCV_CONFIG_INSTALL_PATH share/OpenCV)
++    set(OPENCV_CONFIG_INSTALL_PATH share/opencv)
+   endif()
+ endif()
+ 
+diff -baur opencv-2.4.7.orig/data/CMakeLists.txt opencv-2.4.7/data/CMakeLists.txt
+--- opencv-2.4.7.orig/data/CMakeLists.txt	2013-11-12 20:31:27.280430213 +0000
++++ opencv-2.4.7/data/CMakeLists.txt	2013-11-12 20:31:54.923577113 +0000
+@@ -5,6 +5,6 @@
+   install(FILES ${HAAR_CASCADES} DESTINATION sdk/etc/haarcascades COMPONENT main)
+   install(FILES ${LBP_CASCADES}  DESTINATION sdk/etc/lbpcascades  COMPONENT main)
+ elseif(NOT WIN32)
+-  install(FILES ${HAAR_CASCADES} DESTINATION share/OpenCV/haarcascades COMPONENT main)
+-  install(FILES ${LBP_CASCADES}  DESTINATION share/OpenCV/lbpcascades  COMPONENT main)
++  install(FILES ${HAAR_CASCADES} DESTINATION share/opencv/haarcascades COMPONENT main)
++  install(FILES ${LBP_CASCADES}  DESTINATION share/opencv/lbpcascades  COMPONENT main)
+ endif()
+diff -baur opencv-2.4.7.orig/modules/java/CMakeLists.txt opencv-2.4.7/modules/java/CMakeLists.txt
+--- opencv-2.4.7.orig/modules/java/CMakeLists.txt	2013-11-12 20:31:27.360429532 +0000
++++ opencv-2.4.7/modules/java/CMakeLists.txt	2013-11-12 20:36:41.984985273 +0000
+@@ -279,7 +279,7 @@
+   if(WIN32)
+     set(JAR_INSTALL_DIR java)
+   else(WIN32)
+-    set(JAR_INSTALL_DIR share/OpenCV/java)
++    set(JAR_INSTALL_DIR share/opencv/java)
+   endif(WIN32)
+   install(FILES ${JAR_FILE} DESTINATION ${JAR_INSTALL_DIR} COMPONENT main)
+ endif(ANDROID)
+diff -baur opencv-2.4.7.orig/samples/c/CMakeLists.txt opencv-2.4.7/samples/c/CMakeLists.txt
+--- opencv-2.4.7.orig/samples/c/CMakeLists.txt	2013-11-12 20:31:27.433762373 +0000
++++ opencv-2.4.7/samples/c/CMakeLists.txt	2013-11-12 20:31:54.923577113 +0000
+@@ -54,6 +54,6 @@
+ if (INSTALL_C_EXAMPLES AND NOT WIN32)
+   file(GLOB C_SAMPLES *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd )
+   install(FILES ${C_SAMPLES}
+-          DESTINATION share/OpenCV/samples/c
++          DESTINATION share/opencv/samples/c
+           PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
+ endif ()
+diff -baur opencv-2.4.7.orig/samples/cpp/CMakeLists.txt opencv-2.4.7/samples/cpp/CMakeLists.txt
+--- opencv-2.4.7.orig/samples/cpp/CMakeLists.txt	2013-11-12 20:31:27.417095818 +0000
++++ opencv-2.4.7/samples/cpp/CMakeLists.txt	2013-11-12 20:31:55.110242982 +0000
+@@ -83,6 +83,6 @@
+ if (INSTALL_C_EXAMPLES AND NOT WIN32)
+   file(GLOB C_SAMPLES *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd )
+   install(FILES ${C_SAMPLES}
+-          DESTINATION share/OpenCV/samples/cpp
++          DESTINATION share/opencv/samples/cpp
+           PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
+ endif()
+diff -baur opencv-2.4.7.orig/samples/gpu/CMakeLists.txt opencv-2.4.7/samples/gpu/CMakeLists.txt
+--- opencv-2.4.7.orig/samples/gpu/CMakeLists.txt	2013-11-12 20:31:27.407095885 +0000
++++ opencv-2.4.7/samples/gpu/CMakeLists.txt	2013-11-12 20:31:55.110242982 +0000
+@@ -83,6 +83,6 @@
+ if (INSTALL_C_EXAMPLES AND NOT WIN32)
+   file(GLOB install_list *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd )
+   install(FILES ${install_list}
+-          DESTINATION share/OpenCV/samples/${project}
++          DESTINATION share/opencv/samples/${project}
+           PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
+ endif()
+diff -baur opencv-2.4.7.orig/samples/gpu/performance/CMakeLists.txt opencv-2.4.7/samples/gpu/performance/CMakeLists.txt
+--- opencv-2.4.7.orig/samples/gpu/performance/CMakeLists.txt	2013-11-12 20:31:27.407095885 +0000
++++ opencv-2.4.7/samples/gpu/performance/CMakeLists.txt	2013-11-12 20:31:55.110242982 +0000
+@@ -29,6 +29,6 @@
+ if(INSTALL_C_EXAMPLES AND NOT WIN32)
+   file(GLOB GPU_FILES performance/*.cpp performance/*.h)
+   install(FILES ${GPU_FILES}
+-          DESTINATION share/OpenCV/samples/gpu/performance
++          DESTINATION share/opencv/samples/gpu/performance
+           PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
+ endif()
+diff -baur opencv-2.4.7.orig/samples/ocl/CMakeLists.txt opencv-2.4.7/samples/ocl/CMakeLists.txt
+--- opencv-2.4.7.orig/samples/ocl/CMakeLists.txt	2013-11-12 20:31:27.397095952 +0000
++++ opencv-2.4.7/samples/ocl/CMakeLists.txt	2013-11-12 20:39:29.227200043 +0000
+@@ -54,6 +54,6 @@
+ if (INSTALL_C_EXAMPLES AND NOT WIN32)
+   file(GLOB install_list *.c *.cpp *.jpg *.png *.data makefile.* build_all.sh *.dsp *.cmd )
+   install(FILES ${install_list}
+-          DESTINATION share/OpenCV/samples/${project}
++          DESTINATION share/opencv/samples/${project}
+           PERMISSIONS OWNER_READ GROUP_READ WORLD_READ)
+ endif()

Copied: opencv/repos/testing-x86_64/pkgconfig.patch (from rev 225517, opencv/trunk/pkgconfig.patch)
===================================================================
--- testing-x86_64/pkgconfig.patch	                        (rev 0)
+++ testing-x86_64/pkgconfig.patch	2014-10-31 14:15:17 UTC (rev 225518)
@@ -0,0 +1,35 @@
+diff -baur opencv-2.4.7.orig/cmake/OpenCVGenPkgconfig.cmake opencv-2.4.7/cmake/OpenCVGenPkgconfig.cmake
+--- opencv-2.4.7.orig/cmake/OpenCVGenPkgconfig.cmake	2013-11-12 20:31:27.253763202 +0000
++++ opencv-2.4.7/cmake/OpenCVGenPkgconfig.cmake	2013-11-12 20:41:48.936262732 +0000
+@@ -10,7 +10,7 @@
+ # -------------------------------------------------------------------------------------------
+ set(prefix      "${CMAKE_INSTALL_PREFIX}")
+ set(exec_prefix "\${prefix}")
+-set(libdir      "") #TODO: need link paths for OpenCV_EXTRA_COMPONENTS
++set(libdir      "\${prefix}/${OPENCV_LIB_INSTALL_PATH}")
+ set(includedir  "\${prefix}/${OPENCV_INCLUDE_INSTALL_PATH}")
+ 
+ if(CMAKE_BUILD_TYPE MATCHES "Release")
+@@ -35,10 +35,11 @@
+ ocv_list_reverse(OpenCV_EXTRA_COMPONENTS)
+ 
+ #build the list of components
+-set(OpenCV_LIB_COMPONENTS_ "")
++set(OpenCV_LIB_COMPONENTS_ "-L\${libdir}")
+ foreach(CVLib ${OpenCV_LIB_COMPONENTS})
+   get_target_property(libpath ${CVLib} LOCATION_${CMAKE_BUILD_TYPE})
+   get_filename_component(libname "${libpath}" NAME)
++  get_filename_component(lname "${libpath}" NAME_WE)
+ 
+   if(INSTALL_TO_MANGLED_PATHS)
+     set(libname "${libname}.${OPENCV_VERSION}")
+@@ -51,7 +52,8 @@
+     set(installDir "${OPENCV_LIB_INSTALL_PATH}")
+   endif()
+ 
+-  set(OpenCV_LIB_COMPONENTS_ "${OpenCV_LIB_COMPONENTS_} \${exec_prefix}/${installDir}/${libname}")
++  string(REPLACE "libopencv" "-lopencv" lname "${lname}")
++  set(OpenCV_LIB_COMPONENTS_ "${OpenCV_LIB_COMPONENTS_} ${lname}")
+ endforeach()
+ 
+ # add extra dependencies required for OpenCV

Copied: opencv/repos/testing-x86_64/x86_asmfix.patch (from rev 225517, opencv/trunk/x86_asmfix.patch)
===================================================================
--- testing-x86_64/x86_asmfix.patch	                        (rev 0)
+++ testing-x86_64/x86_asmfix.patch	2014-10-31 14:15:17 UTC (rev 225518)
@@ -0,0 +1,46 @@
+From ea50be0529c248961e1b66293f8a9e4b807294a6 Mon Sep 17 00:00:00 2001
+From: Samuel Martin <s.martin49 at gmail.com>
+Date: Sun, 12 Oct 2014 10:17:23 +0200
+Subject: [PATCH] core: fix x86 PIC code compilation
+
+This bug was triggered by Buildroot autobuilders [1,2], causing this
+kind of failures [3,4]:
+
+  [ 14%] Building CXX object modules/core/CMakeFiles/opencv_core.dir/src/system.cpp.o
+  /home/test/autobuild/instance-0/output/build/opencv-2.4.10/modules/core/src/system.cpp: In function '(static initializers for /home/test/autobuild/instance-0/output/build/opencv-2.4.10/modules/core/src/system.cpp)':
+  /home/test/autobuild/instance-0/output/build/opencv-2.4.10/modules/core/src/system.cpp:280:10: error: inconsistent operand constraints in an 'asm'
+  make[3]: *** [modules/core/CMakeFiles/opencv_core.dir/src/system.cpp.o] Error 1
+
+[1] http://buildroot.org/
+[2] http://autobuild.buildroot.org/
+[3] http://autobuild.buildroot.org/?reason=opencv-2.4.10
+[4] http://autobuild.buildroot.org/results/483/4838285b25d6293a5cf0bb9eadd5040a7c75d766/build-end.log
+
+Signed-off-by: Samuel Martin <s.martin49 at gmail.com>
+---
+ modules/core/src/system.cpp | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/modules/core/src/system.cpp b/modules/core/src/system.cpp
+index 5a970d5..e9ffdc7 100644
+--- a/modules/core/src/system.cpp
++++ b/modules/core/src/system.cpp
+@@ -267,14 +267,17 @@ struct HWFeatures
+          : "cc"
+         );
+         #else
++        // We need to preserve ebx since we are compiling PIC code.
++        // This means we cannot use "=b" for the 2nd output register.
+         asm volatile
+         (
+          "pushl %%ebx\n\t"
+          "movl $7,%%eax\n\t"
+          "movl $0,%%ecx\n\t"
+          "cpuid\n\t"
++         "movl %%ebx,%1\n\t"
+          "popl %%ebx\n\t"
+-         : "=a"(cpuid_data[0]), "=b"(cpuid_data[1]), "=c"(cpuid_data[2]), "=d"(cpuid_data[3])
++         : "=a"(cpuid_data[0]), "=r"(cpuid_data[1]), "=c"(cpuid_data[2]), "=d"(cpuid_data[3])
+          :
+          : "cc"
+         );



More information about the arch-commits mailing list