From 0be4f434f42e31531cde68cd35eb6224fa04bd5e Mon Sep 17 00:00:00 2001
From: Francois-Rene Rideau <fare@tunes.org>
Date: Mon, 21 Nov 2011 00:41:40 -0500
Subject: [PATCH] 1.105: require asdf 2.018.16 to fix reinitialize-instance
 issues from asdf 2.017.2

---
 asdf-dependency-grovel.asd |  8 ++++++--
 classes.lisp               |  2 +-
 grovel.lisp                | 34 +++++++++++++++++-----------------
 package.lisp               | 14 --------------
 4 files changed, 24 insertions(+), 34 deletions(-)

diff --git a/asdf-dependency-grovel.asd b/asdf-dependency-grovel.asd
index bb451ff..de7f11f 100644
--- a/asdf-dependency-grovel.asd
+++ b/asdf-dependency-grovel.asd
@@ -2,7 +2,10 @@
 
 (cl:in-package :asdf)
 
-(unless (or #+asdf2 (version-satisfies (asdf-version) "2.014.8"))
+#-asdf2
+(error "ASDF-DEPENDENCY-GROVEL requires ASDF2.")
+
+(unless (version-satisfies (asdf-version) "2.014.8")
   (error "Not only is your ASDF version is too old for ASDF-DEPENDENCY-GROVEL,
 	you must upgrade it *before* you try to load any system."))
 
@@ -38,7 +41,8 @@ based on which compilation can be parallelized.
 Based on an analysis with form granularity,
 it can output a summary from which you can untangle
 the circularities in your build."
-  :depends-on ((:version :asdf "2.018.12")) ;; for full :around-compile support
+  :version "1.105"
+  :depends-on ((:version :asdf "2.018.16")) ;; for full :around-compile support
   :components ((:file "package")
                (:file "variables" :depends-on ("package"))
                (:file "classes" :depends-on ("package" "variables"))
diff --git a/classes.lisp b/classes.lisp
index ff1af1f..fe6ac74 100644
--- a/classes.lisp
+++ b/classes.lisp
@@ -281,7 +281,7 @@
 
 (defmethod constituent-designator ((con asdf-component-constituent))
   (list* :asdf
-         (asdf:component-pathname (asdf-component-constituent-component con))
+         (asdf::component-find-path (asdf-component-constituent-component con))
          (constituent-designator (constituent-parent con))))
 
 (defmethod constituent-designator ((con file-constituent))
diff --git a/grovel.lisp b/grovel.lisp
index c1162e5..0cfaacc 100644
--- a/grovel.lisp
+++ b/grovel.lisp
@@ -57,7 +57,7 @@
   (let ((*macroexpand-hook* (if (boundp '*old-macroexpand-hook*)
                                 *old-macroexpand-hook*
                                 *macroexpand-hook*)))
-    (asdf:load-system :asdf-dependency-grovel)))
+    (load-system :asdf-dependency-grovel)))
 
 
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Signaling Functions ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@@ -512,8 +512,8 @@
 
 (defun normalized-component-name (c)
   (let ((pn (enough-namestring (normalize-pathname-directory
-                                (asdf:component-pathname c))))
-        (type (asdf:source-file-type c (asdf:component-system c))))
+                                (component-pathname c))))
+        (type (source-file-type c (component-system c))))
     (values (strip-extension pn type) pn type)))
 
 (defun enough-component-spec (c)
@@ -524,7 +524,7 @@
 
 ;; Used by additional-dependencies* and overridden-dependencies*.
 (defun map-over-instrumented-component-and-parents (component slot-name)
-  (loop :for c = component :then (asdf:component-parent c)
+  (loop :for c = component :then (component-parent c)
         :until (null c)
         :when (and (typep c 'instrumented-component)
                    (slot-boundp c slot-name))
@@ -585,8 +585,8 @@
                (find-class (or
                             (coerce-class-name
                              (asdf::module-default-component-class
-                              (asdf:component-parent component)))
-                            'asdf:cl-source-file))))
+                              (component-parent component)))
+                            'cl-source-file))))
      :file)
     ;; instrumented components with output file types emit
     ;; their output file type
@@ -628,16 +628,16 @@
                         of system ~A.  Instead of directly editing this ~
                         file, please edit the system definition~P ~
                         and re-generate this file."
-            (mapcar #'asdf:component-name (mapcar #'first dependencies))
+            (mapcar #'component-name (mapcar #'first dependencies))
             (length dependencies))
     (format stream "~&(~%")
     (dolist (system dependencies)
       (destructuring-bind (system &key depends-on components) system
         (when output-systems-and-dependencies-p
           (format stream "~& (~S~@[ :depends-on ~:S~] :components~%  ("
-                  (asdf:component-name system)
-                  (delete (asdf:component-name system)
-                          (mapcar #'asdf:component-name depends-on)
+                  (component-name system)
+                  (delete (component-name system)
+                          (mapcar #'component-name depends-on)
                           :test #'equal)))
         (dolist (compspec components) ;; to sort: (components-in-traverse-order system components)
           (destructuring-bind (component &key depends-on) compspec
@@ -695,7 +695,7 @@
 
 (defun operate-on-asdf-component-constituent (component thunk)
   (operate-on-file-level-constituent
-   (list* :asdf (asdf:component-pathname component)
+   (list* :asdf (asdf::component-find-path component)
           (constituent-designator *current-constituent*))
    (lambda () (make-instance 'asdf-component-constituent
                              :parent *current-constituent*
@@ -763,8 +763,8 @@
 (defun asdf-system-file-components (system)
   "Flatten the tree of modules/components into a list that
    contains only the non-module components."
-  (loop :for component :in (asdf:module-components system)
-        :if (typep component 'asdf:module)
+  (loop :for component :in (module-components system)
+        :if (typep component 'module)
           :append (asdf-system-file-components component)
         :else
           :collect component))
@@ -775,7 +775,7 @@
     nil)
   (:method ((x asdf-component-constituent))
     (when (typep (asdf-component-constituent-component x)
-                 'asdf:cl-source-file)
+                 'cl-source-file)
       x))
   (:method ((x file-constituent))
     x)
@@ -800,8 +800,8 @@
           :when (typep filecon2 'asdf-component-constituent) :do
           (let ((comp2 (asdf-component-constituent-component con2)))
             (pushnew comp2 (gethash comp1 component-deps))
-            (pushnew (asdf:component-system comp2)
-                     (gethash (asdf:component-system comp1) system-deps))))))
+            (pushnew (component-system comp2)
+                     (gethash (component-system comp1) system-deps))))))
     ;; Build and return the dependency forms.
     (loop :for system :in interesting-systems
           :collect `(,system
@@ -826,7 +826,7 @@
     (with-constituent-groveling
       (dolist (system systems)
         (operating-on-asdf-component-constituent (system)
-          (asdf:operate 'asdf:load-op system :verbose verbose)))
+          (operate 'load-op system :verbose verbose)))
       (with-open-file
 	  (dependency-report-stream "/tmp/depreport.sexp"
 				    :direction :output
diff --git a/package.lisp b/package.lisp
index 760af86..dce44f1 100644
--- a/package.lisp
+++ b/package.lisp
@@ -28,17 +28,3 @@
 
 (defpackage #:asdf-dependency-grovel.lambdas
   (:use))
-
-(in-package #:asdf-dependency-grovel)
-
-(defparameter *asdf-dependency-grovel-version* "1.104")
-(defparameter *asdf-version-required-by-adg* "2.018.12")
-
-#-asdf2
-(error "ASDF-DEPENDENCY-GROVEL requires ASDF2.")
-
-#+asdf2
-(unless (asdf:version-satisfies (asdf:asdf-version) *asdf-version-required-by-adg*)
-  (error "ASDF-DEPENDENCY-GROVEL ~A requires ASDF ~A or later."
-         *asdf-dependency-grovel-version*
-         *asdf-version-required-by-adg*))
-- 
GitLab