<pre style='margin:0'>
David B. Evans (dbevans) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/2529303874d5ef28a9ff32216cae756162a71c76">https://github.com/macports/macports-ports/commit/2529303874d5ef28a9ff32216cae756162a71c76</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 2529303874d5ef28a9ff32216cae756162a71c76
</span>Author: David B. Evans <devans@macports.org>
AuthorDate: Wed Dec 19 18:05:02 2018 -0800

<span style='display:block; white-space:pre;color:#404040;'>    alacarte: apply accumulated upstream fixes, rebuild
</span>---
 gnome/alacarte/Portfile                            |  6 +-
 .../files/patch-Alacarte-ItemEditor.py.diff        | 85 ++++++++++++++++++++
 .../files/patch-Alacarte-MainWindow.py.diff        | 93 ++++++++++++++++++++++
 3 files changed, 182 insertions(+), 2 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/alacarte/Portfile b/gnome/alacarte/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 81de6a1..dfef0fb 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/gnome/alacarte/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/alacarte/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -4,7 +4,7 @@ PortSystem      1.0
</span> 
 name            alacarte
 version         3.11.91
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision        2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision        3
</span> epoch           1
 license         GPL-2+
 set branch      [join [lrange [split ${version} .] 0 1] .]
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -47,7 +47,9 @@ depends_run     port:adwaita-icon-theme \
</span> patchfiles      patch-Makefile.am.diff \
                 patch-configure.ac.diff \
                 patch-acinclude.m4.diff \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                patch-Alacarte-MenuEditor.py.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                patch-Alacarte-MainWindow.py.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                patch-Alacarte-MenuEditor.py.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                patch-Alacarte-ItemEditor.py.diff
</span> 
 # reconfigure using upstream autogen.sh for intltool 0.51 compatibility
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/alacarte/files/patch-Alacarte-ItemEditor.py.diff b/gnome/alacarte/files/patch-Alacarte-ItemEditor.py.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..40a1f03
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/alacarte/files/patch-Alacarte-ItemEditor.py.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,85 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 665b4715000e4f6b55db0e23ca100c56f3be4455 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: OmegaPhil <OmegaPhil+GNOME-bugs@gmail.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 18 Apr 2014 08:25:00 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] ItemEditor: Fix bad command validation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+When the Exec line has multiple components, we need to parse it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+and only check the first one.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://bugzilla.gnome.org/show_bug.cgi?id=728372
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Alacarte/ItemEditor.py | 16 +++++++++++++++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 15 insertions(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/Alacarte/ItemEditor.py b/Alacarte/ItemEditor.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 3b48324..e89c0ff 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Alacarte/ItemEditor.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Alacarte/ItemEditor.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -179,10 +179,24 @@ class LauncherEditor(ItemEditor):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         self.builder.get_object('name-entry').connect('changed', self.resync_validity)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         self.builder.get_object('exec-entry').connect('changed', self.resync_validity)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    def exec_line_is_valid(self, exec_text):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            # Attempting to parse command - commands are not simply program names or paths... Errors are raised for blank or invalid input (e.g. missing closing quote)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            result = GLib.shell_parse_argv(exec_text)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            if result[0]:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                # Parsing succeeded - making sure program (first part of the command) is in the path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                command = result[1][0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                return (GLib.find_program_in_path(command) is not None)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                # Parsing failure, but not reported via raised GError?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                return False
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        except GLib.GError:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            return False
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def resync_validity(self, *args):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         name_text = self.builder.get_object('name-entry').get_text()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         exec_text = self.builder.get_object('exec-entry').get_text()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        valid = (name_text != "" and GLib.find_program_in_path(exec_text) is not None)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        valid = (name_text != "" and self.exec_line_is_valid(exec_text))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         self.builder.get_object('ok').set_sensitive(valid)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def load(self):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.18.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From ca7d05cc060e0a31039bb8186da35058f6b02cd1 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: "Jasper St. Pierre" <jstpierre@mecheye.net>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 18 Apr 2014 10:08:27 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] ItemEditor: Clean up validation logic a tiny bit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+When g_shell_parse_argv returns FALSE, it means an error has been
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+thrown, so we don't need to check it ourselves.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Alacarte/ItemEditor.py | 14 +++++---------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 5 insertions(+), 9 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/Alacarte/ItemEditor.py b/Alacarte/ItemEditor.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index e89c0ff..7b9d47a 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Alacarte/ItemEditor.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Alacarte/ItemEditor.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -181,15 +181,11 @@ class LauncherEditor(ItemEditor):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def exec_line_is_valid(self, exec_text):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         try:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            # Attempting to parse command - commands are not simply program names or paths... Errors are raised for blank or invalid input (e.g. missing closing quote)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            result = GLib.shell_parse_argv(exec_text)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            if result[0]:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                # Parsing succeeded - making sure program (first part of the command) is in the path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                command = result[1][0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                return (GLib.find_program_in_path(command) is not None)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                # Parsing failure, but not reported via raised GError?
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                return False
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            success, parsed = GLib.shell_parse_argv(exec_text)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            # Make sure program (first part of the command) is in the path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            command = parsed[0]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            return (GLib.find_program_in_path(command) is not None)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         except GLib.GError:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             return False
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.18.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/gnome/alacarte/files/patch-Alacarte-MainWindow.py.diff b/gnome/alacarte/files/patch-Alacarte-MainWindow.py.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..666cb8a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/gnome/alacarte/files/patch-Alacarte-MainWindow.py.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,93 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 02582212ecdf0da16ea0a1753c5db5926d4b32e2 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: "Jasper St. Pierre" <jstpierre@mecheye.net>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 18 Apr 2014 10:04:17 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] MainWindow: Fix indentation
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Alacarte/MainWindow.py | 2 +-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/Alacarte/MainWindow.py b/Alacarte/MainWindow.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f52f216..7427752 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Alacarte/MainWindow.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Alacarte/MainWindow.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -239,7 +239,7 @@ class MainWindow(object):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             menu_tree.get_selection().select_path((0,))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         else:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             parent = menus[iter][2]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  file_name = util.getUniqueFileId('alacarte-made', '.directory')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        file_name = util.getUniqueFileId('alacarte-made', '.directory')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         file_path = os.path.join(util.getUserDirectoryPath(), file_name)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         editor = DirectoryEditor(self.main_window, file_path)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.18.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 92b9f5211d0d1c31d1a021df7076693b9b074c67 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: "Jasper St. Pierre" <jstpierre@mecheye.net>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 18 Apr 2014 10:04:41 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] MainWindow: Remove '== True'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Alacarte/MainWindow.py | 4 ++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 2 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/Alacarte/MainWindow.py b/Alacarte/MainWindow.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 7427752..485ffc5 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Alacarte/MainWindow.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Alacarte/MainWindow.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -249,7 +249,7 @@ class MainWindow(object):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         editor.run()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def on_directory_created(self, editor, response):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        if response == True:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if response:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             self.editor.insertExternalMenu(editor.file_name, editor.parent)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def on_new_item_button_clicked(self, button):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -271,7 +271,7 @@ class MainWindow(object):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         editor.run()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def on_item_created(self, editor, response):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        if response == True:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if response:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             self.editor.insertExternalItem(editor.file_name, editor.parent)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def on_new_separator_button_clicked(self, button):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.18.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 849427c3f25e41a33f79c49cb5824eba73420773 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: "Jasper St. Pierre" <jstpierre@mecheye.net>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Fri, 18 Apr 2014 10:05:16 -0400
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] MainWindow: Fix whitespace
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Alacarte/MainWindow.py | 4 ++--
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 2 insertions(+), 2 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/Alacarte/MainWindow.py b/Alacarte/MainWindow.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 485ffc5..4239d24 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Alacarte/MainWindow.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Alacarte/MainWindow.py
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -245,7 +245,7 @@ class MainWindow(object):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         editor = DirectoryEditor(self.main_window, file_path)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         editor.file_name = file_name;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         editor.parent = parent.get_menu_id()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        editor.connect ('response', self.on_directory_created)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        editor.connect('response', self.on_directory_created)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         editor.run()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def on_directory_created(self, editor, response):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -267,7 +267,7 @@ class MainWindow(object):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         editor = LauncherEditor(self.main_window, file_path)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         editor.file_name = file_name;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         editor.parent = parent.get_menu_id()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        editor.connect ('response', self.on_item_created)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        editor.connect('response', self.on_item_created)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         editor.run()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     def on_item_created(self, editor, response):
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+2.18.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span></pre><pre style='margin:0'>

</pre>