Kiln » TortoiseHg » TortoiseHg
Clone URL:  
Pushed to one repository · View In Graph Contained in 0.4rc1, 0.4rc2, and 0.4rc3

setup: abort if run on non-Windows platforms

Changeset 73fd648de9ff

Parent 5acd8db48481

by TK Soh

Changes to one file · Browse files at 73fd648de9ff Showing diff from parent 5acd8db48481 Diff from another changeset...

Change 1 of 1 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
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
 # setup.py  # A distutils setup script to register TortoiseHg COM server    # To build stand-alone package, use 'python setup.py py2exe' then use  # InnoSetup to build the installer. By default, the installer will be  # created as dist\Output\setup.exe.    import time  import sys  import os   +# non-Win32 platforms doesn't require setup +if os.name != 'nt': + sys.stderr.write("abort: %s is for Win32 platforms only" % sys.argv[0]) + sys.exit(1) +  # ModuleFinder can't handle runtime changes to __path__, but win32com uses them    try:   # if this doesn't work, try import modulefinder   import py2exe.mf as modulefinder   import win32com   for p in win32com.__path__[1:]:   modulefinder.AddPackagePath("win32com", p)   for extra in ["win32com.shell"]: #,"win32com.mapi"   __import__(extra)   m = sys.modules[extra]   for p in m.__path__[1:]:   modulefinder.AddPackagePath(extra, p)  except ImportError:   # no build path setup, no worries.   pass    from distutils.core import setup  import py2exe    _data_files = []  extra = {}  hgextmods = []    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')]   extra['windows'] = [   {"script":"hgproc.py",   "icon_resources": [(1, "icons/tortoise/hg.ico")]},   {"script":"hggtk/tracelog.py",   "icon_resources": [(1, "icons/tortoise/python.ico")]}   ]   extra['com_server'] = ["tortoisehg"]   extra['console'] = ["contrib/hg"]    opts = {   "py2exe" : {   # 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" : "pango,atk,pangocairo,cairo,gobject," + ",".join(hgextmods),   }  }    # specify version string, otherwise 'hg identify' will be used:  version = ''    import tortoise.version  tortoise.version.remember_version(version)    setup(name="TortoiseHg",   version=tortoise.version.get_version(),   author='TK Soh',   author_email='teekaysoh@gmail.com',   url='http://tortoisehg.sourceforge.net',   description='Windows shell extension for Mercurial VCS',   license='GNU GPL2',   packages=['tortoise', 'hggtk', 'hggtk.vis', 'hggtk.iniparse'],   data_files = _data_files,   options=opts,   **extra   )