commit:     f24748fc142e1a02eea3423e22c239133f909deb
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 28 11:56:32 2017 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sat Oct 28 12:17:15 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f24748fc

media-libs/mlt: Fix build w/ opencv-3.3

Thanks-to: Serge Gavrilov <serge <AT> pdmi.ras.ru>
Gentoo-bug: https://bugs.gentoo.org/631714
Package-Manager: Portage-2.3.13, Repoman-2.3.4

 media-libs/mlt/files/mlt-6.4.1-opencv-3.3.patch | 33 +++++++++++++++++++++++++
 media-libs/mlt/mlt-6.4.1-r3.ebuild              |  1 +
 2 files changed, 34 insertions(+)

diff --git a/media-libs/mlt/files/mlt-6.4.1-opencv-3.3.patch 
b/media-libs/mlt/files/mlt-6.4.1-opencv-3.3.patch
new file mode 100644
index 00000000000..0a3732da2e3
--- /dev/null
+++ b/media-libs/mlt/files/mlt-6.4.1-opencv-3.3.patch
@@ -0,0 +1,33 @@
+From 622ff3acf6256739bd547ade1ceca0e6df5022e6 Mon Sep 17 00:00:00 2001
+From: BoboopTeam <boboopt...@users.noreply.github.com>
+Date: Thu, 7 Sep 2017 22:14:48 +0200
+Subject: [PATCH] module: opencv: Remove deleted cv::Tracker::create()
+
+This static method is no longer present in OpenCV API, this workaround should 
fix compilation against OpenCV 3.3.0 and newer
+---
+ src/modules/opencv/filter_opencv_tracker.cpp | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/src/modules/opencv/filter_opencv_tracker.cpp 
b/src/modules/opencv/filter_opencv_tracker.cpp
+index 48ffb56b..3cfc07d2 100644
+--- a/src/modules/opencv/filter_opencv_tracker.cpp
++++ b/src/modules/opencv/filter_opencv_tracker.cpp
+@@ -111,11 +111,15 @@ static void analyze( mlt_filter filter, cv::Mat cvFrame, 
private_data* data, int
+               data->algo = mlt_properties_get( filter_properties, "algo" );
+                 if ( data->algo == NULL || !strcmp(data->algo, "" ) )
+                 {
+-                      data->tracker = cv::Tracker::create( "KCF" );
++                      data->tracker = cv::TrackerKCF::create();
++              }
++              else if (!strcmp(data->algo, "MIL" ))
++              {
++                      data->tracker = cv::TrackerMIL::create();
+               }
+               else
+-                {
+-                      data->tracker = cv::Tracker::create( data->algo );
++              {
++                      data->tracker = cv::TrackerBoosting::create();
+               }
+ 
+               // Discard previous results

diff --git a/media-libs/mlt/mlt-6.4.1-r3.ebuild 
b/media-libs/mlt/mlt-6.4.1-r3.ebuild
index 0e847602b09..68c20792d6f 100644
--- a/media-libs/mlt/mlt-6.4.1-r3.ebuild
+++ b/media-libs/mlt/mlt-6.4.1-r3.ebuild
@@ -86,6 +86,7 @@ RDEPEND="${COMMON_DEPEND}
 PATCHES=(
        "${FILESDIR}"/${PN}-6.2.0-ruby-link.patch
        "${FILESDIR}"/${P}-libebur128-unbundle.patch
+       "${FILESDIR}"/${P}-opencv-3.3.patch
 )
 
 pkg_setup() {

Reply via email to