X-Git-Url: https://git.rkrishnan.org/?a=blobdiff_plain;f=src%2Fallmydata%2F_auto_deps.py;h=ba74b1aefd37c67dec40dc57e8efccf7c4b09fe9;hb=07aa5e76b5faea91f55fc5f566e8b766c7685c51;hp=e8e2b172561b77661f403d0c27b0507f0953c31a;hpb=9c10e619d2b925ecc0c8c765d5104b96167fb125;p=tahoe-lafs%2Ftahoe-lafs.git diff --git a/src/allmydata/_auto_deps.py b/src/allmydata/_auto_deps.py index e8e2b172..ba74b1ae 100644 --- a/src/allmydata/_auto_deps.py +++ b/src/allmydata/_auto_deps.py @@ -121,12 +121,25 @@ if not hasattr(sys, 'frozen'): # already installed. # # +# When the fallback is used we also need to work around the fact +# that Nevow imports itself when building, which causes Twisted +# and zope.interface to be imported; therefore, we need to set +# setup_requires to make sure that the versions of Twisted and +# zope.interface used at build time satisfy Nevow's requirements. +# # In cases where this fallback isn't needed, we prefer Nevow >= 0.11.1 # which can be installed using pip, and Twisted >= 13.0.0 which -# Nevow 0.11.1 depends on. +# Nevow 0.11.1 depends on. In this case we should *not* use the +# setup_requires hack, because if we do then the build will break +# when Twisted < 13.0.0 is already installed (even though it could +# have succeeded by building a later version under support/ ). +# # # # +# + +setup_requires = [] _use_old_Twisted_and_Nevow = False if sys.platform == "win32": @@ -140,6 +153,8 @@ if _use_old_Twisted_and_Nevow: "Twisted >= 11.1.0, <= 12.1.0", "Nevow >= 0.9.33, <= 0.10", ] + setup_requires += [req for req in install_requires if req.startswith('Twisted') + or req.startswith('zope.interface')] else: install_requires += [ "Twisted >= 13.0.0",