summaryrefslogtreecommitdiff
path: root/user/opencv
diff options
context:
space:
mode:
Diffstat (limited to 'user/opencv')
-rw-r--r--user/opencv/APKBUILD32
-rw-r--r--user/opencv/CVE-2019-16249.patch57
-rw-r--r--user/opencv/fix-headers.manual-patch12
3 files changed, 33 insertions, 68 deletions
diff --git a/user/opencv/APKBUILD b/user/opencv/APKBUILD
index a8a38c149..9bd859b92 100644
--- a/user/opencv/APKBUILD
+++ b/user/opencv/APKBUILD
@@ -1,7 +1,7 @@
# Contributor: Carlo Landmeter <clandmeter@gmail.com>
# Maintainer:
pkgname=opencv
-pkgver=4.1.1
+pkgver=4.6.0
pkgrel=1
pkgdesc="Computer vision and machine learning software library"
url="https://opencv.org"
@@ -11,11 +11,13 @@ license="BSD-3-Clause"
depends=""
makedepends="cmake doxygen ffmpeg-dev gst-plugins-base-dev gtk+2.0-dev
gtk+3.0-dev jasper-dev libdc1394-dev libgomp libgphoto2-dev
- libjpeg-turbo-dev libpng-dev libwebp-dev tiff-dev v4l-utils-dev"
+ libjpeg-turbo-dev libpng-dev libwebp-dev tiff-dev v4l-utils-dev
+ mawk protobuf-dev"
subpackages="$pkgname-dev $pkgname-libs"
source="opencv-$pkgver.tar.gz::https://github.com/opencv/opencv/archive/$pkgver.tar.gz
+ ade-0.1.1f.zip::https://github.com/opencv/ade/archive/v0.1.1f.zip
cmake-license.patch
- CVE-2019-16249.patch
+ fix-headers.manual-patch
"
# secfixes:
@@ -23,41 +25,48 @@ source="opencv-$pkgver.tar.gz::https://github.com/opencv/opencv/archive/$pkgver.
# - CVE-2019-16249
prepare() {
- default_prepare
# purge 3rd party except carotene
for i in 3rdparty/*; do
case $i in
*/carotene*) continue;;
- */protobuf*) continue;;
*/ittnotify) continue;; # Else FTBFS on x86_64
*/quirc) continue;;
+ */include) continue;;
esac
rm -rf "$i"
done
mkdir -p build
+ mkdir -p .cache/ade
+ cp "$srcdir"/ade-0.1.1f.zip \
+ "$builddir"/.cache/ade/$(md5sum "$srcdir"/ade-0.1.1f.zip | awk '{print $1;}')-0.1.1f.zip
}
build() {
+ _sse=""
if [ "$CARCH" != "x86_64" ]; then
- local _sse="-DENABLE_SSE=OFF -DENABLE_SSE2=OFF"
+ _sse="-DENABLE_SSE=OFF -DENABLE_SSE2=OFF"
fi
if [ "$CARCH" = "ppc" ]; then
- LDFLAGS="-latomic"
+ export LDFLAGS="$LDFLAGS -latomic"
fi
cmake \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=lib \
-DBUILD_SHARED_LIBS=True \
-DCMAKE_BUILD_TYPE=RelWithDebugInfo \
- -DCMAKE_CXX_FLAGS="$CXXFLAGS -U_FORTIFY_SOURCE" \
- -DCMAKE_C_FLAGS="$CFLAGS -U_FORTIFY_SOURCE" \
+ -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
+ -DCMAKE_C_FLAGS="$CFLAGS" \
+ -DBUILD_PROTOBUF=OFF \
+ -DPROTOBUF_UPDATE_FILES=ON \
-DENABLE_PRECOMPILED_HEADERS=OFF \
-DWITH_OPENMP=ON \
-DWITH_OPENCL=ON \
-DWITH_OPENEXR=OFF \
+ -DWITH_OPENJPEG=OFF \
-DWITH_IPP=OFF \
$_sse \
-Bbuild
+ patch -Np1 < "$srcdir"/fix-headers.manual-patch
make -C build
}
@@ -65,6 +74,7 @@ package() {
make DESTDIR="$pkgdir" -C build install
}
-sha512sums="80fa48d992ca06a2a4ab6740df6d8c21f4926165486b393969da2c5bbe2f3a0b799fb76dee5e3654e90c743e49bbd2b5b02ad59a4766896bbf4cd5b4e3251e0f opencv-4.1.1.tar.gz
+sha512sums="93d7807794682990b6a1d1de1851986ae3c5d1afe6605f3f8cace03ba5e3390bee2568bc0f335af34d3fc974df64cbce0ce685261ec2abd693d259b97b15bc46 opencv-4.6.0.tar.gz
+f2994d5e92a2ae05cee6e153943afe151ce734ced6e06dcdb02dee9fed9336a7f1ea69661d9e033f1412fbb5e2a44a6e641662c85be5ba0604d0446abeabe836 ade-0.1.1f.zip
ffa6930086051c545a44d28b8e428de7faaeecf961cdee6eef007b2b01db7e5897c6f184b1059df9763c1bcd90f88b9ead710dc13b51a608f21d683f55f39bd6 cmake-license.patch
-39f2f9abb1051220d6b842e9337c3636ee229781c7efcc92e987dae47ac82072dc95568e6a766e01329ee61c0a3be4efdd82aa3b56c011b44e175444d81c134d CVE-2019-16249.patch"
+c1ba6c7b66edc747a2bddd622787f75eb5edd9ef65a2da9a1bbf432fad97fdfe293f0b16631085006299e7e74468d601b942ecdc389997e9e64dee16c082648f fix-headers.manual-patch"
diff --git a/user/opencv/CVE-2019-16249.patch b/user/opencv/CVE-2019-16249.patch
deleted file mode 100644
index a7f0027ac..000000000
--- a/user/opencv/CVE-2019-16249.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From cd7fa04985b10db5e66de542725d0da57f0d10b6 Mon Sep 17 00:00:00 2001
-From: Vitaly Tuzov <terfendail@mediana.jetos.com>
-Date: Tue, 17 Sep 2019 15:53:18 +0300
-Subject: [PATCH] Fixed out of bound reading in DIS optical flow evaluation
- implementation
-
----
- modules/video/src/dis_flow.cpp | 18 +++++-------------
- 1 file changed, 5 insertions(+), 13 deletions(-)
-
-diff --git a/modules/video/src/dis_flow.cpp b/modules/video/src/dis_flow.cpp
-index 85400c71ca7..a260b8726bb 100644
---- a/modules/video/src/dis_flow.cpp
-+++ b/modules/video/src/dis_flow.cpp
-@@ -494,7 +494,6 @@ DISOpticalFlowImpl::PatchInverseSearch_ParBody::PatchInverseSearch_ParBody(DISOp
- v_float32x4 w10v = v_setall_f32(w10); \
- v_float32x4 w11v = v_setall_f32(w11); \
- \
-- v_uint8x16 I0_row_16, I1_row_16, I1_row_shifted_16, I1_row_next_16, I1_row_next_shifted_16; \
- v_uint16x8 I0_row_8, I1_row_8, I1_row_shifted_8, I1_row_next_8, I1_row_next_shifted_8, tmp; \
- v_uint32x4 I0_row_4_left, I1_row_4_left, I1_row_shifted_4_left, I1_row_next_4_left, I1_row_next_shifted_4_left; \
- v_uint32x4 I0_row_4_right, I1_row_4_right, I1_row_shifted_4_right, I1_row_next_4_right, \
-@@ -502,29 +501,22 @@ DISOpticalFlowImpl::PatchInverseSearch_ParBody::PatchInverseSearch_ParBody(DISOp
- v_float32x4 I_diff_left, I_diff_right; \
- \
- /* Preload and expand the first row of I1: */ \
-- I1_row_16 = v_load(I1_ptr); \
-- I1_row_shifted_16 = v_extract<1>(I1_row_16, I1_row_16); \
-- v_expand(I1_row_16, I1_row_8, tmp); \
-- v_expand(I1_row_shifted_16, I1_row_shifted_8, tmp); \
-+ I1_row_8 = v_load_expand(I1_ptr); \
-+ I1_row_shifted_8 = v_load_expand(I1_ptr + 1); \
- v_expand(I1_row_8, I1_row_4_left, I1_row_4_right); \
- v_expand(I1_row_shifted_8, I1_row_shifted_4_left, I1_row_shifted_4_right); \
- I1_ptr += I1_stride;
-
- #define HAL_PROCESS_BILINEAR_8x8_PATCH_EXTRACTION \
- /* Load the next row of I1: */ \
-- I1_row_next_16 = v_load(I1_ptr); \
-- /* Circular shift left by 1 element: */ \
-- I1_row_next_shifted_16 = v_extract<1>(I1_row_next_16, I1_row_next_16); \
-- /* Expand to 8 ushorts (we only need the first 8 values): */ \
-- v_expand(I1_row_next_16, I1_row_next_8, tmp); \
-- v_expand(I1_row_next_shifted_16, I1_row_next_shifted_8, tmp); \
-+ I1_row_next_8 = v_load_expand(I1_ptr); \
-+ I1_row_next_shifted_8 = v_load_expand(I1_ptr + 1); \
- /* Separate the left and right halves: */ \
- v_expand(I1_row_next_8, I1_row_next_4_left, I1_row_next_4_right); \
- v_expand(I1_row_next_shifted_8, I1_row_next_shifted_4_left, I1_row_next_shifted_4_right); \
- \
- /* Load current row of I0: */ \
-- I0_row_16 = v_load(I0_ptr); \
-- v_expand(I0_row_16, I0_row_8, tmp); \
-+ I0_row_8 = v_load_expand(I0_ptr); \
- v_expand(I0_row_8, I0_row_4_left, I0_row_4_right); \
- \
- /* Compute diffs between I0 and bilinearly interpolated I1: */ \
diff --git a/user/opencv/fix-headers.manual-patch b/user/opencv/fix-headers.manual-patch
new file mode 100644
index 000000000..9a3eb8542
--- /dev/null
+++ b/user/opencv/fix-headers.manual-patch
@@ -0,0 +1,12 @@
+Required header for GCC 13.
+
+--- opencv-4.6.0/build/3rdparty/ade/ade-0.1.1f/sources/ade/include/ade/typed_graph.hpp.old 2019-08-07 03:55:16.000000000 -0500
++++ opencv-4.6.0/build/3rdparty/ade/ade-0.1.1f/sources/ade/include/ade/typed_graph.hpp 2024-05-28 16:39:53.217246004 -0500
+@@ -11,6 +11,7 @@
+
+ #include <unordered_set>
+ #include <string>
++#include <cstdint>
+
+ #include <array>
+