summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/libunique')
-rw-r--r--dev-libs/libunique/Manifest2
-rw-r--r--dev-libs/libunique/files/libunique-1.1.6-G_CONST_RETURN.patch143
-rw-r--r--dev-libs/libunique/files/libunique-1.1.6-compiler-warnings.patch50
-rw-r--r--dev-libs/libunique/files/libunique-1.1.6-fix-test.patch26
-rw-r--r--dev-libs/libunique/files/libunique-1.1.6-include-terminator.patch37
-rw-r--r--dev-libs/libunique/files/run-tests18
-rw-r--r--dev-libs/libunique/libunique-1.1.6-r1.ebuild74
-rw-r--r--dev-libs/libunique/libunique-3.0.2.ebuild61
-rw-r--r--dev-libs/libunique/metadata.xml12
9 files changed, 423 insertions, 0 deletions
diff --git a/dev-libs/libunique/Manifest b/dev-libs/libunique/Manifest
new file mode 100644
index 000000000000..7adc3691b333
--- /dev/null
+++ b/dev-libs/libunique/Manifest
@@ -0,0 +1,2 @@
+DIST libunique-1.1.6.tar.bz2 335534 SHA256 e5c8041cef8e33c55732f06a292381cb345db946cf792a4ae18aa5c66cdd4fbb SHA512 82893e1d51a553b3c1413498e48a3a132e2c05779b4442c3732b5429d698e133741615657432a3d05c82a05c79bb59acc13df500bb08010212155db5e4ee6bde WHIRLPOOL ed5305ebf2e1e052c94c575e035c636ed4f80137c5a1d6cf57a80bbe74cdf55274e9ae29562c31f8dbb1c8aab665d39acfadfeeeac29af6d5fe8d8db33243b0d
+DIST libunique-3.0.2.tar.xz 294712 SHA256 a8f02ce073e2b920cca8ac45d418e7cb64438ad0814780c5912c6d63f8a4e038 SHA512 b053b9f265c751bd581d15bf73246fb087075eaf75760565671c09a4ab80db342b4d2185050a877c4e25276d24f7895f4325ca60b918a7c4acd9d1591e97a8b4 WHIRLPOOL 81d8ccdc22c27221525d59e0e7186aff632e2fdaa53ed4b05e38af814b889e3b1d470f7c9b3a8dcf98322145b92f8759f02b82771db4908a6aacb6e1bd761744
diff --git a/dev-libs/libunique/files/libunique-1.1.6-G_CONST_RETURN.patch b/dev-libs/libunique/files/libunique-1.1.6-G_CONST_RETURN.patch
new file mode 100644
index 000000000000..1cc5b6e01be4
--- /dev/null
+++ b/dev-libs/libunique/files/libunique-1.1.6-G_CONST_RETURN.patch
@@ -0,0 +1,143 @@
+From 557b0e5045c9eadb556ce11e16965cf0d0787438 Mon Sep 17 00:00:00 2001
+From: Stef Walter <stefw@collabora.co.uk>
+Date: Tue, 14 Jun 2011 12:33:45 +0100
+Subject: [PATCH] Remove G_CONST_RETURN usage, now that its gone in glib.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=652545
+
+[Alexandre Rostovtsev <tetromino@gmail.com>: backported to unique-1.1]
+---
+ unique/uniqueapp.c | 4 ++--
+ unique/uniquebackend.c | 4 ++--
+ unique/uniquebackend.h | 4 ++--
+ unique/uniqueinternals.h | 4 ++--
+ unique/uniquemessage.c | 4 ++--
+ unique/uniquemessage.h | 4 ++--
+ 6 files changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/unique/uniqueapp.c b/unique/uniqueapp.c
+index b40a86c..e8edc94 100644
+--- a/unique/uniqueapp.c
++++ b/unique/uniqueapp.c
+@@ -781,7 +781,7 @@ unique_app_watch_window (UniqueApp *app,
+ }
+
+
+-G_CONST_RETURN gchar *
++const gchar *
+ unique_command_to_string (UniqueApp *app,
+ gint command)
+ {
+@@ -863,7 +863,7 @@ unique_command_from_string (UniqueApp *app,
+ return retval;
+ }
+
+-G_CONST_RETURN gchar *
++const gchar *
+ unique_response_to_string (UniqueResponse response)
+ {
+ GEnumClass *enum_class;
+diff --git a/unique/uniquebackend.c b/unique/uniquebackend.c
+index a76e42e..68e2735 100644
+--- a/unique/uniquebackend.c
++++ b/unique/uniquebackend.c
+@@ -111,7 +111,7 @@ unique_backend_set_name (UniqueBackend *backend,
+ *
+ * Return value: FIXME
+ */
+-G_CONST_RETURN gchar *
++const gchar *
+ unique_backend_get_name (UniqueBackend *backend)
+ {
+ g_return_val_if_fail (UNIQUE_IS_BACKEND (backend), NULL);
+@@ -154,7 +154,7 @@ unique_backend_set_startup_id (UniqueBackend *backend,
+ *
+ * Return value: FIXME
+ */
+-G_CONST_RETURN gchar *
++const gchar *
+ unique_backend_get_startup_id (UniqueBackend *backend)
+ {
+ g_return_val_if_fail (UNIQUE_IS_BACKEND (backend), NULL);
+diff --git a/unique/uniquebackend.h b/unique/uniquebackend.h
+index a50ce4e..b19ad3e 100644
+--- a/unique/uniquebackend.h
++++ b/unique/uniquebackend.h
+@@ -94,10 +94,10 @@ GType unique_backend_get_type (void) G_GNUC_CONST;
+
+ UniqueBackend * unique_backend_create (void);
+
+-G_CONST_RETURN gchar *unique_backend_get_name (UniqueBackend *backend);
++const gchar * unique_backend_get_name (UniqueBackend *backend);
+ void unique_backend_set_name (UniqueBackend *backend,
+ const gchar *name);
+-G_CONST_RETURN gchar *unique_backend_get_startup_id (UniqueBackend *backend);
++const gchar * unique_backend_get_startup_id (UniqueBackend *backend);
+ void unique_backend_set_startup_id (UniqueBackend *backend,
+ const gchar *startup_id);
+ GdkScreen * unique_backend_get_screen (UniqueBackend *backend);
+diff --git a/unique/uniqueinternals.h b/unique/uniqueinternals.h
+index 3cec152..ccae0cd 100644
+--- a/unique/uniqueinternals.h
++++ b/unique/uniqueinternals.h
+@@ -44,11 +44,11 @@ UniqueResponse unique_app_emit_message_received (UniqueApp *app,
+ * and then back into an id
+ */
+ UniqueResponse unique_response_from_string (const gchar *response);
+-G_CONST_RETURN gchar *unique_response_to_string (UniqueResponse response);
++const gchar * unique_response_to_string (UniqueResponse response);
+
+ gint unique_command_from_string (UniqueApp *app,
+ const gchar *command);
+-G_CONST_RETURN gchar *unique_command_to_string (UniqueApp *app,
++const gchar * unique_command_to_string (UniqueApp *app,
+ gint command);
+
+ G_END_DECLS
+diff --git a/unique/uniquemessage.c b/unique/uniquemessage.c
+index c74392d..2b2a9fc 100644
+--- a/unique/uniquemessage.c
++++ b/unique/uniquemessage.c
+@@ -185,7 +185,7 @@ unique_message_data_set (UniqueMessageData *message_data,
+ *
+ * Since: 1.0.2
+ */
+-G_CONST_RETURN guchar *
++const guchar *
+ unique_message_data_get (UniqueMessageData *message_data,
+ gsize *length)
+ {
+@@ -525,7 +525,7 @@ unique_message_data_get_screen (UniqueMessageData *message_data)
+ * owned by the #UniqueMessageData structure and should not be
+ * modified or freed
+ */
+-G_CONST_RETURN gchar *
++const gchar *
+ unique_message_data_get_startup_id (UniqueMessageData *message_data)
+ {
+ g_return_val_if_fail (message_data != NULL, NULL);
+diff --git a/unique/uniquemessage.h b/unique/uniquemessage.h
+index d3e9c3c..93eee21 100644
+--- a/unique/uniquemessage.h
++++ b/unique/uniquemessage.h
+@@ -48,7 +48,7 @@ void unique_message_data_free (UniqueMessageData *me
+ void unique_message_data_set (UniqueMessageData *message_data,
+ const guchar *data,
+ gsize length);
+-G_CONST_RETURN guchar *unique_message_data_get (UniqueMessageData *message_data,
++const guchar * unique_message_data_get (UniqueMessageData *message_data,
+ gsize *length);
+
+ gboolean unique_message_data_set_text (UniqueMessageData *message_data,
+@@ -63,7 +63,7 @@ void unique_message_data_set_filename (UniqueMessageData *me
+ gchar * unique_message_data_get_filename (UniqueMessageData *message_data);
+
+ GdkScreen * unique_message_data_get_screen (UniqueMessageData *message_data);
+-G_CONST_RETURN gchar * unique_message_data_get_startup_id (UniqueMessageData *message_data);
++const gchar * unique_message_data_get_startup_id (UniqueMessageData *message_data);
+ guint unique_message_data_get_workspace (UniqueMessageData *message_data);
+
+ G_END_DECLS
+--
+1.7.6
+
diff --git a/dev-libs/libunique/files/libunique-1.1.6-compiler-warnings.patch b/dev-libs/libunique/files/libunique-1.1.6-compiler-warnings.patch
new file mode 100644
index 000000000000..f47e66267d50
--- /dev/null
+++ b/dev-libs/libunique/files/libunique-1.1.6-compiler-warnings.patch
@@ -0,0 +1,50 @@
+From 9df132a70d54b768a8e1d0335d24b85ac9b3fb76 Mon Sep 17 00:00:00 2001
+From: Emmanuele Bassi <ebassi@linux.intel.com>
+Date: Sun, 27 Mar 2011 08:42:22 +0000
+Subject: Remove compiler warnings
+
+(cherry picked from commit f791ed16b19dddc7fbaf90d8f797520e67883021)
+
+Signed-off-by: Emmanuele Bassi <ebassi@linux.intel.com>
+---
+diff --git a/unique/dbus/uniquebackend-dbus.c b/unique/dbus/uniquebackend-dbus.c
+index 3ae1bed..69faa00 100644
+--- a/unique/dbus/uniquebackend-dbus.c
++++ b/unique/dbus/uniquebackend-dbus.c
+@@ -84,7 +84,6 @@ unique_backend_dbus_register_proxy (UniqueBackendDBus *backend_dbus)
+ static gboolean
+ unique_backend_dbus_request_name (UniqueBackend *backend)
+ {
+- UniqueBackendDBus *backend_dbus;
+ const gchar *name;
+ DBusGConnection *connection;
+ DBusGProxy *proxy;
+@@ -97,8 +96,6 @@ unique_backend_dbus_request_name (UniqueBackend *backend)
+ if (!connection)
+ return FALSE;
+
+- backend_dbus = UNIQUE_BACKEND_DBUS (backend);
+-
+ retval = TRUE;
+ name = unique_backend_get_name (backend);
+ g_assert (name != NULL);
+@@ -207,10 +204,14 @@ unique_backend_dbus_send_message (UniqueBackend *backend,
+ cmd, data, time_,
+ &resp,
+ &error);
+- if (error)
++ if (!res)
+ {
+- g_warning ("Error while sending message: %s", error->message);
+- g_error_free (error);
++ if (error)
++ {
++ g_warning ("Error while sending message: %s", error->message);
++ g_error_free (error);
++ }
++
+ g_free (cmd);
+
+ return UNIQUE_RESPONSE_INVALID;
+--
+cgit v0.9
diff --git a/dev-libs/libunique/files/libunique-1.1.6-fix-test.patch b/dev-libs/libunique/files/libunique-1.1.6-fix-test.patch
new file mode 100644
index 000000000000..b2e85e4d71a5
--- /dev/null
+++ b/dev-libs/libunique/files/libunique-1.1.6-fix-test.patch
@@ -0,0 +1,26 @@
+From caf736f4b84808393b0d7030ae6128a3322a71e2 Mon Sep 17 00:00:00 2001
+From: Tobias Mueller <tobiasmue@gnome.org>
+Date: Mon, 12 Apr 2010 13:01:42 +0000
+Subject: test-unique: Resolve format string issues
+
+Provide a proper literal format string to not expose potential vulnerabilites.
+Fixes bug 615522.
+---
+diff --git a/tests/test-unique.c b/tests/test-unique.c
+index b7cde45..c9958c9 100644
+--- a/tests/test-unique.c
++++ b/tests/test-unique.c
+@@ -82,9 +82,11 @@ app_message_cb (UniqueApp *app,
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_INFO,
+ GTK_BUTTONS_CLOSE,
++ "%s",
+ title);
+ if (message)
+ gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
++ "%s",
+ message);
+
+ gtk_window_set_urgency_hint (GTK_WINDOW (dialog), TRUE);
+--
+cgit v0.9
diff --git a/dev-libs/libunique/files/libunique-1.1.6-include-terminator.patch b/dev-libs/libunique/files/libunique-1.1.6-include-terminator.patch
new file mode 100644
index 000000000000..927771e7311b
--- /dev/null
+++ b/dev-libs/libunique/files/libunique-1.1.6-include-terminator.patch
@@ -0,0 +1,37 @@
+From 30ca2903a8ed4eed974ea744e4b9bd96198c425d Mon Sep 17 00:00:00 2001
+From: Rodney Lorrimar <r.lorrimar@fugro-fsi.com.au>
+Date: Mon, 21 Dec 2009 02:07:46 +0000
+Subject: Include NUL terminator in unique_message_data_get_filename()
+
+https://bugzilla.gnome.org/show_bug.cgi?id=605104
+
+Signed-off-by: Emmanuele Bassi <ebassi@gnome.org>
+---
+diff --git a/unique/uniqueinternals.h b/unique/uniqueinternals.h
+index ace40ed..3cec152 100644
+--- a/unique/uniqueinternals.h
++++ b/unique/uniqueinternals.h
+@@ -13,7 +13,7 @@ G_BEGIN_DECLS
+ struct _UniqueMessageData
+ {
+ guchar *data;
+- gint length;
++ gint length; /* length of data not including NUL terminator */
+
+ GdkScreen *screen;
+ gchar *startup_id;
+diff --git a/unique/uniquemessage.c b/unique/uniquemessage.c
+index 10f6df5..c74392d 100644
+--- a/unique/uniquemessage.c
++++ b/unique/uniquemessage.c
+@@ -493,7 +493,7 @@ unique_message_data_get_filename (UniqueMessageData *message_data)
+ {
+ g_return_val_if_fail (message_data != NULL, NULL);
+
+- return g_memdup (message_data->data, message_data->length);
++ return g_memdup (message_data->data, message_data->length + 1);
+ }
+
+ /**
+--
+cgit v0.9
diff --git a/dev-libs/libunique/files/run-tests b/dev-libs/libunique/files/run-tests
new file mode 100644
index 000000000000..db9bcd4f0860
--- /dev/null
+++ b/dev-libs/libunique/files/run-tests
@@ -0,0 +1,18 @@
+BINARY = ./test-unique
+TESTS = --new --activate --open-uri=http://localhost --foo
+
+all:
+ for test in $(TESTS); do \
+ rm -f test_result; \
+ $(BINARY) > test_result & \
+ main_pid=$$!; \
+ sleep 5; \
+ $(BINARY) $$test & \
+ test_pid=$$!; \
+ sleep 5; \
+ while ! test -s test_result; do sleep 0.5; done; \
+ sleep 5; \
+ kill $${test_pid} || exit 1; \
+ kill $${main_pid} || exit 1; \
+ grep -q 'Message received from.*' test_result || { echo "Test failed at $$test"; exit 1; }; \
+ done
diff --git a/dev-libs/libunique/libunique-1.1.6-r1.ebuild b/dev-libs/libunique/libunique-1.1.6-r1.ebuild
new file mode 100644
index 000000000000..c91625843239
--- /dev/null
+++ b/dev-libs/libunique/libunique-1.1.6-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+GNOME2_LA_PUNT="yes"
+GNOME_TARBALL_SUFFIX="bz2"
+
+inherit eutils gnome2 virtualx
+
+DESCRIPTION="a library for writing single instance application"
+HOMEPAGE="http://live.gnome.org/LibUnique"
+
+LICENSE="LGPL-2.1"
+SLOT="1"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sh sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~x86-solaris"
+IUSE="dbus doc +introspection"
+
+RDEPEND=">=dev-libs/glib-2.12:2
+ >=x11-libs/gtk+-2.11:2[introspection?]
+ x11-libs/libX11
+ dbus? (
+ >=dev-libs/dbus-glib-0.70
+ sys-apps/dbus[X] )"
+DEPEND="${RDEPEND}
+ sys-devel/gettext
+ virtual/pkgconfig
+ doc? ( >=dev-util/gtk-doc-1.11 )
+ introspection? ( >=dev-libs/gobject-introspection-0.6.3 )"
+# For eautoreconf
+# dev-util/gtk-doc-am
+
+pkg_setup() {
+ DOCS="AUTHORS NEWS ChangeLog README TODO"
+ G2CONF="${G2CONF}
+ --disable-maintainer-flags
+ --disable-static
+ --enable-bacon
+ $(use_enable introspection)
+ $(use_enable dbus)"
+}
+
+src_prepare() {
+ gnome2_src_prepare
+
+ # Include NUL terminator in unique_message_data_get_filename()
+ epatch "${FILESDIR}/${P}-include-terminator.patch"
+
+ # test-unique: Resolve format string issues
+ epatch "${FILESDIR}/${P}-fix-test.patch"
+
+ # Remove compiler warnings
+ epatch "${FILESDIR}/${P}-compiler-warnings.patch"
+
+ # Remove G_CONST_RETURN usage, now that its gone in glib.
+ epatch "${FILESDIR}/${PN}-1.1.6-G_CONST_RETURN.patch"
+
+ sed -e 's/-D.*_DISABLE_DEPRECATED//' -i unique/Makefile.am \
+ unique/Makefile.in || die
+}
+
+src_test() {
+ cd "${S}/tests"
+
+ # Fix environment variable leakage (due to `su` etc)
+ unset DBUS_SESSION_BUS_ADDRESS
+
+ # Force Xemake to use Xvfb, bug 279840
+ unset XAUTHORITY
+ unset DISPLAY
+
+ cp "${FILESDIR}/run-tests" . || die "Unable to cp \${FILESDIR}/run-tests"
+ Xemake -f run-tests || die "Tests failed"
+}
diff --git a/dev-libs/libunique/libunique-3.0.2.ebuild b/dev-libs/libunique/libunique-3.0.2.ebuild
new file mode 100644
index 000000000000..6b40b8fc4f2b
--- /dev/null
+++ b/dev-libs/libunique/libunique-3.0.2.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI="4"
+GCONF_DEBUG="yes"
+GNOME_TARBALL_SUFFIX="xz"
+GNOME2_LA_PUNT="yes"
+
+inherit gnome2 virtualx
+
+DESCRIPTION="a library for writing single instance application"
+HOMEPAGE="http://live.gnome.org/LibUnique"
+
+LICENSE="LGPL-2.1"
+SLOT="3"
+KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sh sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~x86-solaris"
+IUSE="doc +introspection"
+
+RDEPEND="
+ >=dev-libs/glib-2.25.7:2
+ sys-apps/dbus[X]
+ >=x11-libs/gtk+-2.90.0:3[introspection?]
+ x11-libs/libX11
+"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ doc? ( >=dev-util/gtk-doc-1.13 )
+ introspection? ( >=dev-libs/gobject-introspection-0.9.0 )"
+# For eautoreconf
+# dev-util/gtk-doc-am
+
+pkg_setup() {
+ DOCS="AUTHORS NEWS ChangeLog README TODO"
+ # --disable-dbus means gdbus is used instead of dbus-glib
+ G2CONF="${G2CONF}
+ --disable-static
+ --disable-maintainer-flags
+ --disable-dbus
+ $(use_enable introspection)"
+}
+
+src_prepare() {
+ # should we sed Makefile.am instead and run eautoreconf?
+ sed -i -e '/DG.*_DISABLE_DEPRECATED/d' unique/Makefile.in || die
+ gnome2_src_prepare
+}
+
+src_test() {
+ cd "${S}/tests"
+
+ # Fix environment variable leakage (due to `su` etc)
+ unset DBUS_SESSION_BUS_ADDRESS
+
+ # Force Xemake to use Xvfb, bug 279840
+ unset XAUTHORITY
+ unset DISPLAY
+
+ cp "${FILESDIR}/run-tests" . || die "Unable to cp \${FILESDIR}/run-tests"
+ Xemake -f run-tests || die "Tests failed"
+}
diff --git a/dev-libs/libunique/metadata.xml b/dev-libs/libunique/metadata.xml
new file mode 100644
index 000000000000..18d1a81735d6
--- /dev/null
+++ b/dev-libs/libunique/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>gnome</herd>
+<longdescription lang="en">
+Unique is a library for writing single instance application. If you launch a single instance application twice, the second instance will either just quit or will send a message to the running instance.
+</longdescription>
+<use>
+ <flag name="introspection">Use <pkg>dev-libs/gobject-introspection</pkg>
+ for introspection</flag>
+</use>
+</pkgmetadata>