diff options
-rw-r--r-- | .SRCINFO | 53 | ||||
-rw-r--r-- | ChangeLog | 49 | ||||
-rw-r--r-- | PKGBUILD | 153 | ||||
-rw-r--r-- | fsh.patch | 72 | ||||
-rw-r--r-- | opencv_contrib_sfm_cmake.patch | 15 | ||||
-rw-r--r-- | opencv_gcc6_pch.patch | 13 |
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() + |