commit:     20876cac2bee175d06017b2ea32ae562d3483faf
Author:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 10 16:11:58 2019 +0000
Commit:     Alexis Ballier <aballier <AT> gentoo <DOT> org>
CommitDate: Tue Dec 10 17:34:46 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=20876cac

dev-ros/image_publisher: fix build with opencv 4

Package-Manager: Portage-2.3.81, Repoman-2.3.20
Signed-off-by: Alexis Ballier <aballier <AT> gentoo.org>

 dev-ros/image_publisher/files/ocv4.patch           | 44 ++++++++++++++++++++++
 .../image_publisher/image_publisher-1.13.0.ebuild  |  3 +-
 2 files changed, 46 insertions(+), 1 deletion(-)

diff --git a/dev-ros/image_publisher/files/ocv4.patch 
b/dev-ros/image_publisher/files/ocv4.patch
new file mode 100644
index 00000000000..12baac2d847
--- /dev/null
+++ b/dev-ros/image_publisher/files/ocv4.patch
@@ -0,0 +1,44 @@
+Index: image_publisher/CMakeLists.txt
+===================================================================
+--- image_publisher.orig/CMakeLists.txt
++++ image_publisher/CMakeLists.txt
+@@ -10,7 +10,7 @@ message(STATUS "opencv version ${OpenCV_
+ if(OpenCV_VERSION VERSION_LESS "3.0.0")
+   find_package(OpenCV 2 REQUIRED COMPONENTS ${opencv_2_components})  
+ else()
+-  find_package(OpenCV 3 REQUIRED COMPONENTS ${opencv_3_components})  
++  find_package(OpenCV REQUIRED COMPONENTS ${opencv_3_components})  
+ endif()
+ 
+ # generate the dynamic_reconfigure config file
+Index: image_publisher/src/nodelet/image_publisher_nodelet.cpp
+===================================================================
+--- image_publisher.orig/src/nodelet/image_publisher_nodelet.cpp
++++ image_publisher/src/nodelet/image_publisher_nodelet.cpp
+@@ -95,7 +95,7 @@ class ImagePublisherNodelet : public nod
+     {
+       if ( cap_.isOpened() ) {
+         if ( ! cap_.read(image_) ) {
+-          cap_.set(CV_CAP_PROP_POS_FRAMES, 0);
++          cap_.set(cv::CAP_PROP_POS_FRAMES, 0);
+         }
+       }
+       if (flip_image_)
+@@ -136,7 +136,7 @@ public:
+     nh_.param("filename", filename_, std::string(""));
+     NODELET_INFO("File name for publishing image is : %s", filename_.c_str());
+     try {
+-      image_ = cv::imread(filename_, CV_LOAD_IMAGE_COLOR);
++      image_ = cv::imread(filename_, cv::IMREAD_COLOR);
+       if ( image_.empty() ) { // if filename is motion file or device file
+         try {  // if filename is number
+           int num = boost::lexical_cast<int>(filename_);//num is 1234798797
+@@ -146,7 +146,7 @@ public:
+         }
+         CV_Assert(cap_.isOpened());
+         cap_.read(image_);
+-        cap_.set(CV_CAP_PROP_POS_FRAMES, 0);
++        cap_.set(cv::CAP_PROP_POS_FRAMES, 0);
+       }
+       CV_Assert(!image_.empty());
+     }

diff --git a/dev-ros/image_publisher/image_publisher-1.13.0.ebuild 
b/dev-ros/image_publisher/image_publisher-1.13.0.ebuild
index 98088db1be9..dd6ff1f0df2 100644
--- a/dev-ros/image_publisher/image_publisher-1.13.0.ebuild
+++ b/dev-ros/image_publisher/image_publisher-1.13.0.ebuild
@@ -16,7 +16,7 @@ IUSE=""
 
 RDEPEND="
        dev-ros/cv_bridge
-       media-libs/opencv:=
+       >=media-libs/opencv-4:=
        dev-ros/dynamic_reconfigure
        dev-ros/camera_info_manager
        dev-ros/image_transport
@@ -27,3 +27,4 @@ RDEPEND="
        dev-libs/boost:=
 "
 DEPEND="${RDEPEND}"
+PATCHES=( "${FILESDIR}/ocv4.patch" )

Reply via email to