[asdf-install-devel] install-package confused by bsdtar on Mac OS X
Jack Holloway
forum at sprucehead.com
Thu Jun 24 22:03:15 UTC 2010
The incompatibility with the version of tar on Mac OS has been noted
before.
The "tar" that comes installed on MacOS is "bsdtar" which prints an "x"
flag at
the beginning of lines. install-package gets the wrong string for the
package version.
A suggested patch is:
diff --git a/asdf-install/installer.lisp b/asdf-install/installer.lisp
index 2a346ff..d304417 100644
--- a/asdf-install/installer.lisp
+++ b/asdf-install/installer.lisp
@@ -358,10 +358,13 @@ include the filename and extension, if applicable."
(pos-slash (or (position #\/ tar)
(position #\Return tar)
(position #\Linefeed tar)))
+ ;;H - bsdtar prints "x " in front of the package name, strip
prepend
+ (pos-space (1+ (loop for ch in '(#\Return #\Linefeed #\Space
#\Tab)
+ maximize (or (position ch tar :from-end t
:end pos-slash) -1))))
(package-dir
(merge-pathnames
(make-pathname :directory
- `(:relative ,(subseq tar 0 pos-slash)))
+ `(:relative ,(subseq tar pos-space pos-slash)))
source-directory)))
;(princ tar)
(loop for sysfile in (append
I haven't had a chance to test this on non-Mac systems
More information about the asdf-install-devel
mailing list