[meld: 1/2] freezed win32: put gspawn helper exe into lib/



commit 3650879e516e1963b3878e65b3f90fc39e8b0673
Author: Vasily Galkin <galkin-vv ya ru>
Date:   Fri Oct 12 22:31:17 2018 +0300

    freezed win32: put gspawn helper exe into lib/
    
    The original placement in installation root was developed for earlier
    glib, and doesn't work for current mingw-w64-x86_64-glib2 2.58.1-1
    (actually it breaked several versions ago). This prevents opening help
    from meld, since this uses external process execution, like
    https://gitlab.gnome.org/GNOME/meld/issues/197
    
    Also looking at the previous code version I found that it had typo in
    the comment describing return value format. It's fixed now.

 setup_win32.py | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)
---
diff --git a/setup_win32.py b/setup_win32.py
index 90cd9f3e..9c1a98d1 100755
--- a/setup_win32.py
+++ b/setup_win32.py
@@ -16,29 +16,32 @@ def get_non_python_libs():
     """Returns list of tuples containing extra dependencies required to run
     meld on current platform.
     Every pair corresponds to a single library file.
-    First tuple item correspond to path expected in meld installation
+    First tuple item is path in local filesystem during build.
+    Second tuple item correspond to path expected in meld installation
     relative to meld prefix.
-    Second tuple item is path in local filesystem during build.
     Note that for returned dynamic libraries and executables dependencies
     are expected to be resolved by caller, for example by cx_freeze.
     """
-    gtk_exec_prefix = os.path.join(sys.prefix, "bin")
+    local_bin = os.path.join(sys.prefix, "bin")
 
-    gtk_exec = []
+    inst_root = []  # local paths of files "to put at freezed root"
+    inst_lib = []  # local paths of files "to put at freezed 'lib' subdir"
 
     if 'mingw' in sysconfig.get_platform():
         # dll imported by dll dependencies expected to be auto-resolved later
-        gtk_exec = [
-            'libgtksourceview-3.0-1.dll',
-        ]
+        inst_root = [os.path.join(local_bin, 'libgtksourceview-3.0-1.dll')]
 
         # gspawn-helper is needed for Gtk.show_uri function
         if platform.architecture()[0] == '32bit':
-            gtk_exec.append('gspawn-win32-helper.exe')
+            inst_lib.append(os.path.join(local_bin, 'gspawn-win32-helper.exe'))
         else:
-            gtk_exec.append('gspawn-win64-helper.exe')
+            inst_lib.append(os.path.join(local_bin, 'gspawn-win64-helper.exe'))
 
-    return [(os.path.join(gtk_exec_prefix, path), path) for path in gtk_exec]
+    return [
+            (f, os.path.basename(f)) for f in inst_root
+        ] + [
+            (f, os.path.join('lib', os.path.basename(f))) for f in inst_lib
+        ]
 
 
 gtk_data_dirs = [


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]