/b-gtk/fix-viz

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz
126.1.31 by Szilveszter Farkas (Phanatic)
We also support other versions than 2.4.
1
#!/usr/bin/python
83 by Jelmer Vernooij
Merge Olive code.
2
"""GTK+ Frontends for various Bazaar commands."""
0.8.10 by Szilveszter Farkas (Phanatic)
2006-07-16 Szilveszter Farkas <Szilveszter.Farkas@gmail.com>
3
288 by Jelmer Vernooij
Add check command to setup.py.
4
from distutils.core import setup, Command
0.9.1 by Stéphane Raimbault
Work on translation.
5
from distutils.command.install_data import install_data
6
from distutils.dep_util import newer
7
from distutils.log import info
0.8.74 by Szilveszter Farkas (Phanatic)
Fix the Win32 build/install issue.
8
import glob
0.9.1 by Stéphane Raimbault
Work on translation.
9
import os
0.8.74 by Szilveszter Farkas (Phanatic)
Fix the Win32 build/install issue.
10
import sys
0.9.1 by Stéphane Raimbault
Work on translation.
11
288 by Jelmer Vernooij
Add check command to setup.py.
12
class Check(Command):
13
    description = "Run unit tests"
14
15
    user_options = []
16
17
    def initialize_options(self):
18
        pass
19
20
    def finalize_options(self):
21
        pass
22
23
    def get_command_name(self):
24
        return 'test'
25
26
    def run(self):
27
        from bzrlib.tests import TestLoader, TestSuite, TextTestRunner
28
        import __init__ as bzrgtk
29
        runner = TextTestRunner()
30
        loader = TestLoader()
31
        suite = TestSuite()
32
        suite.addTest(bzrgtk.test_suite())
33
        result = runner.run(suite)
34
        return result.wasSuccessful()
35
0.9.1 by Stéphane Raimbault
Work on translation.
36
class InstallData(install_data):
126.1.30 by Szilveszter Farkas (Phanatic)
Added the ability to install the Nautilus plugin (Fixed: #75603)
37
    def run(self):
38
        self.data_files.extend(self._compile_po_files())
39
        # Disable for now - performance issues
40
        #self.data_files.extend(self._nautilus_plugin())
41
        install_data.run(self)
441 by Martin Albisetti
Added checking that the install enviroment is Linux before updating the icon cache
42
442 by Martin Albisetti
Check if command exists first before updating the cache to support all platforms
43
        try:
44
            subprocess.check_call('gtk-update-icon-cache -f -t /usr/share/icons/hicolor')
45
        except:
46
            pass
440 by Martin Albisetti
Install new bzr icons (emblems) and update the icon cache
47
126.1.30 by Szilveszter Farkas (Phanatic)
Added the ability to install the Nautilus plugin (Fixed: #75603)
48
    def _compile_po_files(self):
49
        data_files = []
50
        
51
        # Don't install language files on Win32
52
        if sys.platform == 'win32':
53
            return data_files
54
        
55
        PO_DIR = 'po'
56
        for po in glob.glob(os.path.join(PO_DIR,'*.po')):
57
            lang = os.path.basename(po[:-3])
58
            # It's necessary to compile in this directory (not in po_dir)
59
            # because install_data can't rename file
60
            mo = os.path.join('build', 'mo', lang, 'olive-gtk.mo')
61
            
62
            directory = os.path.dirname(mo)
63
            if not os.path.exists(directory):
64
                info('creating %s' % directory)
65
                os.makedirs(directory)
66
            
67
            if newer(po, mo):
68
                # True if mo doesn't exist
69
                cmd = 'msgfmt -o %s %s' % (mo, po)
70
                info('compiling %s -> %s' % (po, mo))
71
                if os.system(cmd) != 0:
72
                    raise SystemExit('Error while running msgfmt')
73
                
74
                dest = os.path.dirname(os.path.join('share', 'locale', lang, 'LC_MESSAGES', 'olive-gtk.mo'))
75
                data_files.append((dest, [mo]))
76
        
77
        return data_files
78
    
79
    def _nautilus_plugin(self):
80
        files = []
81
        if sys.platform[:5] == 'linux':
82
            cmd = os.popen('pkg-config --variable=pythondir nautilus-python', 'r')
83
            res = cmd.readline()
84
            ret = cmd.close()
85
            
86
            if ret is None:
87
                dest = res[5:]
88
                files.append((dest, ['nautilus-bzr.py']))
89
        
90
        return files
83 by Jelmer Vernooij
Merge Olive code.
91
92
93
setup(
91.1.10 by Jelmer Vernooij
Fix name for bzr-gtk (closes: #67933), update version number.
94
    name = "bzr-gtk",
416 by Szilveszter Farkas (Phanatic)
Start working on 0.94
95
    version = "0.94.0",
83 by Jelmer Vernooij
Merge Olive code.
96
    maintainer = "Jelmer Vernooij",
97
    maintainer_email = "jelmer@samba.org",
98
    description = "GTK+ Frontends for various Bazaar commands",
99
    license = "GNU GPL v2",
100
    scripts=['olive-gtk'],
101
    package_dir = {
102
        "bzrlib.plugins.gtk": ".",
103
        "bzrlib.plugins.gtk.viz": "viz", 
66.2.13 by Jelmer Vernooij
Install olive.
104
        "bzrlib.plugins.gtk.annotate": "annotate",
126.1.34 by Szilveszter Farkas (Phanatic)
Install test suite.
105
        "bzrlib.plugins.gtk.olive": "olive",
423.10.1 by Gary van der Merwe
Add branchview dir to setup.py
106
        "bzrlib.plugins.gtk.tests": "tests",
107
        "bzrlib.plugins.gtk.branchview": "branchview",
83 by Jelmer Vernooij
Merge Olive code.
108
        },
109
    packages = [
110
        "bzrlib.plugins.gtk",
111
        "bzrlib.plugins.gtk.viz",
66.2.13 by Jelmer Vernooij
Install olive.
112
        "bzrlib.plugins.gtk.annotate",
126.1.34 by Szilveszter Farkas (Phanatic)
Install test suite.
113
        "bzrlib.plugins.gtk.olive",
423.10.1 by Gary van der Merwe
Add branchview dir to setup.py
114
        "bzrlib.plugins.gtk.tests",
115
        "bzrlib.plugins.gtk.branchview",
83 by Jelmer Vernooij
Merge Olive code.
116
        ],
195.6.4 by Szilveszter Farkas (Phanatic)
The Windows drive selector was moved to the location bar.
117
    data_files=[('share/olive', ['olive.glade',
118
                                 'cmenu.ui',
119
                                ]),
254.2.1 by Gary van der Merwe
Make icon locations consistant between source and installed version. Let glade nkow where to find the icons with a project file.
120
                ('share/olive/icons', ['icons/commit.png',
195.6.4 by Szilveszter Farkas (Phanatic)
The Windows drive selector was moved to the location bar.
121
                                 'icons/commit16.png',
122
                                 'icons/diff.png',
123
                                 'icons/diff16.png',
124
                                 'icons/log.png',
125
                                 'icons/log16.png',
126
                                 'icons/pull.png',
127
                                 'icons/pull16.png',
128
                                 'icons/push.png',
129
                                 'icons/push16.png',
254.2.1 by Gary van der Merwe
Make icon locations consistant between source and installed version. Let glade nkow where to find the icons with a project file.
130
                                 'icons/refresh.png',
131
                                 'icons/oliveicon2.png']),
399.1.14 by Daniel Schierbeck
Made sure the signature icons get installed.
132
                ('share/bzr-gtk/icons', ['icons/sign-bad.png',
399.1.19 by Jelmer Vernooij
Add utility function for finding icon paths.
133
                                 'icons/sign-ok.png',
134
                                 'icons/sign.png',
135
                                 'icons/sign-unknown.png',
136
                                 'icons/bzr-icon-64.png']),
224 by Jelmer Vernooij
Install all desktop files.
137
                ('share/applications', ['olive-gtk.desktop',
138
                                        'bazaar-properties.desktop',
139
                                        'bzr-notify.desktop']),
399.1.19 by Jelmer Vernooij
Add utility function for finding icon paths.
140
                ('share/pixmaps', ['icons/olive-gtk.png', 'icons/bzr-icon-64.png']),
440 by Martin Albisetti
Install new bzr icons (emblems) and update the icon cache
141
                ('share/icons/hicolor/scalable/emblems', 
142
                    ['icons/emblem-bzr-added.svg', 
143
                        'icons/emblem-bzr-conflict.svg', 
144
                        'icons/emblem-bzr-controlled.svg', 
145
                        'icons/emblem-bzr-modified.svg',
146
                        'icons/emblem-bzr-removed.svg'])
195.6.4 by Szilveszter Farkas (Phanatic)
The Windows drive selector was moved to the location bar.
147
               ],
288 by Jelmer Vernooij
Add check command to setup.py.
148
    cmdclass={'install_data': InstallData,
149
              'check': Check}
83 by Jelmer Vernooij
Merge Olive code.
150
)