   [url]
   (let [dir "scratch/"
         tar-file (str dir "tip.tar.bz2")]
-    (do
-      (download (str url "/archive/tip.tar.bz2") tar-file)
-      (untar tar-file dir)
-      {:srcdir (fs/join dir (tar-get-directory tar-file))})))
+    (download (str url "/archive/tip.tar.bz2") tar-file)
+    (untar tar-file dir)
+    {:srcdir (fs/join dir (tar-get-directory tar-file))}))
 
 (defn try-github
   [url]

        {:srcdir (fs/join dir (tar-get-directory tar-file))}))))

(defn repo-handler
  [{repo :repo
    subdir :subdir :or ""}]
  ; if they dont match, return non-nil and try the next one. If they
  ; do match, return the directory the code was checked out into on
  ; success, and raise an exception on failure.

    (throw (Exception. (str "Failed thing: " args)))))

(defn autotools-handler
  [{:keys [type srcdir configurations]
    {autoconf-version :version} :autoconf}]
  
  (when (= type "autotools")
    (let [autoconf-version (or autoconf-version "")
          configurations (or configurations [])
          srcdir (or srcdir "")
          automake "automake"]
      (shell-out (autoconf autoconf-version) :dir srcdir)
      (shell-out "./configure" :dir srcdir)
      (shell-out "make" :dir srcdir)
      (shell-out "make" "check" :dir srcdir))))


(defn download
