summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sci-libs/ViSP/Manifest2
-rw-r--r--sci-libs/ViSP/ViSP-3.0.1-r1.ebuild106
-rw-r--r--sci-libs/ViSP/ViSP-3.1.0-r1.ebuild103
-rw-r--r--sci-libs/ViSP/files/ViSP-3.0.0-ffmpeg3.patch78
-rw-r--r--sci-libs/ViSP/files/ViSP-3.0.1-opencv.patch12
-rw-r--r--sci-libs/ViSP/metadata.xml26
6 files changed, 327 insertions, 0 deletions
diff --git a/sci-libs/ViSP/Manifest b/sci-libs/ViSP/Manifest
new file mode 100644
index 0000000..0e36d5d
--- /dev/null
+++ b/sci-libs/ViSP/Manifest
@@ -0,0 +1,2 @@
+DIST visp-3.0.1.tar.gz 26029005 SHA256 8aefd21f30dd4f6d210c59c28704f9e3adf874e3337571a3ae65a65946c94326 SHA512 558e9acbd7ac5ef2193dca026062b75e0a30a7efbcae7d1e7d392b0855e643ee96ab9f60c19465f6bfa861374e30d9e91faf2f860e0442fa48ea5ea384b4e3fa WHIRLPOOL ae3bbdbf580826fe392d372014d1e53db0bbdf53bdc4d2a631a2fa53b4991bc8f715eb428e1f8ba3c44574b5e81d2b3893da1b6bfc2084e538d656d073955348
+DIST visp-3.1.0.tar.gz 38743434 SHA256 2a1df8195b06f9a057bd4c7d987697be2fdcc9d169e8d550fcf68e5d7f129d96 SHA512 b7d56d3286e3610ff0db4f4c3a51f953825578532a9c518f7654142a644f466343660901632487fb513b0f6a6503d3716d56e733830b4d52daf5839bc1cfbdb5 WHIRLPOOL 21ef1edce8569a10d1eb68a67f6fca4fcb107f496b27e12038605c60d42804d922a3bcb37e0f850e63d0d939b23758c5144a0d72f167af16fd57404175e13684
diff --git a/sci-libs/ViSP/ViSP-3.0.1-r1.ebuild b/sci-libs/ViSP/ViSP-3.0.1-r1.ebuild
new file mode 100644
index 0000000..21d7bf7
--- /dev/null
+++ b/sci-libs/ViSP/ViSP-3.0.1-r1.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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/visp-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0/3"
+KEYWORDS="~amd64 ~arm"
+IUSE="
+ +coin demos +dmtx doc examples ffmpeg gsl ieee1394 jpeg lapack motif ogre
+ ois opencv png test tutorials usb v4l X xml +zbar zlib
+ cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3
+"
+
+RDEPEND="
+ coin? ( media-libs/coin virtual/opengl )
+ dmtx? ( media-libs/libdmtx )
+ ffmpeg? ( virtual/ffmpeg )
+ gsl? ( sci-libs/gsl )
+ ieee1394? ( media-libs/libdc1394 )
+ jpeg? ( virtual/jpeg:0 )
+ lapack? ( virtual/lapack )
+ motif? ( media-libs/SoXt )
+ ogre? ( || ( <dev-games/ogre-1.10[ois?]
+ >=dev-games/ogre-1.10 )
+ 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 )
+ motif? ( coin )
+"
+
+S="${WORKDIR}/visp-${PV}"
+PATCHES=( "${FILESDIR}/${PN}-3.0.1-opencv.patch" "${FILESDIR}/${PN}-3.0.0-ffmpeg3.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_COIN3D=$(usex coin ON OFF)"
+ "-DUSE_DC1394=$(usex ieee1394 ON OFF)"
+ "-DUSE_DMTX=$(usex dmtx ON OFF)"
+ "-DUSE_FFMPEG=$(usex ffmpeg ON OFF)"
+ "-DUSE_GSL=$(usex gsl ON OFF)"
+ "-DUSE_LAPACK=$(usex lapack ON OFF)"
+ "-DUSE_JPEG=$(usex jpeg ON OFF)"
+ "-DUSE_PNG=$(usex png ON OFF)"
+ "-DUSE_LIBUSB_1=$(usex usb ON OFF)"
+ "-DUSE_OGRE=$(usex ogre ON OFF)"
+ "-DUSE_OIS=$(usex ois ON OFF)"
+ "-DUSE_OPENCV=$(usex opencv ON OFF)"
+ "-DUSE_SOQT=OFF"
+ "-DUSE_SOXT=$(usex motif ON OFF)"
+ "-DUSE_V4L2=$(usex v4l ON OFF)"
+ "-DUSE_X11=$(usex X ON OFF)"
+ "-DUSE_XML2=$(usex xml ON OFF)"
+ "-DUSE_ZBAR=$(usex zbar ON OFF)"
+ "-DUSE_ZLIB=$(usex zlib ON OFF)"
+ "-DCOIN3D_INCLUDE_DIR=${EPREFIX:-${SYSROOT}}/usr/include/coin"
+ "-DSOQT_INCLUDE_DIR=${EPREFIX:-${SYSROOT}}/usr/include/coin"
+ "-DENABLE_SSE2=$(usex cpu_flags_x86_sse2 ON OFF)"
+ "-DENABLE_SSE3=$(usex cpu_flags_x86_sse3 ON OFF)"
+ "-DENABLE_SSSE3=$(usex cpu_flags_x86_ssse3 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/ViSP-3.1.0-r1.ebuild b/sci-libs/ViSP/ViSP-3.1.0-r1.ebuild
new file mode 100644
index 0000000..f701e5a
--- /dev/null
+++ b/sci-libs/ViSP/ViSP-3.1.0-r1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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/visp-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0/3.1"
+KEYWORDS="~amd64 ~arm"
+IUSE="
+ +coin demos +dmtx doc examples gsl ieee1394 jpeg lapack motif ogre
+ ois opencv png test tutorials usb v4l X xml +zbar zlib
+ cpu_flags_x86_sse2 cpu_flags_x86_sse3 cpu_flags_x86_ssse3
+"
+
+RDEPEND="
+ coin? ( media-libs/coin virtual/opengl )
+ dmtx? ( media-libs/libdmtx )
+ gsl? ( sci-libs/gsl )
+ ieee1394? ( media-libs/libdc1394 )
+ jpeg? ( virtual/jpeg:0 )
+ lapack? ( virtual/lapack )
+ motif? ( media-libs/SoXt )
+ ogre? ( || ( <dev-games/ogre-1.10[ois?]
+ >=dev-games/ogre-1.10 )
+ 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="
+ ois? ( ogre )
+ motif? ( coin )
+"
+
+S="${WORKDIR}/visp-${PV}"
+PATCHES=( "${FILESDIR}/${PN}-3.0.1-opencv.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_COIN3D=$(usex coin ON OFF)"
+ "-DUSE_DC1394=$(usex ieee1394 ON OFF)"
+ "-DUSE_DMTX=$(usex dmtx ON OFF)"
+ "-DUSE_GSL=$(usex gsl ON OFF)"
+ "-DUSE_LAPACK=$(usex lapack ON OFF)"
+ "-DUSE_JPEG=$(usex jpeg ON OFF)"
+ "-DUSE_PNG=$(usex png ON OFF)"
+ "-DUSE_LIBUSB_1=$(usex usb ON OFF)"
+ "-DUSE_OGRE=$(usex ogre ON OFF)"
+ "-DUSE_OIS=$(usex ois ON OFF)"
+ "-DUSE_OPENCV=$(usex opencv ON OFF)"
+ "-DUSE_SOQT=OFF"
+ "-DUSE_SOXT=$(usex motif ON OFF)"
+ "-DUSE_V4L2=$(usex v4l ON OFF)"
+ "-DUSE_X11=$(usex X ON OFF)"
+ "-DUSE_XML2=$(usex xml ON OFF)"
+ "-DUSE_ZBAR=$(usex zbar ON OFF)"
+ "-DUSE_ZLIB=$(usex zlib ON OFF)"
+ "-DCOIN3D_INCLUDE_DIR=${EPREFIX:-${SYSROOT}}/usr/include/coin"
+ "-DSOQT_INCLUDE_DIR=${EPREFIX:-${SYSROOT}}/usr/include/coin"
+ "-DENABLE_SSE2=$(usex cpu_flags_x86_sse2 ON OFF)"
+ "-DENABLE_SSE3=$(usex cpu_flags_x86_sse3 ON OFF)"
+ "-DENABLE_SSSE3=$(usex cpu_flags_x86_ssse3 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/ViSP-3.0.0-ffmpeg3.patch b/sci-libs/ViSP/files/ViSP-3.0.0-ffmpeg3.patch
new file mode 100644
index 0000000..8fd3c8b
--- /dev/null
+++ b/sci-libs/ViSP/files/ViSP-3.0.0-ffmpeg3.patch
@@ -0,0 +1,78 @@
+Index: visp-3.0.0/modules/io/src/video/vpFFMPEG.cpp
+===================================================================
+--- visp-3.0.0.orig/modules/io/src/video/vpFFMPEG.cpp
++++ visp-3.0.0/modules/io/src/video/vpFFMPEG.cpp
+@@ -180,7 +180,7 @@ bool vpFFMPEG::openStream(const char *fi
+ if (pFrameRGB == NULL)
+ return false;
+
+- numBytes = avpicture_get_size (PIX_FMT_RGB24,pCodecCtx->width,pCodecCtx->height);
++ numBytes = avpicture_get_size (AV_PIX_FMT_RGB24,pCodecCtx->width,pCodecCtx->height);
+ }
+
+ else if (color_type == vpFFMPEG::GRAY_SCALED)
+@@ -194,7 +194,7 @@ bool vpFFMPEG::openStream(const char *fi
+ if (pFrameGRAY == NULL)
+ return false;
+
+- numBytes = avpicture_get_size (PIX_FMT_GRAY8,pCodecCtx->width,pCodecCtx->height);
++ numBytes = avpicture_get_size (AV_PIX_FMT_GRAY8,pCodecCtx->width,pCodecCtx->height);
+ }
+
+ /*
+@@ -211,10 +211,10 @@ bool vpFFMPEG::openStream(const char *fi
+ }
+
+ if (color_type == vpFFMPEG::COLORED)
+- avpicture_fill((AVPicture *)pFrameRGB, buffer, PIX_FMT_RGB24, pCodecCtx->width, pCodecCtx->height);
++ avpicture_fill((AVPicture *)pFrameRGB, buffer, AV_PIX_FMT_RGB24, pCodecCtx->width, pCodecCtx->height);
+
+ else if (color_type == vpFFMPEG::GRAY_SCALED)
+- avpicture_fill((AVPicture *)pFrameGRAY, buffer, PIX_FMT_GRAY8, pCodecCtx->width, pCodecCtx->height);
++ avpicture_fill((AVPicture *)pFrameGRAY, buffer, AV_PIX_FMT_GRAY8, pCodecCtx->width, pCodecCtx->height);
+
+ streamWasOpen = true;
+
+@@ -231,10 +231,10 @@ bool vpFFMPEG::openStream(const char *fi
+ bool vpFFMPEG::initStream()
+ {
+ if (color_type == vpFFMPEG::COLORED)
+- img_convert_ctx= sws_getContext(pCodecCtx->width, pCodecCtx->height, pCodecCtx->pix_fmt, pCodecCtx->width,pCodecCtx->height,PIX_FMT_RGB24, SWS_BICUBIC, NULL, NULL, NULL);
++ img_convert_ctx= sws_getContext(pCodecCtx->width, pCodecCtx->height, pCodecCtx->pix_fmt, pCodecCtx->width,pCodecCtx->height,AV_PIX_FMT_RGB24, SWS_BICUBIC, NULL, NULL, NULL);
+
+ else if (color_type == vpFFMPEG::GRAY_SCALED)
+- img_convert_ctx= sws_getContext(pCodecCtx->width, pCodecCtx->height, pCodecCtx->pix_fmt, pCodecCtx->width,pCodecCtx->height,PIX_FMT_GRAY8, SWS_BICUBIC, NULL, NULL, NULL);
++ img_convert_ctx= sws_getContext(pCodecCtx->width, pCodecCtx->height, pCodecCtx->pix_fmt, pCodecCtx->width,pCodecCtx->height,AV_PIX_FMT_GRAY8, SWS_BICUBIC, NULL, NULL, NULL);
+
+ int ret = av_seek_frame(pFormatCtx, (int)videoStream, 0, AVSEEK_FLAG_ANY) ;
+ if (ret < 0 )
+@@ -703,7 +703,7 @@ bool vpFFMPEG::openEncoder(const char *f
+ pCodecCtx->time_base.den = framerate_encoder;
+ pCodecCtx->gop_size = 10; /* emit one intra frame every ten frames */
+ pCodecCtx->max_b_frames=1;
+- pCodecCtx->pix_fmt = PIX_FMT_YUV420P;
++ pCodecCtx->pix_fmt = AV_PIX_FMT_YUV420P;
+
+ /* open it */
+ #if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(53,35,0) // libavcodec 53.35.0
+@@ -726,15 +726,15 @@ bool vpFFMPEG::openEncoder(const char *f
+ outbuf_size = 100000;
+ outbuf = new uint8_t[outbuf_size];
+
+- numBytes = avpicture_get_size (PIX_FMT_YUV420P,pCodecCtx->width,pCodecCtx->height);
++ numBytes = avpicture_get_size (AV_PIX_FMT_YUV420P,pCodecCtx->width,pCodecCtx->height);
+ picture_buf = new uint8_t[numBytes];
+- avpicture_fill((AVPicture *)pFrame, picture_buf, PIX_FMT_YUV420P, pCodecCtx->width, pCodecCtx->height);
++ avpicture_fill((AVPicture *)pFrame, picture_buf, AV_PIX_FMT_YUV420P, pCodecCtx->width, pCodecCtx->height);
+
+- numBytes = avpicture_get_size (PIX_FMT_RGB24,pCodecCtx->width,pCodecCtx->height);
++ numBytes = avpicture_get_size (AV_PIX_FMT_RGB24,pCodecCtx->width,pCodecCtx->height);
+ buffer = new uint8_t[numBytes];
+- avpicture_fill((AVPicture *)pFrameRGB, buffer, PIX_FMT_RGB24, pCodecCtx->width, pCodecCtx->height);
++ avpicture_fill((AVPicture *)pFrameRGB, buffer, AV_PIX_FMT_RGB24, pCodecCtx->width, pCodecCtx->height);
+
+- img_convert_ctx= sws_getContext(pCodecCtx->width, pCodecCtx->height, PIX_FMT_RGB24, pCodecCtx->width,pCodecCtx->height,PIX_FMT_YUV420P, SWS_BICUBIC, NULL, NULL, NULL);
++ img_convert_ctx= sws_getContext(pCodecCtx->width, pCodecCtx->height, AV_PIX_FMT_RGB24, pCodecCtx->width,pCodecCtx->height,AV_PIX_FMT_YUV420P, SWS_BICUBIC, NULL, NULL, NULL);
+
+ encoderWasOpened = true;
+
diff --git a/sci-libs/ViSP/files/ViSP-3.0.1-opencv.patch b/sci-libs/ViSP/files/ViSP-3.0.1-opencv.patch
new file mode 100644
index 0000000..c50dcb6
--- /dev/null
+++ b/sci-libs/ViSP/files/ViSP-3.0.1-opencv.patch
@@ -0,0 +1,12 @@
+Index: visp-3.0.1/modules/core/CMakeLists.txt
+===================================================================
+--- visp-3.0.1.orig/modules/core/CMakeLists.txt
++++ visp-3.0.1/modules/core/CMakeLists.txt
+@@ -182,6 +182,7 @@ if(USE_OPENCV)
+ if(OpenCV_INCLUDE_DIRS)
+ list(APPEND opt_incs ${OpenCV_INCLUDE_DIRS})
+ endif()
++ list(APPEND opt_libs ${OpenCV_LIBS})
+ endif(USE_OPENCV)
+
+ if(USE_YARP)
diff --git a/sci-libs/ViSP/metadata.xml b/sci-libs/ViSP/metadata.xml
new file mode 100644
index 0000000..772241d
--- /dev/null
+++ b/sci-libs/ViSP/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>aballier@gentoo.org</email>
+ <name>Alexis Ballier</name>
+ </maintainer>
+ <use>
+ <flag name="coin">Enables Coin3D support.</flag>
+ <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>