diff options
| author | Jimmy Olgeni <olgeni@FreeBSD.org> | 2010-01-20 18:09:01 +0000 |
|---|---|---|
| committer | Jimmy Olgeni <olgeni@FreeBSD.org> | 2010-01-20 18:09:01 +0000 |
| commit | 53c2e94613975615837faf148b2d4d08ef284911 (patch) | |
| tree | 37c835b502e75ca1ead5786702de3faa5760eed1 /devel/cl-asdf/files/asdf-init.lisp | |
| parent | - Mark BROKEN on 6.x (diff) | |
Fix fasl loading by using an asdf:*source-to-target-mappings* entry
for each installed cl-* port.
Previously, some fasl files were either rebuilt when running as
root, or failed to load due to permission errors for normal users.
Diffstat (limited to 'devel/cl-asdf/files/asdf-init.lisp')
| -rw-r--r-- | devel/cl-asdf/files/asdf-init.lisp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/devel/cl-asdf/files/asdf-init.lisp b/devel/cl-asdf/files/asdf-init.lisp index 9913c1fc1800..1b6eed38dd31 100644 --- a/devel/cl-asdf/files/asdf-init.lisp +++ b/devel/cl-asdf/files/asdf-init.lisp @@ -232,6 +232,11 @@ clispfasl, ...) by calling lisp-specific-fasl-subdir." :type "fasl" :defaults default-output-file)))) +;; Map each library in common-lisp/ to its fasl subdirectory +(dolist (path (directory "%%PREFIX%%/lib/common-lisp/*/")) + (let ((fasldir (make-pathname :directory (append (pathname-directory path) (list (lisp-specific-fasl-subdir)))))) + (pushnew (list path fasldir) asdf:*source-to-target-mappings*))) + (if (and (getenv "FBSD_ASDF_COMPILE_PORT") (getenv "PORTNAME") (getenv "WRKSRC")) @@ -239,7 +244,9 @@ clispfasl, ...) by calling lisp-specific-fasl-subdir." (portname (getenv "PORTNAME"))) ;; If we are building a FreeBSD port, all the compiled fasl files ;; should be redirected to WRKSRC. - (let ((package (format nil "%%PREFIX%%/lib/common-lisp/~A/" portname))) - (pushnew (list package wrksrc) asdf:*source-to-target-mappings*)))) + (let ((port-source (make-pathname + :directory (append (pathname-directory #P"%%PREFIX%%/lib/common-lisp/") + (list portname))))) + (pushnew (list port-source wrksrc) asdf:*source-to-target-mappings*)))) ;;;; asdf-init.lisp ends here |
