Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
asdf
asdf
Commits
ff000bf6
Commit
ff000bf6
authored
Mar 03, 2013
by
Francois-Rene Rideau
Browse files
2.31.9: rename ASDF/DRIVER to UIOP, keep old names as nicknames.
parent
0ffa98e6
Changes
22
Hide whitespace changes
Inline
Side-by-side
Makefile
View file @
ff000bf6
...
...
@@ -40,7 +40,7 @@ XCL ?= xcl
# website, tag, install
header_lisp
:=
header.lisp
driver_lisp
:=
package.lisp common-lisp.lisp utility.lisp os.lisp pathname.lisp filesystem.lisp stream.lisp image.lisp run-program.lisp lisp-build.lisp configuration.lisp backward-driver.lisp driver.lisp
driver_lisp
:=
uiop/
package.lisp
uiop/
common-lisp.lisp
uiop/
utility.lisp
uiop/
os.lisp
uiop/
pathname.lisp
uiop/
filesystem.lisp
uiop/
stream.lisp
uiop/
image.lisp
uiop/
run-program.lisp
uiop/
lisp-build.lisp
uiop/
configuration.lisp
uiop/
backward-driver.lisp
uiop/
driver.lisp
defsystem_lisp
:=
upgrade.lisp component.lisp system.lisp cache.lisp find-system.lisp find-component.lisp operation.lisp action.lisp lisp-action.lisp plan.lisp operate.lisp output-translations.lisp source-registry.lisp backward-internals.lisp defsystem.lisp bundle.lisp concatenate-source.lisp backward-interface.lisp interface.lisp user.lisp footer.lisp
all_lisp
:=
$(header_lisp)
$(driver_lisp)
$(defsystem_lisp)
...
...
asdf-driver.asd
View file @
ff000bf6
;;; -*- mode: lisp -*-
(
in-package
:asdf
)
(
defun
call-without-redefinition-warnings
(
thunk
)
(
handler-bind
(((
or
#+
clozure
ccl:compiler-warning
#+
cmu
kernel:simple-style-warning
)
#'
muffle-warning
))
(
funcall
thunk
)))
(
defsystem
:asdf-driver
:licence
"MIT"
:description
"Runtime support for Common Lisp programs"
:long-description
"Basic general-purpose utilities that are in such a need
that you can't portably construct a complete program without using them."
#+
asdf3
:version
#+
asdf3
(
:read-file-form
"version.lisp-expr"
)
#+
asdf3
:encoding
#+
asdf3
:utf-8
:around-compile
call-without-redefinition-warnings
:components
((
:static-file
"version.lisp-expr"
)
(
:static-file
"contrib/debug.lisp"
)
(
:file
"package"
)
(
:file
"common-lisp"
:depends-on
(
"package"
))
(
:file
"utility"
:depends-on
(
"common-lisp"
))
(
:file
"os"
:depends-on
(
"utility"
))
(
:file
"pathname"
:depends-on
(
"utility"
"os"
))
(
:file
"filesystem"
:depends-on
(
"os"
"pathname"
))
(
:file
"stream"
:depends-on
(
"filesystem"
))
(
:file
"image"
:depends-on
(
"stream"
))
(
:file
"run-program"
:depends-on
(
"stream"
))
(
:file
"lisp-build"
:depends-on
(
"image"
))
(
:file
"configuration"
:depends-on
(
"image"
))
(
:file
"backward-driver"
:depends-on
(
"lisp-build"
"run-program"
"configuration"
))
(
:file
"driver"
:depends-on
(
"backward-driver"
))))
(
defsystem
:asdf-driver
:depends-on
(
:uiop
))
asdf.asd
View file @
ff000bf6
...
...
@@ -14,14 +14,14 @@
;; Note that it's polite to sort the defsystem forms in dependency order,
;; and compulsory to sort them in defsystem-depends-on order.
:version
(
:read-file-form
"version.lisp-expr"
)
:around-compile
call-without-redefinition-warnings
;; we need be the same as
asdf-driver
:around-compile
call-without-redefinition-warnings
;; we need be the same as
uiop
:encoding
:utf-8
:components
((
:file
"header"
)))
#+
asdf3
(
defsystem
:asdf/driver
:depends-on
(
:
asdf-driver
))
:depends-on
(
:
uiop
))
#+
asdf3
(
defsystem
:asdf/defsystem
...
...
@@ -31,7 +31,7 @@
:description
"The portable defsystem for Common Lisp"
:long-description
"ASDF/DEFSYSTEM is the de facto standard DEFSYSTEM facility for Common Lisp,
a successor to Dan Barlow's ASDF and Francois-Rene Rideau's ASDF2.
For bootstrap purposes, it comes bundled with
ASDF/DRIVER
in a single file, asdf.lisp."
For bootstrap purposes, it comes bundled with
UIOP
in a single file, asdf.lisp."
:homepage
"http://common-lisp.net/projects/asdf/"
:bug-tracker
"https://launchpad.net/asdf/"
:mailto
"asdf-devel@common-lisp.net"
...
...
@@ -74,12 +74,12 @@
:licence
"MIT"
:description
"Another System Definition Facility"
:long-description
"ASDF builds Common Lisp software organized into defined systems."
:version
"2.31.
8
"
;; to be automatically updated by make bump-version
:version
"2.31.
9
"
;; 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.
;; If you want to link it or do something forbidden to builtin systems,
;; specify separate dependencies on asdf-driver and asdf
-
defsystem.
;; specify separate dependencies on
UIOP (aka
asdf-driver
)
and asdf
/
defsystem.
#+
asdf3
:builtin-system-p
#+
asdf3
t
:components
((
:module
"build"
:components
((
:file
"asdf"
))))
:in-order-to
(
#+
asdf3
(
prepare-op
(
monolithic-concatenate-source-op
:asdf/defsystem
))))
...
...
bin/asdf-builder
View file @
ff000bf6
...
...
@@ -24,6 +24,11 @@
(native-namestring *asdf-dir*))
(defun apath (x &rest keys) (apply 'subpathname *asdf-dir* x keys))
;;; UIOP directory
(defvar *uiop-dir* (subpathname *asdf-dir* "uiop/"))
(defparameter /uiop-dir/ (native-namestring *uiop-dir*))
(defun upath (x &rest keys) (apply 'subpathname *uiop-dir* x keys))
;;; build directory
(defparameter *build-dir*
...
...
@@ -99,7 +104,7 @@
(error "Destination ~S already exists, not taking chances - you can delete it yourself."
destination))
(ensure-directories-exist destination)
(run (format nil "cd ~S && cp -
lax --parents
~{~S ~} ~S"
(run (format nil "cd ~S && cp -
pHux
~{~S ~} ~S"
/base/ /files/ /destination/) :show t)
(run (format nil "tar zcfC ~S ~S ~S/"
/tarball/ /build-dir/ name) :show t)
...
...
@@ -107,12 +112,13 @@
(values)))
(defun driver-files ()
(list* "asdf-driver.asd" "version.lisp-expr"
(system-source-files :asdf-driver)))
(DBG :df
(list* "uiop.asd" "../asdf-driver.asd" "version.lisp-expr"
(system-source-files :asdf-driver))))
(defun driver-name ()
(format nil "
asdf-driver
-~A" *version*))
(format nil "
uiop
-~A" *version*))
(defun make-driver-tarball ()
(make-tarball-under-build (driver-name) *
asdf
-dir* (driver-files)))
(make-tarball-under-build (driver-name) *
uiop
-dir* (driver-files)))
(defun asdf-defsystem-files ()
(list* "asdf.asd" "build/asdf.lisp" "version.lisp-expr" "header.lisp"
...
...
@@ -161,7 +167,7 @@
(defun link-archive ()
(run (format nil "ln -sf ~S ~S ; ln -sf ~S ~S ; ln -sf ~S ~S ; ln -sf ~S ~S"
(tarname (driver-name))
(strcat *clnet-asdf-public* "archives/
asdf-driver
.tar.gz")
(strcat *clnet-asdf-public* "archives/
uiop
.tar.gz")
(tarname (asdf-defsystem-name))
(strcat *clnet-asdf-public* "archives/asdf-defsystem.tar.gz")
(tarname (asdf-git-name))
...
...
header.lisp
View file @
ff000bf6
;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp -*-
;;; This is ASDF 2.31.
8
: Another System Definition Facility.
;;; This is ASDF 2.31.
9
: Another System Definition Facility.
;;;
;;; Feedback, bug reports, and patches are all welcome:
;;; please mail to <asdf-devel@common-lisp.net>.
...
...
backward-driver.lisp
→
uiop/
backward-driver.lisp
View file @
ff000bf6
;;;; -------------------------------------------------------------------------
;;; Hacks for backward-compatibility of the driver
(
asdf/package:define-package
:asdf/backward-driver
(
:recycle
:asdf/backward-driver
:asdf
)
(
:use
:asdf/common-lisp
:asdf/package
:asdf/utility
:asdf/pathname
:asdf/stream
:asdf/os
:asdf/image
:asdf/run-program
:asdf/lisp-build
:asdf/configuration
)
(
uiop/package:define-package
:uiop/backward-driver
(
:nicknames
:asdf/backward-driver
)
(
:recycle
:uiop/backward-driver
:asdf/backward-driver
:asdf
)
(
:use
:uiop/common-lisp
:uiop/package
:uiop/utility
:uiop/pathname
:uiop/stream
:uiop/os
:uiop/image
:uiop/run-program
:uiop/lisp-build
:uiop/configuration
)
(
:export
#:coerce-pathname
#:component-name-to-pathname-components
#+
(
or
ecl
mkcl
)
#:compile-file-keeping-object
))
(
in-package
:
asdf
/backward-driver
)
(
in-package
:
uiop
/backward-driver
)
;;;; Backward compatibility with various pathname functions.
...
...
common-lisp.lisp
→
uiop/
common-lisp.lisp
View file @
ff000bf6
...
...
@@ -6,11 +6,11 @@
;;; A few functions are defined here, but actually exported from utility;
;;; from this package only common-lisp symbols are exported.
(
asdf
/package:define-package
:
asdf
/common-lisp
(
:nicknames
:asdf/cl
)
(
:use
#-
genera
:common-lisp
#+
genera
:future-common-lisp
:
asdf
/package
)
(
uiop
/package:define-package
:
uiop
/common-lisp
(
:nicknames
:uoip/cl
:asdf/common-lisp
:asdf/cl
)
(
:use
#-
genera
:common-lisp
#+
genera
:future-common-lisp
:
uiop
/package
)
(
:reexport
:common-lisp
)
(
:recycle
:asdf/common-lisp
:asdf
)
(
:recycle
:uiop/common-lisp
:uoip/cl
:asdf/common-lisp
:asdf/cl
:asdf
)
#+
allegro
(
:intern
#:*acl-warn-save*
)
#+
cormanlisp
(
:shadow
#:user-homedir-pathname
)
#+
cormanlisp
...
...
@@ -22,7 +22,7 @@
#+
genera
(
:shadowing-import-from
:scl
#:boolean
)
#+
genera
(
:export
#:boolean
#:ensure-directories-exist
)
#+
mcl
(
:shadow
#:user-homedir-pathname
))
(
in-package
:
asdf
/common-lisp
)
(
in-package
:
uiop
/common-lisp
)
#-
(
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."
)
...
...
@@ -73,13 +73,13 @@
#+
gcl2.6
(
eval-when
(
:compile-toplevel
:load-toplevel
:execute
)
(
shadow
'type-of
:
asdf
/common-lisp
)
(
shadowing-import
'system:*load-pathname*
:
asdf
/common-lisp
))
(
shadow
'type-of
:
uiop
/common-lisp
)
(
shadowing-import
'system:*load-pathname*
:
uiop
/common-lisp
))
#+
gcl2.6
(
eval-when
(
:compile-toplevel
:load-toplevel
:execute
)
(
export
'type-of
:
asdf
/common-lisp
)
(
export
'system:*load-pathname*
:
asdf
/common-lisp
))
(
export
'type-of
:
uiop
/common-lisp
)
(
export
'system:*load-pathname*
:
uiop
/common-lisp
))
#+
gcl2.6
;; Doesn't support either logical-pathnames or output-translations.
(
eval-when
(
:load-toplevel
:compile-toplevel
:execute
)
...
...
configuration.lisp
→
uiop/
configuration.lisp
View file @
ff000bf6
;;;; ---------------------------------------------------------------------------
;;;; Generic support for configuration files
(
asdf/package:define-package
:asdf/configuration
(
:recycle
:asdf/configuration
:asdf
)
(
:use
:asdf/common-lisp
:asdf/utility
:asdf/os
:asdf/pathname
:asdf/filesystem
:asdf/stream
:asdf/image
)
(
uiop/package:define-package
:uiop/configuration
(
:nicknames
:asdf/configuration
)
(
:recycle
:uiop/configuration
:asdf/configuration
:asdf
)
(
:use
:uiop/common-lisp
:uiop/utility
:uiop/os
:uiop/pathname
:uiop/filesystem
:uiop/stream
:uiop/image
)
(
:export
#:get-folder-path
#:user-configuration-directories
#:system-configuration-directories
...
...
@@ -16,7 +17,7 @@
#:*clear-configuration-hook*
#:clear-configuration
#:register-clear-configuration-hook
#:resolve-location
#:location-designator-p
#:location-function-p
#:*here-directory*
#:resolve-relative-location
#:resolve-absolute-location
#:upgrade-configuration
))
(
in-package
:
asdf
/configuration
)
(
in-package
:
uiop
/configuration
)
(
with-upgradability
()
(
define-condition
invalid-configuration
()
...
...
driver.lisp
→
uiop/
driver.lisp
View file @
ff000bf6
;;;; ---------------------------------------------------------------------------
;;;; Re-export all the functionality in asdf/driver
(
asdf
/package:define-package
:
asdf
/driver
(
:nicknames
:asdf-driver
:asdf-utils
)
(
:use
:
asdf
/common-lisp
:
asdf
/package
:
asdf
/utility
:
asdf
/os
:
asdf
/pathname
:
asdf
/stream
:
asdf
/filesystem
:
asdf
/image
:
asdf
/run-program
:
asdf
/lisp-build
:
asdf
/configuration
:
asdf
/backward-driver
)
(
uiop
/package:define-package
:
uiop
/driver
(
:nicknames
:uiop
:asdf/driver
:asdf-driver
:asdf-utils
)
(
:use
:
uiop
/common-lisp
:
uiop
/package
:
uiop
/utility
:
uiop
/os
:
uiop
/pathname
:
uiop
/stream
:
uiop
/filesystem
:
uiop
/image
:
uiop
/run-program
:
uiop
/lisp-build
:
uiop
/configuration
:
uiop
/backward-driver
)
(
:reexport
;; NB: excluding asdf/common-lisp
;; which include all of CL with compatibility modifications on select platforms.
:
asdf
/package
:
asdf
/utility
:asdf
/os
:
asdf
/pathname
:
asdf
/stream
:
asdf
/filesystem
:
asdf
/image
:
asdf
/run-program
:
asdf
/lisp-build
:
asdf
/configuration
:
asdf
/backward-driver
))
:
uiop
/package
:
uiop
/utility
:uiop
/os
:
uiop
/pathname
:
uiop
/stream
:
uiop
/filesystem
:
uiop
/image
:
uiop
/run-program
:
uiop
/lisp-build
:
uiop
/configuration
:
uiop
/backward-driver
))
filesystem.lisp
→
uiop/
filesystem.lisp
View file @
ff000bf6
;;;; -------------------------------------------------------------------------
;;;; Portability layer around Common Lisp filesystem access
(
asdf/package:define-package
:asdf/filesystem
(
:recycle
:asdf/pathname
:asdf
)
(
:use
:asdf/common-lisp
:asdf/package
:asdf/utility
:asdf/os
:asdf/pathname
)
(
uiop/package:define-package
:uiop/filesystem
(
:nicknames
:asdf/filesystem
)
(
:recycle
:uiop/filesystem
:asdf/pathname
:asdf
)
(
:use
:uiop/common-lisp
:uiop/package
:uiop/utility
:uiop/os
:uiop/pathname
)
(
:export
;; Native namestrings
#:native-namestring
#:parse-native-namestring
...
...
@@ -24,7 +25,7 @@
#:ensure-all-directories-exist
#:rename-file-overwriting-target
#:delete-file-if-exists
))
(
in-package
:
asdf
/filesystem
)
(
in-package
:
uiop
/filesystem
)
;;; Native namestrings, as seen by the operating system calls rather than Lisp
(
with-upgradability
()
...
...
image.lisp
→
uiop/
image.lisp
View file @
ff000bf6
;;;; -------------------------------------------------------------------------
;;;; Starting, Stopping, Dumping a Lisp image
(
asdf/package:define-package
:asdf/image
(
:recycle
:asdf/image
:xcvb-driver
)
(
:use
:asdf/common-lisp
:asdf/package
:asdf/utility
:asdf/pathname
:asdf/stream
:asdf/os
)
(
uiop/package:define-package
:uiop/image
(
:nicknames
:asdf/image
)
(
:recycle
:uiop/image
:asdf/image
:xcvb-driver
)
(
:use
:uiop/common-lisp
:uiop/package
:uiop/utility
:uiop/pathname
:uiop/stream
:uiop/os
)
(
:export
#:*image-dumped-p*
#:raw-command-line-arguments
#:*command-line-arguments*
#:command-line-arguments
#:raw-command-line-arguments
#:setup-command-line-arguments
...
...
@@ -18,7 +19,7 @@
#:call-image-restore-hook
#:call-image-dump-hook
#:restore-image
#:dump-image
#:create-image
))
(
in-package
:
asdf
/image
)
(
in-package
:
uiop
/image
)
(
with-upgradability
()
(
defvar
*lisp-interaction*
t
...
...
lisp-build.lisp
→
uiop/
lisp-build.lisp
View file @
ff000bf6
;;;; -------------------------------------------------------------------------
;;;; Support to build (compile and load) Lisp files
(
asdf/package:define-package
:asdf/lisp-build
(
:recycle
:asdf/interface
:asdf
:asdf/lisp-build
)
(
:use
:asdf/common-lisp
:asdf/package
:asdf/utility
:asdf/os
:asdf/pathname
:asdf/filesystem
:asdf/stream
:asdf/image
)
(
uiop/package:define-package
:uiop/lisp-build
(
:nicknames
:asdf/lisp-build
)
(
:recycle
:uiop/lisp-build
:asdf/lisp-build
:asdf
)
(
:use
:uiop/common-lisp
:uiop/package
:uiop/utility
:uiop/os
:uiop/pathname
:uiop/filesystem
:uiop/stream
:uiop/image
)
(
:export
;; Variables
#:*compile-file-warnings-behaviour*
#:*compile-file-failure-behaviour*
...
...
@@ -28,7 +29,7 @@
#:compile-file*
#:compile-file-pathname*
#:load*
#:load-from-string
#:combine-fasls
)
(
:intern
#:defaults
#:failure-p
#:warnings-p
#:s
#:y
#:body
))
(
in-package
:
asdf
/lisp-build
)
(
in-package
:
uiop
/lisp-build
)
(
with-upgradability
()
(
defvar
*compile-file-warnings-behaviour*
...
...
os.lisp
→
uiop/
os.lisp
View file @
ff000bf6
;;;; ---------------------------------------------------------------------------
;;;; Access to the Operating System
(
asdf/package:define-package
:asdf/os
(
:recycle
:asdf/os
:asdf
)
(
:use
:asdf/common-lisp
:asdf/package
:asdf/utility
)
(
uiop/package:define-package
:uiop/os
(
:nicknames
:asdf/os
)
(
:recycle
:uiop/os
:asdf/os
:asdf
)
(
:use
:uiop/common-lisp
:uiop/package
:uiop/utility
)
(
:export
#:featurep
#:os-unix-p
#:os-windows-p
#:os-genera-p
#:detect-os
;; features
#:getenv
#:getenvp
;; environment variables
...
...
@@ -14,7 +15,7 @@
;; Windows shortcut support
#:read-null-terminated-string
#:read-little-endian
#:parse-file-location-info
#:parse-windows-shortcut
))
(
in-package
:
asdf
/os
)
(
in-package
:
uiop
/os
)
;;; Features
(
with-upgradability
()
...
...
@@ -218,7 +219,7 @@ then returning the non-empty string value of the variable"
#+
cormanlisp
(
pathname
(
pl::get-current-directory
))
;; Q: what type does it return?
#+
ecl
(
ext:getcwd
)
#+
gcl
(
parse-namestring
;; this is a joke. Isn't there a better way?
(
first
(
symbol-call
:
asdf/driver
:run-program
'
(
"/bin/pwd"
)
:output
:lines
)))
(
first
(
symbol-call
:
uiop
:run-program
'
(
"/bin/pwd"
)
:output
:lines
)))
#+
genera
*default-pathname-defaults*
;; on a Lisp OS, it *is* canonical!
#+
lispworks
(
system:current-directory
)
#+
mkcl
(
mk-ext:getcwd
)
...
...
package.lisp
→
uiop/
package.lisp
View file @
ff000bf6
...
...
@@ -4,7 +4,7 @@
;; See https://bugs.launchpad.net/asdf/+bug/485687
;;
(
defpackage
:
asdf
/package
(
defpackage
:
uiop
/package
;; CAUTION: we must handle the first few packages specially for hot-upgrade.
;; This package definition MUST NOT change unless its name too changes;
;; if/when it changes, don't forget to add new functions missing from below.
...
...
@@ -14,17 +14,17 @@
(
:use
:common-lisp
)
(
:export
#:find-package*
#:find-symbol*
#:symbol-call
#:intern*
#:
unintern*
#:export*
#:make-symbol
*
#:symbol-shadowing-p
#:home-package-p
#:rehome-symbol
#:intern*
#:
export*
#:import*
#:shadowing-export*
#:shadow*
#:make-symbol*
#:unintern
*
#:symbol-shadowing-p
#:home-package-p
#:symbol-package-name
#:standard-common-lisp-symbol-p
#:reify-package
#:unreify-package
#:reify-symbol
#:unreify-symbol
#:nuke-symbol-in-package
#:nuke-symbol
#:nuke-symbol-in-package
#:nuke-symbol
#:rehome-symbol
#:ensure-package-unused
#:delete-package*
#:fresh-package-name
#:rename-package-away
#:package-names
#:packages-from-names
#:package-names
#:packages-from-names
#:fresh-package-name
#:rename-package-away
#:package-definition-form
#:parse-define-package-form
#:ensure-package
#:define-package
))
(
in-package
:
asdf
/package
)
(
in-package
:
uiop
/package
)
;;;; General purpose package utilities
...
...
@@ -731,3 +731,6 @@ or when loading the package is optional."
(
pushnew
:gcl2.6
*features*
))
(
t
(
pushnew
:gcl2.7
*features*
))))
;; Compatibility with whoever calls asdf/package
(
define-package
:asdf/package
(
:use
:cl
:uiop/package
)
(
:reexport
:uiop/package
))
pathname.lisp
→
uiop/
pathname.lisp
View file @
ff000bf6
...
...
@@ -3,9 +3,10 @@
;; This layer allows for portable manipulation of pathname objects themselves,
;; which all is necessary prior to any access the filesystem or environment.
(
asdf/package:define-package
:asdf/pathname
(
:recycle
:asdf/pathname
:asdf
)
(
:use
:asdf/common-lisp
:asdf/package
:asdf/utility
:asdf/os
)
(
uiop/package:define-package
:uiop/pathname
(
:nicknames
:asdf/pathname
)
(
:recycle
:uiop/pathname
:asdf/pathname
:asdf
)
(
:use
:uiop/common-lisp
:uiop/package
:uiop/utility
:uiop/os
)
(
:export
;; Making and merging pathnames, portably
#:normalize-pathname-directory-component
#:denormalize-pathname-directory-component
...
...
@@ -37,7 +38,7 @@
#:directory-separator-for-host
#:directorize-pathname-host-device
#:translate-pathname*
#:*output-translation-function*
))
(
in-package
:
asdf
/pathname
)
(
in-package
:
uiop
/pathname
)
;;; Normalizing pathnames across implementations
...
...
run-program.lisp
→
uiop/
run-program.lisp
View file @
ff000bf6
;;;; -------------------------------------------------------------------------
;;;; run-program initially from xcvb-driver.
(
asdf/package:define-package
:asdf/run-program
(
:recycle
:asdf/run-program
:xcvb-driver
)
(
:use
:asdf/common-lisp
:asdf/utility
:asdf/pathname
:asdf/os
:asdf/filesystem
:asdf/stream
)
(
uiop/package:define-package
:uiop/run-program
(
:nicknames
:asdf/run-program
)
(
:recycle
:uiop/run-program
:asdf/run-program
:xcvb-driver
)
(
:use
:uiop/common-lisp
:uiop/utility
:uiop/pathname
:uiop/os
:uiop/filesystem
:uiop/stream
)
(
:export
;;; Escaping the command invocation madness
#:easy-sh-character-p
#:escape-sh-token
#:escape-sh-command
...
...
@@ -16,7 +17,7 @@
#:subprocess-error
#:subprocess-error-code
#:subprocess-error-command
#:subprocess-error-process
))
(
in-package
:
asdf
/run-program
)
(
in-package
:
uiop
/run-program
)
;;;; ----- Escaping strings for the shell -----
...
...
stream.lisp
→
uiop/
stream.lisp
View file @
ff000bf6
;;;; ---------------------------------------------------------------------------
;;;; Utilities related to streams
(
asdf/package:define-package
:asdf/stream
(
:recycle
:asdf/stream
)
(
:use
:asdf/common-lisp
:asdf/package
:asdf/utility
:asdf/os
:asdf/pathname
:asdf/filesystem
)
(
uiop/package:define-package
:uiop/stream
(
:nicknames
:asdf/stream
)
(
:recycle
:uiop/stream
:asdf/stream
:asdf
)
(
:use
:uiop/common-lisp
:uiop/package
:uiop/utility
:uiop/os
:uiop/pathname
:uiop/filesystem
)
(
:export
#:*default-stream-element-type*
#:*stderr*
#:setup-stderr
#:detect-encoding
#:*encoding-detection-hook*
#:always-default-encoding
...
...
@@ -24,7 +25,7 @@
#:call-with-temporary-file
#:with-temporary-file
#:add-pathname-suffix
#:tmpize-pathname
#:call-with-staging-pathname
#:with-staging-pathname
))
(
in-package
:
asdf
/stream
)
(
in-package
:
uiop
/stream
)
(
with-upgradability
()
(
defvar
*default-stream-element-type*
(
or
#+
(
or
abcl
cmu
cormanlisp
scl
xcl
)
'character
:default
)
...
...
uiop/uiop.asd
0 → 100644
View file @
ff000bf6
;;; -*- mode: lisp -*-
(
in-package
:asdf
)
(
defun
call-without-redefinition-warnings
(
thunk
)
(
handler-bind
(((
or
#+
clozure
ccl:compiler-warning
#+
cmu
kernel:simple-style-warning
)
#'
muffle-warning
))
(
funcall
thunk
)))
(
defsystem
:uiop
:licence
"MIT"
#+
asdf3
:long-name
#+
asdf3
"Utilities for Implementation- and OS- Portability"
:description
"Runtime support for Common Lisp programs"
:long-description
"Basic general-purpose utilities that are in such a need
that you can't portably construct a complete program without using them.
UIOP is also known as ASDF/DRIVER or ASDF-UTILS,
being transcluded into asdf.lisp together with ASDF/DEFSYSTEM."
#+
asdf3
:version
#+
asdf3
(
:read-file-form
"version.lisp-expr"
)
#+
asdf-encoding
:encoding
#+
asdf-encoding
:utf-8
:around-compile
call-without-redefinition-warnings
:components
((
:static-file
"version.lisp-expr"
)
(
:static-file
"contrib/debug.lisp"
)
(
:file
"package"
)
(
:file
"common-lisp"
:depends-on
(
"package"
))
(
:file
"utility"
:depends-on
(
"common-lisp"
))
(
:file
"os"
:depends-on
(
"utility"
))
(
:file
"pathname"
:depends-on
(
"utility"
"os"
))
(
:file
"filesystem"
:depends-on
(
"os"
"pathname"
))
(
:file
"stream"
:depends-on
(
"filesystem"
))
(
:file
"image"
:depends-on
(
"stream"
))
(
:file
"run-program"
:depends-on
(
"stream"
))
(
:file
"lisp-build"
:depends-on
(
"image"
))
(
:file
"configuration"
:depends-on
(
"image"
))
(
:file
"backward-driver"
:depends-on
(
"lisp-build"
"run-program"
"configuration"
))
(
:file
"driver"
:depends-on
(
"backward-driver"
))))
utility.lisp
→
uiop/
utility.lisp
View file @
ff000bf6
;;;; -------------------------------------------------------------------------
;;;; General Purpose Utilities for ASDF
(
asdf/package:define-package
:asdf/utility
(
:recycle
:asdf/utility
:asdf
)
(
:use
:asdf/common-lisp
:asdf/package
)
(
uiop/package:define-package
:uiop/utility
(
:nicknames
:asdf/utility
)
(
:recycle
:uiop/utility
:asdf/utility
:asdf
)
(
:use
:uiop/common-lisp
:uiop/package
)
;; import and reexport a few things defined in :asdf/common-lisp
(
:import-from
:
asdf
/common-lisp
#:compatfmt
#:loop*
#:frob-substrings
(
:import-from
:
uiop
/common-lisp
#:compatfmt
#:loop*
#:frob-substrings
#+
ecl
#:use-ecl-byte-compiler-p
#+
mcl
#:probe-posix
)
(
:export
#:compatfmt
#:loop*
#:frob-substrings
#:compatfmt
#+
ecl
#:use-ecl-byte-compiler-p
#+
mcl
#:probe-posix
)
...
...
@@ -29,7 +30,7 @@
#:call-with-muffled-conditions
#:with-muffled-conditions
#:lexicographic<
#:lexicographic<=
#:parse-version
#:unparse-version
#:version<
#:version<=
#:version-compatible-p
))
;; version
(
in-package
:
asdf
/utility
)
(
in-package
:
uiop
/utility
)
;;;; Defining functions in a way compatible with hot-upgrade:
;; DEFUN* and DEFGENERIC* use FMAKUNBOUND to delete any previous fdefinition,
...
...
@@ -91,7 +92,7 @@
(
with-upgradability
()
(
defvar
*asdf-debug-utility*
'
(
or
(
ignore-errors
(
symbol-call
:asdf
:system-relative-pathname
:asdf
-driver
"contrib/debug.lisp"
))
(
symbol-call
:asdf
:system-relative-pathname
:asdf
"contrib/debug.lisp"
))
(
merge-pathnames
"cl/asdf/contrib/debug.lisp"
(
user-homedir-pathname
)))
"form that evaluates to the pathname to your favorite debugging utilities"
)
...
...
uiop/version.lisp-expr
0 → 120000
View file @
ff000bf6
../version.lisp-expr
\ No newline at end of file
Prev
1
2
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment