diff --git a/Makefile b/Makefile index 3f9e2f42a6b13d73ee8018e8d8d584a2afb06717..d3d85cf698161b560bc3e22583605d512543d006 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,7 @@ else lisps ?= ccl clisp sbcl ecl ecl_bytecodes cmucl abcl scl allegro lispworks allegromodern xcl gcl endif -export ASDF_OUTPUT_TRANSLATIONS := (:output-translations (t ("${sourceDirectory}/tmp/fasls" :implementation)) :ignore-inherited-configuration) +export ASDF_OUTPUT_TRANSLATIONS := (:output-translations (t ("${sourceDirectory}/build/fasls" :implementation)) :ignore-inherited-configuration) export CL_SOURCE_REGISTRY := (:source-registry (:tree "${sourceDirectory}") :ignore-inherited-configuration) ## MAJOR FAIL: gclcvs -- COMPILER BUG! Upstream fixed it, but upstream fails to compile. @@ -43,17 +43,17 @@ archive: --eval "(rewrite-license)" --eval "(quit)" bin/make-tarball -archive-copy: archive tmp/asdf.lisp +archive-copy: archive build/asdf.lisp git checkout release - bin/rsync-cp tmp/asdf*.tar.gz $(webhome_private)/archives + bin/rsync-cp build/asdf*.tar.gz $(webhome_private)/archives bin/link-tarball $(clnet_home) - bin/rsync-cp tmp/asdf.lisp $(webhome_private) + bin/rsync-cp build/asdf.lisp $(webhome_private) ${MAKE} push git checkout master -tmp/asdf.lisp: $(wildcard *.lisp) - mkdir -p tmp - cat header.lisp package.lisp implementation.lisp utility.lisp upgrade.lisp pathname.lisp os.lisp component.lisp system.lisp find-system.lisp find-component.lisp lisp-build.lisp operation.lisp action.lisp lisp-action.lisp plan.lisp operate.lisp configuration.lisp output-translations.lisp source-registry.lisp backward-internals.lisp defsystem.lisp bundle.lisp concatenate-source.lisp backward-interface.lisp interface.lisp footer.lisp > $@ +build/asdf.lisp: $(wildcard *.lisp) + mkdir -p build + cat header.lisp package.lisp compatibility.lisp utility.lisp upgrade.lisp pathname.lisp os.lisp component.lisp system.lisp find-system.lisp find-component.lisp lisp-build.lisp operation.lisp action.lisp lisp-action.lisp plan.lisp operate.lisp configuration.lisp output-translations.lisp source-registry.lisp backward-internals.lisp defsystem.lisp bundle.lisp concatenate-source.lisp backward-interface.lisp interface.lisp footer.lisp > $@ push: git status @@ -82,13 +82,13 @@ clean: done; \ fi; \ done - rm -rf tmp/ LICENSE test/try-reloading-dependency.asd + rm -rf build/ LICENSE test/try-reloading-dependency.asd ${MAKE} -C doc clean mrproper: clean rm -rf .pc/ build-stamp debian/patches/ debian/debhelper.log debian/cl-asdf/ # debian crap -test-upgrade: tmp/asdf.lisp +test-upgrade: build/asdf.lisp # 1.37 is the last release by Daniel Barlow # 1.97 is the last release before Gary King takes over # 1.369 is the last release by Gary King @@ -116,7 +116,7 @@ test-upgrade: tmp/asdf.lisp for x in load-system load-lisp load-lisp-compile-load-fasl load-fasl just-load-fasl ; do \ lo="(asdf-test::load-old-asdf \"$${tag}\")" ; \ echo "Testing upgrade from ASDF $${tag} using method $$x" ; \ - git show $${tag}:asdf.lisp > tmp/asdf-$${tag}.lisp ; \ + git show $${tag}:asdf.lisp > build/asdf-$${tag}.lisp ; \ case ${lisp}:$$tag:$$x in \ abcl:2.0[01][1-9]:*|abcl:2.2[1-2]:*) \ : Skip, because it is so damn slow ;; \ @@ -141,12 +141,12 @@ test-upgrade: tmp/asdf.lisp *) echo "WTF?" ; exit 2 ;; esac ; \ $$lv "(asdf-test::test-asdf $$l)" ) || \ { echo "upgrade FAILED" ; exit 1 ;} ;; esac ; \ - done ; done 2>&1 | tee tmp/results/${lisp}-upgrade.text + done ; done 2>&1 | tee build/results/${lisp}-upgrade.text -test-forward-references: tmp/asdf.lisp - ${SBCL} --noinform --no-userinit --no-sysinit --load tmp/asdf.lisp --load test/script-support.lisp --eval '(asdf-test::exit-lisp 0)' 2>&1 | cmp - /dev/null +test-forward-references: build/asdf.lisp + ${SBCL} --noinform --no-userinit --no-sysinit --load build/asdf.lisp --load test/script-support.lisp --eval '(asdf-test::exit-lisp 0)' 2>&1 | cmp - /dev/null -test-lisp: tmp/asdf.lisp +test-lisp: build/asdf.lisp @cd test; ${MAKE} clean;./run-tests.sh ${lisp} ${test-glob} test: test-lisp test-forward-references doc @@ -177,12 +177,12 @@ debian-package: mrproper # Replace SBCL's ASDF with the current one. -- Not recommended now that SBCL has ASDF2. # for casual users, just use (asdf:load-system :asdf) -replace-sbcl-asdf: tmp/asdf.lisp +replace-sbcl-asdf: build/asdf.lisp ${SBCL} --eval '(compile-file "$<" :output-file (format nil "~Aasdf/asdf.fasl" (sb-int:sbcl-homedir-pathname)))' --eval '(quit)' # Replace CCL's ASDF with the current one. -- Not recommended now that CCL has ASDF2. # for casual users, just use (asdf:load-system :asdf) -replace-ccl-asdf: tmp/asdf.lisp +replace-ccl-asdf: build/asdf.lisp ${CCL} --eval '(progn(compile-file "$<" :output-file (compile-file-pathname (format nil "~Atools/asdf.lisp" (ccl::ccl-directory))))(quit))' WRONGFUL_TAGS := 1.37 1.1720 README RELEASE STABLE diff --git a/action.lisp b/action.lisp index 5e8f81b5686c1578381bfa17ab332db724d84407..a972d20e7f00f2a5b409921e8476e857ba3ff96e 100644 --- a/action.lisp +++ b/action.lisp @@ -3,9 +3,9 @@ (asdf/package:define-package :asdf/action (:recycle :asdf/action :asdf) - (:use :common-lisp :asdf/implementation :asdf/utility :asdf/pathname :asdf/os - :asdf/component :asdf/system :asdf/find-system :asdf/find-component :asdf/operation) - #+gcl<2.7 (:shadowing-import-from :asdf/implementation #:type-of) + (:use :common-lisp :asdf/compatibility :asdf/utility :asdf/pathname :asdf/os + :asdf/upgrade :asdf/component :asdf/system :asdf/find-system :asdf/find-component :asdf/operation) + #+gcl<2.7 (:shadowing-import-from :asdf/compatibility #:type-of) (:fmakunbound #:explain #:output-files #:perform #:perform-with-restarts #:operation-done-p #:compute-action-stamp #:component-depends-on #:mark-operation-done) diff --git a/asdf.asd b/asdf.asd index a84d9dbd273b5336dda22ad79ffed1d4e4b34c9d..c4ad32c7d1fc4fc33bfd08779ae62eb5e3e44722 100644 --- a/asdf.asd +++ b/asdf.asd @@ -11,25 +11,17 @@ (defsystem :asdf :author ("Daniel Barlow") + :maintainer ("Francois-Rene Rideau") :licence "MIT" :description "Another System Definition Facility" :long-description "ASDF builds Common Lisp software organized into defined systems." - :version "2.26.70" ;; to be automatically updated by bin/bump-revision + :version "2.26.71" ;; to be automatically updated by bin/bump-revision :depends-on () - :components - ((:file "asdf"))) + :components ((:module "build" :components ((:file "asdf"))))) -;; The method below ensures that before we compile asdf, we load it as source. -;; This ensures that when we compile asdf, it won't remove symbols and packages -;; in the back of the compiling asdf, which then finds itself incapable of -;; perform'ing the load-op'ing of the newly compiled asdf fasl because -;; perform has been undefined during the initial package-frobbing eval-when code, -;; but not redefined yet by loading the code rather than merely compiling it. -;; Between ASDF 2.016.3 and 2.26.8, we could have used -;; (:file "asdf" :do-first ((compile-op (load-source-op "asdf")))) -;; What's below should be more compatible. -;; We can't use find-component, because it's not compatible with old versions of ASDF 1.x - -(defmethod perform :before ((operation compile-op) - (c (eql (first (module-components (find-system :asdf)))))) +(defmethod perform :before + ((o compile-op) + (c (eql (first (module-components + (first (module-components (find-system :asdf)))))))) + (declare (ignorable o)) (perform (make-instance 'load-source-op) c)) diff --git a/backward-interface.lisp b/backward-interface.lisp index 3f76574d87aeb97794163f26b0d7500e52bd539c..a4fcffc40d40af50413e457735e0f01c6b93e436 100644 --- a/backward-interface.lisp +++ b/backward-interface.lisp @@ -4,8 +4,8 @@ (asdf/package:define-package :asdf/backward-interface (:recycle :asdf/backward-interface :asdf) (:fmakunbound #:component-load-dependencies) - (:use :common-lisp :asdf/implementation :asdf/utility :asdf/pathname :asdf/os - :asdf/component :asdf/system :asdf/operation :asdf/action + (:use :common-lisp :asdf/utility :asdf/pathname :asdf/os + :asdf/upgrade :asdf/component :asdf/system :asdf/operation :asdf/action :asdf/lisp-build :asdf/operate :asdf/output-translations) (:export #:*asdf-verbose* diff --git a/backward-internals.lisp b/backward-internals.lisp index 9a7e4fb7af07eb496a05741d364ad07ab130ea0b..750381723c06951904c808313de770ee057c6a7f 100644 --- a/backward-internals.lisp +++ b/backward-internals.lisp @@ -3,8 +3,8 @@ (asdf/package:define-package :asdf/backward-internals (:recycle :asdf/backward-internals :asdf) - (:use :common-lisp :asdf/implementation :asdf/utility :asdf/pathname - :asdf/system :asdf/component :asdf/find-system :asdf/action) + (:use :common-lisp :asdf/utility :asdf/pathname + :asdf/upgrade :asdf/system :asdf/component :asdf/find-system :asdf/action) (:export ;; for internal use #:%refresh-component-inline-methods #:%resolve-if-component-dep-fails)) diff --git a/implementation.lisp b/compatibility.lisp similarity index 91% rename from implementation.lisp rename to compatibility.lisp index ae9bfe19d90757c96364986185be3663e2b86940..8317cf0693a615460769fc3e6a6bbe7b66ea1d9d 100644 --- a/implementation.lisp +++ b/compatibility.lisp @@ -1,9 +1,12 @@ ;;;; ------------------------------------------------------------------------- -;;;; Handle ASDF portability to multiple implementations +;;;; Handle compatibility with multiple implementations. +;;; This file is for papering over the deficiencies and peculiarities +;;; of various Common Lisp implementations. +;;; For implementation-specific access to the system, see os.lisp instead. -(asdf/package:define-package :asdf/implementation +(asdf/package:define-package :asdf/compatibility (:use :common-lisp :asdf/package) - (:recycle :asdf/implementation :asdf) + (:recycle :asdf/compatibility :asdf) #+cormanlisp (:export #:logical-pathname #:translate-logical-pathname @@ -12,9 +15,8 @@ #+genera (:import-from :scl #:boolean) #+genera (:export #:boolean #:ensure-directories-exist) (:export - #:strcat #:compatfmt - #:asdf-message #:*asdf-verbose* #:*verbose-out*)) -(in-package :asdf/implementation) + #:strcat #:compatfmt)) +(in-package :asdf/compatibility) #-(or abcl allegro clisp clozure cmu cormanlisp ecl gcl genera lispworks mcl mkcl sbcl scl xcl) (error "ASDF is not supported on your implementation. Please help us port it.") @@ -50,7 +52,7 @@ (when (or (< system::*gcl-major-version* 2) ;; GCL 2.6 lacks output-translations and more. (and (= system::*gcl-major-version* 2) (< system::*gcl-minor-version* 7))) - (shadow 'type-of :asdf/implementation) + (shadow 'type-of :asdf/compatibility) (pushnew 'ignorable pcl::*variable-declarations-without-argument*) (pushnew :gcl<2.7 *features*))) @@ -135,10 +137,3 @@ (setf format (strcat (subseq format 0 found) replacement (subseq format (+ found (length unsupported))))))) format) - -(defvar *asdf-verbose* nil) ; was t from 2.000 to 2.014.12. -(defvar *verbose-out* nil) - -(defun asdf-message (format-string &rest format-args) - (apply 'format *verbose-out* format-string format-args)) - diff --git a/component.lisp b/component.lisp index 661e9bda2774b2ba94f06525aecfd66811915916..cbb84b7b9181c3507da84d934a77f7cf22b68616 100644 --- a/component.lisp +++ b/component.lisp @@ -4,7 +4,7 @@ (asdf/package:define-package :asdf/component (:recycle :asdf/component :asdf) (:fmakunbound #:component-relative-pathname #:source-file-type) - (:use :common-lisp :asdf/implementation :asdf/utility :asdf/pathname :asdf/upgrade) + (:use :common-lisp :asdf/utility :asdf/pathname :asdf/upgrade) (:intern #:name #:version #:description #:long-description #:sibling-dependencies #:if-feature #:in-order-to #:inline-methods #:relative-pathname #:absolute-pathname #:operation-times #:around-compile diff --git a/configuration.lisp b/configuration.lisp index 4407fe5a4a31513361808bcd6b5ae75f69f9249d..fe0ac956ae83c8efa341c169b9ba897cec4f1c0c 100644 --- a/configuration.lisp +++ b/configuration.lisp @@ -169,8 +169,7 @@ values of TAG include :source-registry and :output-translations." (resolve-relative-location-component (cdr x) :directory directory :wilden wilden) car)))) - ((eql :default-directory) - (relativize-pathname-directory (default-directory))) + ((eql :default-directory) (nil-pathname)) ;; OBSOLETE ((eql :*/) *wild-directory*) ((eql :**/) *wild-inferiors*) ((eql :*.*.*) *wild-file*) diff --git a/defsystem.lisp b/defsystem.lisp index da47357c515db91adff8b4bfa0d64509316052a0..f9896cd58d5f6e5d104ae181088f47c1d537ffed 100644 --- a/defsystem.lisp +++ b/defsystem.lisp @@ -7,7 +7,7 @@ :asdf/component :asdf/system :asdf/find-system :asdf/find-component :asdf/lisp-action :asdf/operate :asdf/backward-internals) - #+gcl<2.7 (:shadowing-import-from :asdf/implementation #:type-of) + #+gcl<2.7 (:shadowing-import-from :asdf/compatibility #:type-of) (:export #:defsystem #:do-defsystem #:parse-component-form #:*default-component-class*)) diff --git a/find-system.lisp b/find-system.lisp index c092c1d9e9cdb7d1f2cf5582acb8617ede309ba1..11ac90d0d5fb6b5e8ec4eceb4b1260016f174554 100644 --- a/find-system.lisp +++ b/find-system.lisp @@ -3,7 +3,7 @@ (asdf/package:define-package :asdf/find-system (:recycle :asdf/find-system :asdf) - (:use :common-lisp :asdf/implementation :asdf/utility :asdf/upgrade :asdf/pathname :asdf/os + (:use :common-lisp :asdf/compatibility :asdf/utility :asdf/upgrade :asdf/pathname :asdf/os :asdf/component :asdf/system) (:export #:coerce-name #:find-system #:locate-system #:load-sysdef #:with-system-definitions diff --git a/footer.lisp b/footer.lisp index c18db13444bab49c4405b75c1ffde342e5511291..f956e3564dc11441bb7d73fb15455d9d96b2a326 100644 --- a/footer.lisp +++ b/footer.lisp @@ -4,7 +4,7 @@ (asdf/package:define-package :asdf/footer (:recycle :asdf/footer :asdf) (:use :common-lisp - :asdf/package :asdf/implementation + :asdf/package :asdf/compatibility :asdf/utility :asdf/pathname :asdf/os :asdf/lisp-build :asdf/find-system :asdf/find-component :asdf/operation :asdf/action :asdf/lisp-action :asdf/operate :asdf/bundle :asdf/concatenate-source diff --git a/generate-asdf.asd b/generate-asdf.asd index b01f7df5e96febdd03532bb03a882f24767b6c91..37465389da124912f3cb1da6570c4ba827a34586 100644 --- a/generate-asdf.asd +++ b/generate-asdf.asd @@ -28,8 +28,8 @@ (:module "utils" :pathname "" :components ((:file "package") - (:file "implementation" :depends-on ("package")) - (:file "utility" :depends-on ("implementation")) + (:file "compatibility" :depends-on ("package")) + (:file "utility" :depends-on ("compatibility")) (:file "pathname" :depends-on ("utility")) (:file "os" :depends-on ("pathname")))) (:module diff --git a/header.lisp b/header.lisp index 8b96421960ce874d43a0262dd34551ab6f8a3221..769a30c5589580a39d6989a46d5ee7a4a33f507b 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.70: Another System Definition Facility. +;;; This is ASDF 2.26.71: Another System Definition Facility. ;;; ;;; Feedback, bug reports, and patches are all welcome: ;;; please mail to . diff --git a/interface.lisp b/interface.lisp index 6e248149f77e19dad8adb1ac4097366a59045561..f9b2d88b3b77d40e2824f2dc421e879d462d1948 100644 --- a/interface.lisp +++ b/interface.lisp @@ -11,7 +11,7 @@ #:loaded-systems ; makes for annoying SLIME completion #:output-files-for-system-and-operation) ; obsolete ASDF-BINARY-LOCATION function (:use :common-lisp - :asdf/package :asdf/implementation :asdf/utility :asdf/pathname :asdf/os :asdf/upgrade + :asdf/package :asdf/compatibility :asdf/utility :asdf/pathname :asdf/os :asdf/upgrade :asdf/component :asdf/system :asdf/find-system :asdf/find-component :asdf/operation :asdf/action :asdf/lisp-build :asdf/lisp-action :asdf/configuration :asdf/output-translations :asdf/source-registry diff --git a/lisp-action.lisp b/lisp-action.lisp index fc15a5627d98a089cb77b8d631ded0b35c2ab616..7c4a99a389db48b49bf811aabbd232fcd87e09d5 100644 --- a/lisp-action.lisp +++ b/lisp-action.lisp @@ -4,7 +4,7 @@ (asdf/package:define-package :asdf/lisp-action (:recycle :asdf/lisp-action :asdf) (:intern #:proclamations #:flags) - (:use :common-lisp :asdf/implementation :asdf/utility :asdf/lisp-build + (:use :common-lisp :asdf/compatibility :asdf/utility :asdf/lisp-build :asdf/component :asdf/system :asdf/find-component :asdf/operation :asdf/action) (:export #:compile-error #:compile-failed #:compile-warned #:try-recompiling diff --git a/lisp-build.lisp b/lisp-build.lisp index b93b19e3291ec5eaa3a62f5aefa2c9b1c92053e3..184a1ddede6d258505bf879f62d092e692a3c0fb 100644 --- a/lisp-build.lisp +++ b/lisp-build.lisp @@ -3,7 +3,7 @@ (asdf/package:define-package :asdf/lisp-build (:recycle :asdf/lisp-build :asdf) - (:use :common-lisp :asdf/implementation :asdf/utility :asdf/pathname :asdf/os) + (:use :common-lisp :asdf/compatibility :asdf/utility :asdf/pathname :asdf/os) (:fmakunbound #:compile-file*) (:export #:*compile-file-warnings-behaviour* #:*compile-file-failure-behaviour* diff --git a/operate.lisp b/operate.lisp index 038742c893bb333301c5e195918f8f7e9c513c14..6297d780efcb09f4486a8d000e191e7e20d36683 100644 --- a/operate.lisp +++ b/operate.lisp @@ -4,7 +4,7 @@ (asdf/package:define-package :asdf/operate (:recycle :asdf/operate :asdf) (:fmakunbound #:operate) - (:use :common-lisp :asdf/implementation :asdf/utility :asdf/upgrade + (:use :common-lisp :asdf/utility :asdf/upgrade :asdf/component :asdf/system :asdf/operation :asdf/action :asdf/lisp-build :asdf/lisp-action #:asdf/plan :asdf/find-system :asdf/find-component) diff --git a/os.lisp b/os.lisp index fd1ae826c915e684940ce3a19af564dd5e232be8..eba027231de603b22d7068da34fa8b453f44abf2 100644 --- a/os.lisp +++ b/os.lisp @@ -3,7 +3,7 @@ (asdf/package:define-package :asdf/os (:recycle :asdf/os :asdf) - (:use :cl :asdf/package :asdf/implementation :asdf/utility :asdf/pathname) + (:use :cl :asdf/package :asdf/compatibility :asdf/utility :asdf/pathname) (:export #:featurep #:os-unix-p #:os-windows-p ;; features #:read-file-forms ;; simple filesystem manipulation @@ -232,4 +232,4 @@ using WRITE-SEQUENCE and a sensibly sized buffer." ; copied from xcvb-driver (if (and dir truename) (truename* dir) dir))) - + \ No newline at end of file diff --git a/package.lisp b/package.lisp index c9087004241fdd81876feca54fac6582726ebe15..44dd9487a84f16e469c36674782c5712334c5dd1 100644 --- a/package.lisp +++ b/package.lisp @@ -387,20 +387,5 @@ when the symbol is not found." (defmacro define-package (package &rest clauses) `(eval-when (:compile-toplevel :load-toplevel :execute) - #+gcl (defpackage ,package (:use)) + #+(or ecl gcl) (defpackage ,package (:use)) (apply 'ensure-package ',(parse-define-package-form package clauses)))) - -;;;; MAGIC FIXUP FOR ASDF. -;; For bootstrapping reason, define-package can't do its magic on the asdf/package package itself, -;; so instead do something ugly and special purpose. However, other packages could have imported -;; from ASDF and be in trouble. There ought to be a better solution to merging packages without tears. - -(eval-when (:compile-toplevel :load-toplevel :execute) - (defvar *extirpated-symbols* ()) - (when (find-package :asdf) - (let (l) - (do-external-symbols (sym :asdf/package) - (multiple-value-bind (symbol lstatus) (find-symbol* sym :asdf nil) - (when (and lstatus (not (eq sym symbol))) - (push symbol l)))) - (push (cons :asdf (mapcar #'symbol-name-package (sort l 'string<))) *extirpated-symbols*)))) diff --git a/pathname.lisp b/pathname.lisp index c28f35ca6971bf78e1626d16439fc409f5a4c839..7228ba6754b163669b3c6140c8d94f886d7446de 100644 --- a/pathname.lisp +++ b/pathname.lisp @@ -46,7 +46,7 @@ #:add-pathname-suffix #:tmpize-pathname #:call-with-staging-pathname #:with-staging-pathname ;; basic pathnames - #:load-pathname #:default-directory #:nil-pathname + #:load-pathname #:default-directory #:root-pathname ;; physical pathnames #:physical-pathname-p #:sane-physical-pathname ;; Windows shortcut support @@ -705,8 +705,8 @@ For the latter case, we ought pick random suffix and atomically open it." (defun* load-pathname () (resolve-symlinks* (or *load-pathname* *compile-file-pathname*))) -(defun* default-directory () - (truenamize (pathname-directory-pathname *default-pathname-defaults*))) +(defun* default-directory () ;; A default absolute directory when all else fails. + (pathname-root (nil-pathname))) (defun* physical-pathname-p (x) (and (pathnamep x) (not (typep x 'logical-pathname)))) diff --git a/plan.lisp b/plan.lisp index c656895224d5d3aa9bf06efde48ac09ed9fc4e75..13deebc8a8fa8fa695fd269f10542670a142431a 100644 --- a/plan.lisp +++ b/plan.lisp @@ -7,7 +7,7 @@ (:use :common-lisp :asdf/utility :asdf/pathname :asdf/os :asdf/component :asdf/system :asdf/find-system :asdf/find-component :asdf/operation :asdf/action) - #+gcl<2.7 (:shadowing-import-from :asdf/implementation #:type-of) + #+gcl<2.7 (:shadowing-import-from :asdf/compatibility #:type-of) (:intern #:planned-p #:index #:forced #:forced-not #:total-action-count #:planned-action-count #:planned-output-action-count #:visited-actions #:visiting-action-set #:visiting-action-list #:actions-r) diff --git a/source-registry.lisp b/source-registry.lisp index c83c8e9ba91a1f963359d4ab185983d5ee11f213..9892bc0d8bd712871cbbda49c9cab0cdf25840e2 100644 --- a/source-registry.lisp +++ b/source-registry.lisp @@ -5,8 +5,8 @@ (asdf/package:define-package :asdf/source-registry (:recycle :asdf/source-registry :asdf) (:fmakunbound #:inherit-source-registry #:process-source-registry #:process-source-registry-directive) - (:use :common-lisp :asdf/implementation :asdf/configuration :asdf/utility :asdf/pathname :asdf/os - :asdf/find-system) + (:use :common-lisp :asdf/utility :asdf/pathname :asdf/os + :asdf/upgrade :asdf/find-system :asdf/configuration) (:export #:invalid-source-registry #:source-registry #:source-registry-initialized-p @@ -155,16 +155,14 @@ with a different configuration, so the configuration would be re-read then." (defun* wrapping-source-registry () `(:source-registry - #+ecl (:tree ,(translate-logical-pathname "SYS:")) + #+(or ecl sbcl) (:tree ,(lisp-implementation-directory :truename t)) #+mkcl (:tree ,(translate-logical-pathname "CONTRIB:")) - #+sbcl (:tree ,(truenamize (getenv-pathname "SBCL_HOME" :want-directory t))) :inherit-configuration #+cmu (:tree #p"modules:") #+scl (:tree #p"file://modules/"))) (defun* default-source-registry () `(:source-registry #+sbcl (:directory ,(subpathname (user-homedir) ".sbcl/systems/")) - (:directory ,(default-directory)) ,@(loop :for dir :in `(,@(when (os-unix-p) `(,(or (getenv-absolute-directory "XDG_DATA_HOME") diff --git a/test/script-support.lisp b/test/script-support.lisp index f18f441ef0bda0752347aa212a0a1d56b950ddd6..6d92ce9294c6eed9a191418b4b379bf3e5ea7d8e 100644 --- a/test/script-support.lisp +++ b/test/script-support.lisp @@ -31,9 +31,9 @@ (make-pathname :directory '(#-gcl :relative #-gcl :back #+gcl :parent) :defaults *test-directory*) *test-directory*))) (defparameter *asdf-lisp* - (merge-pathnames - (make-pathname :directory '(#-gcl :relative "tmp") :name "asdf" :type "lisp" :defaults *asdf-directory*) - *asdf-directory*)) + (merge-pathnames + (make-pathname :directory '(#-gcl :relative "build") :name "asdf" :type "lisp" :defaults *asdf-directory*) + *asdf-directory*)) (defparameter *asdf-fasl* (compile-file-pathname (let ((impl (string-downcase @@ -55,14 +55,14 @@ #+scl :scl #+xcl :xcl)))) (merge-pathnames - (make-pathname :directory `(#-gcl :relative "tmp" "fasls" ,impl) + (make-pathname :directory `(#-gcl :relative "fasls" ,impl) :defaults *asdf-directory*) *asdf-lisp*)))) (defun load-old-asdf (tag) (let ((old-asdf (merge-pathnames - (make-pathname :directory `(#-gcl :relative "tmp") + (make-pathname :directory `(#-gcl :relative "build") :name (format nil "asdf-~A" tag) :type "lisp" :defaults *asdf-directory*) *asdf-directory*))) diff --git a/upgrade.lisp b/upgrade.lisp index c1fb63cbcd4e0f9d5519ef51255900fdd8e0547a..dbeb5043c7bee1bd9935e566f6b4bcbb143f8feb 100644 --- a/upgrade.lisp +++ b/upgrade.lisp @@ -4,11 +4,12 @@ (asdf/package:define-package :asdf/upgrade (:recycle :asdf/upgrade :asdf) - (:use :common-lisp :asdf/package :asdf/implementation :asdf/utility) + (:use :common-lisp :asdf/package :asdf/compatibility :asdf/utility) (:export #:upgrade-asdf #:asdf-upgrade-error #:with-upgrade #:*post-upgrade-cleanup-hook* #:*post-upgrade-restart-hook* - #:asdf-version #:*upgraded-p*)) + #:asdf-version #:*upgraded-p* + #:asdf-message #:*asdf-verbose* #:*verbose-out*)) (in-package :asdf/upgrade) ;;; Special magic to detect if this is an upgrade @@ -16,6 +17,12 @@ (eval-when (:load-toplevel :compile-toplevel :execute) (defvar *asdf-version* nil) (defvar *upgraded-p* nil) + (defvar *asdf-verbose* nil) ; was t from 2.000 to 2.014.12. + (defvar *verbose-out* nil) + (defun asdf-message (format-string &rest format-args) + (apply 'format *verbose-out* format-string format-args))) + +(eval-when (:load-toplevel :compile-toplevel :execute) (let* (;; For bug reporting sanity, please always bump this version when you modify this file. ;; Please also modify asdf.asd to reflect this change. The script bin/bump-version ;; can help you do these changes in synch (look at the source for documentation). @@ -24,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.70") + (asdf-version "2.26.71") (existing-asdf (find-class (find-symbol* :component :asdf nil) nil)) (existing-version *asdf-version*) (already-there (equal asdf-version existing-version))) @@ -37,7 +44,13 @@ (setf *asdf-version* asdf-version)))) -;;;; User interface +;;; Upgrade interface + +(defun* asdf-upgrade-error () + ;; Important notice for whom it concerns. The crux of the matter is that + ;; TRAVERSE can be completely refactored, and so after the find-system returns, it's too late. + (error "When a system transitively depends on ASDF, it must :defsystem-depends-on (:asdf)~%~ + Otherwise, when you upgrade ASDF, you must do it before you operate on any system.~%")) (defmacro with-upgrade ((&key (upgraded-p '*upgraded-p*) when) &body body) `(eval-when (:compile-toplevel :load-toplevel :execute) @@ -51,12 +64,6 @@ You can compare this string with e.g.: (ASDF:VERSION-SATISFIES (ASDF:ASDF-VERSION) \"2.345.67\")." *asdf-version*) -(defun* asdf-upgrade-error () - ;; Important notice for whom it concerns. The crux of the matter is that - ;; TRAVERSE can be completely refactored, and so after the find-system returns, it's too late. - (error "When a system transitively depends on ASDF, it must :defsystem-depends-on (:asdf)~%~ - Otherwise, when you upgrade ASDF, you must do it before you operate on any system.~%")) - ;;; Self-upgrade functions diff --git a/utility.lisp b/utility.lisp index 2468cbef53289f30fa566a1ee56db14c0e9ae729..84e5a4fe40b4a82d62312eaf823cabd3e56ac046 100644 --- a/utility.lisp +++ b/utility.lisp @@ -3,10 +3,10 @@ (asdf/package:define-package :asdf/utility (:recycle :asdf/utility :asdf) - (:use :common-lisp :asdf/package :asdf/implementation) + (:use :common-lisp :asdf/package :asdf/compatibility) (:export #:find-symbol* ;; reexport from asdf/package - #:strcat #:compatfmt ;; reexport from asdf/implementation + #:strcat #:compatfmt ;; reexport from asdf/compatibility #:defun* #:defgeneric* ;; defining macros #:aif #:it ;; basic flow control #:while-collecting #:appendf #:length=n-p ;; lists