forked from GeoNode/geonode
-
Notifications
You must be signed in to change notification settings - Fork 0
/
setup.py
123 lines (117 loc) · 4 KB
/
setup.py
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#########################################################################
#
# Copyright (C) 2012 OpenPlans
#
# 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, see <http://www.gnu.org/licenses/>.
#
#########################################################################
from distutils.core import setup
from distutils.command.install import INSTALL_SCHEMES
import os
import sys
def fullsplit(path, result=None):
"""
Split a pathname into components (the opposite of os.path.join) in a
platform-neutral way.
"""
if result is None:
result = []
head, tail = os.path.split(path)
if head == '':
return [tail] + result
if head == path:
return result
return fullsplit(head, [tail] + result)
# Tell distutils not to put the data_files in platform-specific installation
# locations. See here for an explanation:
# http://groups.google.com/group/comp.lang.python/browse_thread/thread/35ec7b2fed36eaec/2105ee4d9e8042cb
for scheme in INSTALL_SCHEMES.values():
scheme['data'] = scheme['purelib']
# Compile the list of packages available, because distutils doesn't have
# an easy way to do this.
packages, data_files = [], []
root_dir = os.path.dirname(__file__)
if root_dir != '':
os.chdir(root_dir)
geonode_dir = 'geonode'
for dirpath, dirnames, filenames in os.walk(geonode_dir):
# Ignore dirnames that start with '.'
for i, dirname in enumerate(dirnames):
if dirname.startswith('.'): del dirnames[i]
if '__init__.py' in filenames:
packages.append('.'.join(fullsplit(dirpath)))
elif filenames:
data_files.append([dirpath, [os.path.join(dirpath, f) for f in filenames]])
setup(name='GeoNode',
version=__import__('geonode').get_version(),
description="Application for serving and sharing geospatial data",
long_description=open('README').read(),
classifiers=[
"Development Status :: 1 - Planning"],
keywords='',
author='GeoNode Developers',
author_email='[email protected]',
url='http://geonode.org',
license='GPL',
packages=packages,
data_files=data_files,
install_requires=[
# native dependencies
"PIL",
"lxml",
# python dependencies
"gsconfig==0.6.3",
"OWSLib==0.7.2",
"Django==1.4.3",
"httplib2>=0.7",
# Django Apps
"pinax-theme-bootstrap==2.2.1",
"pinax-theme-bootstrap-account==1.0b2",
"django-user-accounts==1.0b7",
"django-forms-bootstrap==2.0.3.post1",
"django-pagination",
"django-jsonfield==0.8.11",
"django-friendly-tag-loader==1.1",
"django-taggit==0.9.3",
"django-taggit-templatetags",
"django-geoexplorer==3.0.2.dev35dd99db",
"django-user-accounts==1.0b7",
"django-relationships==0.3.2",
"django-notification==1.0",
"django-announcements==1.0.2",
"django-activity-stream==0.4.4",
"django-request==0.3",
"django-extensions",
"user-messages==0.1.1",
"geonode-avatar==2.1.1",
"dialogos==0.2",
"agon-ratings==0.2",
"South==0.7.3",
#catalogue
"Shapely>=1.2.15",
"pycsw>=1.4.1",
# setup
"Paver",
# sample and test data / metadata
"gisdata==0.5.4",
# testing
"django-nose",
"nose>=1.0",
"beautifulsoup4",
"MultipartPostHandler",
# translation
"transifex-client",
],
zip_safe=False,
)