diff options
Diffstat (limited to 'user/opencv')
-rw-r--r-- | user/opencv/APKBUILD | 32 | ||||
-rw-r--r-- | user/opencv/CVE-2019-16249.patch | 57 | ||||
-rw-r--r-- | user/opencv/fix-headers.manual-patch | 12 |
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> + |