[armedbear-cvs] r13027 - trunk/abcl/contrib/asdf-install

Mark Evenson mevenson at common-lisp.net
Fri Nov 19 11:24:13 UTC 2010


Author: mevenson
Date: Fri Nov 19 06:24:10 2010
New Revision: 13027

Log:
Fix ASDF-INSTALL fails to download (ticket #110).

Use an 8-bit encoding (:iso-8559-1) in the streams for the package
download to prevent attempts to recode if ABCL is running under a
multi-bit encoding locale (i.e. UTF-8).

Ensure that we use 'gtar' under Solaris.



Modified:
   trunk/abcl/contrib/asdf-install/installer.lisp
   trunk/abcl/contrib/asdf-install/port.lisp
   trunk/abcl/contrib/asdf-install/variables.lisp

Modified: trunk/abcl/contrib/asdf-install/installer.lisp
==============================================================================
--- trunk/abcl/contrib/asdf-install/installer.lisp	(original)
+++ trunk/abcl/contrib/asdf-install/installer.lisp	Fri Nov 19 06:24:10 2010
@@ -302,7 +302,7 @@
 
 (defun tar-arguments (source packagename)
   #-(or :win32 :mswindows :scl)
-  (list "-C" (namestring (truename source))
+  (list "-C"    (namestring (truename source))
 	"-xzvf" (namestring (truename packagename)))
   #+(or :win32 :mswindows)
   (list "-l"
@@ -311,7 +311,7 @@
 		(namestring (truename source))
 		(namestring (truename packagename))))
   #+scl
-  (list "-C" (ext:unix-namestring (truename source))
+  (list "-C"    (ext:unix-namestring (truename source))
 	"-xzvf" (ext:unix-namestring (truename packagename))))
 
 (defun extract-using-tar (to-dir tarball)
@@ -333,7 +333,7 @@
   (let* ((tar (extract source packagename))
          ;; Some tar programs (OSX) list entries with preceeding "x "
          ;; as in "x entry/file.asd"
-         (pos-begin (if (= (search "x " tar) 0)
+         (pos-begin (if (string= (subseq tar 0 2) "x ")
                         2
                         0))
 	 (pos-slash (or (position #\/ tar)
@@ -344,7 +344,6 @@
 	   (make-pathname :directory
 			  `(:relative ,(subseq tar pos-begin pos-slash)))
 	   source)))
-    ;(princ tar)
     (loop for sysfile in (append
                           (directory
 		           (make-pathname :defaults *default-pathname-defaults*

Modified: trunk/abcl/contrib/asdf-install/port.lisp
==============================================================================
--- trunk/abcl/contrib/asdf-install/port.lisp	(original)
+++ trunk/abcl/contrib/asdf-install/port.lisp	Fri Nov 19 06:24:10 2010
@@ -144,7 +144,7 @@
   #+:abcl
   (let ((socket 
          (ext:make-socket (url-host url) (url-port url))))
-    (ext:get-socket-stream socket)))
+    (ext:get-socket-stream socket :external-format :iso-8859-1)))
 
 
 #+:sbcl
@@ -322,6 +322,8 @@
    '(:external-format :latin1)
    #+:scl
    '(:external-format :iso-8859-1)
+   #+abcl
+   '(:external-format :iso-8859-1)
    #+(or :clisp :digitool (and :lispworks :win32))
    '(:element-type (unsigned-byte 8))))
 

Modified: trunk/abcl/contrib/asdf-install/variables.lisp
==============================================================================
--- trunk/abcl/contrib/asdf-install/variables.lisp	(original)
+++ trunk/abcl/contrib/asdf-install/variables.lisp	Fri Nov 19 06:24:10 2010
@@ -52,8 +52,8 @@
   "A list of places to look for shell commands.")
 
 (defvar *gnu-tar-program*
-  #-(or :netbsd :freebsd :solaris) "tar"
-  #+(or :netbsd :freebsd :solaris) "gtar"
+  #-(or :netbsd :freebsd :solaris :sunos) "tar"
+  #+(or :netbsd :freebsd :solaris :sunos) "gtar"
   "Path to the GNU tar program")
 
 (eval-when (:compile-toplevel :load-toplevel :execute)




More information about the armedbear-cvs mailing list