Fix some path problems when running from source
[panucci.git] / setup.py
blob8fa574d16e5a0ab93d57a2307586ddf7e59ee326
1 #!/usr/bin/env python
3 # This file is part of Panucci.
4 # Copyright (c) 2008-2011 The Panucci Project
6 # Panucci is free software: you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation, either version 3 of the License, or
9 # (at your option) any later version.
11 # Panucci is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with Panucci. If not, see <http://www.gnu.org/licenses/>.
20 from distutils.core import setup
22 import glob
23 import os
24 import sys
26 SRC_DIR = 'src/'
28 d2p = lambda d: d[len(SRC_DIR):].replace('/', '.')
29 PACKAGES = [d2p(d) for d, dd, ff in os.walk(SRC_DIR) if '__init__.py' in ff]
31 SCRIPTS = glob.glob('bin/*')
33 if not os.path.exists('data/panucci.service') and 'clean' not in sys.argv:
34 print >>sys.stderr, """
35 data/panucci.service not found. Maybe you want to run
36 "make install" instead of using setup.py directly?
37 """
38 sys.exit(1)
40 DATA_FILES = [
41 ('share/panucci', glob.glob('icons/*.png')),
42 ('share/panucci', ['data/panucci.conf']),
43 ('share/applications', ['data/panucci.desktop']),
44 ('share/icons/hicolor/scalable/apps', ['data/panucci.png']),
45 ('share/dbus-1/services', ['data/panucci.service']),
48 mo_files = glob.glob('data/locale/*/LC_MESSAGES/panucci.mo')
50 if len(mo_files) == 0:
51 print >>sys.stderr, """
52 Warning: No translation files found. Maybe you want to
53 run "make install" instead of using setup.py directly?
54 """
56 for mofile in mo_files:
57 modir = os.path.dirname(mofile).replace('data', 'share')
58 DATA_FILES.append((modir, [mofile]))
60 sys.path.insert(0, SRC_DIR)
61 import panucci
63 setup(
64 name='Panucci',
65 version=panucci.__version__,
66 description='Resuming audiobook and podcast player',
67 author='Thomas Perl',
68 author_email='thp@gpodder.org',
69 url='http://gpodder.org/panucci/',
70 packages=PACKAGES,
71 package_dir={ '': SRC_DIR },
72 scripts=SCRIPTS,
73 data_files=DATA_FILES,