X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=contrib%2Fasdf-install%2Finstaller.lisp;h=5d76644a168e5f5f1a25a8b17ec2388f74192dd3;hb=f7ed0a1e83f34b447e621d22b6010f78171bd8ad;hp=0af1455edce4bd51c6725633457a0e7b32b6e910;hpb=4de6d945ea6d378a8beec681b6c73fdec7076422;p=sbcl.git diff --git a/contrib/asdf-install/installer.lisp b/contrib/asdf-install/installer.lisp index 0af1455..5d76644 100644 --- a/contrib/asdf-install/installer.lisp +++ b/contrib/asdf-install/installer.lisp @@ -2,8 +2,9 @@ (defvar *proxy* (posix-getenv "http_proxy")) (defvar *cclan-mirror* - (or (posix-getenv "CCLAN_MIRROR") - "http://ftp.linux.org.uk/pub/lisp/cclan/")) + (let ((mirror (posix-getenv "CCLAN_MIRROR"))) + (or (and (not (string= mirror "")) mirror) + "http://ftp.linux.org.uk/pub/lisp/cclan/"))) (defun directorify (name) ;; input name may or may not have a training #\/, but we know we @@ -32,11 +33,13 @@ ,(merge-pathnames "systems/" *dot-sbcl*) "Personal installation"))) -(let* ((*package* (find-package :asdf-install-customize)) - (file (probe-file (merge-pathnames - (make-pathname :name ".asdf-install") - (user-homedir-pathname))))) - (when file (load file))) +(unless (sb-ext:posix-getenv "SBCL_BUILDING_CONTRIB") + ;; Not during build, thanks. + (let* ((*package* (find-package :asdf-install-customize)) + (file (probe-file (merge-pathnames + (make-pathname :name ".asdf-install") + (user-homedir-pathname))))) + (when file (load file)))) (define-condition download-error (error) ((url :initarg :url :reader download-url) @@ -137,7 +140,7 @@ (defun copy-stream (in out) - (let ((buf (make-array 8192 :element-type (stream-element-type in)))) + (let ((buf (make-array 8192 :element-type (stream-element-type out)))) (loop for pos = (read-sequence buf in) until (zerop pos) do (write-sequence buf out :end pos)))) @@ -197,7 +200,7 @@ (loop for l = (read-line (process-output proc) nil nil) while l when (> (mismatch l "[GNUPG:]") 6) - do (destructuring-bind (_ tag &rest data) (asdf::split l) + do (destructuring-bind (_ tag &rest data) (asdf::split-string l) (declare (ignore _)) (pushnew (cons (intern tag :keyword) data) tags)))