1
1
":" ; exec sbcl --script "$0" "$@" ; exit # -*- Lisp -*-
2
2
;;;;; Really runs on any decent Common Lisp implementation
4
(load (make-pathname :name "prelude" :type "lisp" :defaults *load-pathname*)
5
:verbose nil :print nil)
4
(setf *load-verbose* nil *load-print* nil
5
*compile-verbose* nil *compile-print* nil)
7
(format t "Loading your implementation's ASDF... ~%")
8
(ignore-errors (funcall 'require :asdf))
9
(format t "~:[No ~;~]ASDF~:*~@[ ~A~] was provided~%"
10
(when (find-package :asdf)
11
(or (symbol-value (or (find-symbol (string :*asdf-version*) :asdf)
12
(find-symbol (string :*asdf-revision*) :asdf)))
14
#-asdf2 (load (merge-pathnames "../build/asdf.lisp" *load-pathname*))
15
#-asdf2 (error "Not ASDF2, you lose!")
18
(defparameter *provided-version* (asdf-version))
19
(format t "Initializing the source registry... ~%")
20
(initialize-source-registry)
21
(format t "Upgrading to the latest ASDF... ~%")
23
(let ((ver (asdf-version)))
24
(if (equal ver *provided-version*)
25
(format t "Congratulations to your implementation for being up to date!~%")
26
(format t "Upgraded to ASDF ~A~%" ver)))
27
(format t "Now loading some dependencies... ~%")
28
(load-systems :cl-ppcre :fare-utils :inferior-shell)
30
(format t "There we are!~%")
7
33
(defpackage :asdf-builder (:use :cl :uiop :asdf/operate :asdf :fare-utils :inferior-shell))
8
34
(in-package :asdf-builder)
52
78
(defun enough-namestrings (base pathnames)
53
(ensure-pathname base :want-absolute t :want-directory t)
54
(loop :for p :in pathnames
55
:collect (enough-namestring! p base)))
79
(loop :with b = (ensure-pathname base :want-absolute t :want-directory t)
81
:collect (enough-namestring! p b)))
57
83
(defun system-source-files (system)
58
84
(let* ((sys (find-system system))
114
140
(defun driver-files ()
116
(list* "uiop.asd" "asdf-driver.asd" (system-source-files :uiop))))
141
(list* "README" "uiop.asd" "asdf-driver.asd" (system-source-files :uiop)))
117
142
(defun driver-name ()
118
143
(format nil "uiop-~A" *version*))
119
144
(defun make-driver-tarball ()