Mercurial > hg-stable
annotate setup.py @ 1950:5f581f337b05
hgk "committer:" bug
I've been having an hgk problem with this tree:
http://xenbits.xensource.com/ext/linux-ppc-2.6.hg, specifically changeset
93c590d23a53.
The problem seems to be that the commit message contains a "committer:" line,
which triggers a (relatively unused?) case in hgk.py... Both cases need the
dates at the end of the line.
author | Hollis Blanchard <hollisb@us.ibm.com> |
---|---|
date | Wed, 15 Mar 2006 03:19:16 +0100 |
parents | 205f04b04ec6 |
children | 7eb694a1c1af |
rev | line source |
---|---|
0
9117c6561b0b
Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff
changeset
|
1 #!/usr/bin/env python |
575 | 2 # |
3 # This is the mercurial setup script. | |
0
9117c6561b0b
Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff
changeset
|
4 # |
9117c6561b0b
Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff
changeset
|
5 # './setup.py install', or |
9117c6561b0b
Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff
changeset
|
6 # './setup.py --help' for more options |
9117c6561b0b
Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff
changeset
|
7 |
1873
205f04b04ec6
Added check for minimal python version to setup.py
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1777
diff
changeset
|
8 import sys |
205f04b04ec6
Added check for minimal python version to setup.py
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1777
diff
changeset
|
9 if not hasattr(sys, 'version_info') or sys.version_info < (2, 3): |
205f04b04ec6
Added check for minimal python version to setup.py
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1777
diff
changeset
|
10 raise SystemExit, "Mercurial requires python 2.3 or later." |
205f04b04ec6
Added check for minimal python version to setup.py
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1777
diff
changeset
|
11 |
157
2653740d8118
Install the templates where they can be found by hgweb.py
mpm@selenic.com
parents:
155
diff
changeset
|
12 import glob |
72 | 13 from distutils.core import setup, Extension |
157
2653740d8118
Install the templates where they can be found by hgweb.py
mpm@selenic.com
parents:
155
diff
changeset
|
14 from distutils.command.install_data import install_data |
2653740d8118
Install the templates where they can be found by hgweb.py
mpm@selenic.com
parents:
155
diff
changeset
|
15 |
423
25afb21d97ba
Support for 'hg --version'. setup.py stores version from hg repository.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
241
diff
changeset
|
16 import mercurial.version |
25afb21d97ba
Support for 'hg --version'. setup.py stores version from hg repository.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
241
diff
changeset
|
17 |
1283
f5faab34f32e
Support for the distutils extention 'py2exe' added.
Volker.Kleinfeld@gmx.de
parents:
575
diff
changeset
|
18 # py2exe needs to be installed to work |
f5faab34f32e
Support for the distutils extention 'py2exe' added.
Volker.Kleinfeld@gmx.de
parents:
575
diff
changeset
|
19 try: |
1294
372971e1c40d
Clean up whitespace damage.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1284
diff
changeset
|
20 import py2exe |
1283
f5faab34f32e
Support for the distutils extention 'py2exe' added.
Volker.Kleinfeld@gmx.de
parents:
575
diff
changeset
|
21 |
1422
a7e8408ac79c
py2exe is not able to handle win32com.shell
Volker Kleinfeld <Volker.Kleinfeld@gmx.de>
parents:
1421
diff
changeset
|
22 # Help py2exe to find win32com.shell |
a7e8408ac79c
py2exe is not able to handle win32com.shell
Volker Kleinfeld <Volker.Kleinfeld@gmx.de>
parents:
1421
diff
changeset
|
23 try: |
a7e8408ac79c
py2exe is not able to handle win32com.shell
Volker Kleinfeld <Volker.Kleinfeld@gmx.de>
parents:
1421
diff
changeset
|
24 import modulefinder |
a7e8408ac79c
py2exe is not able to handle win32com.shell
Volker Kleinfeld <Volker.Kleinfeld@gmx.de>
parents:
1421
diff
changeset
|
25 import win32com |
a7e8408ac79c
py2exe is not able to handle win32com.shell
Volker Kleinfeld <Volker.Kleinfeld@gmx.de>
parents:
1421
diff
changeset
|
26 for p in win32com.__path__[1:]: # Take the path to win32comext |
a7e8408ac79c
py2exe is not able to handle win32com.shell
Volker Kleinfeld <Volker.Kleinfeld@gmx.de>
parents:
1421
diff
changeset
|
27 modulefinder.AddPackagePath("win32com", p) |
a7e8408ac79c
py2exe is not able to handle win32com.shell
Volker Kleinfeld <Volker.Kleinfeld@gmx.de>
parents:
1421
diff
changeset
|
28 pn = "win32com.shell" |
a7e8408ac79c
py2exe is not able to handle win32com.shell
Volker Kleinfeld <Volker.Kleinfeld@gmx.de>
parents:
1421
diff
changeset
|
29 __import__(pn) |
a7e8408ac79c
py2exe is not able to handle win32com.shell
Volker Kleinfeld <Volker.Kleinfeld@gmx.de>
parents:
1421
diff
changeset
|
30 m = sys.modules[pn] |
a7e8408ac79c
py2exe is not able to handle win32com.shell
Volker Kleinfeld <Volker.Kleinfeld@gmx.de>
parents:
1421
diff
changeset
|
31 for p in m.__path__[1:]: |
a7e8408ac79c
py2exe is not able to handle win32com.shell
Volker Kleinfeld <Volker.Kleinfeld@gmx.de>
parents:
1421
diff
changeset
|
32 modulefinder.AddPackagePath(pn, p) |
a7e8408ac79c
py2exe is not able to handle win32com.shell
Volker Kleinfeld <Volker.Kleinfeld@gmx.de>
parents:
1421
diff
changeset
|
33 except ImportError: |
a7e8408ac79c
py2exe is not able to handle win32com.shell
Volker Kleinfeld <Volker.Kleinfeld@gmx.de>
parents:
1421
diff
changeset
|
34 pass |
a7e8408ac79c
py2exe is not able to handle win32com.shell
Volker Kleinfeld <Volker.Kleinfeld@gmx.de>
parents:
1421
diff
changeset
|
35 |
1283
f5faab34f32e
Support for the distutils extention 'py2exe' added.
Volker.Kleinfeld@gmx.de
parents:
575
diff
changeset
|
36 # Due to the use of demandload py2exe is not finding the modules. |
1294
372971e1c40d
Clean up whitespace damage.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1284
diff
changeset
|
37 # packagescan.getmodules creates a list of modules included in |
1283
f5faab34f32e
Support for the distutils extention 'py2exe' added.
Volker.Kleinfeld@gmx.de
parents:
575
diff
changeset
|
38 # the mercurial package plus depdent modules. |
1294
372971e1c40d
Clean up whitespace damage.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1284
diff
changeset
|
39 import mercurial.packagescan |
372971e1c40d
Clean up whitespace damage.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1284
diff
changeset
|
40 from py2exe.build_exe import py2exe as build_exe |
1283
f5faab34f32e
Support for the distutils extention 'py2exe' added.
Volker.Kleinfeld@gmx.de
parents:
575
diff
changeset
|
41 |
f5faab34f32e
Support for the distutils extention 'py2exe' added.
Volker.Kleinfeld@gmx.de
parents:
575
diff
changeset
|
42 class py2exe_for_demandload(build_exe): |
f5faab34f32e
Support for the distutils extention 'py2exe' added.
Volker.Kleinfeld@gmx.de
parents:
575
diff
changeset
|
43 """ overwrites the py2exe command class for getting the build |
f5faab34f32e
Support for the distutils extention 'py2exe' added.
Volker.Kleinfeld@gmx.de
parents:
575
diff
changeset
|
44 directory and for setting the 'includes' option.""" |
f5faab34f32e
Support for the distutils extention 'py2exe' added.
Volker.Kleinfeld@gmx.de
parents:
575
diff
changeset
|
45 def initialize_options(self): |
f5faab34f32e
Support for the distutils extention 'py2exe' added.
Volker.Kleinfeld@gmx.de
parents:
575
diff
changeset
|
46 self.build_lib = None |
f5faab34f32e
Support for the distutils extention 'py2exe' added.
Volker.Kleinfeld@gmx.de
parents:
575
diff
changeset
|
47 build_exe.initialize_options(self) |
f5faab34f32e
Support for the distutils extention 'py2exe' added.
Volker.Kleinfeld@gmx.de
parents:
575
diff
changeset
|
48 def finalize_options(self): |
f5faab34f32e
Support for the distutils extention 'py2exe' added.
Volker.Kleinfeld@gmx.de
parents:
575
diff
changeset
|
49 # Get the build directory, ie. where to search for modules. |
f5faab34f32e
Support for the distutils extention 'py2exe' added.
Volker.Kleinfeld@gmx.de
parents:
575
diff
changeset
|
50 self.set_undefined_options('build', |
f5faab34f32e
Support for the distutils extention 'py2exe' added.
Volker.Kleinfeld@gmx.de
parents:
575
diff
changeset
|
51 ('build_lib', 'build_lib')) |
f5faab34f32e
Support for the distutils extention 'py2exe' added.
Volker.Kleinfeld@gmx.de
parents:
575
diff
changeset
|
52 # Sets the 'includes' option with the list of needed modules |
f5faab34f32e
Support for the distutils extention 'py2exe' added.
Volker.Kleinfeld@gmx.de
parents:
575
diff
changeset
|
53 if not self.includes: |
f5faab34f32e
Support for the distutils extention 'py2exe' added.
Volker.Kleinfeld@gmx.de
parents:
575
diff
changeset
|
54 self.includes = [] |
1421
a7631cf1326a
Option -i broken in py2exe_for_demandload
Volker Kleinfeld <Volker.Kleinfeld@gmx.de>
parents:
1301
diff
changeset
|
55 else: |
a7631cf1326a
Option -i broken in py2exe_for_demandload
Volker Kleinfeld <Volker.Kleinfeld@gmx.de>
parents:
1301
diff
changeset
|
56 self.includes = self.includes.split(',') |
1294
372971e1c40d
Clean up whitespace damage.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1284
diff
changeset
|
57 self.includes += mercurial.packagescan.getmodules(self.build_lib, |
372971e1c40d
Clean up whitespace damage.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1284
diff
changeset
|
58 'mercurial') |
1300
e58b1c9a0dec
Rename mercurial.ext to hgext.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1299
diff
changeset
|
59 self.includes += mercurial.packagescan.getmodules(self.build_lib, |
e58b1c9a0dec
Rename mercurial.ext to hgext.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1299
diff
changeset
|
60 'hgext') |
1283
f5faab34f32e
Support for the distutils extention 'py2exe' added.
Volker.Kleinfeld@gmx.de
parents:
575
diff
changeset
|
61 build_exe.finalize_options(self) |
1284
59d07a6bd513
Fix Volker's modifications to setup.py for non-Windows systems.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1283
diff
changeset
|
62 except ImportError: |
59d07a6bd513
Fix Volker's modifications to setup.py for non-Windows systems.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1283
diff
changeset
|
63 py2exe_for_demandload = None |
1283
f5faab34f32e
Support for the distutils extention 'py2exe' added.
Volker.Kleinfeld@gmx.de
parents:
575
diff
changeset
|
64 |
f5faab34f32e
Support for the distutils extention 'py2exe' added.
Volker.Kleinfeld@gmx.de
parents:
575
diff
changeset
|
65 |
427
36e644d28edf
Make it possible to specify a version number in setup.py.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
423
diff
changeset
|
66 # specify version string, otherwise 'hg identify' will be used: |
36e644d28edf
Make it possible to specify a version number in setup.py.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
423
diff
changeset
|
67 version = '' |
36e644d28edf
Make it possible to specify a version number in setup.py.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
423
diff
changeset
|
68 |
157
2653740d8118
Install the templates where they can be found by hgweb.py
mpm@selenic.com
parents:
155
diff
changeset
|
69 class install_package_data(install_data): |
2653740d8118
Install the templates where they can be found by hgweb.py
mpm@selenic.com
parents:
155
diff
changeset
|
70 def finalize_options(self): |
2653740d8118
Install the templates where they can be found by hgweb.py
mpm@selenic.com
parents:
155
diff
changeset
|
71 self.set_undefined_options('install', |
2653740d8118
Install the templates where they can be found by hgweb.py
mpm@selenic.com
parents:
155
diff
changeset
|
72 ('install_lib', 'install_dir')) |
2653740d8118
Install the templates where they can be found by hgweb.py
mpm@selenic.com
parents:
155
diff
changeset
|
73 install_data.finalize_options(self) |
0
9117c6561b0b
Add back links from file revisions to changeset revisions
mpm@selenic.com
parents:
diff
changeset
|
74 |
423
25afb21d97ba
Support for 'hg --version'. setup.py stores version from hg repository.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
241
diff
changeset
|
75 try: |
427
36e644d28edf
Make it possible to specify a version number in setup.py.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
423
diff
changeset
|
76 mercurial.version.remember_version(version) |
1284
59d07a6bd513
Fix Volker's modifications to setup.py for non-Windows systems.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1283
diff
changeset
|
77 cmdclass = {'install_data': install_package_data} |
1508
b254243b7159
fix a warning when py2exe is not used
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1422
diff
changeset
|
78 py2exe_opts = {} |
1284
59d07a6bd513
Fix Volker's modifications to setup.py for non-Windows systems.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1283
diff
changeset
|
79 if py2exe_for_demandload is not None: |
59d07a6bd513
Fix Volker's modifications to setup.py for non-Windows systems.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1283
diff
changeset
|
80 cmdclass['py2exe'] = py2exe_for_demandload |
1548
18f3224da392
fix bug in setup.py introduced in r1508.
Will <will@glozer.net>
parents:
1508
diff
changeset
|
81 py2exe_opts['console'] = ['hg'] |
1688
43d3db1b8296
Reverted name change (mercurial -> Mercurial) from dd5085897010.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
1686
diff
changeset
|
82 setup(name='mercurial', |
429 | 83 version=mercurial.version.get_version(), |
84 author='Matt Mackall', | |
85 author_email='mpm@selenic.com', | |
86 url='http://selenic.com/mercurial', | |
1686
dd5085897010
make stuff for macos x binary package.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1548
diff
changeset
|
87 description='Scalable distributed SCM', |
429 | 88 license='GNU GPL', |
1301 | 89 packages=['mercurial', 'hgext'], |
429 | 90 ext_modules=[Extension('mercurial.mpatch', ['mercurial/mpatch.c']), |
91 Extension('mercurial.bdiff', ['mercurial/bdiff.c'])], | |
92 data_files=[('mercurial/templates', | |
93 ['templates/map'] + | |
94 glob.glob('templates/map-*') + | |
1777
a2316878f19d
[hgweb] Static content serving
Josef "Jeff" Sipek <jeffpc@optonline.net>
parents:
1688
diff
changeset
|
95 glob.glob('templates/*.tmpl')), |
a2316878f19d
[hgweb] Static content serving
Josef "Jeff" Sipek <jeffpc@optonline.net>
parents:
1688
diff
changeset
|
96 ('mercurial/templates/static', |
a2316878f19d
[hgweb] Static content serving
Josef "Jeff" Sipek <jeffpc@optonline.net>
parents:
1688
diff
changeset
|
97 glob.glob('templates/static/*'))], |
1284
59d07a6bd513
Fix Volker's modifications to setup.py for non-Windows systems.
Bryan O'Sullivan <bos@serpentine.com>
parents:
1283
diff
changeset
|
98 cmdclass=cmdclass, |
1283
f5faab34f32e
Support for the distutils extention 'py2exe' added.
Volker.Kleinfeld@gmx.de
parents:
575
diff
changeset
|
99 scripts=['hg', 'hgmerge'], |
1686
dd5085897010
make stuff for macos x binary package.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1548
diff
changeset
|
100 options=dict(bdist_mpkg=dict(zipdist=True, |
dd5085897010
make stuff for macos x binary package.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1548
diff
changeset
|
101 license='COPYING', |
dd5085897010
make stuff for macos x binary package.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1548
diff
changeset
|
102 readme='contrib/macosx/Readme.html', |
dd5085897010
make stuff for macos x binary package.
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
1548
diff
changeset
|
103 welcome='contrib/macosx/Welcome.html')), |
1508
b254243b7159
fix a warning when py2exe is not used
Benoit Boissinot <benoit.boissinot@ens-lyon.org>
parents:
1422
diff
changeset
|
104 **py2exe_opts) |
423
25afb21d97ba
Support for 'hg --version'. setup.py stores version from hg repository.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
241
diff
changeset
|
105 finally: |
25afb21d97ba
Support for 'hg --version'. setup.py stores version from hg repository.
Thomas Arendsen Hein <thomas@intevation.de>
parents:
241
diff
changeset
|
106 mercurial.version.forget_version() |