1
|
1
|
;;; -*- mode: Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; Package: CL-USER ; buffer-read-only: t; -*-
|
2
|
|
-;;; This is ASDF 3.3.7: Another System Definition Facility.
|
|
2
|
+;;; This is ASDF 3.3.7.4: Another System Definition Facility.
|
3
|
3
|
;;;
|
4
|
4
|
;;; Feedback, bug reports, and patches are all welcome:
|
5
|
5
|
;;; please mail to <asdf-devel@common-lisp.net>.
|
... |
... |
@@ -135,7 +135,7 @@ |
135
|
135
|
(:import-from
|
136
|
136
|
#+allegro #:excl
|
137
|
137
|
#+sbcl #:sb-ext
|
138
|
|
- #+(or clasp abcl ecl) #:ext
|
|
138
|
+ #+(or clasp abcl ecl cmu) #:ext
|
139
|
139
|
#+ccl #:ccl
|
140
|
140
|
#+lispworks #:hcl
|
141
|
141
|
#-(or allegro sbcl clasp abcl ccl lispworks ecl)
|
... |
... |
@@ -1165,7 +1165,7 @@ Return a string made of the parts not omitted or emitted by FROB." |
1165
|
1165
|
|
1166
|
1166
|
(defmacro compatfmt (format)
|
1167
|
1167
|
#+(or gcl genera)
|
1168
|
|
- (frob-substrings format `("~3i~_" #+genera ,@'("~@<" "~@;" "~@:>" "~:>")))
|
|
1168
|
+ (frob-substrings format `("~3i~_" "~@<" "~@;" "~@:>" "~:>"))
|
1169
|
1169
|
#-(or gcl genera) format))
|
1170
|
1170
|
;;;; -------------------------------------------------------------------------
|
1171
|
1171
|
;;;; General Purpose Utilities for ASDF
|
... |
... |
@@ -1848,7 +1848,7 @@ form suitable for testing with #+." |
1848
|
1848
|
(in-package :uiop/version)
|
1849
|
1849
|
|
1850
|
1850
|
(with-upgradability ()
|
1851
|
|
- (defparameter *uiop-version* "3.3.7")
|
|
1851
|
+ (defparameter *uiop-version* "3.3.7.4")
|
1852
|
1852
|
|
1853
|
1853
|
(defun unparse-version (version-list)
|
1854
|
1854
|
"From a parsed version (a list of natural numbers), compute the version string"
|
... |
... |
@@ -2064,7 +2064,7 @@ keywords explicitly." |
2064
|
2064
|
|
2065
|
2065
|
(defun os-unix-p ()
|
2066
|
2066
|
"Is the underlying operating system some Unix variant?"
|
2067
|
|
- (or (featurep '(:or :unix :cygwin :haiku)) (os-macosx-p)))
|
|
2067
|
+ (or (featurep '(:or :unix :cygwin :haiku :linux)) (os-macosx-p)))
|
2068
|
2068
|
|
2069
|
2069
|
(defun os-windows-p ()
|
2070
|
2070
|
"Is the underlying operating system Microsoft Windows?"
|
... |
... |
@@ -2376,7 +2376,7 @@ suitable for use as a directory name to segregate Lisp FASLs, C dynamic librarie |
2376
|
2376
|
(error "Could not set current directory to ~A" x))
|
2377
|
2377
|
#+ecl (ext:chdir x)
|
2378
|
2378
|
#+clasp (ext:chdir x t)
|
2379
|
|
- #+gcl (system:chdir x)
|
|
2379
|
+ #+gcl (system::chdir x)
|
2380
|
2380
|
#+lispworks (hcl:change-directory x)
|
2381
|
2381
|
#+mkcl (mk-ext:chdir x)
|
2382
|
2382
|
#+sbcl (progn (require :sb-posix) (symbol-call :sb-posix :chdir (sb-ext:native-namestring x)))
|
... |
... |
@@ -2811,6 +2811,7 @@ actually-existing directory." |
2811
|
2811
|
|
2812
|
2812
|
;;; Parsing filenames
|
2813
|
2813
|
(with-upgradability ()
|
|
2814
|
+ #-gcl
|
2814
|
2815
|
(declaim (ftype function ensure-pathname)) ; forward reference
|
2815
|
2816
|
|
2816
|
2817
|
(defun split-unix-namestring-directory-components
|
... |
... |
@@ -3339,20 +3340,6 @@ or the original (parsed) pathname if it is false (the default)." |
3339
|
3340
|
(when p
|
3340
|
3341
|
#+allegro
|
3341
|
3342
|
(probe-file p :follow-symlinks truename)
|
3342
|
|
- #+gcl
|
3343
|
|
- (if truename
|
3344
|
|
- (truename* p)
|
3345
|
|
- (let ((kind (car (si::stat p))))
|
3346
|
|
- (when (eq kind :link)
|
3347
|
|
- (setf kind (ignore-errors (car (si::stat (truename* p))))))
|
3348
|
|
- (ecase kind
|
3349
|
|
- ((nil) nil)
|
3350
|
|
- ((:file :link)
|
3351
|
|
- (cond
|
3352
|
|
- ((file-pathname-p p) p)
|
3353
|
|
- ((directory-pathname-p p)
|
3354
|
|
- (subpathname p (car (last (pathname-directory p)))))))
|
3355
|
|
- (:directory (ensure-directory-pathname p)))))
|
3356
|
3343
|
#+clisp
|
3357
|
3344
|
#.(let* ((fs (or #-os-windows (find-symbol* '#:file-stat :posix nil)))
|
3358
|
3345
|
(pp (find-symbol* '#:probe-pathname :ext nil)))
|
... |
... |
@@ -3367,7 +3354,7 @@ or the original (parsed) pathname if it is false (the default)." |
3367
|
3354
|
(t '(or (and (truename* p) p)
|
3368
|
3355
|
(if-let (d (ensure-directory-pathname p))
|
3369
|
3356
|
(and (truename* d) d)))))))
|
3370
|
|
- #-(or allegro clisp gcl)
|
|
3357
|
+ #-(or allegro clisp)
|
3371
|
3358
|
(if truename
|
3372
|
3359
|
(probe-file p)
|
3373
|
3360
|
(and
|
... |
... |
@@ -6304,13 +6291,13 @@ MAKE-INSTANCE. Primarily, it is being made available to enable type-checking.")) |
6304
|
6291
|
(not-implemented-error 'process-info-pid)))
|
6305
|
6292
|
|
6306
|
6293
|
(defun %process-status (process-info)
|
|
6294
|
+ #-(or allegro clozure cmucl ecl lispworks mkcl sbcl scl)
|
|
6295
|
+ (not-implemented-error '%process-status)
|
6307
|
6296
|
(if-let (exit-code (slot-value process-info 'exit-code))
|
6308
|
6297
|
(return-from %process-status
|
6309
|
6298
|
(if-let (signal-code (slot-value process-info 'signal-code))
|
6310
|
6299
|
(values :signaled signal-code)
|
6311
|
6300
|
(values :exited exit-code))))
|
6312
|
|
- #-(or allegro clasp clozure cmucl ecl lispworks mkcl sbcl scl)
|
6313
|
|
- (not-implemented-error '%process-status)
|
6314
|
6301
|
(if-let (process (slot-value process-info 'process))
|
6315
|
6302
|
(multiple-value-bind (status code)
|
6316
|
6303
|
(progn
|
... |
... |
@@ -6322,13 +6309,13 @@ MAKE-INSTANCE. Primarily, it is being made available to enable type-checking.")) |
6322
|
6309
|
(symbol-call :ext '#:external-process-status process)
|
6323
|
6310
|
(not-implemented-error '%process-status))
|
6324
|
6311
|
#+clozure (ccl:external-process-status process)
|
6325
|
|
- #+(or cmucl scl) (let ((status (ext:process-status process)))
|
6326
|
|
- (if (member status '(:exited :signaled))
|
6327
|
|
- ;; Calling ext:process-exit-code on
|
6328
|
|
- ;; processes that are still alive
|
6329
|
|
- ;; yields an undefined result
|
6330
|
|
- (values status (ext:process-exit-code process))
|
6331
|
|
- status))
|
|
6312
|
+ #+cmucl (let ((status (ext:process-status process)))
|
|
6313
|
+ (if (member status '(:exited :signaled :stopped))
|
|
6314
|
+ ;; ext:process-exit-code can also be called
|
|
6315
|
+ ;; for stopped processes to determine the
|
|
6316
|
+ ;; signal that stopped them
|
|
6317
|
+ (values status (ext:process-exit-code process))
|
|
6318
|
+ status))
|
6332
|
6319
|
#+ecl (ext:external-process-status process)
|
6333
|
6320
|
#+lispworks
|
6334
|
6321
|
;; a signal is only returned on LispWorks 7+
|
... |
... |
@@ -6353,7 +6340,14 @@ MAKE-INSTANCE. Primarily, it is being made available to enable type-checking.")) |
6353
|
6340
|
;; sb-ext:process-exit-code can also be
|
6354
|
6341
|
;; called for stopped processes to determine
|
6355
|
6342
|
;; the signal that stopped them
|
6356
|
|
- (values status (sb-ext:process-exit-code process)))))
|
|
6343
|
+ (values status (sb-ext:process-exit-code process))))
|
|
6344
|
+ #+scl (let ((status (ext:process-status process)))
|
|
6345
|
+ (if (member status '(:exited :signaled))
|
|
6346
|
+ ;; Calling ext:process-exit-code on
|
|
6347
|
+ ;; processes that are still alive
|
|
6348
|
+ ;; yields an undefined result
|
|
6349
|
+ (values status (ext:process-exit-code process))
|
|
6350
|
+ status)))
|
6357
|
6351
|
(case status
|
6358
|
6352
|
(:exited (setf (slot-value process-info 'exit-code) code))
|
6359
|
6353
|
(:signaled (let ((%code (%signal-to-exit-code code)))
|
... |
... |
@@ -6663,7 +6657,7 @@ could block because its output buffers are full." |
6663
|
6657
|
(not-implemented-error 'launch-program))
|
6664
|
6658
|
#+clozure 'ccl:run-program
|
6665
|
6659
|
#+(or cmucl ecl scl) 'ext:run-program
|
6666
|
|
-
|
|
6660
|
+
|
6667
|
6661
|
#+lispworks ,@'('system:run-shell-command `("/usr/bin/env" ,@command)) ; full path needed
|
6668
|
6662
|
#+mkcl 'mk-ext:run-program
|
6669
|
6663
|
#+sbcl 'sb-ext:run-program
|
... |
... |
@@ -6751,7 +6745,6 @@ could block because its output buffers are full." |
6751
|
6745
|
;; returns (io err pid) of which we keep io.
|
6752
|
6746
|
(t (prop 'process io-or-pid)))))
|
6753
|
6747
|
process-info)))
|
6754
|
|
-
|
6755
|
6748
|
;;;; -------------------------------------------------------------------------
|
6756
|
6749
|
;;;; run-program initially from xcvb-driver.
|
6757
|
6750
|
|
... |
... |
@@ -7966,7 +7959,7 @@ previously-loaded version of ASDF." |
7966
|
7959
|
;; "3.4.5.67" would be a development version in the official branch, on top of 3.4.5.
|
7967
|
7960
|
;; "3.4.5.0.8" would be your eighth local modification of official release 3.4.5
|
7968
|
7961
|
;; "3.4.5.67.8" would be your eighth local modification of development version 3.4.5.67
|
7969
|
|
- (asdf-version "3.3.7")
|
|
7962
|
+ (asdf-version "3.3.7.4")
|
7970
|
7963
|
(existing-version (asdf-version)))
|
7971
|
7964
|
(setf *asdf-version* asdf-version)
|
7972
|
7965
|
(when (and existing-version (not (equal asdf-version existing-version)))
|
... |
... |
@@ -14111,7 +14104,8 @@ system or its dependencies if it has already been loaded." |
14111
|
14104
|
(setf excl:*warn-on-nested-reader-conditionals* uiop/common-lisp::*acl-warn-save*))
|
14112
|
14105
|
|
14113
|
14106
|
#+(and allegro allegro-v10.1) ;; check for patch needed for upgradeability
|
14114
|
|
- (unless (assoc "ma040" (cdr (assoc :lisp sys:*patches*)) :test 'equal)
|
|
14107
|
+ (when (and (not (member :developer excl::.build-mode. :test #'eq))
|
|
14108
|
+ (not (assoc "ma040" (cdr (assoc :lisp sys:*patches*)) :test 'equal)))
|
14115
|
14109
|
(warn 'asdf-install-warning
|
14116
|
14110
|
:format-control "On Allegro Common Lisp 10.1, patch pma040 is ~
|
14117
|
14111
|
needed for correct ASDF upgrading. Please update your Allegro image ~
|