diff options
Diffstat (limited to 'media-tv/gtk-v4l')
-rw-r--r-- | media-tv/gtk-v4l/Manifest | 6 | ||||
-rw-r--r-- | media-tv/gtk-v4l/files/gtk-v4l-0.4-device-remove-source-on-finalize.patch | 53 | ||||
-rw-r--r-- | media-tv/gtk-v4l/gtk-v4l-0.4.ebuild | 37 | ||||
-rw-r--r-- | media-tv/gtk-v4l/metadata.xml | 4 |
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> |