diff options
-rw-r--r-- | sci-libs/ViSP/Manifest | 2 | ||||
-rw-r--r-- | sci-libs/ViSP/ViSP-3.0.1-r1.ebuild | 106 | ||||
-rw-r--r-- | sci-libs/ViSP/ViSP-3.1.0-r1.ebuild | 103 | ||||
-rw-r--r-- | sci-libs/ViSP/files/ViSP-3.0.0-ffmpeg3.patch | 78 | ||||
-rw-r--r-- | sci-libs/ViSP/files/ViSP-3.0.1-opencv.patch | 12 | ||||
-rw-r--r-- | sci-libs/ViSP/metadata.xml | 26 |
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> |