diff --git a/extra/opencv/PKGBUILD b/extra/opencv/PKGBUILD new file mode 100644 index 000000000..59b6617a4 --- /dev/null +++ b/extra/opencv/PKGBUILD @@ -0,0 +1,116 @@ +# $Id: PKGBUILD 170692 2012-11-09 19:50:58Z schiv $ +# Maintainer: Ray Rashif +# Contributor: Tobias Powalowski + +# ALARM: Kevin Mihelich +# - remove intel-tbb depend + +pkgbase=opencv +pkgname=('opencv' 'opencv-docs' 'opencv-samples') +_realname=OpenCV +pkgver=2.4.3 +pkgrel=2 +pkgdesc="Open Source Computer Vision Library" +arch=('i686' 'x86_64') +license=('BSD') +url="http://opencv.org/" +depends=('jasper' 'gstreamer0.10-base' + 'xine-lib' 'libdc1394' 'openexr' 'gtk2') +makedepends=('cmake' 'python2-numpy' 'eigen2') +optdepends=('opencv-docs' + 'opencv-samples' + 'eigen2' + 'python2-numpy: Python 2.x interface') +source=("http://downloads.sourceforge.net/opencvlibrary/$_realname-${pkgver}.tar.bz2" + 'pkgconfig.patch' + 'fsh.patch') +md5sums=('c0a5af4ff9d0d540684c0bf00ef35dbe' + 'cb916260b5ec594fe7a0cc2e54fc569f' + '35256e3ccace373feba8131d1540a0de') + +_cmakeopts=('-D CMAKE_BUILD_TYPE=Release' + '-D CMAKE_INSTALL_PREFIX=/usr' + '-D CMAKE_SKIP_RPATH=ON' + '-D BUILD_TESTS=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" + + # fix pkg-config mess + # see https://bugs.archlinux.org/task/32430 + patch -Np1 -i "$srcdir/pkgconfig.patch" + + # fix another upstream mess + # see http://code.opencv.org/issues/2512 + patch -Np1 -i "$srcdir/fsh.patch" + + cmake ${_cmakeopts[@]} . + + make +} + +package_opencv() { + cd "$srcdir/$_realname-$pkgver" + + make DESTDIR="$pkgdir" install + + # install license file + install -Dm644 "$srcdir/$_realname-$pkgver/doc/license.txt" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" + + cd "$pkgdir/usr/share" + + # separate docs package; also be -R friendly + [ -d doc/$pkgname ] && mv doc/$pkgname "$srcdir/opencv-doc" \ + && rm -r doc + + # separate samples package + [ -d $pkgname/samples ] && mv $pkgname/samples "$srcdir/opencv-samples" +} + +package_opencv-docs() { + pkgdesc+=" (documentation)" + unset depends + unset optdepends + options=('docs') + + cd "$srcdir" + + mkdir -p "$pkgdir/usr/share/doc" + cp -r opencv-doc "$pkgdir/usr/share/doc/$pkgname" + + # install license file + install -Dm644 "$srcdir/$_realname-$pkgver/doc/license.txt" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +package_opencv-samples() { + pkgdesc+=" (samples)" + depends=('bash') + unset optdepends + unset options + + cd "$srcdir" + + mkdir -p "$pkgdir/usr/share/$pkgname" + cp -r opencv-samples "$pkgdir/usr/share/$pkgname/samples" + + # install license file + install -Dm644 "$srcdir/$_realname-$pkgver/doc/license.txt" \ + "$pkgdir/usr/share/licenses/$pkgname/LICENSE" +} + +# vim:set ts=2 sw=2 et: diff --git a/extra/opencv/fsh.patch b/extra/opencv/fsh.patch new file mode 100644 index 000000000..fc6fb4b2a --- /dev/null +++ b/extra/opencv/fsh.patch @@ -0,0 +1,103 @@ +diff -Nbaur OpenCV-2.4.3.orig/cmake/OpenCVGenPkgconfig.cmake OpenCV-2.4.3/cmake/OpenCVGenPkgconfig.cmake +--- OpenCV-2.4.3.orig/cmake/OpenCVGenPkgconfig.cmake 2012-11-05 18:42:32.460958392 +0000 ++++ OpenCV-2.4.3/cmake/OpenCVGenPkgconfig.cmake 2012-11-05 18:52:43.766689315 +0000 +@@ -47,7 +47,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 -Nbaur OpenCV-2.4.3.orig/CMakeLists.txt OpenCV-2.4.3/CMakeLists.txt +--- OpenCV-2.4.3.orig/CMakeLists.txt 2012-11-05 18:42:32.700956757 +0000 ++++ OpenCV-2.4.3/CMakeLists.txt 2012-11-05 18:55:42.358787848 +0000 +@@ -221,9 +221,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(ANDROID) +@@ -237,14 +237,14 @@ + set(LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/lib") + set(3P_LIBRARY_OUTPUT_PATH "${OpenCV_BINARY_DIR}/3rdparty/lib${LIB_SUFFIX}") + 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}) + set(OPENCV_INCLUDE_INSTALL_PATH include) + + math(EXPR SIZEOF_VOID_P_BITS "8 * ${CMAKE_SIZEOF_VOID_P}") + 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 -Nbaur OpenCV-2.4.3.orig/data/CMakeLists.txt OpenCV-2.4.3/data/CMakeLists.txt +--- OpenCV-2.4.3.orig/data/CMakeLists.txt 2012-11-05 18:42:32.460958392 +0000 ++++ OpenCV-2.4.3/data/CMakeLists.txt 2012-11-05 18:52:43.816688977 +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 -Nbaur OpenCV-2.4.3.orig/samples/c/CMakeLists.txt OpenCV-2.4.3/samples/c/CMakeLists.txt +--- OpenCV-2.4.3.orig/samples/c/CMakeLists.txt 2012-11-05 18:42:32.697623446 +0000 ++++ OpenCV-2.4.3/samples/c/CMakeLists.txt 2012-11-05 18:52:43.826688906 +0000 +@@ -54,7 +54,7 @@ + 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 -Nbaur OpenCV-2.4.3.orig/samples/cpp/CMakeLists.txt OpenCV-2.4.3/samples/cpp/CMakeLists.txt +--- OpenCV-2.4.3.orig/samples/cpp/CMakeLists.txt 2012-11-05 18:42:32.677623583 +0000 ++++ OpenCV-2.4.3/samples/cpp/CMakeLists.txt 2012-11-05 18:52:43.823355598 +0000 +@@ -64,7 +64,7 @@ + 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 -Nbaur OpenCV-2.4.3.orig/samples/gpu/CMakeLists.txt OpenCV-2.4.3/samples/gpu/CMakeLists.txt +--- OpenCV-2.4.3.orig/samples/gpu/CMakeLists.txt 2012-11-05 18:42:32.670956962 +0000 ++++ OpenCV-2.4.3/samples/gpu/CMakeLists.txt 2012-11-05 18:52:43.820022288 +0000 +@@ -64,7 +64,7 @@ + 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 -Nbaur OpenCV-2.4.3.orig/samples/gpu/performance/CMakeLists.txt OpenCV-2.4.3/samples/gpu/performance/CMakeLists.txt +--- OpenCV-2.4.3.orig/samples/gpu/performance/CMakeLists.txt 2012-11-05 18:42:32.674290272 +0000 ++++ OpenCV-2.4.3/samples/gpu/performance/CMakeLists.txt 2012-11-05 18:52:43.823355598 +0000 +@@ -21,6 +21,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 --git a/extra/opencv/pkgconfig.patch b/extra/opencv/pkgconfig.patch new file mode 100644 index 000000000..84d268e61 --- /dev/null +++ b/extra/opencv/pkgconfig.patch @@ -0,0 +1,35 @@ +diff -Nbaur OpenCV-2.4.3.orig/cmake/OpenCVGenPkgconfig.cmake OpenCV-2.4.3/cmake/OpenCVGenPkgconfig.cmake +--- OpenCV-2.4.3.orig/cmake/OpenCVGenPkgconfig.cmake 2012-11-04 08:40:14.243505926 +0000 ++++ OpenCV-2.4.3/cmake/OpenCVGenPkgconfig.cmake 2012-11-04 08:40:42.286649120 +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}") + set(VERSION ${OPENCV_VERSION}) + +@@ -36,10 +36,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}") +@@ -52,7 +53,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