1
 
# Copyright (C) 2006 by Szilveszter Farkas (Phanatic) <szilveszter.farkas@gmail.com>
 
3
 
# This program is free software; you can redistribute it and/or modify
 
4
 
# it under the terms of the GNU General Public License as published by
 
5
 
# the Free Software Foundation; either version 2 of the License, or
 
6
 
# (at your option) any later version.
 
8
 
# This program is distributed in the hope that it will be useful,
 
9
 
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 
10
 
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
11
 
# GNU General Public License for more details.
 
13
 
# You should have received a copy of the GNU General Public License
 
14
 
# along with this program; if not, write to the Free Software
 
15
 
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
17
 
from distutils.core import setup
 
21
 
      description='Olive - Graphical frontend for Bazaar-NG',
 
22
 
      author='Szilveszter Farkas (Phanatic)',
 
23
 
      author_email='szilveszter.farkas@gmail.com',
 
24
 
      url='https://launchpad.net/products/olive/',
 
25
 
      packages=['olive.backend', 'olive.frontend.gtk'],
 
26
 
      package_dir={'olive.backend': 'olive/backend', 'olive.frontend.gtk': 'olive/frontend/gtk'})
 
 
 
b'\\ No newline at end of file'
 
 
2
"""GTK+ Frontends for various Bazaar commands."""
 
 
4
from distutils.core import setup, Command
 
 
5
from distutils.command.install_data import install_data
 
 
6
from distutils.dep_util import newer
 
 
7
from distutils.log import info
 
 
13
    description = "Run unit tests"
 
 
17
    def initialize_options(self):
 
 
20
    def finalize_options(self):
 
 
23
    def get_command_name(self):
 
 
27
        from bzrlib.tests import TestLoader, TestSuite, TextTestRunner
 
 
28
        import __init__ as bzrgtk
 
 
29
        runner = TextTestRunner()
 
 
32
        suite.addTest(bzrgtk.test_suite())
 
 
33
        result = runner.run(suite)
 
 
34
        return result.wasSuccessful()
 
 
36
class InstallData(install_data):
 
 
38
        self.data_files.extend(self._compile_po_files())
 
 
39
        self.data_files.extend(self._nautilus_plugin())
 
 
40
        install_data.run(self)
 
 
43
            subprocess.check_call('gtk-update-icon-cache -f -t /usr/share/icons/hicolor')
 
 
47
    def _compile_po_files(self):
 
 
50
        # Don't install language files on Win32
 
 
51
        if sys.platform == 'win32':
 
 
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')
 
 
61
            directory = os.path.dirname(mo)
 
 
62
            if not os.path.exists(directory):
 
 
63
                info('creating %s' % directory)
 
 
64
                os.makedirs(directory)
 
 
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')
 
 
73
                dest = os.path.dirname(os.path.join('share', 'locale', lang, 'LC_MESSAGES', 'olive-gtk.mo'))
 
 
74
                data_files.append((dest, [mo]))
 
 
78
    def _nautilus_plugin(self):
 
 
80
        if sys.platform[:5] == 'linux':
 
 
81
            cmd = os.popen('pkg-config --variable=pythondir nautilus-python', 'r')
 
 
87
                files.append((dest, ['nautilus-bzr.py']))
 
 
94
    version = "0.94.0rc1",
 
 
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'],
 
 
101
        "bzrlib.plugins.gtk": ".",
 
 
102
        "bzrlib.plugins.gtk.viz": "viz", 
 
 
103
        "bzrlib.plugins.gtk.annotate": "annotate",
 
 
104
        "bzrlib.plugins.gtk.olive": "olive",
 
 
105
        "bzrlib.plugins.gtk.tests": "tests",
 
 
106
        "bzrlib.plugins.gtk.branchview": "branchview",
 
 
109
        "bzrlib.plugins.gtk",
 
 
110
        "bzrlib.plugins.gtk.viz",
 
 
111
        "bzrlib.plugins.gtk.annotate",
 
 
112
        "bzrlib.plugins.gtk.olive",
 
 
113
        "bzrlib.plugins.gtk.tests",
 
 
114
        "bzrlib.plugins.gtk.branchview",
 
 
116
    data_files=[('share/olive', ['olive.glade',
 
 
119
                ('share/olive/icons', ['icons/commit.png',
 
 
120
                                 'icons/commit16.png',
 
 
130
                                 'icons/oliveicon2.png']),
 
 
131
                ('share/bzr-gtk/icons', ['icons/sign-bad.png',
 
 
134
                                 'icons/sign-unknown.png',
 
 
136
                                 'icons/bzr-icon-64.png']),
 
 
137
                ('share/applications', ['olive-gtk.desktop',
 
 
138
                                        'bazaar-properties.desktop',
 
 
139
                                        'bzr-handle-patch.desktop',
 
 
140
                                        'bzr-notify.desktop']),
 
 
141
                ('share/application-registry', ['bzr-gtk.applications']),
 
 
142
                ('share/pixmaps', ['icons/olive-gtk.png', 'icons/bzr-icon-64.png']),
 
 
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'])
 
 
150
    cmdclass={'install_data': InstallData,