summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-libs/ViSP')
-rw-r--r--sci-libs/ViSP/Manifest1
-rw-r--r--sci-libs/ViSP/ViSP-2.10.0.ebuild88
-rw-r--r--sci-libs/ViSP/files/opencv.patch13
-rw-r--r--sci-libs/ViSP/files/opencv3.patch67
-rw-r--r--sci-libs/ViSP/metadata.xml25
5 files changed, 194 insertions, 0 deletions
diff --git a/sci-libs/ViSP/Manifest b/sci-libs/ViSP/Manifest
new file mode 100644
index 000000000000..ee4b922b24ac
--- /dev/null
+++ b/sci-libs/ViSP/Manifest
@@ -0,0 +1 @@
+DIST ViSP-2.10.0.tar.gz 20745399 SHA256 1c8a37cadd0012526be9ceaa182eb21fb0d45aac622a1f0f2d255225e85797aa SHA512 485bad6aea1dddf51c1edd162e22f5f00205947b67b57843207902ea3b97b683828031338282861be495d66cc79bde3a7af09c075aa9c6b783652d5d3bd4f9ef WHIRLPOOL d3d7e29076231fd581346f7de37ef49afed22f48198673d08268b1a298121d8a9bd8a9bc6e34cf2a5655cf45575599b09c5cb56e78961340122ca6f95ee275e3
diff --git a/sci-libs/ViSP/ViSP-2.10.0.ebuild b/sci-libs/ViSP/ViSP-2.10.0.ebuild
new file mode 100644
index 000000000000..9bc5ac3e2a0c
--- /dev/null
+++ b/sci-libs/ViSP/ViSP-2.10.0.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit cmake-utils
+
+DESCRIPTION="Visual Servoing Platform: visual tracking and visual servoing library"
+HOMEPAGE="http://www.irisa.fr/lagadic/visp/visp.html"
+SRC_URI="http://gforge.inria.fr/frs/download.php/latestfile/475/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm"
+IUSE="
+ demos +dmtx doc examples ffmpeg gsl ieee1394 jpeg lapack ogre ois opencv png
+ test tutorials usb v4l X xml +zbar zlib
+"
+
+RDEPEND="
+ dmtx? ( media-libs/libdmtx )
+ ffmpeg? ( virtual/ffmpeg )
+ gsl? ( sci-libs/gsl )
+ ieee1394? ( media-libs/libdc1394 )
+ jpeg? ( virtual/jpeg:0 )
+ lapack? ( virtual/lapack )
+ ogre? ( dev-games/ogre[ois?] dev-libs/boost:=[threads] )
+ opencv? ( media-libs/opencv )
+ png? ( media-libs/libpng:0= )
+ usb? ( virtual/libusb:1 )
+ v4l? ( media-libs/libv4l )
+ X? ( x11-libs/libX11 )
+ xml? ( dev-libs/libxml2 )
+ zbar? ( media-gfx/zbar )
+ zlib? ( sys-libs/zlib )
+"
+DEPEND="${RDEPEND}
+ doc? ( app-doc/doxygen virtual/latex-base media-gfx/graphviz )
+ virtual/pkgconfig
+ test? ( sci-misc/ViSP-images )
+ v4l? ( virtual/os-headers )"
+RDEPEND="${RDEPEND}
+ demos? ( sci-misc/ViSP-images )"
+REQUIRED_USE="ffmpeg? ( opencv ) ois? ( ogre )"
+PATCHES=( "${FILESDIR}/opencv.patch" "${FILESDIR}/opencv3.patch" )
+
+src_configure() {
+ local mycmakeargs=(
+ "-DBUILD_EXAMPLES=$(usex examples ON OFF)"
+ "-DBUILD_TESTS=$(usex test ON OFF)"
+ "-DBUILD_DEMOS=$(usex demos ON OFF)"
+ "-DBUILD_TUTORIALS=$(usex tutorials ON OFF)"
+ "-DUSE_V4L2=$(usex v4l ON OFF)"
+ "-DUSE_DC1394=$(usex ieee1394 ON OFF)"
+ "-DUSE_LAPACK=$(usex lapack ON OFF)"
+ "-DUSE_GSL=$(usex gsl ON OFF)"
+ "-DUSE_OGRE=$(usex ogre ON OFF)"
+ "-DUSE_OIS=$(usex ois ON OFF)"
+ "-DUSE_LIBUSB_1=$(usex usb ON OFF)"
+ "-DUSE_XML2=$(usex xml ON OFF)"
+ "-DUSE_OPENCV=$(usex opencv ON OFF)"
+ "-DUSE_ZLIB=$(usex zlib ON OFF)"
+ "-DUSE_X11=$(usex X ON OFF)"
+ "-DUSE_LIBJPEG=$(usex jpeg ON OFF)"
+ "-DUSE_LIBPNG=$(usex png ON OFF)"
+ "-DUSE_FFMPEG=$(usex ffmpeg ON OFF)"
+ "-DUSE_ZBAR=$(usex zbar ON OFF)"
+ "-DUSE_DMTX=$(usex dmtx ON OFF)"
+ )
+ cmake-utils_src_configure
+}
+
+src_compile() {
+ cmake-utils_src_compile
+ cd "${BUILD_DIR}"
+ use doc && emake visp_doc
+}
+
+src_install() {
+ cmake-utils_src_install
+ if use tutorials ; then
+ dodoc -r tutorial
+ docompress -x /usr/share/doc/${PF}/tutorial
+ fi
+ cd "${BUILD_DIR}"
+ use doc && dohtml -r doc/html/*
+}
diff --git a/sci-libs/ViSP/files/opencv.patch b/sci-libs/ViSP/files/opencv.patch
new file mode 100644
index 000000000000..c8cafe0a5c97
--- /dev/null
+++ b/sci-libs/ViSP/files/opencv.patch
@@ -0,0 +1,13 @@
+Index: ViSP-2.10.0/CMakeLists.txt
+===================================================================
+--- ViSP-2.10.0.orig/CMakeLists.txt
++++ ViSP-2.10.0/CMakeLists.txt
+@@ -1450,7 +1450,7 @@ if(USE_OPENCV)
+ list(APPEND VISP_EXTERN_LIBRARIES ${OpenCV_LIBS})
+ endif()
+ list(APPEND VISP_EXTERN_INCLUDE_DIRS ${OpenCV_INCLUDE_DIRS})
+- #LIST(APPEND VISP_EXTERN_LIBRARIES ${OpenCV_LIBS})
++ LIST(APPEND VISP_EXTERN_LIBRARIES ${OpenCV_LIBRARIES})
+ #MESSAGE("OpenCV_INCLUDE_DIRS = ${OpenCV_INCLUDE_DIRS}")
+ #MESSAGE("OpenCV_LIBS = ${OpenCV_LIBS}")
+ #MESSAGE("OpenCV_LIB_DIR = ${OpenCV_LIB_DIR}")
diff --git a/sci-libs/ViSP/files/opencv3.patch b/sci-libs/ViSP/files/opencv3.patch
new file mode 100644
index 000000000000..8f7f9ee269cd
--- /dev/null
+++ b/sci-libs/ViSP/files/opencv3.patch
@@ -0,0 +1,67 @@
+Index: ViSP-2.10.0/src/key-point/vpKeyPoint.h
+===================================================================
+--- ViSP-2.10.0.orig/src/key-point/vpKeyPoint.h
++++ ViSP-2.10.0/src/key-point/vpKeyPoint.h
+@@ -494,6 +494,7 @@ public:
+ initDetector(detectorName);
+ }
+
++#if (VISP_HAVE_OPENCV_VERSION >= 0x020400 && VISP_HAVE_OPENCV_VERSION < 0x030000)
+ /*!
+ Template function to set to a \p parameterName a value for a specific detector named by his \p detectorName.
+
+@@ -507,6 +508,7 @@ public:
+ m_detectors[detectorName]->set(parameterName, value);
+ }
+ }
++#endif
+
+ /*!
+ Set and initialize a list of detectors denominated by their names \p detectorNames.
+@@ -532,6 +534,7 @@ public:
+ initExtractor(extractorName);
+ }
+
++#if (VISP_HAVE_OPENCV_VERSION >= 0x020400 && VISP_HAVE_OPENCV_VERSION < 0x030000)
+ /*!
+ Template function to set to a \p parameterName a value for a specific extractor named by his \p extractorName.
+
+@@ -545,6 +548,7 @@ public:
+ m_extractors[extractorName]->set(parameterName, value);
+ }
+ }
++#endif
+
+ /*!
+ Set and initialize a list of extractors denominated by their names \p extractorNames.
+@@ -700,7 +704,7 @@ public:
+ m_useAffineDetection = useAffine;
+ }
+
+-#if (VISP_HAVE_OPENCV_VERSION >= 0x020400)
++#if (VISP_HAVE_OPENCV_VERSION >= 0x020400 && VISP_HAVE_OPENCV_VERSION < 0x030000)
+ /*!
+ Set if cross check method must be used to eliminate some false matches with a brute-force matching method.
+
+Index: ViSP-2.10.0/src/key-point/vpKeyPoint.cpp
+===================================================================
+--- ViSP-2.10.0.orig/src/key-point/vpKeyPoint.cpp
++++ ViSP-2.10.0/src/key-point/vpKeyPoint.cpp
+@@ -868,7 +868,7 @@ void vpKeyPoint::detect(const vpImage<un
+ (int) rectangle.getBottom());
+ cv::rectangle(mask, leftTop, rightBottom, cv::Scalar(255), CV_FILLED);
+ } else {
+- mask = cv::Mat::ones(matImg.rows, matImg.cols, CV_8U);
++ mask = cv::Mat::ones(matImg.rows, matImg.cols, CV_8U) * 255;
+ }
+
+ detect(matImg, keyPoints, elapsedTime, mask);
+@@ -1544,7 +1544,7 @@ void vpKeyPoint::initExtractors(const st
+ void vpKeyPoint::initMatcher(const std::string &matcherName) {
+ m_matcher = cv::DescriptorMatcher::create(matcherName);
+
+-#if (VISP_HAVE_OPENCV_VERSION >= 0x020400)
++#if (VISP_HAVE_OPENCV_VERSION >= 0x020400 && VISP_HAVE_OPENCV_VERSION < 0x030000)
+ if(m_matcher != NULL && !m_useKnn && matcherName == "BruteForce") {
+ m_matcher->set("crossCheck", m_useBruteForceCrossCheck);
+ }
diff --git a/sci-libs/ViSP/metadata.xml b/sci-libs/ViSP/metadata.xml
new file mode 100644
index 000000000000..6e275638c4ce
--- /dev/null
+++ b/sci-libs/ViSP/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+<email>aballier@gentoo.org</email>
+<name>Alexis Ballier</name>
+</maintainer>
+<use>
+ <flag name="dmtx">Enables barcode data matrix support.</flag>
+ <flag name="demos">Installs demo programs.</flag>
+ <flag name="ogre">Enables <pkg>dev-games/ogre</pkg> support.</flag>
+ <flag name="ois">Enables <pkg>dev-games/ois</pkg> support via ogre.</flag>
+ <flag name="opencv">Enables <pkg>media-libs/opencv</pkg> support.</flag>
+ <flag name="tutorials">Installs tutorials.</flag>
+ <flag name="zbar">Enables barcodes reading.</flag>
+</use>
+<longdescription lang="en">
+ ViSP standing for Visual Servoing Platform is a modular cross platform library that allows prototyping and developing applications using visual tracking and visual servoing technics at the heart of the researches done by Inria Lagadic team.
+ ViSP is able to compute control laws that can be applied to robotic systems.
+ It provides a set of visual features that can be tracked using real time image processing or computer vision algorithms.
+ ViSP provides also simulation capabilities.
+
+ ViSP can be useful in robotics, computer vision, augmented reality and computer animation.
+</longdescription>
+</pkgmetadata>