git.fiddlerwoaroof.com
Raw Blame History
(in-package :cl-user)
(defun homedir-translation (input dd)
  (declare (ignorable dd))
  (format t "~&input ~s ~s~%" input dd)
  (merge-pathnames
   (make-pathname :directory
                  (list* :relative
                         "build-cache"
                         "homedir"
                         (cdr
                          (pathname-directory
                           (parse-namestring
                            (enough-namestring input
                                               (user-homedir-pathname))))))
                  :defaults input)
   (merge-pathnames "asdf-corral/Contents/Resources/"
                    (user-homedir-pathname))))
(defun in-homedir ()
  (merge-pathnames (make-pathname :directory (list :relative :wild-inferiors)
                                  :name :wild
                                  :type :wild
                                  :version :wild)
                   (user-homedir-pathname)))

(defun do-translation (input dd)
  (declare (ignorable dd))
  (merge-pathnames
   (make-pathname :directory
                  (list :relative
                        "build-cache"
                        (format nil "~{~a~^-~}"(cdr (pathname-directory input))))
                  :defaults input)
   (merge-pathnames "asdf-corral/Contents/Resources/"
                    (user-homedir-pathname))))

(defun dylib-translation (input dd)
  (declare (ignorable dd))
  (format t "~&NOTICE ME: input ~s dd ~s~%" input dd)
  (merge-pathnames
   (make-pathname :directory
                  (list :relative
                        (format nil "~{~a~^-~}"(cdr (pathname-directory input))))
                  :defaults input)
   (merge-pathnames "asdf-corral/Contents/Library/"
                    (user-homedir-pathname))))

(defun is-dylib ()
  (merge-pathnames (make-pathname :directory (list :relative :wild-inferiors)
                                  :name :wild
                                  :type "dylib"
                                  :version :wild)
                   (user-homedir-pathname)))

(asdf:initialize-output-translations
 `(:output-translations
   #+(or):ignore-inherited-configuration
   :inherit-configuration
   #+(or):disable-cache
   (,(is-dylib) (:function dylib-translation))
   #+(or)("/" (:function do-translation))))

(load "~/quicklisp/setup.lisp")

(eval-when (:execute)
  (trace dylib-translation))

#+nil
(ql:quickload :data-lens)