summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Bermond2023-11-25 23:24:57 -0300
committerDaniel Bermond2023-11-25 23:24:57 -0300
commit1d83f4a9016c80a892c1a6f1ca58c6e086181b11 (patch)
tree493c2684aceeb6c068a23bd558b0be6a089fe525
parenta3bda40795c26a5d5cbf5850d616afcd90e30e06 (diff)
downloadaur-1d83f4a9016c80a892c1a6f1ca58c6e086181b11.tar.gz
Update to version 2.4.13.7. Various improvements.
-rw-r--r--.SRCINFO45
-rw-r--r--010-opencv2-remove-prototypes-warnings.patch11
-rw-r--r--PKGBUILD202
-rw-r--r--cmake_ccache.patch14
4 files changed, 106 insertions, 166 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 8c82f7216605..19b5c425e74f 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,32 +1,29 @@
pkgbase = opencv2
- pkgdesc = Open Source Computer Vision Library (Legacy Version)
- pkgver = 2.4.13.6
- pkgrel = 3
- url = http://opencv.org/
- arch = i686
+ pkgdesc = Open Source Computer Vision Library (version 2.x)
+ pkgver = 2.4.13.7
+ pkgrel = 1
+ url = https://opencv.org/
arch = x86_64
license = BSD
makedepends = cmake
- makedepends = python2-numpy
+ makedepends = eigen
makedepends = mesa
- depends = intel-tbb
- depends = openexr
- depends = xine-lib
- depends = libdc1394
+ depends = glib2
+ depends = gst-plugins-base
+ depends = gst-plugins-base-libs
+ depends = gstreamer
+ depends = gtk2
depends = gtkglext
- optdepends = opencv-samples
- optdepends = eigen2
- optdepends = libcl: For coding with OpenCL
- optdepends = python2-numpy: Python 2.x interface
- options = staticlibs
- source = 2.4.13.6.zip::https://codeload.github.com/opencv/opencv/zip/2.4.13.6
- sha256sums = 8fbe6005d2266e4a725a5ef7a27365d763ce4ad5a7f38045288a3cad8a18d759
+ depends = libdc1394
+ depends = libgl
+ depends = libjpeg
+ depends = libpng
+ depends = libtiff
+ depends = zlib
+ optdepends = opencl-icd-loader: for coding with OpenCL
+ source = https://github.com/opencv/opencv/archive/2.4.13.7/opencv2-2.4.13.7.tar.gz
+ source = 010-opencv2-remove-prototypes-warnings.patch
+ sha256sums = 192d903588ae2cdceab3d7dc5a5636b023132c8369f184ca89ccec0312ae33d0
+ sha256sums = 0ac6a30a0708339486941b0c784a3a94f4ab2a5154cd74ae82edd405b4f61823
pkgname = opencv2
- provides = opencv=2.4.13.6
- conflicts = opencv
-
-pkgname = opencv2-samples
- pkgdesc = Open Source Computer Vision Library (Legacy Version) (samples)
- depends = opencv2=2.4.13.6
- conflicts = opencv-samples
diff --git a/010-opencv2-remove-prototypes-warnings.patch b/010-opencv2-remove-prototypes-warnings.patch
new file mode 100644
index 000000000000..a89b3b7771ba
--- /dev/null
+++ b/010-opencv2-remove-prototypes-warnings.patch
@@ -0,0 +1,11 @@
+--- a/cmake/OpenCVCompilerOptions.cmake
++++ b/cmake/OpenCVCompilerOptions.cmake
+@@ -114,8 +114,6 @@ if(CMAKE_COMPILER_IS_GNUCXX)
+ add_extra_compiler_option(-Wformat)
+ add_extra_compiler_option(-Werror=format-security -Wformat)
+ add_extra_compiler_option(-Wmissing-declarations)
+- add_extra_compiler_option(-Wmissing-prototypes)
+- add_extra_compiler_option(-Wstrict-prototypes)
+ add_extra_compiler_option(-Wundef)
+ add_extra_compiler_option(-Winit-self)
+ add_extra_compiler_option(-Wpointer-arith)
diff --git a/PKGBUILD b/PKGBUILD
index 8631fb61c444..3dba9e4c419e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,142 +1,88 @@
-# Maintainer: Ashok Arora <ashok.maillist@gmail.com>
+# Maintainer : Daniel Bermond <dbermond@archlinux.org>
+# Contributor: Ashok Arora <ashok.maillist@gmail.com>
# Contributor: Johannes Janosovits <johannes@walnutempire.de>
# Contributor: Joshua Schüler <joshua.schueler at gmail dotcom>
# Contributor: Ray Rashif <schiv@archlinux.org>
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
-
-############################################
-# Here you have the option to use some CPU
-# extensions to speed up opencv
-# Only change this if you know what you
-# are doing!
-############################################
-
-# Use `cat /proc/cpuinfo` to see the extensions your CPU supports
-
-_FORCE_SSE=OFF # always ON on x64
-_FORCE_SSE2=OFF # always ON on x64
-
-# Set to ON on CPUs newer than approx. 2005
-_FORCE_SSE3=OFF
-
-# Set to ON on CPUs since Intel Core 2 or newer/AMD Bulldozer/AMD Fusion
-_FORCE_SSSE3=OFF # also known as SSE4
-
-# Set to ON on CPUs since Intel Core 2 Penryn (older than Nehalem or Sandybridge)
-# or on AMDs since K10 (approx. 2009)
-_FORCE_SSE41=OFF
-
-# Set to ON on nearly all Intel Core i or AMD since Bulldozer
-_FORCE_SSE42=OFF
-
-# Set to ON on Sandybridge or newer/Bulldozer or newer
-_FORCE_AVX=OFF
-
-# Set to ON on Haswell or newer
-_FORCE_AVX2=OFF
-
-############################################
-
-
-_pkgbase=opencv
-pkgbase=opencv2
-pkgname=('opencv2' 'opencv2-samples')
-pkgver=2.4.13.6
-pkgrel=3
-pkgdesc="Open Source Computer Vision Library (Legacy Version)"
-arch=('i686' 'x86_64')
+pkgname=opencv2
+pkgver=2.4.13.7
+pkgrel=1
+pkgdesc='Open Source Computer Vision Library (version 2.x)'
+arch=('x86_64')
license=('BSD')
-url="http://opencv.org/"
-depends=('intel-tbb' 'openexr' 'xine-lib' 'libdc1394' 'gtkglext')
-makedepends=('cmake' 'python2-numpy' 'mesa')
-optdepends=('opencv-samples'
- 'eigen2'
- 'libcl: For coding with OpenCL'
- 'python2-numpy: Python 2.x interface')
-options=('staticlibs')
-source=("$pkgver.zip::https://codeload.github.com/opencv/opencv/zip/$pkgver")
-sha256sums=('8fbe6005d2266e4a725a5ef7a27365d763ce4ad5a7f38045288a3cad8a18d759')
+url='https://opencv.org/'
+depends=('glib2' 'gst-plugins-base' 'gst-plugins-base-libs' 'gstreamer' 'gtk2' 'gtkglext'
+ 'libdc1394' 'libgl' 'libjpeg' 'libpng' 'libtiff' 'zlib')
+makedepends=('cmake' 'eigen' 'mesa')
+optdepends=('opencl-icd-loader: for coding with OpenCL')
+source=("https://github.com/opencv/opencv/archive/${pkgver}/${pkgname}-${pkgver}.tar.gz"
+ '010-opencv2-remove-prototypes-warnings.patch')
+sha256sums=('192d903588ae2cdceab3d7dc5a5636b023132c8369f184ca89ccec0312ae33d0'
+ '0ac6a30a0708339486941b0c784a3a94f4ab2a5154cd74ae82edd405b4f61823')
-_cmakeopts=('-DWITH_CUDA=OFF' # Disable CUDA for now because GCC 6.1.1 and nvcc don't play along yet
- '-DWITH_OPENCL=ON'
- '-DWITH_OPENGL=ON'
- '-DWITH_TBB=ON'
- '-DWITH_XINE=ON'
- '-DWITH_GSTREAMER=OFF'
- '-DBUILD_WITH_DEBUG_INFO=OFF'
- '-DUILD_TESTS=OFF'
- '-DBUILD_PERF_TESTS=OFF'
- '-DBUILD_EXAMPLES=ON'
- '-DINSTALL_C_EXAMPLES=ON'
- '-DINSTALL_PYTHON_EXAMPLES=ON'
- '-DCMAKE_BUILD_TYPE=Release'
- '-DCMAKE_INSTALL_PREFIX=/usr'
- '-DCMAKE_SKIP_RPATH=ON'
- '-DBUILD_JASPER=ON')
-
-# SSE only available from Pentium 3 onwards (i686 is way older)
-[[ "$CARCH" = 'i686' ]] && \
- _cmakeopts+=("-DENABLE_SSE=$_FORCE_SSE"
- "-DENABLE_SSE2=$_FORCE_SSE2"
- "-DENABLE_SSE3=$_FORCE_SSE3")
-
-# all x64 CPUs support SSE2 but not SSE3
-[[ "$CARCH" = 'x86_64' ]] && \
- _cmakeopts+=("-DENABLE_SSE3=$_FORCE_SSE3"
- "-DENABLE_SSSE4=$_FORCE_SSSE3" #(sic!)
- "-DENABLE_SSE41=$_FORCE_SSE41"
- "-DENABLE_SSE42=$_FORCE_SSE42"
- "-DENABLE_AVX=$_FORCE_AVX"
- "-DENABLE_AVX2=$_FORCE_AVX2")
prepare() {
- cd "$_pkgbase-$pkgver/"
- # https://stackoverflow.com/questions/46884682/error-in-building-opencv-with-ffmpeg
- sed "1i\#define AVFMT_RAWPICTURE 0x0020" -i modules/highgui/src/cap_ffmpeg_impl.hpp
- sed "1i\#define CODEC_FLAG_GLOBAL_HEADER AV_CODEC_FLAG_GLOBAL_HEADER" -i modules/highgui/src/cap_ffmpeg_impl.hpp
- sed "1i\#define AV_CODEC_FLAG_GLOBAL_HEADER (1 << 22)" -i modules/highgui/src/cap_ffmpeg_impl.hpp
- sed "/prototypes/d" -i cmake/OpenCVCompilerOptions.cmake
+ patch -d "opencv-${pkgver}" -Np1 -i "${srcdir}/010-opencv2-remove-prototypes-warnings.patch"
}
build() {
- export CXXFLAGS+=" -std=c++14 -DTBB_SUPPRESS_DEPRECATED_MESSAGES"
- cmake -S "$srcdir/$_pkgbase-$pkgver" -B build "${_cmakeopts[@]}"
- make -C build
+ export CXXFLAGS+=' -std=c++14 -ffat-lto-objects'
+ cmake -S "opencv-${pkgver}" -B build \
+ -G 'Unix Makefiles' \
+ -DCMAKE_BUILD_TYPE='None' \
+ -DCMAKE_INSTALL_PREFIX='/opt/opencv2' \
+ -DCMAKE_SKIP_INSTALL_RPATH='YES' \
+ -DBUILD_JASPER='ON' \
+ -DBUILD_opencv_java='OFF' \
+ -DBUILD_opencv_python='OFF' \
+ -DBUILD_EXAMPLES='OFF' \
+ -DBUILD_PERF_TESTS='OFF' \
+ -DBUILD_TESTS='OFF' \
+ -DBUILD_WITH_DEBUG_INFO='OFF' \
+ -DINSTALL_C_EXAMPLES='OFF' \
+ -DINSTALL_PYTHON_EXAMPLES='OFF' \
+ -DWITH_CUDA='OFF' \
+ -DWITH_FFMPEG:BOOL='OFF' \
+ -DWITH_GSTREAMER='ON' \
+ -DWITH_OPENCL='ON' \
+ -DWITH_OPENGL='ON' \
+ -DWITH_TBB='OFF' \
+ -DWITH_XINE='OFF' \
+ -DENABLE_SSE3='OFF' \
+ -DENABLE_SSSE4='OFF' \
+ -DENABLE_SSE41='OFF' \
+ -DENABLE_SSE42='OFF' \
+ -DENABLE_AVX='OFF' \
+ -DENABLE_AVX2='OFF' \
+ -Wno-dev
+ cmake --build build
}
-package_opencv2() {
- provides=("opencv=$pkgver")
- conflicts=('opencv')
-
- make -C build DESTDIR="$pkgdir" install
-
- # install license file
- install -Dm644 "$srcdir/$_pkgbase-$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/$_pkgbase-samples"
- mv OpenCV $_pkgbase # otherwise folder naming is inconsistent
- elif [[ ! -d OpenCV ]]; then
- warning "Directory naming issue; samples package may not be built!"
- fi
+package() {
+ DESTDIR="$pkgdir" cmake --install build
+ install -d -m755 "${pkgdir}/usr"/{bin,include,lib/{cmake,pkgconfig}}
+ install -D -m644 "opencv-${pkgver}/LICENSE" -t "${pkgdir}/usr/share/licenses/${pkgname}"
+ ln -s ../../../opt/opencv2/lib/pkgconfig/opencv.pc "${pkgdir}/usr/lib/pkgconfig/opencv2.pc"
+ ln -s ../../../opt/opencv2/lib/pkgconfig/opencv.pc "${pkgdir}/usr/lib/pkgconfig/opencv.pc"
+ ln -s ../../../opt/opencv2/share/OpenCV "${pkgdir}/usr/lib/cmake/opencv2"
+ ln -s ../../../opt/opencv2/share/OpenCV "${pkgdir}/usr/lib/cmake/OpenCV"
+ ln -s ../../opt/opencv2/include/opencv2 "${pkgdir}/usr/include/opencv2"
+ ln -s ../../opt/opencv2/include/opencv "${pkgdir}/usr/include/opencv"
+
+ local _bin
+ for _bin in "${pkgdir}/opt/opencv2/bin"/*
+ do
+ ln -s "../../opt/opencv2/bin/${_bin##*/}" "${pkgdir}/usr/bin/${_bin##*/}2"
+ done
+
+ local _lib
+ for _lib in "${pkgdir}/opt/opencv2/lib"/libopencv*.so."${pkgver%.*}"
+ do
+ ln -s "../../opt/opencv2/lib/${_lib##*/}" "${pkgdir}/usr/lib/${_lib##*/}"
+ done
+
+ while read -r -d '' _lib
+ do
+ ln -s "$_lib" "${pkgdir}/usr/lib/${_lib%.*}"
+ done < <(find -L "${pkgdir}/usr/lib" -type f -name "libopencv*.so.${pkgver%.*}" -print0 | sed -z 's|.*/||')
}
-
-package_opencv2-samples() {
- pkgdesc+=" (samples)"
- depends=("opencv2=$pkgver") # sample codes change with lib/API
- unset optdepends
- conflicts=('opencv-samples')
-
- install -dm755 "$pkgdir/usr/share/$_pkgbase"
- 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:
diff --git a/cmake_ccache.patch b/cmake_ccache.patch
deleted file mode 100644
index 9aef2f600145..000000000000
--- a/cmake_ccache.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- OpenCVCompilerOptions.cmake 2017-09-09 16:20:07.966725688 +0200
-+++ OpenCVCompilerOptions.cmake.fixed 2017-09-09 16:15:54.000000000 +0200
-@@ -18,9 +18,9 @@
- message(STATUS "Unable to compile program with enabled ccache, reverting...")
- set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${__OLD_RULE_LAUNCH_COMPILE}")
- endif()
-- else()
-- message(STATUS "Looking for ccache - not found")
- endif()
-+ else()
-+ message(STATUS "Looking for ccache - not found")
- endif()
- endif()
-