diff --git a/setup.py b/setup.py index 357b9cd41..02624c842 100644 --- a/setup.py +++ b/setup.py @@ -75,13 +75,7 @@ install_requires = [ # leftover timers) # * Twisted-16.4.0 introduces `python -m twisted.trial` which is needed # for coverage testing - - # * Twisted 16.6.0 drops the undesirable gmpy dependency from the conch - # extra, letting us use that extra instead of trying to duplicate its - # dependencies here. Twisted[conch] >18.7 introduces a dependency on - # bcrypt. It is nice to avoid that if the user ends up with an older - # version of Twisted. That's hard to express except by using the extra. - "Twisted[tls,conch] >= 16.6.0", + "Twisted[tls] >= 16.4.0", # We need Nevow >= 0.11.1 which can be installed using pip. "Nevow >= 0.11.1", @@ -108,6 +102,23 @@ setup_requires = [ 'setuptools >= 28.8.0', # for PEP-440 style versions ] +sftp_requires = [ + # * Twisted 16.6.0 drops the undesirable gmpy dependency from the conch + # extra, letting us use that extra instead of trying to duplicate its + # dependencies here. Twisted[conch] >18.7 introduces a dependency on + # bcrypt. It is nice to avoid that if the user ends up with an older + # version of Twisted. That's hard to express except by using the extra. + "twisted[conch] >= 16.6.0", +] + +tor_requires = [ + "foolscap[tor] >= 0.12.5", +] + +i2p_requires = [ + "foolscap[i2p] >= 0.12.6", +] + if len(sys.argv) > 1 and sys.argv[1] == '--fakedependency': del sys.argv[1] install_requires += ["fakedependency >= 1.0.0"] @@ -330,10 +341,6 @@ setup(name="tahoe-lafs", # also set in __init__.py "coverage", "mock", "tox", - "foolscap[tor] >= 0.12.5", - "txtorcon >= 0.17.0", # in case pip's resolver doesn't work - "foolscap[i2p] >= 0.12.6", - "txi2p >= 0.3.2", # in case pip's resolver doesn't work "pytest", "pytest-twisted", "hypothesis >= 3.6.1", @@ -341,15 +348,10 @@ setup(name="tahoe-lafs", # also set in __init__.py "towncrier", "testtools", "fixtures", - ], - "tor": [ - "foolscap[tor] >= 0.12.5", - "txtorcon >= 0.17.0", # in case pip's resolver doesn't work - ], - "i2p": [ - "foolscap[i2p] >= 0.12.6", - "txi2p >= 0.3.2", # in case pip's resolver doesn't work - ], + ] + sftp_requires + tor_requires + i2p_requires, + "sftp": sftp_requires, + "tor": tor_requires, + "i2p": i2p_requires, }, package_data={"allmydata.web": ["*.xhtml", "static/*.js", "static/*.png", "static/*.css",