|
@@ -1,8 +1,27 @@
|
|
|
from distutils.core import setup
|
|
|
+from distutils.command.install_data import install_data
|
|
|
from distutils.command.install import INSTALL_SCHEMES
|
|
|
import os
|
|
|
import sys
|
|
|
|
|
|
+class osx_install_data(install_data):
|
|
|
+ # On MacOS the plattform specific lib dir is /System/Library/Framework/Python/.../
|
|
|
+ # which is wrong. Python 2.5 supplied with MacOS 10.5 has an Aplle specific fix
|
|
|
+ # for this in distutils.command.install_data#306 It fixes install_lib but not
|
|
|
+ # install_data, which is why we roll our own install_data class.
|
|
|
+
|
|
|
+ def finalize_options (self):
|
|
|
+ # By the time finalize_options is called install.install_lib is set to the
|
|
|
+ # fixed directory. so we set the installdir for to install_lib, the
|
|
|
+ # install_data class uses ('install_data', 'install_dir') instead.
|
|
|
+ self.set_undefined_options('install', ('install_lib', 'install_dir'))
|
|
|
+ install_data.finalize_options(self)
|
|
|
+
|
|
|
+if sys.platform == "darwin":
|
|
|
+ cmdclasses = {'install_data': osx_install_data }
|
|
|
+else:
|
|
|
+ cmdclasses = {'install_data': install_data }
|
|
|
+
|
|
|
def fullsplit(path, result=None):
|
|
|
"""
|
|
|
Split a pathname into components (the opposite of os.path.join) in a
|
|
@@ -55,6 +74,7 @@ setup(
|
|
|
author_email = 'foundation@djangoproject.com',
|
|
|
description = 'A high-level Python Web framework that encourages rapid development and clean, pragmatic design.',
|
|
|
packages = packages,
|
|
|
+ cmdclass = cmdclasses,
|
|
|
data_files = data_files,
|
|
|
scripts = ['django/bin/django-admin.py'],
|
|
|
)
|