From b85a57df65a4370a663ba4ee0f78c4ea6ced6d21 Mon Sep 17 00:00:00 2001
From: Francois-Rene Rideau <tunes@google.com>
Date: Fri, 11 Jan 2013 10:48:55 -0500
Subject: [PATCH] 2.26.75: detach asdf-driver from asdf. Make it work.

---
 action.lisp              |  5 ---
 asdf-driver.asd          | 18 +++++++++++
 asdf.asd                 |  7 ++--
 backward-interface.lisp  |  2 --
 bundle.lisp              |  2 --
 component.lisp           |  2 --
 configuration.lisp       |  2 --
 doc/index.html           |  2 +-
 find-component.lisp      |  2 --
 generate-asdf.asd        | 69 ++++++++++++----------------------------
 header.lisp              |  2 +-
 lisp-build.lisp          |  2 --
 operate.lisp             |  2 --
 output-translations.lisp |  2 --
 pathname.lisp            |  2 --
 plan.lisp                |  2 --
 source-registry.lisp     |  4 ---
 system.lisp              |  4 ---
 upgrade.lisp             |  2 +-
 19 files changed, 46 insertions(+), 87 deletions(-)
 create mode 100644 asdf-driver.asd

diff --git a/action.lisp b/action.lisp
index df7b54d5e..c8d79fac9 100644
--- a/action.lisp
+++ b/action.lisp
@@ -22,11 +22,6 @@
    #:perform #:perform-with-restarts #:retry #:accept))
 (in-package :asdf/action)
 
-(when-upgrade ()
-  (undefine-functions
-   '(explain output-files perform perform-with-restarts
-     operation-done-p compute-action-stamp component-depends-on mark-operation-done)))
-
 (deftype action () '(cons operation component)) ;; a step to be performed while building the system
 
 ;;;; self-description
diff --git a/asdf-driver.asd b/asdf-driver.asd
new file mode 100644
index 000000000..1cc19f640
--- /dev/null
+++ b/asdf-driver.asd
@@ -0,0 +1,18 @@
+;;; -*- mode: lisp -*-
+
+(defsystem :asdf-driver
+  :licence "MIT"
+  :description "Basic general-purpose utilities used by ASDF"
+  :long-description "Basic general-purpose utilities that is in such a need
+that you can't portably construct a complete program without using them."
+  :components
+  ((:file "header")
+   (:file "package")
+   (:file "compatibility" :depends-on ("package"))
+   (:file "utility" :depends-on ("compatibility"))
+   (:file "pathname" :depends-on ("utility"))
+   (:file "stream" :depends-on ("utility"))
+   (:file "os" :depends-on ("pathname" "stream"))
+   (:file "image" :depends-on ("os"))
+   (:file "run-program" :depends-on ("os"))
+   (:file "lisp-build" :depends-on ("pathname"))))
diff --git a/asdf.asd b/asdf.asd
index 7e80e8d59..e0ec4212c 100644
--- a/asdf.asd
+++ b/asdf.asd
@@ -15,7 +15,7 @@
   :licence "MIT"
   :description "Another System Definition Facility"
   :long-description "ASDF builds Common Lisp software organized into defined systems."
-  :version "2.26.74" ;; to be automatically updated by bin/bump-revision
+  :version "2.26.75" ;; to be automatically updated by bin/bump-revision
   :depends-on ()
   :components ((:module "build" :components ((:file "asdf")))))
 
@@ -23,5 +23,6 @@
     ((o compile-op)
      (c (eql (first (module-components
                      (first (module-components (find-system :asdf))))))))
-  (declare (ignorable o))
-  (perform (make-instance 'load-source-op) c))
+  (declare (ignorable o c))
+  #-asdf2.27 (perform (make-instance 'load-source-op) c)
+  #+asdf2.27 (perform (make-instance 'monolithic-load-concatenated-source-op) (find-system 'generate-asdf)))
diff --git a/backward-interface.lisp b/backward-interface.lisp
index 8caae230a..e56d232f8 100644
--- a/backward-interface.lisp
+++ b/backward-interface.lisp
@@ -18,8 +18,6 @@
    #:system-definition-pathname))
 (in-package :asdf/backward-interface)
 
-(when-upgrade () (undefine-function 'component-load-dependencies))
-
 (defun* component-load-dependencies (component)
   ;; Old deprecated name for the same thing. Please update your software.
   (component-sibling-dependencies component))
diff --git a/bundle.lisp b/bundle.lisp
index 4609c96f9..0cd3e242f 100644
--- a/bundle.lisp
+++ b/bundle.lisp
@@ -22,8 +22,6 @@
    #:system-fasl))
 (in-package :asdf/bundle)
 
-(when-upgrade () (undefine-function 'trivial-system-p))
-
 (defclass bundle-op (operation)
   ((build-args :initarg :args :initform nil :accessor bundle-op-build-args)
    (name-suffix :initarg :name-suffix :initform nil)
diff --git a/component.lisp b/component.lisp
index 4bc3d67ae..eb7b7bbcf 100644
--- a/component.lisp
+++ b/component.lisp
@@ -27,8 +27,6 @@
    #:*default-encoding* #:*utf-8-external-format*))
 (in-package :asdf/component)
 
-(when-upgrade () (undefine-functions '(component-relative-pathname source-file-type)))
-
 (defgeneric* component-name (component)
   (:documentation "Name of the COMPONENT, unique relative to its parent"))
 (defgeneric* component-system (component)
diff --git a/configuration.lisp b/configuration.lisp
index d9988fcc6..70370b783 100644
--- a/configuration.lisp
+++ b/configuration.lisp
@@ -17,8 +17,6 @@
    #:resolve-relative-location-component #:resolve-absolute-location-component))
 (in-package :asdf/configuration)
 
-(when-upgrade () (undefine-function 'resolve-location))
-
 (define-condition invalid-configuration ()
   ((form :reader condition-form :initarg :form)
    (location :reader condition-location :initarg :location)
diff --git a/doc/index.html b/doc/index.html
index 5163e783a..314ec4316 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -78,7 +78,7 @@
           (free software successor of the old proprietary DEFSYSTEM's and predecessor of ASDF),
           Sean Ross's <a href="http://sean-ross.blogspot.com/search/label/mudballs">mudballs</a>
           (aborted attempt at making things cleaner than in ASDF),
-          Peter Jetter's <a href="http://www.cliki.net/faslpath">faslpath</a>
+          Peter Etter's <a href="http://www.cliki.net/faslpath">faslpath</a>
           (a much simpler system establishing a mapping between packages and files),
           Alexander Kahl's <a href="http://www.cliki.net/evol">evol</a>
           (a reimplementation of the GNU autotools stack in Lisp),
diff --git a/find-component.lisp b/find-component.lisp
index 3db1cffb4..1d0a74101 100644
--- a/find-component.lisp
+++ b/find-component.lisp
@@ -16,8 +16,6 @@
    #:missing-required-by #:missing-version))
 (in-package :asdf/find-component)
 
-(when-upgrade () (undefine-function 'find-component))
-
 ;;;; Missing component conditions
 
 (define-condition missing-component-of-version (missing-component)
diff --git a/generate-asdf.asd b/generate-asdf.asd
index 0ea8ab552..8500b594d 100644
--- a/generate-asdf.asd
+++ b/generate-asdf.asd
@@ -2,59 +2,32 @@
 
 (defsystem :generate-asdf
   :licence "MIT"
-  :description "Generate a monolithic asdf.lisp from all its components"
+  :description "All the components needed to build asdf.lisp"
+  :description "Generate asdf.lisp based on this and monolithic-concatenate-source-op"
   ;; :defsystem-depends-on (:asdf/bundle)
   :class :concatenated-source-system
   ;; :include-dependencies t
   :translate-output-p nil
   :concatenated-source-file "tmp/generated-asdf.lisp"
-#|
-  :depends-on (:asdf-header
-               :asdf-package
-               :asdf-portability
-               :asdf-utility
-               :asdf-pathname
-               :asdf-upgrade
-               :asdf-interface
-               :asdf-lisp-build
-               :asdf-action
-               :asdf-bundle
-               :asdf-backward-compat
-               :asdf-footer))
-|#
   :serial t
   :components
-  ((:file "header")
-   (:module
-    "utils" :pathname "" :components
-    ((:file "package")
-     (:file "compatibility" :depends-on ("package"))
-     (:file "utility" :depends-on ("compatibility"))
-     (:file "pathname" :depends-on ("utility"))
-     (:file "stream" :depends-on ("utility"))
-     (:file "os" :depends-on ("pathname" "streams"))
-     (:file "image" :depends-on ("os"))
-     (:file "run-program" :depends-on ("os"))
-     (:file "lisp-build" :depends-on ("pathname"))))
-   (:module
-    "code" :pathname "" :components
-     (:file "upgrade")
-     (:file "component")
-     (:file "system" :depends-on ("component"))
-     (:file "find-system" :depends-on ("system"))
-     (:file "find-component" :depends-on ("find-system"))
-     (:file "operation")
-     (:file "action" :depends-on ("find-component" "operation"))
-     (:file "lisp-action" :depends-on ("action" "lisp-build"))
-     (:file "plan" :depends-on ("action"))
-     (:file "operate" :depends-on ("plan"))
-     (:file "configuration")
-     (:file "output-translations" :depends-on ("configuration" "operate"))
-     (:file "source-registry" :depends-on ("configuration" "find-system"))
-     (:file "backward-internals" :depends-on ("action" "operate"))
-     (:file "defsystem" :depends-on ("backward-internals"))
-     (:file "bundle" :depends-on ("lisp-action"))
-     (:file "concatenate-source" :depends-on ("lisp-action"))
-     (:file "backward-interface" :depends-on ("lisp-action")))
+  ((:file "upgrade")
+   (:file "component")
+   (:file "system" :depends-on ("component"))
+   (:file "find-system" :depends-on ("system"))
+   (:file "find-component" :depends-on ("find-system"))
+   (:file "operation")
+   (:file "action" :depends-on ("find-component" "operation"))
+   (:file "lisp-action" :depends-on ("action" "lisp-build"))
+   (:file "plan" :depends-on ("action"))
+   (:file "operate" :depends-on ("plan"))
+   (:file "configuration")
+   (:file "output-translations" :depends-on ("configuration" "operate"))
+   (:file "source-registry" :depends-on ("configuration" "find-system"))
+   (:file "backward-internals" :depends-on ("action" "operate"))
+   (:file "defsystem" :depends-on ("backward-internals"))
+   (:file "bundle" :depends-on ("lisp-action"))
+   (:file "concatenate-source" :depends-on ("lisp-action"))
+   (:file "backward-interface" :depends-on ("lisp-action"))
    (:file "interface")
-   (:file "footer" :depends-on ("interface")))))
+   (:file "footer" :depends-on ("interface"))))
diff --git a/header.lisp b/header.lisp
index e472f1433..b645a181b 100644
--- a/header.lisp
+++ b/header.lisp
@@ -1,5 +1,5 @@
 ;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; coding: utf-8 -*-
-;;; This is ASDF 2.26.74: Another System Definition Facility.
+;;; This is ASDF 2.26.75: Another System Definition Facility.
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome:
 ;;; please mail to <asdf-devel@common-lisp.net>.
diff --git a/lisp-build.lisp b/lisp-build.lisp
index 986ec99a5..c742bcf5b 100644
--- a/lisp-build.lisp
+++ b/lisp-build.lisp
@@ -16,8 +16,6 @@
    #:combine-fasls))
 (in-package :asdf/lisp-build)
 
-(eval-when (:compile-toplevel :load-toplevel :execute) (undefine-function 'compile-file*))
-
 (defvar *compile-file-warnings-behaviour*
   (or #+clisp :ignore :warn)
   "How should ASDF react if it encounters a warning when compiling a file?
diff --git a/operate.lisp b/operate.lisp
index eaac66345..99a91f7b4 100644
--- a/operate.lisp
+++ b/operate.lisp
@@ -15,8 +15,6 @@
    #:upgrade-asdf #:cleanup-upgraded-asdf #:*post-upgrade-hook*))
 (in-package :asdf/operate)
 
-(when-upgrade () (undefine-function 'operate))
-
 (defgeneric* operate (operation-class system &key &allow-other-keys))
 
 (defun* cleanup-upgraded-asdf ()
diff --git a/output-translations.lisp b/output-translations.lisp
index 12da80345..4c0855648 100644
--- a/output-translations.lisp
+++ b/output-translations.lisp
@@ -20,8 +20,6 @@
    ))
 (in-package :asdf/output-translations)
 
-(when-upgrade () (undefine-functions '(apply-output-translations (setf output-translations))))
-
 (define-condition invalid-output-translation (invalid-configuration warning)
   ((format :initform (compatfmt "~@<Invalid asdf output-translation ~S~@[ in ~S~]~@{ ~@?~}~@:>"))))
 
diff --git a/pathname.lisp b/pathname.lisp
index c09499dd8..098eb8aa8 100644
--- a/pathname.lisp
+++ b/pathname.lisp
@@ -54,8 +54,6 @@
    #:parse-file-location-info #:parse-windows-shortcut))
 (in-package :asdf/pathname)
 
-(eval-when (:compile-toplevel :load-toplevel :execute) (fmakunbound 'translate-pathname*))
-
 ;;; User-visible parameters
 (defvar *resolve-symlinks* t
   "Determine whether or not ASDF resolves symlinks when defining systems.
diff --git a/plan.lisp b/plan.lisp
index 60b712789..ce3ae40b0 100644
--- a/plan.lisp
+++ b/plan.lisp
@@ -24,8 +24,6 @@
    #:perform-plan #:plan-operates-on-p))
 (in-package :asdf/plan)
 
-(when-upgrade () (undefine-functions '(traverse perform-plan traverse-action)))
-
 ;;;; Planned action status
 
 (defgeneric* plan-action-status (plan operation component)
diff --git a/source-registry.lisp b/source-registry.lisp
index c0e637270..e2bdea1f5 100644
--- a/source-registry.lisp
+++ b/source-registry.lisp
@@ -24,10 +24,6 @@
    #:sysdef-source-registry-search))
 (in-package :asdf/source-registry)
 
-(when-upgrade ()
-  (undefine-functions '(inherit-source-registry process-source-registry
-                        process-source-registry-directive)))
-
 (define-condition invalid-source-registry (invalid-configuration warning)
   ((format :initform (compatfmt "~@<Invalid source registry ~S~@[ in ~S~]~@{ ~@?~}~@:>"))))
 
diff --git a/system.lisp b/system.lisp
index 255adf4c9..f3d956077 100644
--- a/system.lisp
+++ b/system.lisp
@@ -21,10 +21,6 @@
    #:system-defsystem-depends-on))
 (in-package :asdf/system)
 
-(when-upgrade ()
-  (undefine-functions '(find-system system-source-file
-                        system-relative-pathname builtin-system-p)))
-
 (defgeneric* find-system (system &optional error-p))
 (declaim (ftype (function (t t) t) probe-asd))
 
diff --git a/upgrade.lisp b/upgrade.lisp
index d8c3b9e57..1e5b43e4f 100644
--- a/upgrade.lisp
+++ b/upgrade.lisp
@@ -31,7 +31,7 @@
          ;; "2.345.6" would be a development version in the official upstream
          ;; "2.345.0.7" would be your seventh local modification of official release 2.345
          ;; "2.345.6.7" would be your seventh local modification of development version 2.345.6
-         (asdf-version "2.26.74")
+         (asdf-version "2.26.75")
          (existing-asdf (find-class (find-symbol* :component :asdf nil) nil))
          (existing-version *asdf-version*)
          (already-there (equal asdf-version existing-version)))
-- 
GitLab