Commit 235dce5a authored by Francois-Rene Rideau's avatar Francois-Rene Rideau
Browse files

2.28.7: have defsystem-depends-on takes arbitrary specs, not just names.

Fixes lp#1027521.
parent 0124eb1d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -74,7 +74,7 @@
  :licence "MIT"
  :description "Another System Definition Facility"
  :long-description "ASDF builds Common Lisp software organized into defined systems."
  :version "2.28.6" ;; to be automatically updated by make bump-version
  :version "2.28.7" ;; to be automatically updated by make bump-version
  :depends-on ()
  #+asdf3 :encoding #+asdf3 :utf-8
  ;; For most purposes, asdf itself specially counts as a builtin system.
+2 −0
Original line number Diff line number Diff line
@@ -55,6 +55,8 @@ another pathname in a degenerate way."))
  (defgeneric version-satisfies (component version))
  (defgeneric component-version (component))
  (defgeneric (setf component-version) (new-version component))
  (defgeneric component-parent (component))
  (defmethod component-parent ((component null)) (declare (ignorable component)) nil)

  ;; Backward compatible way of computing the FILE-TYPE of a component.
  ;; TODO: find users, have them stop using that, remove it for ASDF4.
+4 −2
Original line number Diff line number Diff line
@@ -189,8 +189,10 @@
                               (make-instance 'system :name name :source-file source-file))))
             (system (reset-system (cdr registered!)
                                   :name name :source-file source-file))
             (component-options (remove-plist-key :class options)))
        (apply 'load-systems defsystem-depends-on)
             (component-options (remove-plist-key :class options))
             (defsystem-dependencies (loop :for spec :in defsystem-depends-on :collect
                                           (resolve-dependency-spec nil spec))))
        (apply 'load-systems defsystem-dependencies)
        ;; We change-class AFTER we loaded the defsystem-depends-on
        ;; since the class might be defined as part of those.
        (let ((class (class-for-type nil class)))
+1 −1
Original line number Diff line number Diff line
;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
;;; This is ASDF 2.28.6: Another System Definition Facility.
;;; This is ASDF 2.28.7: Another System Definition Facility.
;;;
;;; Feedback, bug reports, and patches are all welcome:
;;; please mail to <asdf-devel@common-lisp.net>.
+16 −18
Original line number Diff line number Diff line
;;; -*- Lisp -*-



(progn
(def-test-system :versioned-system-1
  :pathname #.*test-directory*
  :version "1.0")
@@ -12,12 +9,13 @@
  :version "1.1")

(def-test-system :versioned-system-3
  :defsystem-depends-on ((:version :test-asdf/file2 "2.1"))
  :pathname #.*test-directory*
  :version "1.2")

 (flet ((test (name v &optional (true t))
(defun vtest (name v &optional (true t))
  (or (eq true (version-satisfies (find-system name) v))
              (error "no satisfaction: ~S version ~A not ~A" name v true))))
   (test :versioned-system-1 "1.0")
   (test :versioned-system-2 "1.0")
   (test :versioned-system-3 "2.0" nil)))
      (error "no satisfaction: ~S version ~A not ~A" name v true)))
(vtest :versioned-system-1 "1.0")
(vtest :versioned-system-2 "1.0")
(vtest :versioned-system-3 "2.0" nil)
Loading