1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
#!/usr/bin/env python
#
# Copyright (C) 2009 Martin Owens
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
from GroundControl import __appname__, __version__
from distutils.core import setup
from distutils.command.install_lib import install_lib
from DistUtilsExtra.command import *
from fnmatch import fnmatch
import os, platform
MODULE = 'GroundControl'
# remove MANIFEST. distutils doesn't properly update it
# when the contents of directories change.
if os.path.exists('MANIFEST'): os.remove('MANIFEST')
if platform.system() == 'FreeBSD':
man_dir = 'man'
else:
man_dir = 'share/man'
TOP_BUILDDIR='.'
INTLTOOL_MERGE='intltool-merge'
desktop_in='groundcontrol.desktop.in'
desktop_data='groundcontrol.desktop'
class groundcontrol_build_i18n(build_i18n.build_i18n):
def run(self):
build_i18n.build_i18n.run(self)
# Build the desktop file
os.system ("C_ALL=C " + INTLTOOL_MERGE + " -d -u -c " + TOP_BUILDDIR +
"/po/.intltool-merge-cache " + TOP_BUILDDIR + "/po " +
desktop_in + " " + desktop_data)
def listfiles(*dirs):
dir, pattern = os.path.split(os.path.join(*dirs))
return [os.path.join(dir, filename)
for filename in os.listdir(os.path.abspath(dir))
if filename[0] != '.' and fnmatch(filename, pattern)]
# Generate a standard share dir
SDIR = 'share/%s/' % __appname__
setup(
name = __appname__,
version = __version__,
description = 'Ground Control - Launchpad Desktop Integration',
long_description = "Integrates the Launchpad service stack with the desktop.",
author = 'Martin Owens',
author_email = 'doctormo@ubuntu.com',
url = 'https://code.launchpad.net/groundcontrol',
platforms = 'linux',
license = 'GPLv3',
packages = [ MODULE ],
scripts = listfiles( 'bin', 'lp-*' ),
data_files = [
( SDIR, listfiles( 'bin', '*.py' ) ),
( SDIR + 'glade', listfiles( 'glade', '*.glade' ) ),
( SDIR + 'pixmaps', listfiles( 'pixmaps', '*.svg' ) ),
( SDIR + 'pixmaps/chicons', listfiles( 'pixmaps/chicons', '*.svg' ) ),
( SDIR + 'pixmaps/status', listfiles( 'pixmaps/status', '*.svg' ) ),
( SDIR + 'pixmaps/person', listfiles( 'pixmaps/person', '*.svg' ) ),
( SDIR + 'pixmaps/project', listfiles( 'pixmaps/project', '*.svg' ) ),
( SDIR + 'pixmaps/bugs', listfiles( 'pixmaps/bugs', '*.svg' ) ),
( SDIR + 'pixmaps/animation', listfiles( 'pixmaps/animation', '*.svg' ) ),
( 'lib/nautilus/extensions-2.0/python/', [ 'nautilus-groundcontrol.py' ] ),
( 'share/applications/', [ 'groundcontrol.desktop' ] ),
( 'share/pixmaps/', [ 'pixmaps/groundcontrol.svg' ] ),
( os.path.join(man_dir, 'man1'), listfiles( 'doc', '*.1' ) ),
],
cmdclass={
'build' : build_extra.build_extra,
'build_i18n' : groundcontrol_build_i18n,
},
)
|