~groundcontrollers/groundcontrol/trunk

24 by Martin Owens
Change glade and setup
1
#!/usr/bin/env python
2
#
434 by Martin Owens
Updates to file listing
3
# Copyright (C) 2012 Martin Owens <doctormo@gmail.com>
24 by Martin Owens
Change glade and setup
4
#
5
# This program is free software; you can redistribute it and/or modify
6
# it under the terms of the GNU General Public License as published by
7
# the Free Software Foundation; either version 3 of the License, or
8
# (at your option) any later version.
9
#
10
# This program is distributed in the hope that it will be useful,
11
# but WITHOUT ANY WARRANTY; without even the implied warranty of
12
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
# GNU General Public License for more details.
14
#
15
# You should have received a copy of the GNU General Public License
16
# along with this program; if not, write to the Free Software
17
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18
#
434 by Martin Owens
Updates to file listing
19
import sys
20
sys.path.insert(0, 'lib')
304 by Martin Owens
Revert to version 1.6.2
21
65 by Martin Owens
Fix issues with packaging, deployment and icons.
22
from GroundControl import __appname__, __version__
24 by Martin Owens
Change glade and setup
23
from distutils.core import setup
65 by Martin Owens
Fix issues with packaging, deployment and icons.
24
from distutils.command.install_lib  import install_lib
124.1.2 by Andrew Starr-Bochicchio
Try adding illn support to build system
25
from DistUtilsExtra.command import *
65 by Martin Owens
Fix issues with packaging, deployment and icons.
26
from fnmatch import fnmatch
27
30 by Martin Owens
Update scripting and packagaing, version 0.9.1
28
import os, platform
340 by Martin Owens
Move packaging forward with the new files and binary.
29
import atexit
30
434 by Martin Owens
Updates to file listing
31
340 by Martin Owens
Move packaging forward with the new files and binary.
32
def clean_up():
33
    if os.path.exists('MANIFEST'): os.remove('MANIFEST')
34
atexit.register(clean_up)
24 by Martin Owens
Change glade and setup
35
30 by Martin Owens
Update scripting and packagaing, version 0.9.1
36
if platform.system() == 'FreeBSD':
37
        man_dir = 'man'
38
else:
39
        man_dir = 'share/man'
40
124.1.5 by Andrew Starr-Bochicchio
Remove setup.cfg and handle desktop file merging directly in setup.py
41
TOP_BUILDDIR='.'
42
INTLTOOL_MERGE='intltool-merge'
43
desktop_in='groundcontrol.desktop.in'
44
desktop_data='groundcontrol.desktop'
45
197 by Martin Owens
Fix the important i18n generation bug that had the desktop file being created every run of setup.py
46
class groundcontrol_build_i18n(build_i18n.build_i18n):
47
    def run(self):
48
         build_i18n.build_i18n.run(self)
49
         # Build the desktop file
50
         os.system ("C_ALL=C " + INTLTOOL_MERGE + " -d -u -c " + TOP_BUILDDIR +
51
             "/po/.intltool-merge-cache " + TOP_BUILDDIR + "/po " +
52
             desktop_in + " " + desktop_data)
65 by Martin Owens
Fix issues with packaging, deployment and icons.
53
30 by Martin Owens
Update scripting and packagaing, version 0.9.1
54
def listfiles(*dirs):
55
        dir, pattern = os.path.split(os.path.join(*dirs))
56
        return [os.path.join(dir, filename)
57
                for filename in os.listdir(os.path.abspath(dir))
58
                        if filename[0] != '.' and fnmatch(filename, pattern)]
59
134 by Martin Owens
Add in a simple help system.
60
# Generate a standard share dir
61
SDIR = 'share/%s/' % __appname__
62
24 by Martin Owens
Change glade and setup
63
setup(
65 by Martin Owens
Fix issues with packaging, deployment and icons.
64
        name             = __appname__,
65
        version          = __version__,
415 by Martin Owens
Start work on a big ground control application.
66
        description      = 'Project management for online projects intergrated into the desktop.',
67
        long_description = "Integrates the programming services like github and launchpad into the desktop, while providing an application to do all the development workflow from conception to publishing.",
24 by Martin Owens
Change glade and setup
68
        author           = 'Martin Owens',
27 by Martin Owens
Move name, cause a lot of trouble.
69
        author_email     = 'doctormo@ubuntu.com',
30 by Martin Owens
Update scripting and packagaing, version 0.9.1
70
        url              = 'https://code.launchpad.net/groundcontrol',
24 by Martin Owens
Change glade and setup
71
        platforms        = 'linux',
72
        license          = 'GPLv3',
354 by Martin Owens
Fix some packaging issues, update to beta, fix issues with logging in and remove xdgapp.
73
        packages         = [ 'GroundControl',
74
            'GroundControl.gtkme',
75
            'GroundControl.gui',
76
            'GroundControl.services',
434 by Martin Owens
Updates to file listing
77
            'GroundControl.plugins',
354 by Martin Owens
Fix some packaging issues, update to beta, fix issues with logging in and remove xdgapp.
78
        ],
434 by Martin Owens
Updates to file listing
79
        package_dir      = {'': 'lib'},
415 by Martin Owens
Start work on a big ground control application.
80
        scripts          = listfiles( 'bin', '*' ),
29 by Martin Owens
Move towards a tarball
81
        data_files       = [
415 by Martin Owens
Start work on a big ground control application.
82
            ( SDIR, listfiles( '', '*.py' ) ),
134 by Martin Owens
Add in a simple help system.
83
            ( SDIR + 'glade', listfiles( 'glade', '*.glade' ) ),
84
            ( SDIR + 'pixmaps', listfiles( 'pixmaps', '*.svg' ) ),
85
            ( SDIR + 'pixmaps/chicons', listfiles( 'pixmaps/chicons', '*.svg' ) ),
86
            ( SDIR + 'pixmaps/status', listfiles( 'pixmaps/status', '*.svg' ) ),
87
            ( SDIR + 'pixmaps/person', listfiles( 'pixmaps/person', '*.svg' ) ),
88
            ( SDIR + 'pixmaps/project', listfiles( 'pixmaps/project', '*.svg' ) ),
162 by Martin Owens
Introduce a new gui to search for bugs.
89
            ( SDIR + 'pixmaps/bugs', listfiles( 'pixmaps/bugs', '*.svg' ) ),
134 by Martin Owens
Add in a simple help system.
90
            ( SDIR + 'pixmaps/animation', listfiles( 'pixmaps/animation', '*.svg' ) ),
340 by Martin Owens
Move packaging forward with the new files and binary.
91
            ( SDIR + 'pixmaps/services', listfiles( 'pixmaps/services', '*.*' ) ),
92
            ( SDIR + 'pixmaps/indicator', listfiles( 'pixmaps/indicator', '*.svg' ) ),
415 by Martin Owens
Start work on a big ground control application.
93
            # Re-enable nautilus extention when nautilus 3.0 is working with python.
94
            #( 'lib/nautilus/extensions-2.0/python/',  [ 'nautilus-groundcontrol.py' ] ),
65 by Martin Owens
Fix issues with packaging, deployment and icons.
95
            ( 'share/applications/', [ 'groundcontrol.desktop' ] ),
96
            ( 'share/pixmaps/', [ 'pixmaps/groundcontrol.svg' ] ),
340 by Martin Owens
Move packaging forward with the new files and binary.
97
            #( os.path.join(man_dir, 'man1'),  listfiles( 'doc',     '*.1' ) ),
29 by Martin Owens
Move towards a tarball
98
        ],
208 by Martin Owens
Remove the install lib entra from the setup and make init figure it out it's self.
99
        cmdclass={
197 by Martin Owens
Fix the important i18n generation bug that had the desktop file being created every run of setup.py
100
                   'build'       : build_extra.build_extra,
101
                   'build_i18n'  : groundcontrol_build_i18n,
102
                 },
24 by Martin Owens
Change glade and setup
103
    )
104