public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] dev/anarchy:master commit in: app-editors/mousepad/files/, app-editors/mousepad/
@ 2016-01-24 18:20 Jory Pratt
  0 siblings, 0 replies; only message in thread
From: Jory Pratt @ 2016-01-24 18:20 UTC (permalink / raw
  To: gentoo-commits

commit:     c49863d4ada7c3196677b5e44264ac0ce19a1acd
Author:     Jory A. Pratt <anarchy <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 24 18:20:01 2016 +0000
Commit:     Jory Pratt <anarchy <AT> gentoo <DOT> org>
CommitDate: Sun Jan 24 18:20:01 2016 +0000
URL:        https://gitweb.gentoo.org/dev/anarchy.git/commit/?id=c49863d4

app-editor/mousepad - cherry pick upstream patches addressing multiple
issues

 app-editors/mousepad/Manifest                      |  6 ++
 ...-0.4.0-dbus-filename-passing-optimization.patch | 44 ++++++++++++
 .../mousepad-0.4.0-dbus-filename-passing.patch     | 81 ++++++++++++++++++++++
 .../mousepad-0.4.0-dont-show-hidden-gsv.patch      | 43 ++++++++++++
 ...sepad-0.4.0-prevent-weird-cycle-gsettings.patch | 38 ++++++++++
 app-editors/mousepad/mousepad-0.4.0.ebuild         | 54 +++++++++++++++
 6 files changed, 266 insertions(+)

diff --git a/app-editors/mousepad/Manifest b/app-editors/mousepad/Manifest
new file mode 100644
index 0000000..c85e20f
--- /dev/null
+++ b/app-editors/mousepad/Manifest
@@ -0,0 +1,6 @@
+AUX mousepad-0.4.0-dbus-filename-passing-optimization.patch 1633 SHA256 6e101f6abc37b48070c14aa40283a3c2eafc743b4bbb4df3913c7076bae12b94 SHA512 333d7649151ad900a26326fda0bf1ac6751e4301103ed5b47dc9cfd186304ead7c1f0158df3e8d8a647eee5cd375c61b9427d36d950a9e1dbe938951eba83228 WHIRLPOOL 715eeceaf739d5f8c80b8a071f3ec9847767567da2367b094d3a8e0b0308926195635184f04eaccdbbb287d80cd2f23dea451c2f7720aefdfc2b8b8a001d0092
+AUX mousepad-0.4.0-dbus-filename-passing.patch 2829 SHA256 3038f0a5c172d58a532960f96b4140b83da4074dda9feec5eaba0261e67cd71d SHA512 d6a5caf486c42700ca49450587f8cfc93892b08f26caf63a7792153c6d53f84648b71b11ee9f7676d82c0346f47cdc7f6bc671ec4a90eeea596f1920a492bdad WHIRLPOOL b8cce6a50fb35c7b7c4b7db92a5aeb94bef13648db5e6c6d8fc9e117ee12bcb0d92094c68d56a9944a19cc4daee219f8e73f7ccaea95abad91760a9fae152aca
+AUX mousepad-0.4.0-dont-show-hidden-gsv.patch 1734 SHA256 11e2a7015702676e9ccd0df062712abcd14172ee2cf4aa4f097ae6e4cf645132 SHA512 31dffe7061db78fad33123e28ceb00df724f620b2f6d8166b4c4dc68c3345653fcea9b94b1a4618d8125896f3e306905cf1af8c2ffe374ecd0c04a67638d7b7c WHIRLPOOL c2e866a9622a11c4ec753ea9197af02600086a94d9800be34c0780f2c53ef341768d058315c31e613e849b2be2c756a12bdff48ae62944b9c9b0578b93bf9f9e
+AUX mousepad-0.4.0-prevent-weird-cycle-gsettings.patch 1683 SHA256 b766fb8762a964535df76c24cfb64677ce413e674ca10e3610025991ae5f42b2 SHA512 db2474b5be77d660545070423e97c3bf16593210a89e9b8366236126c1b5cb07cb195d15a4d61163c1ee2f5dbd5589a07a325901c0f1fcb87b6ad244c36ac2d9 WHIRLPOOL 414ec21ea56aee8398c0f7726c46f9fe4bb9cabafb4f1cf505f11bbca3fa4262e4f3bad8a91b712b75c4bd201a75441040a3b646dd772fea4639275c631d8585
+DIST mousepad-0.4.0.tar.bz2 578483 SHA256 60114431eac8db6bb6ce18bd38f1630cccb684375b97a445a1b6fd619848d132 SHA512 5196abd04268d1ace118dc485b72bfcfb7f9175eeaf52bc97c08c1646371d26401403a3bb199d882380bcb998547c65af9bd054f0365afd846c0ad74d3c3b1fe WHIRLPOOL dd087f38d75836d28cdae3a851d2ede0246a66db104710bab919928d32b63e470c95d77ff09c34c92e90322f14d5f85f83dc913acc529b8dd95ad8bc2712b9c1
+EBUILD mousepad-0.4.0.ebuild 1205 SHA256 56caa840ba55162f794a03660a8439e1ec4c41106e83b967093085b7cced18ad SHA512 04f90d853651f9779df8a5fb977ca401e9002565db7808e913726656c20be9ae75f49cbe1d7e803ead54b32e7f5f3ef3134f7ea0c25ef0019de41195ddf27a46 WHIRLPOOL 3045dfe45a6e4820fdf64412c46dc5967912ca4beb7742665e858f35f6359ece28a7b5164e02330b6bff19e00db05703e9cc01e04d857a4cba5a5b5f340229c1

diff --git a/app-editors/mousepad/files/mousepad-0.4.0-dbus-filename-passing-optimization.patch b/app-editors/mousepad/files/mousepad-0.4.0-dbus-filename-passing-optimization.patch
new file mode 100644
index 0000000..2598fc1
--- /dev/null
+++ b/app-editors/mousepad/files/mousepad-0.4.0-dbus-filename-passing-optimization.patch
@@ -0,0 +1,44 @@
+From ee7636b8c832f2a8e19c6b3c9d0405f07147b16b Mon Sep 17 00:00:00 2001
+From: Matthew Brush <matt@xfce.org>
+Date: Fri, 26 Jun 2015 20:22:59 -0700
+Subject: Optimize previous commit passing UTF-8 to DBus
+
+
+diff --git a/mousepad/mousepad-dbus.c b/mousepad/mousepad-dbus.c
+index de76ba5..46ca823 100644
+--- a/mousepad/mousepad-dbus.c
++++ b/mousepad/mousepad-dbus.c
+@@ -312,24 +312,23 @@ mousepad_dbus_client_launch_files (gchar       **filenames,
+   g_return_val_if_fail (g_path_is_absolute (working_directory), FALSE);
+   g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+ 
+-  utf8_filenames = g_ptr_array_sized_new(length + 1);
+-  g_ptr_array_set_free_func(utf8_filenames, g_free);
+-
++  utf8_filenames = g_ptr_array_new_with_free_func(g_free);
+   if (filenames != NULL)
+     {
+-      gchar **fn_iter;
++      guint i;
+       /* get the length of the filesname string */
+       length = g_strv_length (filenames);
++      g_ptr_array_set_size(utf8_filenames, length + 1);
+       /* encode locale filenames to UTF-8 for DBus */
+-      for (fn_iter = filenames; *fn_iter != NULL; fn_iter++)
++      for (i = 0; i < length; i++)
+         {
+-          gchar *utf8_fn = g_filename_to_utf8(*fn_iter, -1, NULL, NULL, error);
++          gchar *utf8_fn = g_filename_to_utf8(filenames[i], -1, NULL, NULL, error);
+           if (utf8_fn == NULL)
+             {
+               g_ptr_array_free(utf8_filenames, TRUE);
+               return FALSE;
+             }
+-          g_ptr_array_add(utf8_filenames, utf8_fn);
++          utf8_filenames->pdata[i] = utf8_fn;
+         }
+     }
+   g_ptr_array_add(utf8_filenames, NULL);
+-- 
+cgit v0.10.1
+

diff --git a/app-editors/mousepad/files/mousepad-0.4.0-dbus-filename-passing.patch b/app-editors/mousepad/files/mousepad-0.4.0-dbus-filename-passing.patch
new file mode 100644
index 0000000..5ff5f00
--- /dev/null
+++ b/app-editors/mousepad/files/mousepad-0.4.0-dbus-filename-passing.patch
@@ -0,0 +1,81 @@
+From 8d554f7ad97f2b1a2f64a71ebb187fe6eae17281 Mon Sep 17 00:00:00 2001
+From: Matthew Brush <matt@xfce.org>
+Date: Fri, 26 Jun 2015 18:04:42 -0700
+Subject: Encode filenames passed to DBus as UTF-8
+
+
+diff --git a/mousepad/mousepad-dbus.c b/mousepad/mousepad-dbus.c
+index cb222da..de76ba5 100644
+--- a/mousepad/mousepad-dbus.c
++++ b/mousepad/mousepad-dbus.c
+@@ -306,21 +306,52 @@ mousepad_dbus_client_launch_files (gchar       **filenames,
+   DBusMessage *message;
+   guint        length = 0;
+   gboolean     succeed;
++  GPtrArray   *utf8_filenames;
++  gchar       *utf8_dir = NULL;
+ 
+   g_return_val_if_fail (g_path_is_absolute (working_directory), FALSE);
+   g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+ 
+-  /* get the length of the filesname string */
+-  if (filenames)
+-    length = g_strv_length (filenames);
++  utf8_filenames = g_ptr_array_sized_new(length + 1);
++  g_ptr_array_set_free_func(utf8_filenames, g_free);
++
++  if (filenames != NULL)
++    {
++      gchar **fn_iter;
++      /* get the length of the filesname string */
++      length = g_strv_length (filenames);
++      /* encode locale filenames to UTF-8 for DBus */
++      for (fn_iter = filenames; *fn_iter != NULL; fn_iter++)
++        {
++          gchar *utf8_fn = g_filename_to_utf8(*fn_iter, -1, NULL, NULL, error);
++          if (utf8_fn == NULL)
++            {
++              g_ptr_array_free(utf8_filenames, TRUE);
++              return FALSE;
++            }
++          g_ptr_array_add(utf8_filenames, utf8_fn);
++        }
++    }
++  g_ptr_array_add(utf8_filenames, NULL);
++
++  if (working_directory != NULL)
++    {
++      /* encode working directory to UTF-8 for DBus */
++      utf8_dir = g_filename_to_utf8(working_directory, -1, NULL, NULL, error);
++      if (utf8_dir == NULL)
++        {
++          g_ptr_array_free(utf8_filenames, TRUE);
++          return FALSE;
++        }
++    }
+ 
+   /* generate the message */
+   message = dbus_message_new_method_call (MOUSEPAD_DBUS_INTERFACE, MOUSEPAD_DBUS_PATH,
+                                           MOUSEPAD_DBUS_INTERFACE, "LaunchFiles");
+   dbus_message_set_auto_start (message, FALSE);
+   dbus_message_append_args (message,
+-                            DBUS_TYPE_STRING, &working_directory,
+-                            DBUS_TYPE_ARRAY, DBUS_TYPE_STRING, &filenames, length,
++                            DBUS_TYPE_STRING, &utf8_dir,
++                            DBUS_TYPE_ARRAY, DBUS_TYPE_STRING, &utf8_filenames->pdata, length,
+                             DBUS_TYPE_INVALID);
+ 
+   /* send the message */
+@@ -329,5 +360,9 @@ mousepad_dbus_client_launch_files (gchar       **filenames,
+   /* unref the message */
+   dbus_message_unref (message);
+ 
++  /* cleanup the UTF-8 strings */
++  g_ptr_array_free(utf8_filenames, TRUE);
++  g_free(utf8_dir);
++
+   return succeed;
+ }
+-- 
+cgit v0.10.1
+

diff --git a/app-editors/mousepad/files/mousepad-0.4.0-dont-show-hidden-gsv.patch b/app-editors/mousepad/files/mousepad-0.4.0-dont-show-hidden-gsv.patch
new file mode 100644
index 0000000..b13dbf5
--- /dev/null
+++ b/app-editors/mousepad/files/mousepad-0.4.0-dont-show-hidden-gsv.patch
@@ -0,0 +1,43 @@
+From 720cf91f7b21864b4d3bb0ce18d96cfa719877ca Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Andr=C3=A9=20Miranda?= <andreldm1989@gmail.com>
+Date: Mon, 6 Jul 2015 19:45:06 -0700
+Subject: Don't show hidden GSV languages
+
+Some like "Defaults" aren't meant to be exposed to users and can
+even cause crashes. Closes bug #12043.
+
+diff --git a/mousepad/mousepad-action-group.c b/mousepad/mousepad-action-group.c
+index 156ebbb..71b37f2 100644
+--- a/mousepad/mousepad-action-group.c
++++ b/mousepad/mousepad-action-group.c
+@@ -617,6 +617,13 @@ mousepad_action_group_get_sorted_section_names (void)
+       language = gtk_source_language_manager_get_language (manager, *languages);
+       if (G_LIKELY (GTK_SOURCE_IS_LANGUAGE (language)))
+         {
++          /* ignore hidden languages */
++          if(gtk_source_language_get_hidden(language))
++            {
++              languages++;
++              continue;
++            }
++
+           /* ensure no duplicates in list */
+           if (!g_slist_find_custom (list,
+                                     gtk_source_language_get_section (language),
+@@ -651,6 +658,13 @@ mousepad_action_group_get_sorted_languages_for_section (const gchar *section)
+       language = gtk_source_language_manager_get_language (manager, *languages);
+       if (G_LIKELY (GTK_SOURCE_IS_LANGUAGE (language)))
+         {
++          /* ignore hidden languages */
++          if(gtk_source_language_get_hidden(language))
++            {
++              languages++;
++              continue;
++            }
++
+           /* only get languages in the specified section */
+           if (g_strcmp0 (gtk_source_language_get_section (language), section) == 0)
+             list = g_slist_prepend (list, language);
+-- 
+cgit v0.10.1
+

diff --git a/app-editors/mousepad/files/mousepad-0.4.0-prevent-weird-cycle-gsettings.patch b/app-editors/mousepad/files/mousepad-0.4.0-prevent-weird-cycle-gsettings.patch
new file mode 100644
index 0000000..d90a63d
--- /dev/null
+++ b/app-editors/mousepad/files/mousepad-0.4.0-prevent-weird-cycle-gsettings.patch
@@ -0,0 +1,38 @@
+From f07cc75f2aa77d14f16b5506321ac6a2413706ba Mon Sep 17 00:00:00 2001
+From: Matthew Brush <mbrush@codebrainz.ca>
+Date: Sun, 27 Sep 2015 12:29:15 -0700
+Subject: Prevent a weird cycle in GSettings use
+
+Was causing it to continuously update the "color-scheme" setting,
+resulting in lots of DBus spam and CPU/disk activity. I'm not sure
+why only this setting was causing the issue, and why it still updates
+across all the instances while using the `G_SETTINGS_BIND_GET_NO_CHANGES`
+flag, since it shouldn't (and doesn't if it's used on other settings).
+
+Closes bug #12134
+
+diff --git a/mousepad/mousepad-view.c b/mousepad/mousepad-view.c
+index bd0e37c..03f4609 100644
+--- a/mousepad/mousepad-view.c
++++ b/mousepad/mousepad-view.c
+@@ -324,10 +324,16 @@ mousepad_view_init (MousepadView *view)
+   BIND_ (SHOW_RIGHT_MARGIN,      "show-right-margin");
+   BIND_ (SMART_HOME_END,         "smart-home-end");
+   BIND_ (TAB_WIDTH,              "tab-width");
+-  BIND_ (COLOR_SCHEME,           "color-scheme");
+   BIND_ (WORD_WRAP,              "word-wrap");
+   BIND_ (MATCH_BRACES,           "match-braces");
+ 
++  /* for color-scheme, use G_SETTINGS_BIND_GET_NO_CHANGES to stop
++   * a cycle that was causing DBus thrashing. See:
++   * https://bugzilla.xfce.org/show_bug.cgi?id=12134 */
++  MOUSEPAD_SETTING_BIND (COLOR_SCHEME, view, "color-scheme",
++                         G_SETTINGS_BIND_DEFAULT |
++                           G_SETTINGS_BIND_GET_NO_CHANGES);
++
+   /* override with default font when the setting is enabled */
+   MOUSEPAD_SETTING_CONNECT_OBJECT (USE_DEFAULT_FONT,
+                                    G_CALLBACK (mousepad_view_use_default_font_setting_changed),
+-- 
+cgit v0.10.1
+

diff --git a/app-editors/mousepad/mousepad-0.4.0.ebuild b/app-editors/mousepad/mousepad-0.4.0.ebuild
new file mode 100644
index 0000000..32f7a0a
--- /dev/null
+++ b/app-editors/mousepad/mousepad-0.4.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit gnome2-utils xfconf
+
+DESCRIPTION="GTK+-based editor for the Xfce Desktop Environment"
+HOMEPAGE="http://goodies.xfce.org/projects/applications/start"
+SRC_URI="mirror://xfce/src/apps/${PN}/${PV%.*}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE="debug dbus gtk3"
+
+RDEPEND=">=dev-libs/glib-2.30:2=
+	dbus? ( >=dev-libs/dbus-glib-0.100:0= )
+	!gtk3? ( >=x11-libs/gtk+-2.24:2=
+		x11-libs/gtksourceview:2.0= )
+	gtk3? ( x11-libs/gtk+:3=
+		x11-libs/gtksourceview:3.0= )"
+DEPEND="${RDEPEND}
+	dev-lang/perl
+	dev-util/intltool
+	sys-devel/gettext
+	virtual/pkgconfig"
+
+pkg_setup() {
+	PATCHES=( 
+		"${FILESDIR}"/${P}-dbus-filename-passing.patch
+		"${FILESDIR}"/${P}-dbus-filename-passing-optimization.patch 
+		"${FILESDIR}"/${P}-dont-show-hidden-gsv.patch
+		"${FILESDIR}"/${P}-prevent-weird-cycle-gsettings.patch
+		)
+
+	XFCONF=(
+		$(xfconf_use_debug)
+		$(use_enable dbus)
+		$(use_enable gtk3)
+		)
+
+	DOCS=( AUTHORS ChangeLog NEWS README TODO )
+}
+
+pkg_preinst() {
+	xfconf_pkg_preinst
+	gnome2_schemas_savelist
+}
+
+pkg_postinst() {
+	xfconf_pkg_postinst
+	gnome2_schemas_update
+}


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2016-01-24 18:20 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-24 18:20 [gentoo-commits] dev/anarchy:master commit in: app-editors/mousepad/files/, app-editors/mousepad/ Jory Pratt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox