summaryrefslogtreecommitdiff
path: root/media-video/bino
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /media-video/bino
reinit the tree, so we can have metadata
Diffstat (limited to 'media-video/bino')
-rw-r--r--media-video/bino/Manifest8
-rw-r--r--media-video/bino/bino-1.6.1-r2.ebuild76
-rw-r--r--media-video/bino/files/bino-1.4.2-lirc-detect.patch35
-rw-r--r--media-video/bino/files/bino.html24
-rw-r--r--media-video/bino/files/ffmpeg_2.9.patch133
-rw-r--r--media-video/bino/metadata.xml17
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:&nbsp;<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>