0.8.7.57:
[sbcl.git] / contrib / asdf-install / installer.lisp
index 5e7f970..d17d7e1 100644 (file)
@@ -11,9 +11,9 @@
   (let ((path (pathname name)))
     (if (pathname-name path)
        (merge-pathnames
-        (make-pathname :directory `(:relative ,(pathname-name path))
-                       :name "")
-        path)
+        (make-pathname :directory `(:relative ,(pathname-name path)))
+        (make-pathname :directory (pathname-directory path)
+                       :host (pathname-host path)))
        path)))
 
 (defvar *sbcl-home* (directorify (posix-getenv "SBCL_HOME")))
@@ -99,7 +99,7 @@
 (defun url-port (url)
   (assert (string-equal url "http://" :end1 7))
   (let ((port-start (position #\: url :start 7)))
-    (if port-start (parse-integer url :start port-start :junk-allowed t) 80)))
+    (if port-start (parse-integer url :start (1+ port-start) :junk-allowed t) 80)))
 
 (defun url-connection (url)
   (let ((s (make-instance 'inet-socket :type :stream :protocol :tcp))
       (restart-case 
          (verify-gpg-signature/url url file-name)
        (skip-gpg-check (&rest rest)
-         :report "Don't ckeck GPG signature for this package"
+         :report "Don't check GPG signature for this package"
          nil)))))
 
 (defun read-until-eof (stream)
   (let* ((tar
          (with-output-to-string (o)
            (or
-            (sb-ext:run-program "tar"
+            (sb-ext:run-program #-darwin "tar"
+                                #+darwin "gnutar"
                                 (list "-C" (namestring source)
                                       "-xzvf" (namestring packagename))
                                 :output o
             (one-iter packages)))
       (let ((p (merge-pathnames "trusted-uids.lisp" *dot-sbcl*)))
        (ensure-directories-exist p)
-       (with-open-file (out p :direction :output)
+       (with-open-file (out p :direction :output :if-exists :supersede)
          (with-standard-io-syntax
            (prin1 *trusted-uids* out))))
       (dolist (l *temporary-files*)