/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)
42
    
43
    def _compile_po_files(self):
44
        data_files = []
45
        
46
        # Don't install language files on Win32
47
        if sys.platform == 'win32':
48
            return data_files
49
        
50
        PO_DIR = 'po'
51
        for po in glob.glob(os.path.join(PO_DIR,'*.po')):
52
            lang = os.path.basename(po[:-3])
53
            # It's necessary to compile in this directory (not in po_dir)
54
            # because install_data can't rename file
55
            mo = os.path.join('build', 'mo', lang, 'olive-gtk.mo')
56
            
57
            directory = os.path.dirname(mo)
58
            if not os.path.exists(directory):
59
                info('creating %s' % directory)
60
                os.makedirs(directory)
61
            
62
            if newer(po, mo):
63
                # True if mo doesn't exist
64
                cmd = 'msgfmt -o %s %s' % (mo, po)
65
                info('compiling %s -> %s' % (po, mo))
66
                if os.system(cmd) != 0:
67
                    raise SystemExit('Error while running msgfmt')
68
                
69
                dest = os.path.dirname(os.path.join('share', 'locale', lang, 'LC_MESSAGES', 'olive-gtk.mo'))
70
                data_files.append((dest, [mo]))
71
        
72
        return data_files
73
    
74
    def _nautilus_plugin(self):
75
        files = []
76
        if sys.platform[:5] == 'linux':
77
            cmd = os.popen('pkg-config --variable=pythondir nautilus-python', 'r')
78
            res = cmd.readline()
79
            ret = cmd.close()
80
            
81
            if ret is None:
82
                dest = res[5:]
83
                files.append((dest, ['nautilus-bzr.py']))
84
        
85
        return files
83 by Jelmer Vernooij
Merge Olive code.
86
87
88
setup(
91.1.10 by Jelmer Vernooij
Fix name for bzr-gtk (closes: #67933), update version number.
89
    name = "bzr-gtk",
286 by Szilveszter Farkas (Phanatic)
Start working on 0.92.0
90
    version = "0.92.0",
83 by Jelmer Vernooij
Merge Olive code.
91
    maintainer = "Jelmer Vernooij",
92
    maintainer_email = "jelmer@samba.org",
93
    description = "GTK+ Frontends for various Bazaar commands",
94
    license = "GNU GPL v2",
95
    scripts=['olive-gtk'],
96
    package_dir = {
97
        "bzrlib.plugins.gtk": ".",
98
        "bzrlib.plugins.gtk.viz": "viz", 
66.2.13 by Jelmer Vernooij
Install olive.
99
        "bzrlib.plugins.gtk.annotate": "annotate",
126.1.34 by Szilveszter Farkas (Phanatic)
Install test suite.
100
        "bzrlib.plugins.gtk.olive": "olive",
101
        "bzrlib.plugins.gtk.tests": "tests"
83 by Jelmer Vernooij
Merge Olive code.
102
        },
103
    packages = [
195.6.4 by Szilveszter Farkas (Phanatic)
The Windows drive selector was moved to the location bar.
104
        "olive",
83 by Jelmer Vernooij
Merge Olive code.
105
        "bzrlib.plugins.gtk",
106
        "bzrlib.plugins.gtk.viz",
66.2.13 by Jelmer Vernooij
Install olive.
107
        "bzrlib.plugins.gtk.annotate",
126.1.34 by Szilveszter Farkas (Phanatic)
Install test suite.
108
        "bzrlib.plugins.gtk.olive",
109
        "bzrlib.plugins.gtk.tests"
83 by Jelmer Vernooij
Merge Olive code.
110
        ],
195.6.4 by Szilveszter Farkas (Phanatic)
The Windows drive selector was moved to the location bar.
111
    data_files=[('share/olive', ['olive.glade',
112
                                 'cmenu.ui',
113
                                ]),
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.
114
                ('share/olive/icons', ['icons/commit.png',
195.6.4 by Szilveszter Farkas (Phanatic)
The Windows drive selector was moved to the location bar.
115
                                 'icons/commit16.png',
116
                                 'icons/diff.png',
117
                                 'icons/diff16.png',
118
                                 'icons/log.png',
119
                                 'icons/log16.png',
120
                                 'icons/pull.png',
121
                                 'icons/pull16.png',
122
                                 'icons/push.png',
123
                                 '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.
124
                                 'icons/refresh.png',
125
                                 'icons/oliveicon2.png']),
224 by Jelmer Vernooij
Install all desktop files.
126
                ('share/applications', ['olive-gtk.desktop',
127
                                        'bazaar-properties.desktop',
128
                                        'bzr-notify.desktop']),
195.6.4 by Szilveszter Farkas (Phanatic)
The Windows drive selector was moved to the location bar.
129
                ('share/pixmaps', ['icons/olive-gtk.png'])
130
               ],
288 by Jelmer Vernooij
Add check command to setup.py.
131
    cmdclass={'install_data': InstallData,
132
              'check': Check}
83 by Jelmer Vernooij
Merge Olive code.
133
)