/b-gtk/fix-viz

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz

« back to all changes in this revision

Viewing changes to setup.py

  • Committer: Jelmer Vernooij
  • Date: 2006-09-29 20:59:52 UTC
  • mfrom: (0.8.92 merge)
  • Revision ID: jelmer@samba.org-20060929205952-32ce1f02b7cf334b
MergeĀ OliveĀ code.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/env python2.4
 
2
"""GTK+ Frontends for various Bazaar commands."""
 
3
 
 
4
from distutils.core import setup
 
5
from distutils.command.install_data import install_data
 
6
from distutils.dep_util import newer
 
7
from distutils.log import info
 
8
import glob
 
9
import os
 
10
import sys
 
11
 
 
12
 
 
13
 
 
14
class InstallData(install_data):
 
15
        def run(self):
 
16
                self.data_files.extend(self._compile_po_files())
 
17
                install_data.run(self)
 
18
 
 
19
        def _compile_po_files(self):
 
20
                data_files = []
 
21
                
 
22
                # Don't install language files on Win32
 
23
                if sys.platform == 'win32':
 
24
                    return data_files
 
25
                
 
26
                PO_DIR = 'po'
 
27
                for po in glob.glob(os.path.join(PO_DIR,'*.po')):
 
28
                        lang = os.path.basename(po[:-3])
 
29
                        # It's necessary to compile in this directory (not in po_dir)
 
30
                        # because install_data can't rename file
 
31
                        mo = os.path.join('build', 'mo', lang, 'olive-gtk.mo')
 
32
                        
 
33
                        directory = os.path.dirname(mo)
 
34
                        if not os.path.exists(directory):
 
35
                                info('creating %s' % directory)
 
36
                                os.makedirs(directory)
 
37
                        
 
38
                        if newer(po, mo):
 
39
                                # True if mo doesn't exist
 
40
                                cmd = 'msgfmt -o %s %s' % (mo, po)
 
41
                                info('compiling %s -> %s' % (po, mo))
 
42
                                if os.system(cmd) != 0:
 
43
                                        raise SystemExit('Error while running msgfmt')
 
44
 
 
45
                                dest = os.path.dirname(os.path.join('share', 'locale', lang, 'LC_MESSAGES', 'olive-gtk.mo'))
 
46
                                data_files.append((dest, [mo]))
 
47
                
 
48
                return data_files
 
49
 
 
50
 
 
51
 
 
52
setup(
 
53
    name = "gtk",
 
54
    version = "0.11.0",
 
55
    maintainer = "Jelmer Vernooij",
 
56
    maintainer_email = "jelmer@samba.org",
 
57
    description = "GTK+ Frontends for various Bazaar commands",
 
58
    license = "GNU GPL v2",
 
59
    scripts=['olive-gtk'],
 
60
    package_dir = {
 
61
        "bzrlib.plugins.gtk": ".",
 
62
        "bzrlib.plugins.gtk.viz": "viz", 
 
63
        "bzrlib.plugins.gtk.annotate": "annotate"
 
64
        },
 
65
    packages = [
 
66
                "olive",
 
67
        "bzrlib.plugins.gtk",
 
68
        "bzrlib.plugins.gtk.viz",
 
69
        "bzrlib.plugins.gtk.annotate"
 
70
        ],
 
71
      data_files=[('share/olive', ['olive.glade',
 
72
                                   'oliveicon2.png',
 
73
                                   'cmenu.ui',
 
74
                                   'icons/commit.png',
 
75
                                   'icons/commit16.png',
 
76
                                   'icons/diff.png',
 
77
                                   'icons/diff16.png',
 
78
                                   'icons/log.png',
 
79
                                   'icons/log16.png',
 
80
                                   'icons/pull.png',
 
81
                                   'icons/pull16.png',
 
82
                                   'icons/push.png',
 
83
                                   'icons/push16.png',
 
84
                                   'icons/refresh.png']),
 
85
                  ('share/applications', ['olive-gtk.desktop']),
 
86
                  ('share/pixmaps', ['icons/olive-gtk.png'])
 
87
                 ],
 
88
        cmdclass={'install_data': InstallData}
 
89
)