Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 0.8, 0.8.1, and 0.8.2

setup: death to issue #67

I finally cracked the codex. GTK looks for it's libs and configs in the
directory if finds it's DLLs. So you must:

1) Put a gtk/ subdirectory in the install target with DLLs in the root
2) move etc/ shared/ and lib/ under this gtk/ subdir
2) Hack the hgtk Python script to prepend this gtk/ directory to the path
3) Do not let py2exe pick up the GTK DLLs
4) use py2exe -b1 to load everything else into library.zip

Bam. Pristine install directory.

Changeset 63b1b7d996f2

Parent 1d22d47e0bc5

by Steve Borho

Changes to 3 files · Browse files at 63b1b7d996f2 Showing diff from parent 1d22d47e0bc5 Diff from another changeset...

 
48
49
50
51
52
53
54
55
56
57
 
58
59
60
61
62
63
64
 
65
66
67
 
48
49
50
 
51
52
53
 
 
 
54
55
56
57
58
59
60
 
61
62
63
64
@@ -48,20 +48,17 @@
 Source: dist\*.exe; DestDir: {app}; Flags: ignoreversion restartreplace uninsrestartdelete  Source: win32\shellext\THgShell.dll; DestDir: {app}; Flags: ignoreversion restartreplace uninsrestartdelete  Source: dist\*.dll; DestDir: {app}; Flags: ignoreversion restartreplace uninsrestartdelete -Source: dist\*.pyd; DestDir: {app}; Flags: ignoreversion restartreplace uninsrestartdelete  Source: dist\library.zip; DestDir: {app}  Source: doc\*.html; DestDir: {app}\docs  Source: icons\*; DestDir: {app}\icons; Flags: ignoreversion recursesubdirs createallsubdirs -Source: dist\share\*; DestDir: {app}\share; Flags: ignoreversion recursesubdirs createallsubdirs -Source: dist\lib\*; DestDir: {app}\lib; Flags: ignoreversion recursesubdirs createallsubdirs -Source: dist\etc\*; DestDir: {app}\etc; Flags: ignoreversion recursesubdirs createallsubdirs +Source: dist\gtk\*; DestDir: {app}\gtk; Flags: ignoreversion recursesubdirs createallsubdirs  Source: templates\*.*; DestDir: {app}\templates; Flags: recursesubdirs createallsubdirs  Source: locale\*.*; DestDir: {app}\locale; Flags: recursesubdirs createallsubdirs  Source: i18n\*.*; DestDir: {app}\i18n; Flags:  Source: CONTRIBUTORS; DestDir: {app}; DestName: Contributors.txt  Source: COPYING.txt; DestDir: {app}; DestName: Copying.txt  Source: ..\icons\hgicon.ico; DestDir: {app} -Source: ..\files\gtkrc; DestDir: {app}\etc\gtk-2.0; AfterInstall: EditOptions() +Source: ..\files\gtkrc; DestDir: {app}\gtk\etc\gtk-2.0; AfterInstall: EditOptions()    [INI]  Filename: {app}\Mercurial.url; Section: InternetShortcut; Key: URL; String: http://www.selenic.com/mercurial/
 
3
4
5
6
7
 
8
9
10
 
3
4
5
 
 
6
7
8
9
@@ -3,8 +3,7 @@
 includes=cairo, pango, pangocairo, atk, gobject, dbhash  packages=email, hgext, hgext.convert, encodings, hggtk, hggtk.logview, thgutil, thgutil.iniparse   -# Disabled for 0.7 release -#dll_excludes=iconv.dll, intl.dll, libatk-1.0-0.dll, libgdk_pixbuf-2.0-0.dll, libgdk-win32-2.0-0.dll, libglib-2.0-0.dll, libgmodule-2.0-0.dll, libgobject-2.0-0.dll, libgthread-2.0-0.dll, libgtk-win32-2.0-0.dll, libpango-1.0-0.dll, libpangowin32-1.0-0.dll, libcairo-2.dll, libglade-2.0-0.dll, libpangocairo-1.0-0.dll, libpangoft2-1.0-0.dll +dll_excludes=iconv.dll, intl.dll, libatk-1.0-0.dll, libgdk_pixbuf-2.0-0.dll, libgdk-win32-2.0-0.dll, libglib-2.0-0.dll, libgmodule-2.0-0.dll, libgobject-2.0-0.dll, libgthread-2.0-0.dll, libgtk-win32-2.0-0.dll, libpango-1.0-0.dll, libpangowin32-1.0-0.dll, libcairo-2.dll, libglade-2.0-0.dll, libpangocairo-1.0-0.dll, libpangoft2-1.0-0.dll      [build]
Change 1 of 1 Show Entire File hgtk Stacked
 
10
11
12
13
14
 
 
 
 
15
16
17
 
10
11
12
 
 
13
14
15
16
17
18
19
@@ -10,8 +10,10 @@
 import sys    if hasattr(sys, "frozen"): - pass - # os.environ['PATH'] += '' + # Prepend C:\Program Files\TortoiseHg\gtk (equiv) to the path + from thgutil import paths + gtkpath = os.path.join(paths.bin_path, 'gtk') + os.environ['PATH'] = os.pathsep.join([gtkpath, os.environ['PATH']])  else:   # if hgtk is a symlink, insert symlink target directory in sys.path   thgpath = os.path.dirname(os.path.realpath(__file__))