summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authoryhfudev2016-10-18 14:17:26 -0400
committeryhfudev2016-10-18 14:17:26 -0400
commit84bcd54a5b2c56d118216b7ed6d84ad42eaf2881 (patch)
tree9352f4c0560f515e26659eb4327c4b5108deb1c7
downloadaur-84bcd54a5b2c56d118216b7ed6d84ad42eaf2881.tar.gz
init
-rw-r--r--.SRCINFO53
-rw-r--r--ChangeLog49
-rw-r--r--PKGBUILD153
-rw-r--r--fsh.patch72
-rw-r--r--opencv_contrib_sfm_cmake.patch15
-rw-r--r--opencv_gcc6_pch.patch13
6 files changed, 355 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..339e288ec91a
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,53 @@
+# Generated by mksrcinfo v8
+# Sun Oct 16 15:03:45 UTC 2016
+pkgbase = opencv-git
+ pkgdesc = Open Source Computer Vision Library compiled with extra modules(opencv_contrib) and CUDA
+ pkgver = 3.1.0.r1522.g1ae27eb
+ pkgrel = 1
+ url = http://opencv.org/
+ changelog = ChangeLog
+ arch = i686
+ arch = x86_64
+ arch = armv7h
+ arch = armv6h
+ license = BSD
+ makedepends = git
+ makedepends = cmake
+ makedepends = python2-numpy
+ makedepends = python-numpy
+ makedepends = mesa
+ makedepends = eigen
+ makedepends = ceres-solver
+ makedepends = cuda
+ makedepends = libcl
+ depends = gstreamer0.10-base
+ depends = openexr
+ depends = xine-lib
+ depends = libdc1394
+ depends = gtkglext
+ depends = nvidia-utils
+ depends = hdf5-cpp-fortran
+ optdepends = eigen
+ optdepends = python-numpy: Python 3 interface
+ optdepends = python2-numpy: Python 2 interface
+ provides = opencv
+ conflicts = opencv
+ options = staticlibs
+ source = opencv::git+http://github.com/Itseez/opencv.git
+ source = opencv_contrib::git+https://github.com/opencv/opencv_contrib.git
+ source = ippicv_linux_20151201.tgz::https://github.com/Itseez/opencv_3rdparty/raw/ippicv/master_20151201/ippicv/ippicv_linux_20151201.tgz
+ source = opencv_contrib_sfm_cmake.patch
+ source = opencv_gcc6_pch.patch
+ source = fsh.patch
+ md5sums = SKIP
+ md5sums = SKIP
+ md5sums = 808b791a6eac9ed78d32a7666804320e
+ md5sums = 6497098ac0f9d52e3c988f5413af22c8
+ md5sums = 9c69b76b8f1b781e201c70d21e3d175e
+ md5sums = 752652494b42fd1532f52b789a85947f
+ depends_i686 = intel-tbb
+ depends_x86_64 = intel-tbb
+ depends_armv7h = intel-tbb
+
+pkgname = opencv-git
+
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 000000000000..0b4f5975b0f1
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,49 @@
+2016-10-15 Yunhui Fu <yhfudev@gmail.com>
+
+ * 3.1.0 :
+ Add cuda dependants
+
+2015-12-02 Romain Reignier <rom.reignier@gmail.com>
+
+ * 3.0.0.r789.ga0f8645 :
+ Add armv6h architecture and NEON support for armv7h
+
+2015-06-10 Valentin Churavy <v.churavy@gmail.com>
+
+ * 3.0.0.r1.g424c2bd-2 :
+ Remove pkgconfig.patch
+
+2015-06-09 Valentin Churavy <v.churavy@gmail.com>
+
+ * 3.0.0.r1.g424c2bd :
+ Port package to aur4
+
+2015-03-27 Valentin Churavy <v.churavy@gmail.com>
+
+ * 3.0.0.beta.r896.g77cbddf :
+ Adapt patches to upstream changes
+
+2015-03-13 Fabien Dubosson <fabien.dubosson@gmail.com>
+
+ * 3.0.0.beta.r681.g74e88cc-1 :
+ Adapt patches to upstream changes
+
+2015-02-24 Fabien Dubosson <fabien.dubosson@gmail.com>
+
+ * 3.0.0.beta.r557.gbdb088d-1 :
+ Adapt patches to upstream changes
+
+2015-01-14 Fabien Dubosson <fabien.dubosson@gmail.com>
+
+ * 3.0.0.beta.r273.gb2a5e66-1 :
+ Adapt fsh.patch to upstream changes
+
+2014-12-24 Fabien Dubosson <fabien.dubosson@gmail.com>
+
+ * 3.0.0.beta.r156.gfd6ef87-1 :
+ Add BUILD_NEW_PYTHON_SUPPORT flag
+
+2014-02-10 Fabien Dubosson <fabien.dubosson@gmail.com>
+
+ * 3.0.ocl.tp2.r27.g86b6c48-1 :
+ Adapt package to new VCS guidelines, based on [extra] `opencv` PKGBUILD
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..bbb59ecf80dd
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,153 @@
+# Maintainer: yhfudev <yhfudev gmail>
+# Contributor: Valentin Churavy <v.churavy@gmail.com>
+# Contributor: Romain Reignier <rom.reignier@gmail.com> (ARM support)
+# Contributor: Fabien Dubosson <fabien.dubosson@gmail.com>
+# Contributor: David Manouchehri <david@davidmanouchehri.com>
+# Contributor: CHEN Xing <cxcxcxcx@gmail.com>
+# Contributor: Martin Imobersteg <martin.imobersteg@gmail.com>
+# Contributor: Artyom Smirnov <smirnoffjr@gmail.com>
+# Also largely inspired by `opencv` in extra, so including contributors too:
+# Contributor: Ray Rashif <schiv@archlinux.org>
+# Contributor: Tobias Powalowski <tpowa@archlinux.org>
+
+pkgname="opencv-git"
+pkgver=3.1.0.r1522.g1ae27eb
+pkgrel=1
+pkgdesc="Open Source Computer Vision Library compiled with extra modules(opencv_contrib) and CUDA"
+url="http://opencv.org/"
+license=('BSD')
+arch=('i686' 'x86_64' 'armv7h' 'armv6h')
+depends=('gstreamer0.10-base' 'openexr'
+ 'xine-lib' 'libdc1394' 'gtkglext'
+ 'nvidia-utils' 'hdf5-cpp-fortran' # The following variables are used in this project, but they are set to NOTFOUND : CUDA_CUDA_LIBRARY, HDF5_hdf5_cpp_LIBRARY
+ 'python'
+ 'eigen'
+ 'ceres-solver' # for opencv_contrib's sfm
+ 'cuda' 'libcl'
+ )
+depends_x86_64=('intel-tbb')
+depends_i686=('intel-tbb')
+depends_armv7h=('intel-tbb')
+makedepends=('git' 'cmake' 'python2-numpy' 'python-numpy' 'mesa'
+ 'gcc5'
+ )
+optdepends=(#'eigen'
+ #'libcl: For coding with OpenCL'
+ 'python-numpy: Python 3 interface'
+ 'python2-numpy: Python 2 interface')
+options=('staticlibs')
+provides=("${pkgname%-git}")
+conflicts=("${pkgname%-git}")
+changelog="ChangeLog"
+source=("${pkgname%-git}::git+http://github.com/Itseez/opencv.git"
+ "${pkgname%-git}_contrib::git+https://github.com/opencv/opencv_contrib.git"
+ "ippicv_linux_20151201.tgz::https://github.com/Itseez/opencv_3rdparty/raw/ippicv/master_20151201/ippicv/ippicv_linux_20151201.tgz"
+ 'opencv_contrib_sfm_cmake.patch'
+ 'opencv_gcc6_pch.patch'
+ 'fsh.patch'
+ )
+md5sums=('SKIP'
+ 'SKIP'
+ '808b791a6eac9ed78d32a7666804320e'
+ '6497098ac0f9d52e3c988f5413af22c8'
+ '9c69b76b8f1b781e201c70d21e3d175e'
+ '752652494b42fd1532f52b789a85947f'
+ )
+
+_cmakeopts=('-D WITH_OPENCL=ON'
+ '-D WITH_OPENGL=ON'
+ '-D WITH_TBB=ON'
+ '-D WITH_XINE=ON'
+ '-D BUILD_WITH_DEBUG_INFO=OFF'
+ '-D BUILD_TESTS=OFF'
+ '-D BUILD_PERF_TESTS=OFF'
+ '-D BUILD_EXAMPLES=OFF'
+ '-D INSTALL_C_EXAMPLES=OFF'
+ '-D INSTALL_PYTHON_EXAMPLES=OFF'
+ '-D BUILD_opencv_python2=ON',
+ '-D BUILD_opencv_python3=ON',
+ '-D CMAKE_BUILD_TYPE=Release'
+ '-D CMAKE_INSTALL_PREFIX=/usr'
+ '-D CMAKE_SKIP_RPATH=ON'
+ '-D BUILD_NEW_PYTHON_SUPPORT=ON'
+ '-D WITH_NVCUVID=ON'
+ '-D WITH_CUDA=ON'
+ '-D ENABLE_FAST_MATH=ON'
+ '-D CUDA_FAST_MATH=ON'
+ '-D WITH_CUBLAS=ON'
+ '-D CMAKE_CXX_FLAGS=-std=c++11' #'-D CMAKE_CXX_FLAGS=-std=c++98'; use c++11 because the module sfm depends on ceres-solver which was compiled with c++11; see https://github.com/opencv/opencv_contrib/issues/500
+# Settings for neural network module'
+ '-D BUILD_opencv_dnn=ON'
+ '-D BUILD_LIBPROTOBUF_FROM_SOURCES=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')
+
+# NEON support only for armv7h
+[[ "$CARCH" = 'armv7h' ]] && _cmakeopts+=('-D ENABLE_NEON=ON')
+
+# intel-tbb not available for armv6h
+[[ "$CARCH" = 'armv6h' ]] && _cmakeopts+=('-D WITH_TBB=OFF')
+
+pkgver() {
+ cd "${srcdir}/${pkgname%-git}"
+ git describe --long | sed -r 's/([^-]*-g)/r\1/;s/-/./g'
+}
+
+prepare() {
+ cd "${srcdir}/${pkgname%-git}"
+ patch -p1 -i "${srcdir}/opencv_gcc6_pch.patch"
+
+ # hack-fix folder naming inconsistency that they won't fix
+ # see http://code.opencv.org/issues/2512
+ # and https://bugs.archlinux.org/task/32342
+ # patch -p1 -i "${srcdir}/fsh.patch"
+ sed 's/OpenCV\/doc/doc\/opencv/' -i CMakeLists.txt
+ sed 's/share\/OpenCV/share\/opencv/' -i CMakeLists.txt
+ sed 's/share\/OpenCV/share\/opencv/' -i cmake/templates/opencv_run_all_tests_unix.sh.in
+
+ mkdir -p "${srcdir}/${pkgname%-git}/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/"
+ ln -sf "${srcdir}/ippicv_linux_20151201.tgz" "${srcdir}/${pkgname%-git}/3rdparty/ippicv/downloads/linux-808b791a6eac9ed78d32a7666804320e/ippicv_linux_20151201.tgz"
+
+ cd "${srcdir}/${pkgname%-git}_contrib"
+ # opencv_contrib sfm problem, use the complete FindGflags.cmake from ceres-solver
+ patch -p1 -i "${srcdir}/opencv_contrib_sfm_cmake.patch"
+
+ #sudo ln -sf /usr/bin/gcc-5 /opt/cuda/bin/gcc
+ #sudo ln -sf /usr/bin/cpp-5 /opt/cuda/bin/cpp
+ #sudo ln -sf /usr/bin/g++-5 /opt/cuda/bin/g++
+}
+
+build() {
+ cd "${srcdir}/${pkgname%-git}"
+
+ # --expt-relaxed-constexpr to fix the error:
+ # opencv/modules/core/include/opencv2/core/cuda/vec_math.hpp(205): error: calling a constexpr __host__ function("abs") from a __device__ function("abs") is not allowed. The experimental flag '--expt-relaxed-constexpr' can be used to allow this.
+ # current nvcc don't support gcc6, so use gcc5 instead
+ export CC=$(which gcc-5)
+ export CXX=$(which g++-5)
+ cmake ${_cmakeopts[@]} \
+ -D CUDA_NVCC_FLAGS='-std=c++11 -Xcompiler -D__CORRECT_ISO_CPP11_MATH_H_PROTO --expt-relaxed-constexpr' \
+ -D OPENCV_EXTRA_MODULES_PATH=$srcdir/${pkgname%-git}_contrib/modules \
+ .
+
+ make
+}
+
+package() {
+ cd "${srcdir}/${pkgname%-git}"
+
+ make DESTDIR="${pkgdir}" install
+
+ # install LICENSE file
+ install -Dm644 "LICENSE" "${pkgdir}/usr/share/licenses/${pkgname%-git}/LICENSE"
+}
+
+# vim:set ts=4 sw=4 et:
diff --git a/fsh.patch b/fsh.patch
new file mode 100644
index 000000000000..4d391d4ad00e
--- /dev/null
+++ b/fsh.patch
@@ -0,0 +1,72 @@
+From 2bb4ca7cc656969a9e2c655e594428b465edbfed Mon Sep 17 00:00:00 2001
+From: Valentin Churavy <v.churavy@gmail.com>
+Date: Sat, 28 Mar 2015 01:30:01 +0900
+Subject: [PATCH] fsh.patch
+
+---
+ CMakeLists.txt | 14 +++++++-------
+ cmake/templates/opencv_run_all_tests_unix.sh.in | 2 +-
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index d9a17b3..3b4d9ad 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -300,7 +300,7 @@ endif()
+ if(ANDROID OR WIN32)
+ set(OPENCV_DOC_INSTALL_PATH doc)
+ else()
+- set(OPENCV_DOC_INSTALL_PATH share/OpenCV/doc)
++ set(OPENCV_DOC_INSTALL_PATH share/doc/opencv)
+ endif()
+
+ if(WIN32 AND CMAKE_HOST_SYSTEM_NAME MATCHES Windows)
+@@ -342,7 +342,7 @@ if(OPENCV_TEST_DATA_PATH AND NOT OPENCV_TEST_DATA_INSTALL_PATH)
+ elseif(WIN32)
+ set(OPENCV_TEST_DATA_INSTALL_PATH "testdata")
+ else()
+- set(OPENCV_TEST_DATA_INSTALL_PATH "share/OpenCV/testdata")
++ set(OPENCV_TEST_DATA_INSTALL_PATH "share/opencv/testdata")
+ endif()
+ endif()
+
+@@ -371,10 +371,10 @@ else()
+ set(OPENCV_OTHER_INSTALL_PATH etc)
+ else()
+ set(OPENCV_LIB_INSTALL_PATH lib${LIB_SUFFIX})
+- set(OPENCV_3P_LIB_INSTALL_PATH share/OpenCV/3rdparty/${OPENCV_LIB_INSTALL_PATH})
+- set(OPENCV_SAMPLES_SRC_INSTALL_PATH share/OpenCV/samples)
+- set(OPENCV_JAR_INSTALL_PATH share/OpenCV/java)
+- set(OPENCV_OTHER_INSTALL_PATH share/OpenCV)
++ set(OPENCV_3P_LIB_INSTALL_PATH share/opencv/3rdparty/${OPENCV_LIB_INSTALL_PATH})
++ set(OPENCV_SAMPLES_SRC_INSTALL_PATH share/opencv/samples)
++ set(OPENCV_JAR_INSTALL_PATH share/opencv/java)
++ set(OPENCV_OTHER_INSTALL_PATH share/opencv)
+ endif()
+ set(OPENCV_INCLUDE_INSTALL_PATH "include")
+
+@@ -382,7 +382,7 @@ else()
+ 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 --git a/cmake/templates/opencv_run_all_tests_unix.sh.in b/cmake/templates/opencv_run_all_tests_unix.sh.in
+index 7b946af..82370dc 100644
+--- a/cmake/templates/opencv_run_all_tests_unix.sh.in
++++ b/cmake/templates/opencv_run_all_tests_unix.sh.in
+@@ -53,7 +53,7 @@ fi
+
+ OPENCV_TEST_PATH=@CMAKE_INSTALL_PREFIX@/@OPENCV_TEST_INSTALL_PATH@
+ OPENCV_PYTHON_TESTS=@OPENCV_PYTHON_TESTS_LIST@
+-export OPENCV_TEST_DATA_PATH=@CMAKE_INSTALL_PREFIX@/share/OpenCV/testdata
++export OPENCV_TEST_DATA_PATH=@CMAKE_INSTALL_PREFIX@/share/opencv/testdata
+
+ # Run tests
+
+--
+2.4.2
+
diff --git a/opencv_contrib_sfm_cmake.patch b/opencv_contrib_sfm_cmake.patch
new file mode 100644
index 000000000000..2eb1399e28e5
--- /dev/null
+++ b/opencv_contrib_sfm_cmake.patch
@@ -0,0 +1,15 @@
+--- opencv_contrib/modules/sfm/cmake/FindGflags.cmake 2016-10-16 12:09:56.783814205 +0000
++++ opencv_contrib/modules/sfm/cmake/FindGflags.cmake 2016-10-16 13:01:51.058120602 +0000
+@@ -384,9 +384,9 @@
+
+ if (FOUND_INSTALLED_GFLAGS_CMAKE_CONFIGURATION)
+ message(STATUS "Detected gflags version: ${gflags_VERSION}")
+- #set(GFLAGS_FOUND ${gflags_FOUND})
+- #set(GFLAGS_INCLUDE_DIR ${gflags_INCLUDE_DIR})
+- #set(GFLAGS_LIBRARY ${gflags_LIBRARIES})
++ set(GFLAGS_FOUND ${gflags_FOUND})
++ set(GFLAGS_INCLUDE_DIR ${gflags_INCLUDE_DIR})
++ set(GFLAGS_LIBRARY ${gflags_LIBRARIES})
+
+ # gflags does not export the namespace in their CMake configuration, so
+ # use our function to determine what it should be, as it can be either
diff --git a/opencv_gcc6_pch.patch b/opencv_gcc6_pch.patch
new file mode 100644
index 000000000000..559b3252f24b
--- /dev/null
+++ b/opencv_gcc6_pch.patch
@@ -0,0 +1,13 @@
+diff --git a/cmake/OpenCVPCHSupport.cmake b/cmake/OpenCVPCHSupport.cmake
+index 90437cb..7dcfdce 100644
+--- a/cmake/OpenCVPCHSupport.cmake
++++ b/cmake/OpenCVPCHSupport.cmake
+@@ -14,7 +14,7 @@
+
+ IF(CMAKE_COMPILER_IS_GNUCXX)
+
+- IF(NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.2.0")
++ IF(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "4.2.-1" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "6.0.0")
+ SET(PCHSupport_FOUND TRUE)
+ ENDIF()
+