From 16e2b3307a9f2f8357cf2b2841f7c3af9a1de310 Mon Sep 17 00:00:00 2001
From: Brian Warner <warner@allmydata.com>
Date: Thu, 10 Jan 2008 20:15:02 -0700
Subject: [PATCH] build-deps-setup.py: import twisted early, to make setuptools
 on dapper use the right version

---
 misc/dependencies/setup.py | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/misc/dependencies/setup.py b/misc/dependencies/setup.py
index cd09b025..ae024d19 100644
--- a/misc/dependencies/setup.py
+++ b/misc/dependencies/setup.py
@@ -6,6 +6,21 @@ import sys, os
 
 miscdeps=os.path.join('misc', 'dependencies')
 
+# Dapper ships with older versions of Twisted (2.2.0) and Nevow (0.6.0), and
+# (unlike newer distributions) they are not installed with .egg meta-data
+# directories. As a result, they are invisible to setuptools. When the
+# 'build-deps' target thus builds Nevow, it will fail unless Twisted-2.4.0 or
+# newer is available, so Dapper users must install a newer Twisted before
+# running 'make build-deps'. In addition, through some not-yet-understood
+# quirk of setuptools, if that newer Twisted is in /usr/local/lib , somehow
+# the build still manages to pick up the old version from /usr/lib . It turns
+# out that importing twisted now, before use_setuptools() is called, causes
+# setuptools to stick with the correct (newer) Twisted. This causes an error
+# if Twisted is not installed before you run 'make build-deps', but having
+# Twisted at this point is a requirement anyways.
+
+import twisted
+
 try:
     from ez_setup import use_setuptools
 except ImportError:
-- 
2.45.2