Skip to content
Snippets Groups Projects
Commit 103c3f2b authored by Robert P. Goldman's avatar Robert P. Goldman
Browse files
parents a7fba871 e6a97dc3
No related branches found
No related tags found
No related merge requests found
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
:licence "MIT" :licence "MIT"
:description "Another System Definition Facility" :description "Another System Definition Facility"
:long-description "ASDF builds Common Lisp software organized into defined systems." :long-description "ASDF builds Common Lisp software organized into defined systems."
:version "2.32.8" ;; to be automatically updated by make bump-version :version "2.32.11" ;; to be automatically updated by make bump-version
:depends-on () :depends-on ()
#+asdf3 :encoding #+asdf3 :utf-8 #+asdf3 :encoding #+asdf3 :utf-8
;; For most purposes, asdf itself specially counts as a builtin system. ;; For most purposes, asdf itself specially counts as a builtin system.
......
...@@ -31,23 +31,18 @@ ...@@ -31,23 +31,18 @@
(component-inline-methods component) nil) (component-inline-methods component) nil)
(defun %define-component-inline-methods (ret rest) (defun %define-component-inline-methods (ret rest)
(dolist (name +asdf-methods+) (loop* :for (key value) :on rest :by #'cddr
(let ((keyword (intern (symbol-name name) :keyword))) :for name = (and (keywordp key) (find key +asdf-methods+ :test 'string=))
(loop :for data = rest :then (cddr data) :when name :do
:for key = (first data) (destructuring-bind (op &rest body) value
:for value = (second data) (loop :for arg = (pop body)
:while data :while (atom arg)
:when (eq key keyword) :do :collect arg :into qualifiers
(destructuring-bind (op qual? &rest rest) value :finally
(multiple-value-bind (qual args-and-body) (destructuring-bind (o c) arg
(if (symbolp qual?) (pushnew
(values (list qual?) rest) (eval `(defmethod ,name ,@qualifiers ((,o ,op) (,c (eql ,ret))) ,@body))
(values nil (cons qual? rest))) (component-inline-methods ret)))))))
(destructuring-bind ((o c) &body body) args-and-body
(pushnew
(eval `(defmethod ,name ,@qual ((,o ,op) (,c (eql ,ret)))
,@body))
(component-inline-methods ret)))))))))
(defun %refresh-component-inline-methods (component rest) (defun %refresh-component-inline-methods (component rest)
;; clear methods, then add the new ones ;; clear methods, then add the new ones
......
;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*- ;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
;;; This is ASDF 2.32.8: Another System Definition Facility. ;;; This is ASDF 2.32.11: Another System Definition Facility.
;;; ;;;
;;; Feedback, bug reports, and patches are all welcome: ;;; Feedback, bug reports, and patches are all welcome:
;;; please mail to <asdf-devel@common-lisp.net>. ;;; please mail to <asdf-devel@common-lisp.net>.
...@@ -74,5 +74,5 @@ ...@@ -74,5 +74,5 @@
(or #+abcl 2.25 #+cmu 2.018 2.27))) (or #+abcl 2.25 #+cmu 2.018 2.27)))
(rename-package :asdf away) (rename-package :asdf away)
(when *load-verbose* (when *load-verbose*
(format t "; Renamed old ~A package away to ~A~%" :asdf away)))))) (format t "~&; Renamed old ~A package away to ~A~%" :asdf away))))))
...@@ -88,7 +88,7 @@ The :FORCE or :FORCE-NOT argument to OPERATE can be: ...@@ -88,7 +88,7 @@ The :FORCE or :FORCE-NOT argument to OPERATE can be:
(defmethod operate ((operation operation) (component component) (defmethod operate ((operation operation) (component component)
&rest keys &key &allow-other-keys) &rest keys &key &allow-other-keys)
(let ((plan (apply 'traverse operation component keys))) (let ((plan (apply 'traverse operation component keys)))
(perform-plan plan) (apply 'perform-plan plan keys)
(values operation plan))) (values operation plan)))
(defun oos (operation component &rest args &key &allow-other-keys) (defun oos (operation component &rest args &key &allow-other-keys)
......
...@@ -386,9 +386,10 @@ processed in order by OPERATE.")) ...@@ -386,9 +386,10 @@ processed in order by OPERATE."))
(with-compilation-unit () ;; backward-compatibility. (with-compilation-unit () ;; backward-compatibility.
(call-next-method)))) ;; Going forward, see deferred-warning support in lisp-build. (call-next-method)))) ;; Going forward, see deferred-warning support in lisp-build.
(defmethod perform-plan ((steps list) &key) (defmethod perform-plan ((steps list) &key force &allow-other-keys)
(loop* :for (op . component) :in steps :do (loop* :for (o . c) :in steps
(perform-with-restarts op component))) :when (or force (not (nth-value 1 (compute-action-stamp nil o c))))
:do (perform-with-restarts o c)))
(defmethod plan-operates-on-p ((plan list) (component-path list)) (defmethod plan-operates-on-p ((plan list) (component-path list))
(find component-path (mapcar 'cdr plan) (find component-path (mapcar 'cdr plan)
......
...@@ -276,14 +276,13 @@ extract_tagged_asdf () { ...@@ -276,14 +276,13 @@ extract_tagged_asdf () {
case $tag in case $tag in
1.*|2.0*|2.2[0-6]|2.26.61) 1.*|2.0*|2.2[0-6]|2.26.61)
git show ${tag}:asdf.lisp > $file ;; git show ${tag}:asdf.lisp > $file ;;
2.[2-9]*|3.*) 2.2[7-9]*|2.[3-9]*|3.*)
mkdir -p build/old/build mkdir -p build/old/build
git archive ${tag} Makefile '*.lisp' 'uiop/*.lisp' | (cd build/old/ ; tar xf -) git archive ${tag} | (cd build/old/ ; tar xf -)
make -C build/old make -C build/old
mv build/old/build/asdf.lisp build/asdf-${tag}.lisp mv build/old/build/asdf.lisp build/asdf-${tag}.lisp
rm -rf build/old rm -rf build/old ;;
;; *)
*)
echo "Don't know how to extract asdf.lisp for version $tag" echo "Don't know how to extract asdf.lisp for version $tag"
exit 55 exit 55
;; ;;
...@@ -328,6 +327,7 @@ valid_upgrade_test_p () { ...@@ -328,6 +327,7 @@ valid_upgrade_test_p () {
run_upgrade_tests () { run_upgrade_tests () {
cd ${ASDFDIR} cd ${ASDFDIR}
mkdir -p build/results mkdir -p build/results
rm -f build/*.*f* ## Remove stale FASLs from ASDF 1.x, especially when different implementations have same name
ASDF_OUTPUT_TRANSLATIONS="(:output-translations (\"${ASDFDIR}\" (\"${ASDFDIR}/build/fasls/\" :implementation \"asdf/\")) (t (\"${ASDFDIR}/build/fasls/\" :implementation \"root/\")) :ignore-inherited-configuration)" ASDF_OUTPUT_TRANSLATIONS="(:output-translations (\"${ASDFDIR}\" (\"${ASDFDIR}/build/fasls/\" :implementation \"asdf/\")) (t (\"${ASDFDIR}/build/fasls/\" :implementation \"root/\")) :ignore-inherited-configuration)"
export ASDF_OUTPUT_TRANSLATIONS export ASDF_OUTPUT_TRANSLATIONS
su=test/script-support.lisp su=test/script-support.lisp
......
...@@ -2,13 +2,14 @@ ...@@ -2,13 +2,14 @@
(in-package :asdf) (in-package :asdf)
#-gcl2.6 #+gcl2.6 (leave-test "GCL 2.6 sucks. Skipping test." 0)
(assert (handler-case (assert (handler-case
(let ((*compile-file-failure-behaviour* :warn)) (let ((*compile-file-failure-behaviour* :warn))
(load-system 'test-compile-file-failure :force t) (load-system 'test-compile-file-failure :force t)
t) t)
(compile-file-error () nil))) (compile-file-error () nil)))
#-gcl2.6
(assert (handler-case (assert (handler-case
(let ((*compile-file-failure-behaviour* :error)) (let ((*compile-file-failure-behaviour* :error))
(load-system 'test-compile-file-failure :force t) (load-system 'test-compile-file-failure :force t)
......
...@@ -243,7 +243,7 @@ Note that ASDF ALWAYS raises an error if it fails to create an output file when ...@@ -243,7 +243,7 @@ Note that ASDF ALWAYS raises an error if it fails to create an output file when
(list (unsymbolify-function-name fun) (list (unsymbolify-function-name fun)
(loop :for arg :in formals :collect (loop :for arg :in formals :collect
(typecase arg ;; notably preserve constant keyword arguments (typecase arg ;; notably preserve constant keyword arguments
((or symbol number character string pathname) arg))) ((or symbol number character simple-string pathname) arg)))
nil))))) nil)))))
(defun unreify-deferred-warning (reified-deferred-warning) (defun unreify-deferred-warning (reified-deferred-warning)
(destructuring-bind (&key warning-type function-name source-note args) (destructuring-bind (&key warning-type function-name source-note args)
...@@ -673,9 +673,9 @@ it will filter them appropriately." ...@@ -673,9 +673,9 @@ it will filter them appropriately."
:for n :from 1 :for n :from 1
:for f = (add-pathname-suffix :for f = (add-pathname-suffix
output (format nil "-FASL~D" n)) output (format nil "-FASL~D" n))
:do #-lispworks-personal-edition (lispworks:copy-file i f) :do ;; Not available on LW personal edition or LW 6.0 on Mac: (lispworks:copy-file i f)
#+lispworks-personal-edition (concatenate-files (list i) f) (concatenate-files (list i) f)
(push f fasls)) (push f fasls))
(ignore-errors (lispworks:delete-system :fasls-to-concatenate)) (ignore-errors (lispworks:delete-system :fasls-to-concatenate))
(eval `(scm:defsystem :fasls-to-concatenate (eval `(scm:defsystem :fasls-to-concatenate
(:default-pathname ,(pathname-directory-pathname output)) (:default-pathname ,(pathname-directory-pathname output))
......
...@@ -264,7 +264,7 @@ Use ELEMENT-TYPE and EXTERNAL-FORMAT for the stream passed to the OUTPUT process ...@@ -264,7 +264,7 @@ Use ELEMENT-TYPE and EXTERNAL-FORMAT for the stream passed to the OUTPUT process
#+os-unix (coerce (cons (first command) command) 'vector) #+os-unix (coerce (cons (first command) command) 'vector)
#+os-windows command #+os-windows command
:input interactive :output (or (and pipe :stream) interactive) :wait wait :input interactive :output (or (and pipe :stream) interactive) :wait wait
#+os-windows :show-window #+os-windows (and pipe :hide)) #+os-windows :show-window #+os-windows (and (or (null output) pipe) :hide))
#+clisp #+clisp
(flet ((run (f &rest args) (flet ((run (f &rest args)
(apply f `(,@args :input ,(when interactive :terminal) :wait ,wait :output (apply f `(,@args :input ,(when interactive :terminal) :wait ,wait :output
...@@ -354,7 +354,9 @@ Use ELEMENT-TYPE and EXTERNAL-FORMAT for the stream passed to the OUTPUT process ...@@ -354,7 +354,9 @@ Use ELEMENT-TYPE and EXTERNAL-FORMAT for the stream passed to the OUTPUT process
(declare (ignorable interactive)) (declare (ignorable interactive))
#+(or abcl xcl) (ext:run-shell-command command) #+(or abcl xcl) (ext:run-shell-command command)
#+allegro #+allegro
(excl:run-shell-command command :input interactive :output interactive :wait t) (excl:run-shell-command
command :input interactive :output interactive :wait t
#+os-windows :show-window #+os-windows (unless (or interactive (eq output t)) :hide))
#+(or clisp clozure cmu (and lispworks os-unix) sbcl scl) #+(or clisp clozure cmu (and lispworks os-unix) sbcl scl)
(process-result (run-program command :pipe nil :interactive interactive) nil) (process-result (run-program command :pipe nil :interactive interactive) nil)
#+ecl (ext:system command) #+ecl (ext:system command)
...@@ -362,7 +364,7 @@ Use ELEMENT-TYPE and EXTERNAL-FORMAT for the stream passed to the OUTPUT process ...@@ -362,7 +364,7 @@ Use ELEMENT-TYPE and EXTERNAL-FORMAT for the stream passed to the OUTPUT process
#+gcl (lisp:system command) #+gcl (lisp:system command)
#+(and lispworks os-windows) #+(and lispworks os-windows)
(system:call-system-showing-output (system:call-system-showing-output
command :show-cmd interactive :prefix "" :output-stream nil) command :show-cmd (or interactive (eq output t)) :prefix "" :output-stream nil)
#+mcl (ccl::with-cstrs ((%command command)) (_system %command)) #+mcl (ccl::with-cstrs ((%command command)) (_system %command))
#+mkcl (nth-value 2 #+mkcl (nth-value 2
(mkcl:run-program #+windows command #+windows () (mkcl:run-program #+windows command #+windows ()
......
...@@ -17,7 +17,7 @@ UIOP is also known as ASDF/DRIVER or ASDF-UTILS, ...@@ -17,7 +17,7 @@ UIOP is also known as ASDF/DRIVER or ASDF-UTILS,
being transcluded into asdf.lisp together with ASDF/DEFSYSTEM." being transcluded into asdf.lisp together with ASDF/DEFSYSTEM."
#+asdf3 :version #+asdf3 (:read-file-form "version.lisp-expr") #+asdf3 :version #+asdf3 (:read-file-form "version.lisp-expr")
#+asdf-encoding :encoding #+asdf-encoding :utf-8 #+asdf-encoding :encoding #+asdf-encoding :utf-8
:around-compile call-without-redefinition-warnings #+asdf3 :around-compile #+asdf3 call-without-redefinition-warnings
:components :components
((:static-file "version.lisp-expr") ((:static-file "version.lisp-expr")
(:static-file "contrib/debug.lisp") (:static-file "contrib/debug.lisp")
......
...@@ -52,7 +52,7 @@ You can compare this string with e.g.: (ASDF:VERSION-SATISFIES (ASDF:ASDF-VERSIO ...@@ -52,7 +52,7 @@ You can compare this string with e.g.: (ASDF:VERSION-SATISFIES (ASDF:ASDF-VERSIO
;; "3.4.5.67" would be a development version in the official upstream of 3.4.5. ;; "3.4.5.67" would be a development version in the official upstream of 3.4.5.
;; "3.4.5.0.8" would be your eighth local modification of official release 3.4.5 ;; "3.4.5.0.8" would be your eighth local modification of official release 3.4.5
;; "3.4.5.67.8" would be your eighth local modification of development version 3.4.5.67 ;; "3.4.5.67.8" would be your eighth local modification of development version 3.4.5.67
(asdf-version "2.32.8") (asdf-version "2.32.11")
(existing-version (asdf-version))) (existing-version (asdf-version)))
(setf *asdf-version* asdf-version) (setf *asdf-version* asdf-version)
(when (and existing-version (not (equal asdf-version existing-version))) (when (and existing-version (not (equal asdf-version existing-version)))
......
"2.32.8" "2.32.11"
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment