chiark / gitweb /
Bump to 0.9
[fdroidserver.git] / setup.py
1 #!/usr/bin/env python3
2
3 from setuptools import setup
4 import os
5 import re
6 import shutil
7 import sys
8
9
10 def get_data_files():
11     # workaround issue on OSX or --user installs, where sys.prefix is not an installable location
12     if os.access(sys.prefix, os.W_OK | os.X_OK):
13         data_prefix = sys.prefix
14     else:
15         data_prefix = '.'
16
17     data_files = []
18     with open('MANIFEST.in') as fp:
19         data = fp.read()
20
21     data_files.append((data_prefix + '/share/doc/fdroidserver/examples',
22                        ['buildserver/config.buildserver.py', ]
23                        + re.findall(r'include (examples/.*)', data)))
24
25     for f in re.findall(r'include (locale/[a-z][a-z][a-zA-Z_]*/LC_MESSAGES/fdroidserver.mo)', data):
26         d = os.path.join(data_prefix, 'share', os.path.dirname(f))
27         data_files.append((d, [f, ]))
28     return data_files
29
30
31 # PyPI accepts reST not Markdown
32 if os.path.exists('README.md'):
33     if shutil.which('pandoc'):
34         print('Using reST README')
35         import subprocess
36         subprocess.check_call(['pandoc', '--from=markdown', '--to=rst', 'README.md',
37                                '--output=README.rst'], universal_newlines=True)
38         with open('README.rst') as fp:
39             readme = fp.read()
40     else:
41         print('Using Markdown README')
42         with open('README.md') as fp:
43             readme = fp.read()
44 else:
45     readme = ''
46
47 setup(name='fdroidserver',
48       version='0.9',
49       description='F-Droid Server Tools',
50       long_description=readme,
51       author='The F-Droid Project',
52       author_email='team@f-droid.org',
53       url='https://f-droid.org',
54       license='AGPL-3.0',
55       packages=['fdroidserver', 'fdroidserver.asynchronousfilereader'],
56       scripts=['fdroid', 'fd-commit', 'makebuildserver'],
57       data_files=get_data_files(),
58       python_requires='>=3.4',
59       install_requires=[
60           'clint',
61           'GitPython',
62           'mwclient',
63           'paramiko',
64           'Pillow',
65           'apache-libcloud >= 0.14.1',
66           'pyasn1',
67           'pyasn1-modules',
68           'python-vagrant',
69           'PyYAML',
70           'ruamel.yaml >= 0.13',
71           'requests >= 2.5.2, != 2.11.0, != 2.12.2, != 2.18.0',
72           'docker-py >= 1.9, < 2.0',
73       ],
74       classifiers=[
75           'Development Status :: 4 - Beta',
76           'Intended Audience :: Developers',
77           'Intended Audience :: Information Technology',
78           'Intended Audience :: System Administrators',
79           'Intended Audience :: Telecommunications Industry',
80           'License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)',
81           'Operating System :: POSIX',
82           'Operating System :: MacOS :: MacOS X',
83           'Operating System :: Unix',
84           'Topic :: Utilities',
85       ],
86       )