Public bug reported:

Binary package hint: common-lisp-controller

When an ASD file references source files (components) in a subdirectory
below the directory in which the ASD resides, CLC will not correctly
create the subdirectory structure in the target compile path. You have
to manually create the subdirectory structure.

I've modified post-sysdef-install.lisp to create requisite directories as and 
when files are compiled.
What I did is adding a LET form and an ENSURE-DIRECTORIES-EXIST form to 
alternative-root-path-to-fasl-path (near the end of the DEFUN).

Here is a code snippet that shows the modified function:

==========

(defun alternative-root-path-to-fasl-path (source)
  "Converts a path in anywhere to a path beneath the fasl root"
  (let ((source-path (pathname-directory source
                                         :case :local)))
    (cond
      ;; it could already be beneath /var/cache/common-lisp
      ((and (eq (first source-path) :ABSOLUTE)
            (string= (second source-path) "var")
            (string= (third source-path) "cache")
            (string= (fourth source-path) "common-lisp"))
       ;; just let it be
       source)
      ;; it could be a library package
      ((and (eq (first source-path) :ABSOLUTE)
            (string= (second source-path) "usr")
            (string= (third source-path) "lib"))
       ;; just let it be
       source)
      (t (let ((result-path
                (merge-pathnames
                 (make-pathname :directory
                                (append (list :RELATIVE "local")
                                        (rest source-path))
                                :case :local
                                :defaults source)
                 *fasl-root*)))
           
           (ensure-directories-exist (format nil "~A" result-path))
           result-path)))))


==========

End of bug report.

** Affects: common-lisp-controller (Ubuntu)
     Importance: Undecided
         Status: New

-- 
Trouble compiling a system where source files are in a subdirectory from .ASD
https://bugs.launchpad.net/bugs/178944
You received this bug notification because you are a member of Ubuntu
Bugs, which is the bug contact for Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to