Commit d2bbf816 authored by Francois-Rene Rideau's avatar Francois-Rene Rideau

2.26.71: Fix obvious breakage on SBCL.

Make default-directory a root pathname, remove it from source-registry.
Have it use lisp-implementation-directory.
Remove any attempt to use the "current directory".
Users who want that can still try to
	(pushnew '*default-pathname-defaults* asdf:*central-registry*)

Rename tmp/ to build/ and move asdf.lisp there. Update asdf.asd.
Rename implementation.lisp to compatibility.lisp.
Move *asdf-verbose* and asdf-message to upgrade.lisp
parent 7d67f76c
......@@ -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
......
......@@ -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)
......
......@@ -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))
......@@ -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*
......
......@@ -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))
......
;;;; -------------------------------------------------------------------------
;;;; 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))
......@@ -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
......
......@@ -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*)
......
......@@ -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*))
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
;; -*- 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 <asdf-devel@common-lisp.net>.
......
......@@ -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
......
......@@ -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
......
......@@ -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*
......
......@@ -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)
......
......@@ -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
......@@ -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*))))
......@@ -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))))
......
......@@ -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)
......
......@@ -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")
......
......@@ -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*)))
......
......@@ -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
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment