summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicola Murino2021-06-02 10:55:11 +0200
committerNicola Murino2021-06-02 10:55:11 +0200
commit70e5a05a413fe3c1972cb739038b84933ea34149 (patch)
treea6ba2536ac7a18336fde934b9d6d8dcbc1eabf58
parent2e7d5dfee88a255ef1fbbad460e965c631af6812 (diff)
downloadaur-70e5a05a413fe3c1972cb739038b84933ea34149.tar.gz
update to 4.5.2
-rw-r--r--.SRCINFO21
-rw-r--r--0008-mingw-w64-cmake-lib-path.patch20
-rw-r--r--0010-find-libpng-header.patch42
-rw-r--r--0012-make-header-usable-with-C-compiler.patch34
-rw-r--r--0105-wechat-iconv-dependency.patch33
-rw-r--r--PKGBUILD29
-rw-r--r--opencv-lapack-3.9.1.patch40
7 files changed, 208 insertions, 11 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 221981d4fd6e..5a4a5b88b72b 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = mingw-w64-opencv
pkgdesc = Open Source Computer Vision Library (mingw-w64)
- pkgver = 4.5.1
+ pkgver = 4.5.2
pkgrel = 1
url = http://opencv.org/
arch = any
@@ -20,10 +20,19 @@ pkgbase = mingw-w64-opencv
options = !buildflags
options = staticlibs
options = !strip
- source = opencv-4.5.1.zip::https://github.com/opencv/opencv/archive/4.5.1.zip
- source = opencv_contrib-4.5.1.tar.gz::https://github.com/opencv/opencv_contrib/archive/4.5.1.tar.gz
- sha256sums = 5fbc26ee09e148a4d494b225d04217f7c913ca1a4d46115b70cca3565d7bbe05
- sha256sums = 12c3b1ddd0b8c1a7da5b743590a288df0934e5cef243e036ca290c2e45e425f5
+ source = opencv-4.5.2.tar.gz::https://github.com/opencv/opencv/archive/4.5.2.tar.gz
+ source = opencv_contrib-4.5.2.tar.gz::https://github.com/opencv/opencv_contrib/archive/4.5.2.tar.gz
+ source = opencv-lapack-3.9.1.patch
+ source = 0105-wechat-iconv-dependency.patch
+ source = 0012-make-header-usable-with-C-compiler.patch
+ source = 0008-mingw-w64-cmake-lib-path.patch
+ source = 0010-find-libpng-header.patch
+ sha256sums = ae258ed50aa039279c3d36afdea5c6ecf762515836b27871a8957c610d0424f8
+ sha256sums = 9f52fd3114ac464cb4c9a2a6a485c729a223afb57b9c24848484e55cef0b5c2a
+ sha256sums = 5233d9b4b8e3f4600e3f4ebef2b0ad5621faf25efbdfee96ee720a83cc81d0cc
+ sha256sums = 3cf6a17b234ddf4f20e042acce329823e970aa06873d63652fa132c46ee56739
+ sha256sums = 9f918a974e9d5227fce3702b1f38716a7fb79586dda9256b5df44dcc0f858c3b
+ sha256sums = 7398e66f80be37382bd427b5eb3a1201a23113c14e71435a44df8779ea1b8a34
+ sha256sums = d6ad5a0865eefe662ca4c7aceb6aa7b1fd5fcd27e1e65ca839d442f054095e69
pkgname = mingw-w64-opencv
-
diff --git a/0008-mingw-w64-cmake-lib-path.patch b/0008-mingw-w64-cmake-lib-path.patch
new file mode 100644
index 000000000000..7be3a54d9215
--- /dev/null
+++ b/0008-mingw-w64-cmake-lib-path.patch
@@ -0,0 +1,20 @@
+--- opencv-3.4.2/cmake/templates/OpenCVConfig.root-WIN32.cmake.in.orig 2018-08-07 08:36:12.076932700 +0300
++++ opencv-3.4.2/cmake/templates/OpenCVConfig.root-WIN32.cmake.in 2018-08-07 08:38:01.530193100 +0300
+@@ -63,6 +63,7 @@
+ return()
+ endif()
+ set(candidates)
++ if(MSVC)
+ if(OpenCV_STATIC)
+ list(APPEND candidates "${OpenCV_ARCH}/${OpenCV_RUNTIME}/staticlib")
+ endif()
+@@ -73,6 +74,9 @@
+ list(APPEND candidates "gpu/${OpenCV_ARCH}/${OpenCV_RUNTIME}/staticlib")
+ endif()
+ list(APPEND candidates "${OpenCV_ARCH}/${OpenCV_RUNTIME}/lib")
++ else()
++ list(APPEND candidates "lib")
++ endif()
+ foreach(c ${candidates})
+ set(p "${OpenCV_CONFIG_PATH}/${c}")
+ if(EXISTS "${p}/OpenCVConfig.cmake")
diff --git a/0010-find-libpng-header.patch b/0010-find-libpng-header.patch
new file mode 100644
index 000000000000..b862f7b53664
--- /dev/null
+++ b/0010-find-libpng-header.patch
@@ -0,0 +1,42 @@
+From 747e954047eee356d9874376127cd9e7486fdaee Mon Sep 17 00:00:00 2001
+From: "FeRD (Frank Dana)" <ferdnyc@gmail.com>
+Date: Wed, 21 Apr 2021 13:30:10 -0400
+Subject: [PATCH 5/8] find-libpng-header
+
+---
+ cmake/OpenCVFindLibsGrfmt.cmake | 4 ++--
+ modules/imgcodecs/src/grfmt_png.cpp | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/cmake/OpenCVFindLibsGrfmt.cmake b/cmake/OpenCVFindLibsGrfmt.cmake
+index 23a6ca6..a4e3cee 100644
+--- a/cmake/OpenCVFindLibsGrfmt.cmake
++++ b/cmake/OpenCVFindLibsGrfmt.cmake
+@@ -228,9 +228,9 @@ if(WITH_PNG)
+ include(FindPNG)
+ if(PNG_FOUND)
+ include(CheckIncludeFile)
+- check_include_file("${PNG_PNG_INCLUDE_DIR}/libpng/png.h" HAVE_LIBPNG_PNG_H)
++ check_include_file("${PNG_PNG_INCLUDE_DIR}/libpng16/png.h" HAVE_LIBPNG_PNG_H)
+ if(HAVE_LIBPNG_PNG_H)
+- ocv_parse_header("${PNG_PNG_INCLUDE_DIR}/libpng/png.h" PNG_VERSION_LINES PNG_LIBPNG_VER_MAJOR PNG_LIBPNG_VER_MINOR PNG_LIBPNG_VER_RELEASE)
++ ocv_parse_header("${PNG_PNG_INCLUDE_DIR}/libpng16/png.h" PNG_VERSION_LINES PNG_LIBPNG_VER_MAJOR PNG_LIBPNG_VER_MINOR PNG_LIBPNG_VER_RELEASE)
+ else()
+ ocv_parse_header("${PNG_PNG_INCLUDE_DIR}/png.h" PNG_VERSION_LINES PNG_LIBPNG_VER_MAJOR PNG_LIBPNG_VER_MINOR PNG_LIBPNG_VER_RELEASE)
+ endif()
+diff --git a/modules/imgcodecs/src/grfmt_png.cpp b/modules/imgcodecs/src/grfmt_png.cpp
+index 9e1a2d4..bfb23d1 100644
+--- a/modules/imgcodecs/src/grfmt_png.cpp
++++ b/modules/imgcodecs/src/grfmt_png.cpp
+@@ -59,7 +59,7 @@
+ #endif
+
+ #ifdef HAVE_LIBPNG_PNG_H
+-#include <libpng/png.h>
++#include <libpng16/png.h>
+ #else
+ #include <png.h>
+ #endif
+--
+2.31.1
+
diff --git a/0012-make-header-usable-with-C-compiler.patch b/0012-make-header-usable-with-C-compiler.patch
new file mode 100644
index 000000000000..cbe8cac111e9
--- /dev/null
+++ b/0012-make-header-usable-with-C-compiler.patch
@@ -0,0 +1,34 @@
+From 5cb842feac81067785877392b2fa33eed2e621bc Mon Sep 17 00:00:00 2001
+From: "FeRD (Frank Dana)" <ferdnyc@gmail.com>
+Date: Wed, 21 Apr 2021 13:31:08 -0400
+Subject: [PATCH 6/8] make-header-usable-with-C-compiler
+
+---
+ modules/core/include/opencv2/core/cvdef.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/modules/core/include/opencv2/core/cvdef.h b/modules/core/include/opencv2/core/cvdef.h
+index 535883e..0ab8447 100644
+--- a/modules/core/include/opencv2/core/cvdef.h
++++ b/modules/core/include/opencv2/core/cvdef.h
+@@ -766,6 +766,7 @@ __CV_ENUM_FLAGS_BITWISE_XOR_EQ (EnumType, EnumType)
+ #endif
+
+ // Integer types portatibility
++#if defined __cplusplus
+ #ifdef OPENCV_STDINT_HEADER
+ #include OPENCV_STDINT_HEADER
+ #elif defined(__cplusplus)
+@@ -808,6 +809,9 @@ typedef ::uint64_t uint64_t;
+ #else // pure C
+ #include <stdint.h>
+ #endif
++#else
++#include <stdint.h>
++#endif
+
+ #ifdef __cplusplus
+ namespace cv
+--
+2.31.1
+
diff --git a/0105-wechat-iconv-dependency.patch b/0105-wechat-iconv-dependency.patch
new file mode 100644
index 000000000000..b4984fd06098
--- /dev/null
+++ b/0105-wechat-iconv-dependency.patch
@@ -0,0 +1,33 @@
+From bc8c8f75b784fb62e2db0c28178a1e767be92021 Mon Sep 17 00:00:00 2001
+From: "FeRD (Frank Dana)" <ferdnyc@gmail.com>
+Date: Fri, 23 Apr 2021 21:54:26 -0400
+Subject: [PATCH] Fix wechat iconv dependency
+
+---
+ modules/wechat_qrcode/CMakeLists.txt | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/modules/wechat_qrcode/CMakeLists.txt b/modules/wechat_qrcode/CMakeLists.txt
+index 210f4a0d..3d02c7bb 100644
+--- a/modules/wechat_qrcode/CMakeLists.txt
++++ b/modules/wechat_qrcode/CMakeLists.txt
+@@ -1,6 +1,16 @@
+ set(the_description "WeChat QR code Detector")
+ ocv_define_module(wechat_qrcode opencv_core opencv_imgproc opencv_dnn WRAP java objc python js)
+
++# iconv support isn't automatic on some systems
++if(CMAKE_VERSION VERSION_GREATER 3.11)
++ find_package(Iconv QUIET)
++ if(Iconv_FOUND)
++ ocv_target_link_libraries(${the_module} Iconv::Iconv)
++ else()
++ ocv_target_compile_definitions(${the_module} PRIVATE "NO_ICONV=1")
++ endif()
++endif()
++
+ # need to change
+ set(wechat_qrcode_commit_hash "a8b69ccc738421293254aec5ddb38bd523503252")
+ set(hash_detect_caffemodel "238e2b2d6f3c18d6c3a30de0c31e23cf")
+--
+2.30.2
+
diff --git a/PKGBUILD b/PKGBUILD
index 0b2a4178e05d..0f54735861cc 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,6 +1,6 @@
# Maintainer: drakkan <nicola.murino at gmail dot com>
pkgname=mingw-w64-opencv
-pkgver=4.5.1
+pkgver=4.5.2
pkgrel=1
pkgdesc="Open Source Computer Vision Library (mingw-w64)"
arch=('any')
@@ -9,10 +9,20 @@ url="http://opencv.org/"
options=('!buildflags' 'staticlibs' '!strip')
depends=('mingw-w64-crt' 'mingw-w64-libpng' 'mingw-w64-libjpeg-turbo' 'mingw-w64-libtiff' 'mingw-w64-zlib' 'mingw-w64-libwebp' 'mingw-w64-lapack' 'mingw-w64-cblas' 'mingw-w64-openjpeg2')
makedepends=('mingw-w64-cmake' 'mingw-w64-eigen' 'mingw-w64-lapacke')
-source=("opencv-$pkgver.zip::https://github.com/opencv/opencv/archive/$pkgver.zip"
- "opencv_contrib-$pkgver.tar.gz::https://github.com/opencv/opencv_contrib/archive/$pkgver.tar.gz")
-sha256sums=('5fbc26ee09e148a4d494b225d04217f7c913ca1a4d46115b70cca3565d7bbe05'
- '12c3b1ddd0b8c1a7da5b743590a288df0934e5cef243e036ca290c2e45e425f5')
+source=("opencv-$pkgver.tar.gz::https://github.com/opencv/opencv/archive/$pkgver.tar.gz"
+ "opencv_contrib-$pkgver.tar.gz::https://github.com/opencv/opencv_contrib/archive/$pkgver.tar.gz"
+ "opencv-lapack-3.9.1.patch"
+ "0105-wechat-iconv-dependency.patch"
+ "0012-make-header-usable-with-C-compiler.patch"
+ "0008-mingw-w64-cmake-lib-path.patch"
+ "0010-find-libpng-header.patch")
+sha256sums=('ae258ed50aa039279c3d36afdea5c6ecf762515836b27871a8957c610d0424f8'
+ '9f52fd3114ac464cb4c9a2a6a485c729a223afb57b9c24848484e55cef0b5c2a'
+ '5233d9b4b8e3f4600e3f4ebef2b0ad5621faf25efbdfee96ee720a83cc81d0cc'
+ '3cf6a17b234ddf4f20e042acce329823e970aa06873d63652fa132c46ee56739'
+ '9f918a974e9d5227fce3702b1f38716a7fb79586dda9256b5df44dcc0f858c3b'
+ '7398e66f80be37382bd427b5eb3a1201a23113c14e71435a44df8779ea1b8a34'
+ 'd6ad5a0865eefe662ca4c7aceb6aa7b1fd5fcd27e1e65ca839d442f054095e69')
_architectures="i686-w64-mingw32 x86_64-w64-mingw32"
@@ -41,6 +51,15 @@ _cmakeopts=('-DCMAKE_SKIP_RPATH=ON'
'-DOPENCV_GENERATE_PKGCONFIG=ON'
'-DOPENCV_GENERATE_SETUPVARS=OFF')
+prepare() {
+ patch -d $srcdir/opencv-$pkgver -p1 < opencv-lapack-3.9.1.patch
+ patch -d $srcdir/opencv-$pkgver -p1 < 0008-mingw-w64-cmake-lib-path.patch
+ patch -d $srcdir/opencv-$pkgver -p1 < 0010-find-libpng-header.patch
+ patch -d $srcdir/opencv-$pkgver -p1 < 0012-make-header-usable-with-C-compiler.patch
+
+ patch -d $srcdir/opencv_contrib-$pkgver -p1 < 0105-wechat-iconv-dependency.patch
+}
+
build() {
cd "$srcdir/opencv-$pkgver"
for _arch in ${_architectures}; do
diff --git a/opencv-lapack-3.9.1.patch b/opencv-lapack-3.9.1.patch
new file mode 100644
index 000000000000..472628d19ec3
--- /dev/null
+++ b/opencv-lapack-3.9.1.patch
@@ -0,0 +1,40 @@
+diff --git a/modules/core/src/hal_internal.cpp b/modules/core/src/hal_internal.cpp
+index 483281d1f7..6db47f22d8 100644
+--- a/modules/core/src/hal_internal.cpp
++++ b/modules/core/src/hal_internal.cpp
+@@ -290,7 +290,7 @@ lapack_QR(fptype* a, size_t a_step, int m, int n, int k, fptype* b, size_t b_ste
+ if (typeid(fptype) == typeid(float))
+ sgels_(mode, &m, &n, &k, (float*)tmpA, &ldtmpA, (float*)b, &m, (float*)&work1, &lwork, info);
+ else if (typeid(fptype) == typeid(double))
+- dgels_(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)b, &m, (double*)&work1, &lwork, info);
++ LAPACK_dgels(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)b, &m, (double*)&work1, &lwork, info);
+
+ lwork = cvRound(work1); //optimal buffer size
+ std::vector<fptype> workBufMemHolder(lwork + 1);
+@@ -299,7 +299,7 @@ lapack_QR(fptype* a, size_t a_step, int m, int n, int k, fptype* b, size_t b_ste
+ if (typeid(fptype) == typeid(float))
+ sgels_(mode, &m, &n, &k, (float*)tmpA, &ldtmpA, (float*)b, &m, (float*)buffer, &lwork, info);
+ else if (typeid(fptype) == typeid(double))
+- dgels_(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)b, &m, (double*)buffer, &lwork, info);
++ LAPACK_dgels(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)b, &m, (double*)buffer, &lwork, info);
+ }
+ else
+ {
+@@ -311,7 +311,7 @@ lapack_QR(fptype* a, size_t a_step, int m, int n, int k, fptype* b, size_t b_ste
+ if (typeid(fptype) == typeid(float))
+ sgels_(mode, &m, &n, &k, (float*)tmpA, &ldtmpA, (float*)tmpB, &m, (float*)&work1, &lwork, info);
+ else if (typeid(fptype) == typeid(double))
+- dgels_(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)tmpB, &m, (double*)&work1, &lwork, info);
++ LAPACK_dgels(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)tmpB, &m, (double*)&work1, &lwork, info);
+
+ lwork = cvRound(work1); //optimal buffer size
+ std::vector<fptype> workBufMemHolder(lwork + 1);
+@@ -320,7 +320,7 @@ lapack_QR(fptype* a, size_t a_step, int m, int n, int k, fptype* b, size_t b_ste
+ if (typeid(fptype) == typeid(float))
+ sgels_(mode, &m, &n, &k, (float*)tmpA, &ldtmpA, (float*)tmpB, &m, (float*)buffer, &lwork, info);
+ else if (typeid(fptype) == typeid(double))
+- dgels_(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)tmpB, &m, (double*)buffer, &lwork, info);
++ LAPACK_dgels(mode, &m, &n, &k, (double*)tmpA, &ldtmpA, (double*)tmpB, &m, (double*)buffer, &lwork, info);
+
+ transpose(tmpB, m, b, ldb, k, m);
+ }