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

setup: put back hgext in py2exe path

Changeset b994c8abe615

Parent 9bb13b38dac3

by Steve Borho

Changes to one file · Browse files at b994c8abe615 Showing diff from parent 9bb13b38dac3 Diff from another changeset...

Change 1 of 4 Show Changes Only setup.py Stacked
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
20
 
21
22
23
24
25
26
27
 
 
 
 
 
28
29
30
31
32
33
 
 
 
 
 
 
 
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
 
50
51
52
53
54
55
56
57
58
59
60
61
 
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 
62
63
64
65
66
67
68
69
70
71
72
73
 
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
 # setup.py  # A distutils setup script to install TortoiseHg in Windows and Posix  # environments.  #  # On Windows, this script is mostly used to build a stand-alone  # TortoiseHg package. See installer\build.txt for details. The other  # use is to report the current version of the TortoiseHg source.      import time  import sys  import os  from distutils.core import setup    def setup_windows():   # Specific definitios for Windows NT-alike installations   _scripts = []   _data_files = [] - _packages = ['hggtk', 'thgutil'] + _packages = ['hggtk', 'hggtk.logview', 'thgutil', 'thgutil.iniparse']   extra = {} + hgextmods = []     try: import py2exe   except ImportError:   if '--version' not in sys.argv:   raise     if 'py2exe' in sys.argv: + # FIXME: quick hack to include installed hg extensions in py2exe binary + import hgext + hgextdir = os.path.dirname(hgext.__file__) + hgextmods = set(["hgext." + os.path.splitext(f)[0] + for f in os.listdir(hgextdir)])   _data_files = [(root, [os.path.join(root, file_) for file_ in files])   for root, dirs, files in os.walk('icons')]     # add library files to support PyGtk-based dialogs/windows   includes = ['dbhash', 'pango', 'atk', 'pangocairo', 'cairo', 'gobject']   + # Manually include other modules py2exe can't find by itself. + if 'hgext.highlight' in hgextmods: + includes += ['pygments.*', 'pygments.lexers.*', 'pygments.formatters.*', + 'pygments.filters.*', 'pygments.styles.*'] + if 'hgext.patchbomb' in hgextmods: + includes += ['email.*', 'email.mime.*'] +   extra['options'] = {   "py2exe" : {   # This is one way to ensure that hgtk can find its icons when   # running in a py2exe environment. It also makes debugging easier.   "skip_archive" : 1,     # Don't pull in all this MFC stuff used by the makepy UI.   "excludes" : "pywin,pywin.dialogs,pywin.dialogs.list",     # add library files to support PyGtk-based dialogs/windows   # Note:   # after py2exe build, copy GTK's etc and lib directories into   # the dist directory created by py2exe.   # also needed is the GTK's share/themes (as dist/share/themes),   # for dialogs to display in MS-Windows XP theme. - "includes" : includes, + "includes" : includes + list(hgextmods),   "optimize" : 1   }   }     return _scripts, _packages, _data_files, extra      def setup_posix():   # Specific definitios for Posix installations   _extra = {}   _scripts = ['hgtk'] - _packages = ['hggtk', 'thgutil'] + _packages = ['hggtk', 'hggtk.logview', 'thgutil', 'thgutil.iniparse']   _data_files = [(os.path.join('share/pixmaps/tortoisehg', root),   [os.path.join(root, file_) for file_ in files])   for root, dirs, files in os.walk('icons')]   _data_files += [('lib/nautilus/extensions-2.0/python',   ['contrib/nautilus-thg.py'])]     return _scripts, _packages, _data_files, _extra      if os.name == "nt":   (scripts, packages, data_files, extra) = setup_windows()   desc='Windows shell extension for Mercurial VCS'  else:   (scripts, packages, data_files, extra) = setup_posix()   desc='TortoiseHg dialogs for Mercurial VCS'    try:   l = os.popen('hg -R . id -it').read().split()   while len(l) > 1 and l[-1][0].isalpha(): # remove non-numbered tags   l.pop()   version = l and l[-1] or 'unknown' # latest tag or revision number   if version.endswith('+'):   version += time.strftime('%Y%m%d')  except OSError:   version = "unknown"    verfile = os.path.join("thgutil", "__version__.py")  if version != 'unknown' or not os.path.exists(verfile):   f = file(verfile, "w")   f.write('# this file is autogenerated by setup.py\n')   f.write('version = "%s"\n' % version)   f.close()  else:   import thgutil.__version__   version = thgutil.__version__.version    setup(name="tortoisehg",   version=version,   author='TK Soh',   author_email='teekaysoh@gmail.com',   url='http://bitbucket.org/tortoisehg/stable/',   description=desc,   license='GNU GPL2',   scripts=scripts,   packages=packages,   data_files=data_files,   **extra   )