diff options
Diffstat (limited to 'media-video/bino')
-rw-r--r-- | media-video/bino/Manifest | 8 | ||||
-rw-r--r-- | media-video/bino/bino-1.6.1-r2.ebuild | 76 | ||||
-rw-r--r-- | media-video/bino/files/bino-1.4.2-lirc-detect.patch | 35 | ||||
-rw-r--r-- | media-video/bino/files/bino.html | 24 | ||||
-rw-r--r-- | media-video/bino/files/ffmpeg_2.9.patch | 133 | ||||
-rw-r--r-- | media-video/bino/metadata.xml | 17 |
6 files changed, 293 insertions, 0 deletions
diff --git a/media-video/bino/Manifest b/media-video/bino/Manifest new file mode 100644 index 000000000000..d123ce263fa2 --- /dev/null +++ b/media-video/bino/Manifest @@ -0,0 +1,8 @@ +AUX bino-1.4.2-lirc-detect.patch 1532 SHA256 bb3cc5f249123bf60e10e6145b4fbea01866ff511fdcf87f6c80c54fb4c04fc7 SHA512 f332b468b70cc5de1c9928609ae61710e988c72347e3bf0a935817948d9bd7d252b4727e87fb6f13b59198bf71edd756e7c7ce9fd8051503a3dbed74be1ce298 WHIRLPOOL 983496c107529c616cfc264d2792fd484b9f7fe478d735d52cd4b72117b34e343c1dc96190155f052abd40fd3230abff928e35682071155a2c551d819ae26dd9 +AUX bino.html 658 SHA256 4f7988d9bf6a49dfce58a60a9178355d6b1fc56eb77e8663aa79954ea71669d2 SHA512 c4861b4536ebc08fd9a68a9b8d420b323eb16ab057b74a83fd56c5c4e0c1f7c4fc7665a0933eabf58e5eca7c38206597e7b6ddb99722054804a64821950f23be WHIRLPOOL 5bb3f29c776f76233c51b899eb43d1565ed57202c3a1141fd00dfb34013ff48e054bdd23c7a8d43344cb9bfd7f245381ecad628f59268ddf1a602421320d9ee3 +AUX ffmpeg_2.9.patch 8244 SHA256 fd19f99d5397422e919bd37de7f42dcb5c2ae60353f5bf2eb8ec7f967e3082fa SHA512 3248e42632cbc0e61615f15d7948733d697c6560a485da3c99f126bdbd10d6af40669d6c6795dc49a000f1e092a7063334c7b16554178877e0469fe6270d3bfd WHIRLPOOL debb6c7f5da20122ec556a75ecdd336398c8a05931bb14a8a71ec57bcf7676fb59894ca16616a6b885052779bb67c8d27bb716c7d4c58a823ea208f783979b20 +DIST bino-1.6.1.tar.xz 814212 SHA256 f6e4b07a8e9ff6c929da6200d4ddd1482c46d4aa8516b18ff1c3c193edecc937 SHA512 5c0951f17cf9db37a4bd759aacbd4f3ef1a865499c893ca9c4c3a3775193560234aff9a5b12bc6fc012b987d3bd73264c5a5dcead562a6719f6a1019650e19af WHIRLPOOL 15b0219480d56f00fbaefe4b0935e7783929a3955d6a5632dc49b6681992e720857f09cf9c5d3ea8dd38bb7dbd56a492cbeda6af55c42f27172cb5a28c1bc176 +EBUILD bino-1.6.1-r2.ebuild 1920 SHA256 6dbaab6fa0587ee511a19133afee7df694f1c9feb149324ea4225e728be1124b SHA512 19f58814ac6d9ffde3ccf6d3fe0bb3a00b1a21f7dc25a1c65dea226a29a3dabf911936bc04826bbabc0f4d74c1884204a4ae86d79d468873a4a9d359aa29c69a WHIRLPOOL f9f6042ecd13f5676a7c0cd8de89dbe6b3c97400e8c38ef88144f28c38fd638a7ef0add69d1b1507edffda95e135f761f91ee5dfdc2334428fdea15babf90a27 +MISC ChangeLog 3245 SHA256 b63ae153a74e11c3d7a9a4a5e192271e150650a797c3408d81ae199d9912e21d SHA512 0225490bbb5da33d9bf58fae0e8e39158b9fd0dc78c22ddfa59df9fb93e12cb65614700ac7098f9c7dcff4f9726d7a1967158cc49f99efbe3ad10e029393b5cb WHIRLPOOL 952b339389d54d20b1c82b9ee753a638405374f61ee372421fbf52b940204ab76fe42a89af41af1f307b0efc7c8ef0c81a7d8544c0df0b11eec335dba4776344 +MISC ChangeLog-2015 1524 SHA256 fe2f67d068461a3a0a991b086b9dd337f53db05176b8f773dad886fb267571f5 SHA512 d2ac9eaeaf3144be3bf8b1507a9fdcd801c8a6ff0e584fd86e84f249d74ddc63261858b74e414781f69bef21df094ad85750f4553d1c17b8c925f659140c66e4 WHIRLPOOL 4ff9f6ba21568f8019de13c17d83f6cec60174c6602cc038d5d6fcedb649aca507d66a3dfa64b08b944b80ed09989bfad55d4860c694e806093f9f16bbbea7ca +MISC metadata.xml 571 SHA256 717121e3a97e1d6d6c46a32a716ec128a1533983ddb96fcaf7f14b2dda19963f SHA512 2aaecbf779b16167d1591ea253a977559c8e4d2068c5eb390b800a9b80927aa0a82a1b5d50738c609f2659176f515fc40a862d99cf68bdbebcf3d4beb5600b0b WHIRLPOOL ced955086147ec7c610ad644a9009f6f8f11696bc3841a1acd816b5cd5859ac3d7ef6c8c0fadfeeeff9907222f414bed1f939a6032f769da058716190a6bc107 diff --git a/media-video/bino/bino-1.6.1-r2.ebuild b/media-video/bino/bino-1.6.1-r2.ebuild new file mode 100644 index 000000000000..132a4ab0893d --- /dev/null +++ b/media-video/bino/bino-1.6.1-r2.ebuild @@ -0,0 +1,76 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +AUTOTOOLS_AUTORECONF="1" + +inherit autotools-utils flag-o-matic + +DESCRIPTION="Stereoscopic and multi-display media player" +HOMEPAGE="http://bino3d.org/" +SRC_URI="http://download.savannah.gnu.org/releases/${PN}/${P}.tar.xz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="amd64 x86" +IUSE="debug doc libav lirc" + +IUSE_VIDEO_CARDS=" + video_cards_nvidia" +IUSE+="${IUSE_VIDEO_CARDS}" + +LANGS="en bg de fr ru zh_CN" +for X in ${LANGS} ; do + IUSE+=" linguas_${X}" +done + +RDEPEND=">=media-libs/glew-1.6.0:0= + >=media-libs/openal-1.15.1 + dev-qt/qtgui:4 + dev-qt/qtcore:4 + dev-qt/qtopengl:4 + >=media-libs/libass-0.9.9 + libav? ( >=media-video/libav-0.7:0= ) + !libav? ( >=media-video/ffmpeg-0.7:0= ) + lirc? ( app-misc/lirc ) + video_cards_nvidia? ( || ( x11-drivers/nvidia-drivers[tools,static-libs] media-video/nvidia-settings ) ) + virtual/libintl" + +DEPEND="${RDEPEND} + sys-devel/gettext + virtual/pkgconfig" + +DOCS=( AUTHORS ChangeLog NEWS README README.Linux ) + +PATCHES=( + "${FILESDIR}/${PN}-1.4.2-lirc-detect.patch" # detect lirc + "${FILESDIR}/ffmpeg_2.9.patch" # build with latest ffmpeg, #587860 +) + +src_configure() { + local myeconfargs=( + $(use_with video_cards_nvidia xnvctrl) + $(use_with lirc liblircclient) + $(use_enable debug) + --without-equalizer + --htmldir=/usr/share/doc/${PF}/html + ) + + use video_cards_nvidia && append-cppflags "-I/usr/include/NVCtrl" \ + && append-ldflags "-L/usr/$(get_libdir)/opengl/nvidia/lib \ + -L/usr/$(get_libdir)" && append-libs "Xext" + use lirc && append-cppflags "-I/usr/include/lirc" \ + && append-libs "lirc_client" + + # Fix a compilation error because of a multiple definitions in glew + append-ldflags "-zmuldefs" + + autotools-utils_src_configure +} + +src_install() { + autotools-utils_src_install + + use doc || ( rm -rf "${D}"/usr/share/doc/${PF}/html && dohtml "${FILESDIR}/${PN}.html" ) +} diff --git a/media-video/bino/files/bino-1.4.2-lirc-detect.patch b/media-video/bino/files/bino-1.4.2-lirc-detect.patch new file mode 100644 index 000000000000..7e476e5d46d8 --- /dev/null +++ b/media-video/bino/files/bino-1.4.2-lirc-detect.patch @@ -0,0 +1,35 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -284,14 +284,30 @@ + [AS_HELP_STRING([--without-liblircclient], [Disable remote control support via liblircclient (enabled by default)])], + [if test "$withval" = "yes"; then lirc="yes"; else lirc="no"; fi], [lirc="yes"]) + if test "$lirc" = "yes"; then +- PKG_CHECK_MODULES([liblircclient], [liblircclient0 >= 0.0], [HAVE_LIBLIRCCLIENT=1], [HAVE_LIBLIRCCLIENT=0]) ++ CPPFLAGS_BAK="$CPPFLAGS" ++ CPPFLAGS="$CPPFLAGS $xliblircclient_CFLAGS" ++ AC_SUBST([liblircclient_CFLAGS]) ++ AC_CHECK_HEADERS([lirc_client.h], ++ [HAVE_LIBLIRCCLIENT=1], ++ [HAVE_LIBLIRCCLIENT=0]) ++ if test "HAVE_LIBLIRCCLIENT" = "1"; then ++ LDFLAGS_BAK="$LDFLAGS" ++ LDFLAGS="$LDFLAGS $xliblircclient_LDFLAGS" ++ AC_SUBST([liblircclient_LDFLAGS]) ++ AC_CHECK_LIB([lirc_client], ++ [lirc_deinit], ++ [HAVE_LIBLIRCCLIENT=1], ++ [HAVE_LIBLIRCCLIENT=0]) ++ LDFLAGS="$LDFLAGS_BAK" ++ fi ++ CPPFLAGS="$CPPFLAGS_BAK" + if test "$HAVE_LIBLIRCCLIENT" != "1"; then + AC_MSG_WARN([optional library liblircclient not found:]) + AC_MSG_WARN([$liblircclient_PKG_ERRORS]) + AC_MSG_WARN([liblircclient is provided by LIRC; Debian package: liblircclient-dev]) + lirc="no" + else +- LIBLIRCCLIENT_PKGCONFIG_VERSION="\"`$PKG_CONFIG --modversion liblircclient0`\"" ++ LIBLIRCCLIENT_PKGCONFIG_VERSION="\"system\"" + fi + else + HAVE_LIBLIRCCLIENT=0 diff --git a/media-video/bino/files/bino.html b/media-video/bino/files/bino.html new file mode 100644 index 000000000000..28a6982c1697 --- /dev/null +++ b/media-video/bino/files/bino.html @@ -0,0 +1,24 @@ +<html lang="en"> +<head> +<title>Bino</title> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> +<meta name="description" content="Bino"> +<meta http-equiv="Content-Style-Type" content="text/css"> +</head> + +<body> +<h1 class="settitle">Bino</h1> +<div class="node"> +<p><hr> +Up: <a rel="up" accesskey="u" href="../">(dir)</a> +</div> + +<h2 class="unnumbered">Warning</h2> + +<p>You have chosen not to install the documentation of Bino. +<p>If you want to have the documentation installed, please enable the <b>doc</b> use flag of <i>media-video/bino</i>. +<p>Alternatively you may do a: +<pre> +USE="doc" emerge media-video/bino +</pre> +</body></html> diff --git a/media-video/bino/files/ffmpeg_2.9.patch b/media-video/bino/files/ffmpeg_2.9.patch new file mode 100644 index 000000000000..c790d6e97741 --- /dev/null +++ b/media-video/bino/files/ffmpeg_2.9.patch @@ -0,0 +1,133 @@ +https://bugs.gentoo.org/show_bug.cgi?id=587860 +https://github.com/schaal/bino/blob/master/debian/patches/ffmpeg_2.9.patch + +Description: Replace deprecated FFmpeg API +Author: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> +Last-Update: <2015-11-02> + +--- bino-1.6.0.orig/src/media_object.cpp ++++ bino-1.6.0/src/media_object.cpp +@@ -427,20 +427,20 @@ void media_object::set_video_frame_templ + video_frame_template.value_range = video_frame::u8_full; + video_frame_template.chroma_location = video_frame::center; + if (!_always_convert_to_bgra32 +- && (video_codec_ctx->pix_fmt == PIX_FMT_YUV444P +- || video_codec_ctx->pix_fmt == PIX_FMT_YUV444P10 +- || video_codec_ctx->pix_fmt == PIX_FMT_YUV422P +- || video_codec_ctx->pix_fmt == PIX_FMT_YUV422P10 +- || video_codec_ctx->pix_fmt == PIX_FMT_YUV420P +- || video_codec_ctx->pix_fmt == PIX_FMT_YUV420P10)) ++ && (video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV444P ++ || video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV444P10 ++ || video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV422P ++ || video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV422P10 ++ || video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV420P ++ || video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV420P10)) + { +- if (video_codec_ctx->pix_fmt == PIX_FMT_YUV444P +- || video_codec_ctx->pix_fmt == PIX_FMT_YUV444P10) ++ if (video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV444P ++ || video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV444P10) + { + video_frame_template.layout = video_frame::yuv444p; + } +- else if (video_codec_ctx->pix_fmt == PIX_FMT_YUV422P +- || video_codec_ctx->pix_fmt == PIX_FMT_YUV422P10) ++ else if (video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV422P ++ || video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV422P10) + { + video_frame_template.layout = video_frame::yuv422p; + } +@@ -453,9 +453,9 @@ void media_object::set_video_frame_templ + { + video_frame_template.color_space = video_frame::yuv709; + } +- if (video_codec_ctx->pix_fmt == PIX_FMT_YUV444P10 +- || video_codec_ctx->pix_fmt == PIX_FMT_YUV422P10 +- || video_codec_ctx->pix_fmt == PIX_FMT_YUV420P10) ++ if (video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV444P10 ++ || video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV422P10 ++ || video_codec_ctx->pix_fmt == AV_PIX_FMT_YUV420P10) + { + video_frame_template.value_range = video_frame::u10_mpeg; + if (video_codec_ctx->color_range == AVCOL_RANGE_JPEG) +@@ -482,15 +482,15 @@ void media_object::set_video_frame_templ + } + } + else if (!_always_convert_to_bgra32 +- && (video_codec_ctx->pix_fmt == PIX_FMT_YUVJ444P +- || video_codec_ctx->pix_fmt == PIX_FMT_YUVJ422P +- || video_codec_ctx->pix_fmt == PIX_FMT_YUVJ420P)) ++ && (video_codec_ctx->pix_fmt == AV_PIX_FMT_YUVJ444P ++ || video_codec_ctx->pix_fmt == AV_PIX_FMT_YUVJ422P ++ || video_codec_ctx->pix_fmt == AV_PIX_FMT_YUVJ420P)) + { +- if (video_codec_ctx->pix_fmt == PIX_FMT_YUVJ444P) ++ if (video_codec_ctx->pix_fmt == AV_PIX_FMT_YUVJ444P) + { + video_frame_template.layout = video_frame::yuv444p; + } +- else if (video_codec_ctx->pix_fmt == PIX_FMT_YUVJ422P) ++ else if (video_codec_ctx->pix_fmt == AV_PIX_FMT_YUVJ422P) + { + video_frame_template.layout = video_frame::yuv422p; + } +@@ -898,15 +898,6 @@ void media_object::open(const std::strin + // Activate multithreaded decoding. This must be done before opening the codec; see + // http://lists.gnu.org/archive/html/bino-list/2011-08/msg00019.html + codec_ctx->thread_count = video_decoding_threads(); +- // Set CODEC_FLAG_EMU_EDGE in the same situations in which ffplay sets it. +- // I don't know what exactly this does, but it is necessary to fix the problem +- // described in this thread: http://lists.nongnu.org/archive/html/bino-list/2012-02/msg00039.html +- int lowres = 0; +-#ifdef FF_API_LOWRES +- lowres = codec_ctx->lowres; +-#endif +- if (lowres || (codec && (codec->capabilities & CODEC_CAP_DR1))) +- codec_ctx->flags |= CODEC_FLAG_EMU_EDGE; + } + // Find and open the codec. AV_CODEC_ID_TEXT is a special case: it has no decoder since it is unencoded raw data. + if (codec_ctx->codec_id != AV_CODEC_ID_TEXT && (!codec || (e = avcodec_open2(codec_ctx, codec, NULL)) < 0)) +@@ -944,8 +935,8 @@ void media_object::open(const std::strin + _ffmpeg->video_frames.push_back(av_frame_alloc()); + _ffmpeg->video_buffered_frames.push_back(av_frame_alloc()); + #endif +- enum PixelFormat frame_fmt = (_ffmpeg->video_frame_templates[j].layout == video_frame::bgra32 +- ? PIX_FMT_BGRA : _ffmpeg->video_codec_ctxs[j]->pix_fmt); ++ enum AVPixelFormat frame_fmt = (_ffmpeg->video_frame_templates[j].layout == video_frame::bgra32 ++ ? AV_PIX_FMT_BGRA : _ffmpeg->video_codec_ctxs[j]->pix_fmt); + int frame_bufsize = (avpicture_get_size(frame_fmt, + _ffmpeg->video_codec_ctxs[j]->width, _ffmpeg->video_codec_ctxs[j]->height)); + _ffmpeg->video_buffers.push_back(static_cast<uint8_t *>(av_malloc(frame_bufsize))); +@@ -958,7 +949,7 @@ void media_object::open(const std::strin + if (_ffmpeg->video_frame_templates[j].layout == video_frame::bgra32) + { + // Initialize things needed for software pixel format conversion +- int sws_bufsize = avpicture_get_size(PIX_FMT_BGRA, ++ int sws_bufsize = avpicture_get_size(AV_PIX_FMT_BGRA, + _ffmpeg->video_codec_ctxs[j]->width, _ffmpeg->video_codec_ctxs[j]->height); + #if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55, 28, 1) + _ffmpeg->video_sws_frames.push_back(avcodec_alloc_frame()); +@@ -971,11 +962,11 @@ void media_object::open(const std::strin + throw exc(HERE + ": " + strerror(ENOMEM)); + } + avpicture_fill(reinterpret_cast<AVPicture *>(_ffmpeg->video_sws_frames[j]), _ffmpeg->video_sws_buffers[j], +- PIX_FMT_BGRA, _ffmpeg->video_codec_ctxs[j]->width, _ffmpeg->video_codec_ctxs[j]->height); ++ AV_PIX_FMT_BGRA, _ffmpeg->video_codec_ctxs[j]->width, _ffmpeg->video_codec_ctxs[j]->height); + // Call sws_getCachedContext(NULL, ...) instead of sws_getContext(...) just to avoid a deprecation warning. + _ffmpeg->video_sws_ctxs.push_back(sws_getCachedContext(NULL, + _ffmpeg->video_codec_ctxs[j]->width, _ffmpeg->video_codec_ctxs[j]->height, _ffmpeg->video_codec_ctxs[j]->pix_fmt, +- _ffmpeg->video_codec_ctxs[j]->width, _ffmpeg->video_codec_ctxs[j]->height, PIX_FMT_BGRA, ++ _ffmpeg->video_codec_ctxs[j]->width, _ffmpeg->video_codec_ctxs[j]->height, AV_PIX_FMT_BGRA, + SWS_POINT, NULL, NULL, NULL)); + if (!_ffmpeg->video_sws_ctxs[j]) + { +@@ -1529,7 +1520,7 @@ read_frame: + // We need to buffer the data because FFmpeg will clubber it when decoding the next frame. + av_picture_copy(reinterpret_cast<AVPicture *>(_ffmpeg->video_buffered_frames[_video_stream]), + reinterpret_cast<AVPicture *>(_ffmpeg->video_frames[_video_stream]), +- static_cast<enum PixelFormat>(_ffmpeg->video_codec_ctxs[_video_stream]->pix_fmt), ++ static_cast<enum AVPixelFormat>(_ffmpeg->video_codec_ctxs[_video_stream]->pix_fmt), + _ffmpeg->video_codec_ctxs[_video_stream]->width, + _ffmpeg->video_codec_ctxs[_video_stream]->height); + src_frame = _ffmpeg->video_buffered_frames[_video_stream]; diff --git a/media-video/bino/metadata.xml b/media-video/bino/metadata.xml new file mode 100644 index 000000000000..27e43716e9b8 --- /dev/null +++ b/media-video/bino/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>cuchac@email.cz</email> + <name>Jožka Kejzlar (cuchac)</name> + <description>Maintainer. Assign bugs on him</description> + </maintainer> + <maintainer type="person"> + <email>robbat2@gentoo.org</email> + <description>Proxy maintainer. CC him on bugs</description> + </maintainer> +<maintainer type="project"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> + </maintainer> +</pkgmetadata> |