diff options
author | olgeni <olgeni@FreeBSD.org> | 2010-01-21 02:09:01 +0800 |
---|---|---|
committer | olgeni <olgeni@FreeBSD.org> | 2010-01-21 02:09:01 +0800 |
commit | c85ea944e9011ff57e02ae93c7e0402fe3f525e4 (patch) | |
tree | 888863449101cd089e6d89d0d9dc71901953a1cf /devel | |
parent | e4dcfbad47ae58ece21edd46656c1e58526a48c1 (diff) | |
download | freebsd-ports-gnome-c85ea944e9011ff57e02ae93c7e0402fe3f525e4.tar.gz freebsd-ports-gnome-c85ea944e9011ff57e02ae93c7e0402fe3f525e4.tar.zst freebsd-ports-gnome-c85ea944e9011ff57e02ae93c7e0402fe3f525e4.zip |
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')
-rw-r--r-- | devel/cl-asdf/Makefile | 2 | ||||
-rw-r--r-- | devel/cl-asdf/files/asdf-init.lisp | 11 |
2 files changed, 10 insertions, 3 deletions
diff --git a/devel/cl-asdf/Makefile b/devel/cl-asdf/Makefile index 49e7184836c7..086298e2bea7 100644 --- a/devel/cl-asdf/Makefile +++ b/devel/cl-asdf/Makefile @@ -9,7 +9,7 @@ PORTNAME= asdf PORTVERSION= 1.374 -PORTREVISION= 2 +PORTREVISION= 3 PORTEPOCH= 1 CATEGORIES= devel lisp PKGNAMEPREFIX= cl- 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 |