tahoe-lafs/calcdeps.py
2007-12-12 20:21:45 -07:00

61 lines
2.2 KiB
Python

import os.path, sys
# This form is used when the unpacked source distribution is copied into our
# tree:
# "file:misc/dependencies/zfec-1.0.2/"
# and this form is used when we provide a tarball
# "file:misc/dependencies/zfec-1.0.2.tar.gz",
# The file: URL can start with either 'misc' or './misc' to get a relative path.
dependency_tarballs=[ os.path.join("misc", "dependencies", fn)
for fn in os.listdir(os.path.join("misc", "dependencies"))
if fn.endswith(".tar.gz") ]
dependency_links=["http://allmydata.org/trac/tahoe/wiki/Dependencies"] + dependency_tarballs
nevow_version = None
try:
import nevow
nevow_version = nevow.__version__
except ImportError:
pass
install_requires=["zfec >= 1.0.3",
"foolscap >= 0.2.2",
"simplejson >= 1.4",
"pycryptopp >= 0.2.8",
]
# We also require zope.interface, but some older versions of setuptools such
# as setuptools v0.6a9 don't handle the "." in its name correctly, and anyway
# people have to manually install Twisted before using our automatic
# dependency resolution, and they have to manually install zope.interface in
# order to install Twisted.
# Ubuntu Dapper includes nevow-0.6.0 and twisted-2.2.0, both of which work.
# However, setuptools doesn't know about them, so our install_requires=
# dependency upon nevow causes our 'build-deps' step to try and build the
# latest version (nevow-0.9.18), which *doesn't* work with twisted-2.2.0 . To
# work around this, remove nevow from our dependency list if we detect that
# we've got nevow-0.6.0 installed. This will allow build-deps (and everything
# else) to work on dapper systems that have the python-nevow package
# installed, and shouldn't hurt any other systems. Dapper systems *without*
# python-nevow will try to build it (and will fail unless they also have a
# newer version of Twisted installed).
if nevow_version != "0.6.0":
install_requires.append("nevow >= 0.6.0")
if __name__ == '__main__':
print "install_requires:"
for ir in install_requires:
print " ", ir
print
print "dependency_links:"
for dl in dependency_links:
print " ", dl
print