From a4b00a6b2cf2b00d33510319b160ebc55bd0ea6a Mon Sep 17 00:00:00 2001
From: Brian Warner <warner@lothar.com>
Date: Fri, 14 Sep 2007 19:23:55 -0700
Subject: [PATCH] Makefile build-deps: use a fake package named 'tahoe-deps',
 to avoid a double-build of tahoe

---
 .darcs-boringfile                     |  2 ++
 Makefile                              | 16 ++++++++--------
 misc/dependencies/build-deps-setup.py | 12 ++++++++++++
 3 files changed, 22 insertions(+), 8 deletions(-)
 create mode 100644 misc/dependencies/build-deps-setup.py

diff --git a/.darcs-boringfile b/.darcs-boringfile
index d74667b6..569141a4 100644
--- a/.darcs-boringfile
+++ b/.darcs-boringfile
@@ -80,6 +80,8 @@
 ^setuptools-.*.egg$
 # creating a tahoe egg puts files here
 ^allmydata_tahoe.egg-info
+# the 'build-deps' commands results in this directory:
+^tahoe_deps.egg-info
 
 # generated crypto extension modules
 ^src/allmydata/Crypto/[^/]*/.*\.so$
diff --git a/Makefile b/Makefile
index 249c8b95..9d981c14 100644
--- a/Makefile
+++ b/Makefile
@@ -55,9 +55,10 @@ endif
 
 TRIAL=$(PYTHON) -u "$(TRIALPATH)" --rterrors $(REACTOROPT)
 
-build-deps:
+build-deps: build
 	mkdir -p "$(SUPPORTLIB)"
-	PYTHONPATH="$(PYTHONPATH)$(PATHSEP)$(SUPPORTLIB)" $(PYTHON) setup.py install \
+	PYTHONPATH="$(PYTHONPATH)$(PATHSEP)$(SUPPORTLIB)$(PATHSEP)." \
+         $(PYTHON) misc/dependencies/build-deps-setup.py install \
 	 --prefix="$(SUPPORT)"
 
 EGGSPATH = $(shell $(PYTHON) misc/find-dep-eggs.py)
@@ -72,12 +73,12 @@ make-version:
 
 build: make-version
 	$(PYTHON) ./setup.py build_ext -i
+	chmod +x bin/allmydata-tahoe
 
 # 'make install' will do the following:
 #   build+install tahoe (probably to /usr/lib/pythonN.N/site-packages)
-
-# 'make install PREFIX=/usr/local/stow/tahoe-N.N' will do the following:
-#   build+install tahoe to the given PREFIX
+# 'make install PREFIX=/usr/local/stow/tahoe-N.N' will do the same, but to
+# a different location
 
 install: make-version
 ifdef PREFIX
@@ -178,10 +179,9 @@ clean:
 	rm -rf build
 	rm -f debian
 	rm -f `find src/allmydata -name '*.so' -or -name '*.pyc'`
-	rm -rf allmydata_tahoe.egg-info
+	rm -rf tahoe_deps.egg-info allmydata_tahoe.egg-info
 	rm -rf support
-	rm -rf setuptools*.egg
-	rm -f ez_setup.pyc
+	rm -rf setuptools*.egg ez_setup.pyc
 
 
 
diff --git a/misc/dependencies/build-deps-setup.py b/misc/dependencies/build-deps-setup.py
new file mode 100644
index 00000000..0fcb38b4
--- /dev/null
+++ b/misc/dependencies/build-deps-setup.py
@@ -0,0 +1,12 @@
+#! /usr/bin/python
+
+from setuptools import setup
+
+setup(name='tahoe-deps',
+      version="1",
+      install_requires=["zfec >= 1.0.3",
+                        "foolscap >= 0.1.6", "simplejson >= 1.4",
+                        #"nevow", # we need nevow, but it doesn't seem to be
+                                  # installable by easy_install
+                        ],
+      )
-- 
2.45.2