/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to setup.py

  • Committer: Robert Collins
  • Date: 2010-05-06 11:08:10 UTC
  • mto: This revision was merged to the branch mainline in revision 5223.
  • Revision ID: robertc@robertcollins.net-20100506110810-h3j07fh5gmw54s25
Cleaner matcher matching revised unlocking protocol.

Show diffs side-by-side

added added

removed removed

Lines of Context:
37
37
    'version':      bzrlib.__version__,
38
38
    'author':       'Canonical Ltd',
39
39
    'author_email': 'bazaar@lists.canonical.com',
40
 
    'url':          'http://www.bazaar-vcs.org/',
 
40
    'url':          'http://bazaar.canonical.com/',
41
41
    'description':  'Friendly distributed version control system',
42
42
    'license':      'GNU GPL v2',
43
43
    'download_url': 'https://launchpad.net/bzr/+download',
167
167
from distutils.extension import Extension
168
168
ext_modules = []
169
169
try:
170
 
    from Pyrex.Distutils import build_ext
 
170
    try:
 
171
        from Pyrex.Distutils import build_ext
 
172
        from Pyrex.Compiler.Version import version as pyrex_version
 
173
    except ImportError:
 
174
        print "No Pyrex, trying Cython..."
 
175
        from Cython.Distutils import build_ext
 
176
        from Cython.Compiler.Version import version as pyrex_version
171
177
except ImportError:
172
178
    have_pyrex = False
173
179
    # try to build the extension from the prior generated source.
180
186
    from distutils.command.build_ext import build_ext
181
187
else:
182
188
    have_pyrex = True
183
 
    from Pyrex.Compiler.Version import version as pyrex_version
 
189
    pyrex_version_info = tuple(map(int, pyrex_version.split('.')))
184
190
 
185
191
 
186
192
class build_ext_if_possible(build_ext):
265
271
 
266
272
add_pyrex_extension('bzrlib._annotator_pyx')
267
273
add_pyrex_extension('bzrlib._bencode_pyx')
268
 
add_pyrex_extension('bzrlib._btree_serializer_pyx')
269
274
add_pyrex_extension('bzrlib._chunks_to_lines_pyx')
270
275
add_pyrex_extension('bzrlib._groupcompress_pyx',
271
276
                    extra_source=['bzrlib/diff-delta.c'])
278
283
    add_pyrex_extension('bzrlib._walkdirs_win32')
279
284
    z_lib = 'zdll'
280
285
else:
281
 
    if have_pyrex and pyrex_version.startswith('0.9.4'):
 
286
    if have_pyrex and pyrex_version_info[:3] == (0,9,4):
282
287
        # Pyrex 0.9.4.1 fails to compile this extension correctly
283
288
        # The code it generates re-uses a "local" pointer and
284
289
        # calls "PY_DECREF" after having set it to NULL. (It mixes PY_XDECREF
297
302
add_pyrex_extension('bzrlib._chk_map_pyx', libraries=[z_lib])
298
303
ext_modules.append(Extension('bzrlib._patiencediff_c',
299
304
                             ['bzrlib/_patiencediff_c.c']))
 
305
if have_pyrex and pyrex_version_info < (0, 9, 6, 3):
 
306
    print
 
307
    print 'Your Pyrex/Cython version %s is too old to build the simple_set' % (
 
308
        pyrex_version)
 
309
    print 'and static_tuple extensions.'
 
310
    print 'Please upgrade to at least Pyrex 0.9.6.3'
 
311
    print
 
312
    # TODO: Should this be a fatal error?
 
313
else:
 
314
    # We only need 0.9.6.3 to build _simple_set_pyx, but static_tuple depends
 
315
    # on simple_set
 
316
    add_pyrex_extension('bzrlib._simple_set_pyx')
 
317
    ext_modules.append(Extension('bzrlib._static_tuple_c',
 
318
                                 ['bzrlib/_static_tuple_c.c']))
 
319
add_pyrex_extension('bzrlib._btree_serializer_pyx')
300
320
 
301
321
 
302
322
if unavailable_files:
395
415
    # PyQt4 itself still escapes the plugin detection code for some reason...
396
416
    packages.append('PyQt4')
397
417
    excludes.append('PyQt4.elementtree.ElementTree')
 
418
    excludes.append('PyQt4.uic.port_v3')
398
419
    includes.append('sip') # extension module required for Qt.
399
420
    packages.append('pygments') # colorizer for qbzr
400
421
    packages.append('docutils') # html formatting
449
470
 
450
471
def get_svn_py2exe_info(includes, excludes, packages):
451
472
    packages.append('subvertpy')
 
473
    packages.append('sqlite3')
452
474
 
453
475
 
454
476
if 'bdist_wininst' in sys.argv:
532
554
                                     version = version_str,
533
555
                                     description = META_INFO['description'],
534
556
                                     author = META_INFO['author'],
535
 
                                     copyright = "(c) Canonical Ltd, 2005-2009",
 
557
                                     copyright = "(c) Canonical Ltd, 2005-2010",
536
558
                                     company_name = "Canonical Ltd.",
537
559
                                     comments = META_INFO['description'],
538
560
                                    )
551
573
    if sys.version.startswith('2.4'):
552
574
        # adding elementtree package
553
575
        additional_packages.add('elementtree')
554
 
    elif sys.version.startswith('2.5'):
 
576
    elif sys.version.startswith('2.6') or sys.version.startswith('2.5'):
555
577
        additional_packages.add('xml.etree')
556
578
    else:
557
579
        import warnings
603
625
            excludes.extend(["bzrlib.plugins." + d for d in dirs])
604
626
        x = []
605
627
        for i in files:
606
 
            if os.path.splitext(i)[1] not in [".py", ".pyd", ".dll", ".mo"]:
 
628
            # Throw away files we don't want packaged. Note that plugins may
 
629
            # have data files with all sorts of extensions so we need to
 
630
            # be conservative here about what we ditch.
 
631
            ext = os.path.splitext(i)[1]
 
632
            if ext.endswith('~') or ext in [".pyc", ".swp"]:
607
633
                continue
608
634
            if i == '__init__.py' and root == 'bzrlib/plugins':
609
635
                continue
686
712
        # easy_install one
687
713
        DATA_FILES = [('man/man1', ['bzr.1'])]
688
714
 
 
715
    if sys.platform != 'win32':
 
716
        # see https://wiki.kubuntu.org/Apport/DeveloperHowTo
 
717
        #
 
718
        # checking the paths and hardcoding the check for root is a bit gross,
 
719
        # but I don't see a cleaner way to find out the locations in a way
 
720
        # that's going to align with the hardcoded paths in apport.
 
721
        if os.geteuid() == 0:
 
722
            DATA_FILES += [
 
723
                ('/usr/share/apport/package-hooks',
 
724
                    ['apport/source_bzr.py']),
 
725
                ('/etc/apport/crashdb.conf.d/',
 
726
                    ['apport/bzr-crashdb.conf']),]
 
727
 
689
728
    # std setup
690
729
    ARGS = {'scripts': ['bzr'],
691
730
            'data_files': DATA_FILES,