/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())
463 by Martin Albisetti
Enable default nautilus integration
39
        self.data_files.extend(self._nautilus_plugin())
126.1.30 by Szilveszter Farkas (Phanatic)
Added the ability to install the Nautilus plugin (Fixed: #75603)
40
        install_data.run(self)
441 by Martin Albisetti
Added checking that the install enviroment is Linux before updating the icon cache
41
442 by Martin Albisetti
Check if command exists first before updating the cache to support all platforms
42
        try:
43
            subprocess.check_call('gtk-update-icon-cache -f -t /usr/share/icons/hicolor')
44
        except:
45
            pass
440 by Martin Albisetti
Install new bzr icons (emblems) and update the icon cache
46
126.1.30 by Szilveszter Farkas (Phanatic)
Added the ability to install the Nautilus plugin (Fixed: #75603)
47
    def _compile_po_files(self):
48
        data_files = []
49
        
50
        # Don't install language files on Win32
51
        if sys.platform == 'win32':
52
            return data_files
53
        
54
        PO_DIR = 'po'
55
        for po in glob.glob(os.path.join(PO_DIR,'*.po')):
56
            lang = os.path.basename(po[:-3])
57
            # It's necessary to compile in this directory (not in po_dir)
58
            # because install_data can't rename file
59
            mo = os.path.join('build', 'mo', lang, 'olive-gtk.mo')
60
            
61
            directory = os.path.dirname(mo)
62
            if not os.path.exists(directory):
63
                info('creating %s' % directory)
64
                os.makedirs(directory)
65
            
66
            if newer(po, mo):
67
                # True if mo doesn't exist
68
                cmd = 'msgfmt -o %s %s' % (mo, po)
69
                info('compiling %s -> %s' % (po, mo))
70
                if os.system(cmd) != 0:
71
                    raise SystemExit('Error while running msgfmt')
72
                
73
                dest = os.path.dirname(os.path.join('share', 'locale', lang, 'LC_MESSAGES', 'olive-gtk.mo'))
74
                data_files.append((dest, [mo]))
75
        
76
        return data_files
77
    
78
    def _nautilus_plugin(self):
79
        files = []
80
        if sys.platform[:5] == 'linux':
81
            cmd = os.popen('pkg-config --variable=pythondir nautilus-python', 'r')
82
            res = cmd.readline()
83
            ret = cmd.close()
84
            
85
            if ret is None:
86
                dest = res[5:]
87
                files.append((dest, ['nautilus-bzr.py']))
88
        
89
        return files
83 by Jelmer Vernooij
Merge Olive code.
90
91
92
setup(
91.1.10 by Jelmer Vernooij
Fix name for bzr-gtk (closes: #67933), update version number.
93
    name = "bzr-gtk",
416 by Szilveszter Farkas (Phanatic)
Start working on 0.94
94
    version = "0.94.0",
83 by Jelmer Vernooij
Merge Olive code.
95
    maintainer = "Jelmer Vernooij",
96
    maintainer_email = "jelmer@samba.org",
97
    description = "GTK+ Frontends for various Bazaar commands",
98
    license = "GNU GPL v2",
99
    scripts=['olive-gtk'],
100
    package_dir = {
101
        "bzrlib.plugins.gtk": ".",
102
        "bzrlib.plugins.gtk.viz": "viz", 
66.2.13 by Jelmer Vernooij
Install olive.
103
        "bzrlib.plugins.gtk.annotate": "annotate",
126.1.34 by Szilveszter Farkas (Phanatic)
Install test suite.
104
        "bzrlib.plugins.gtk.olive": "olive",
423.10.1 by Gary van der Merwe
Add branchview dir to setup.py
105
        "bzrlib.plugins.gtk.tests": "tests",
106
        "bzrlib.plugins.gtk.branchview": "branchview",
83 by Jelmer Vernooij
Merge Olive code.
107
        },
108
    packages = [
109
        "bzrlib.plugins.gtk",
110
        "bzrlib.plugins.gtk.viz",
66.2.13 by Jelmer Vernooij
Install olive.
111
        "bzrlib.plugins.gtk.annotate",
126.1.34 by Szilveszter Farkas (Phanatic)
Install test suite.
112
        "bzrlib.plugins.gtk.olive",
423.10.1 by Gary van der Merwe
Add branchview dir to setup.py
113
        "bzrlib.plugins.gtk.tests",
114
        "bzrlib.plugins.gtk.branchview",
83 by Jelmer Vernooij
Merge Olive code.
115
        ],
195.6.4 by Szilveszter Farkas (Phanatic)
The Windows drive selector was moved to the location bar.
116
    data_files=[('share/olive', ['olive.glade',
117
                                 'cmenu.ui',
118
                                ]),
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.
119
                ('share/olive/icons', ['icons/commit.png',
195.6.4 by Szilveszter Farkas (Phanatic)
The Windows drive selector was moved to the location bar.
120
                                 'icons/commit16.png',
121
                                 'icons/diff.png',
122
                                 'icons/diff16.png',
123
                                 'icons/log.png',
124
                                 'icons/log16.png',
125
                                 'icons/pull.png',
126
                                 'icons/pull16.png',
127
                                 'icons/push.png',
128
                                 '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.
129
                                 'icons/refresh.png',
130
                                 'icons/oliveicon2.png']),
399.1.14 by Daniel Schierbeck
Made sure the signature icons get installed.
131
                ('share/bzr-gtk/icons', ['icons/sign-bad.png',
399.1.19 by Jelmer Vernooij
Add utility function for finding icon paths.
132
                                 'icons/sign-ok.png',
133
                                 'icons/sign.png',
134
                                 'icons/sign-unknown.png',
450.6.3 by Daniel Schierbeck
Made the bug icon be installed.
135
                                 'icons/bug.png',
399.1.19 by Jelmer Vernooij
Add utility function for finding icon paths.
136
                                 'icons/bzr-icon-64.png']),
224 by Jelmer Vernooij
Install all desktop files.
137
                ('share/applications', ['olive-gtk.desktop',
138
                                        'bazaar-properties.desktop',
450.7.2 by Jelmer Vernooij
Register bzr ghandle-patch as command for opening diffs and patches.
139
                                        'bzr-handle-patch.desktop',
224 by Jelmer Vernooij
Install all desktop files.
140
                                        'bzr-notify.desktop']),
450.7.1 by Jelmer Vernooij
Register bzr-gtk as patch handler.
141
                ('share/application-registry', ['bzr-gtk.applications']),
399.1.19 by Jelmer Vernooij
Add utility function for finding icon paths.
142
                ('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
143
                ('share/icons/hicolor/scalable/emblems', 
144
                    ['icons/emblem-bzr-added.svg', 
145
                        'icons/emblem-bzr-conflict.svg', 
146
                        'icons/emblem-bzr-controlled.svg', 
147
                        'icons/emblem-bzr-modified.svg',
148
                        'icons/emblem-bzr-removed.svg'])
195.6.4 by Szilveszter Farkas (Phanatic)
The Windows drive selector was moved to the location bar.
149
               ],
288 by Jelmer Vernooij
Add check command to setup.py.
150
    cmdclass={'install_data': InstallData,
151
              'check': Check}
83 by Jelmer Vernooij
Merge Olive code.
152
)