summaryrefslogtreecommitdiff
path: root/media-tv/gtk-v4l
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-tv/gtk-v4l
reinit the tree, so we can have metadata
Diffstat (limited to 'media-tv/gtk-v4l')
-rw-r--r--media-tv/gtk-v4l/Manifest6
-rw-r--r--media-tv/gtk-v4l/files/gtk-v4l-0.4-device-remove-source-on-finalize.patch53
-rw-r--r--media-tv/gtk-v4l/gtk-v4l-0.4.ebuild37
-rw-r--r--media-tv/gtk-v4l/metadata.xml4
4 files changed, 100 insertions, 0 deletions
diff --git a/media-tv/gtk-v4l/Manifest b/media-tv/gtk-v4l/Manifest
new file mode 100644
index 000000000000..d95ba518d0f9
--- /dev/null
+++ b/media-tv/gtk-v4l/Manifest
@@ -0,0 +1,6 @@
+AUX gtk-v4l-0.4-device-remove-source-on-finalize.patch 1850 SHA256 9284321fd38cdd73089b029cce3b869e2f4a69803ec2b5c86063a9edf6568c08 SHA512 2fea2369c1f2084a71f4f934c870f14b08ddf61fa0ed50fb9de9c8250b431519cf38470d404d8428e667c958c9a1b2a674fc71177f508d85a1b7468b881a2d3c WHIRLPOOL 3899a753f125e719a43e9af3f800d4428234d892ae5bffbeb05c1ddfd2b004c9eaeec4c76be987e90b2e815fc3854488c63817a09a1b0055b6ebe9a620baf8a2
+DIST gtk-v4l-0.4.tar.gz 328732 SHA256 a87fe9e3afc141dd98be7bf8875faa679a914f438611fb01a7b25b75c2d75b6c SHA512 ed0e1245d9b1cfce6612c91dacd09f26850a9420088d7de172c4bd582b70f4427820940e6cf98a831493edfe52d20fb02d6b2d62b695a24127097f50963df321 WHIRLPOOL f53ca9b344a2692c6e11c6a439d0e836d84e721f27a852809d5824ac3d310fc5dfbad44cb3295de3fd6707fa5674cda7bf2fc88c968b5b1e4f5b31ec6bc08b3a
+EBUILD gtk-v4l-0.4.ebuild 806 SHA256 7f96bedb081e7a6dfb969c5f5915373674e085269a64a1b6bb7f430000ea903e SHA512 02f2d08a85b127dc279d8e4659d66522fc4c61ddc9c8688bf82560978a9dc2cb40e7ddda4e9764ca933308a4e75ec5583e7e8604c790a0d2a3a666dbd148dbec WHIRLPOOL 74943c0b559711ce94de3cded5504d9f4d065aa4036578e0f3fabc593251ad5f0c24c69edf28a9cf2badfcf364d00027bc82d56547fa4ff73648c4f41ba18251
+MISC ChangeLog 2605 SHA256 6d94e588a50327c2af3c7fef939e3c8973b8771c3bc9e8aeaba9d6f621f42580 SHA512 e3faa0b8d2096db361a27a9a2a4ba0c28458efe0579280b882e143c95ad17f19c5fb20bbe01cb9d2eea7e8eaa554e742834d901f52b504de76e3d44673d54eec WHIRLPOOL b4c4e28dcbf1471ce460b041115d0447d0c6646843775c88549cd2e5fc5590b0ab88070b27069886cf8ebf57874f47f57480275eb73b225bbbc8265a08c1bea0
+MISC ChangeLog-2015 684 SHA256 fca53b80d7f16e345aad13283f31df5a5c0c15d02d8ad21bd2edc012f60c7dc3 SHA512 a707debb7a71ace8ce73090647d929a81c7a67967c16d0dafabf4f710acded5625ae57d3420f09bea57bacb83bd7f6613b36b8f585ced8be583c47ecfee752a2 WHIRLPOOL cad29d4d186ba0827c7cf0cb26252bff8a2279594a5b22ae6d1baba2732396777735c4db8f92b72113ac95b5b1d7043aa5742ded92ea5cca31a1c7ea19ad44a7
+MISC metadata.xml 139 SHA256 5cdc1888ebc8807b9a37b1d33429c61cabe7415a4f240e21a4c2ff8eca7a34ed SHA512 8be912ace7468a4396eb1da00a9785030a8ce35da4357a01591876a1056fd45e44da65de2af3e1eb0506ce6551714962c40c3ae5a3aefa2ad231de35af2519be WHIRLPOOL 620431014dd4fb752c3d46d11904ecb2c6d4525f5b4e30f4f778a3b74d3f7187ae4ccd856ebd7eabb48ce261b21849c732928fe647edce024a3fdc082d8f8630
diff --git a/media-tv/gtk-v4l/files/gtk-v4l-0.4-device-remove-source-on-finalize.patch b/media-tv/gtk-v4l/files/gtk-v4l-0.4-device-remove-source-on-finalize.patch
new file mode 100644
index 000000000000..301c6b152810
--- /dev/null
+++ b/media-tv/gtk-v4l/files/gtk-v4l-0.4-device-remove-source-on-finalize.patch
@@ -0,0 +1,53 @@
+From e7730e2eb0e148e94f6bba13a70ddf61ae94b313 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede@redhat.com>
+Date: Wed, 9 May 2012 13:00:07 +0200
+Subject: [PATCH] gtk-v4l-device: remove source on finalize
+
+This fixes us from getting events from it, with a user_data argument
+pointing to the finalized object, when the fd gets re-used if another device
+gets plugged in later, and that device then generates ctrl events.
+
+Signed-off-by: Hans de Goede <hdegoede@redhat.com>
+---
+ lib/gtk-v4l-device.c | 10 +++++++---
+ 1 file changed, 7 insertions(+), 3 deletions(-)
+
+diff --git a/lib/gtk-v4l-device.c b/lib/gtk-v4l-device.c
+index c4ce1e5..67e8ccc 100644
+--- a/lib/gtk-v4l-device.c
++++ b/lib/gtk-v4l-device.c
+@@ -43,6 +43,7 @@ enum
+ struct _Gtkv4lDevicePrivate {
+ GList *controls;
+ GIOChannel *channel;
++ guint channel_source_id;
+ };
+
+ /* will create gtk_v4l_device_get_type and set gtk_v4l_device_parent_class */
+@@ -166,8 +167,10 @@ gtk_v4l_device_finalize (GObject *object)
+ g_list_foreach (self->priv->controls, gtk_v4l_device_free_control, NULL);
+ g_list_free (self->priv->controls);
+
+- if (self->priv->channel)
++ if (self->priv->channel) {
++ g_source_remove (self->priv->channel_source_id);
+ g_io_channel_unref (self->priv->channel);
++ }
+
+ if (self->fd != -1)
+ close (self->fd);
+@@ -303,8 +306,9 @@ gtk_v4l_device_new_control (Gtkv4lDevice *self, struct v4l2_queryctrl *query)
+ r = v4l2_ioctl(self->fd, VIDIOC_SUBSCRIBE_EVENT, &sub);
+ if (r >= 0 && !self->priv->channel) {
+ self->priv->channel = g_io_channel_unix_new (self->fd);
+- g_io_add_watch (self->priv->channel, G_IO_PRI, gtk_v4l_device_ctrl_event,
+- self);
++ self->priv->channel_source_id =
++ g_io_add_watch (self->priv->channel, G_IO_PRI, gtk_v4l_device_ctrl_event,
++ self);
+ }
+ }
+
+--
+1.7.10
+
diff --git a/media-tv/gtk-v4l/gtk-v4l-0.4.ebuild b/media-tv/gtk-v4l/gtk-v4l-0.4.ebuild
new file mode 100644
index 000000000000..e703e30893d4
--- /dev/null
+++ b/media-tv/gtk-v4l/gtk-v4l-0.4.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit eutils
+
+DESCRIPTION="A control application for Video 4 Linux (based on C and GTK+)"
+HOMEPAGE="http://fedorahosted.org/gtk-v4l/"
+SRC_URI="http://fedorahosted.org/releases/${PN:0:1}/${PN:1:1}/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+RDEPEND=">=dev-libs/glib-2
+ >=media-libs/libv4l-0.6
+ virtual/libgudev:=
+ x11-libs/gtk+:3"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig"
+
+DOCS="AUTHORS ChangeLog README"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-device-remove-source-on-finalize.patch
+ sed -i -e '/^Categories/s:Application:GTK:' ${PN}.desktop.in || die
+}
+
+src_configure() {
+ econf --disable-static
+}
+
+src_install() {
+ default
+ prune_libtool_files --all
+}
diff --git a/media-tv/gtk-v4l/metadata.xml b/media-tv/gtk-v4l/metadata.xml
new file mode 100644
index 000000000000..097975e3adc2
--- /dev/null
+++ b/media-tv/gtk-v4l/metadata.xml
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+</pkgmetadata>