~doctormo/doctormo-random/gdocs-mount

« back to all changes in this revision

Viewing changes to setup.py

  • Committer: Martin Owens
  • Date: 2010-07-20 03:53:01 UTC
  • Revision ID: doctormo@gmail.com-20100720035301-ssvsjeduo11ahabd
primary commit

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/env python
 
2
#
 
3
# Copyright (C) 2009 Martin Owens
 
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
#
 
19
 
 
20
__appname__ = 'gdocs-mount'
 
21
__version__ = '1.1'
 
22
 
 
23
from distutils.core import setup
 
24
from distutils.command.install_lib  import install_lib
 
25
from DistUtilsExtra.command import *
 
26
from fnmatch import fnmatch
 
27
 
 
28
import os, platform
 
29
 
 
30
# remove MANIFEST. distutils doesn't properly update it
 
31
# when the contents of directories change.
 
32
if os.path.exists('MANIFEST'): os.remove('MANIFEST')
 
33
 
 
34
if platform.system() == 'FreeBSD':
 
35
        man_dir = 'man'
 
36
else:
 
37
        man_dir = 'share/man'
 
38
 
 
39
TOP_BUILDDIR='.'
 
40
INTLTOOL_MERGE='intltool-merge'
 
41
desktop_in='gdocs-mount-gtk.desktop.in'
 
42
desktop_data='gdocs-mount-gtk.desktop'
 
43
 
 
44
class groundcontrol_build_i18n(build_i18n.build_i18n):
 
45
    def run(self):
 
46
         build_i18n.build_i18n.run(self)
 
47
         # Build the desktop file
 
48
         os.system ("C_ALL=C " + INTLTOOL_MERGE + " -d -u -c " + TOP_BUILDDIR +
 
49
             "/po/.intltool-merge-cache " + TOP_BUILDDIR + "/po " +
 
50
             desktop_in + " " + desktop_data)
 
51
 
 
52
def listfiles(*dirs):
 
53
        dir, pattern = os.path.split(os.path.join(*dirs))
 
54
        return [os.path.join(dir, filename)
 
55
                for filename in os.listdir(os.path.abspath(dir))
 
56
                        if filename[0] != '.' and fnmatch(filename, pattern)]
 
57
 
 
58
# Generate a standard share dir
 
59
SDIR = 'share/%s/' % __appname__
 
60
 
 
61
setup(
 
62
        name             = __appname__,
 
63
        version          = __version__,
 
64
        description      = 'Mount Google Docs as File System',
 
65
        long_description = "Use the fuse-fs file system to mount a google docs folder.",
 
66
        author           = 'Martin Owens',
 
67
        author_email     = 'doctormo@ubuntu.com',
 
68
        url              = 'https://code.launchpad.net/~doctormo',
 
69
        platforms        = 'linux',
 
70
        license          = 'GPLv3',
 
71
        scripts          = [ 'gdocs-mount-gtk' ],
 
72
        data_files       = [
 
73
            ( SDIR,  [ 'gdocs-mount-gtk.py' ] ),
 
74
            ( SDIR + 'glade', listfiles( 'glade', '*.glade' ) ),
 
75
            ( SDIR + 'pixmaps', listfiles( 'pixmaps', '*.svg' ) ),
 
76
            ( 'share/applications/', [ 'gdocs-mount-gtk.desktop' ] ),
 
77
            ( 'share/pixmaps/', [ 'pixmaps/gdocs-mount.svg' ] ),
 
78
        ],
 
79
        cmdclass={
 
80
                   'build'       : build_extra.build_extra,
 
81
                   'build_i18n'  : groundcontrol_build_i18n,
 
82
                 },
 
83
    )
 
84