~ubuntu-branches/ubuntu/wily/cl-asdf/wily

« back to all changes in this revision

Viewing changes to bin/asdf-builder

  • Committer: Package Import Robot
  • Author(s): Francois-Rene Rideau
  • Date: 2013-10-22 22:30:12 UTC
  • mfrom: (1.1.31)
  • Revision ID: package-import@ubuntu.com-20131022223012-h791r9tas7r6la9m
Tags: 2:3.0.3-1
New release:
* Run-program much improved, with a slight backward incompatibility.
  See the new documentation about it.
* Portability enhanced, with more robust Windows support,
  plus patches for CCL, CLISP, LispWorks, XCL.
* UIOP improved, with a README, more docstrings, a few new functions
  (println, writeln, stripln, ensure-gethash, vomit-output-stream),
  and bugfixes (to ensure-function, with-temporary-file, split-string).
* Debian installations that don't export XDG_DATA_DIRS will benefit
  from the fix to split-string, as the bug was basically disabling
  the default source-registry entry for /usr/share/common-lisp/source//
  Closes: #723977
* Minor tweaks to the defsystem, mostly to print more information
  in some situations, less in other situations, but also to better
  handle systems with secondary names like foo/bar, a fix for user
  functions in output-translation, and to :version (:read-file-...)
* Documentation somewhat updated.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
":" ; exec sbcl --script "$0" "$@" ; exit # -*- Lisp -*-
2
2
;;;;; Really runs on any decent Common Lisp implementation
3
3
 
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)
 
6
 
 
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)))
 
13
        (string :1.x))))
 
14
#-asdf2 (load (merge-pathnames "../build/asdf.lisp" *load-pathname*))
 
15
#-asdf2 (error "Not ASDF2, you lose!")
 
16
 
 
17
(in-package :asdf)
 
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... ~%")
 
22
(load-system :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)
 
29
 
 
30
(format t "There we are!~%")
 
31
(restore-image)
6
32
 
7
33
(defpackage :asdf-builder (:use :cl :uiop :asdf/operate :asdf :fare-utils :inferior-shell))
8
34
(in-package :asdf-builder)
50
76
    e))
51
77
 
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)
 
80
        :for p :in pathnames
 
81
        :collect (enough-namestring! p b)))
56
82
 
57
83
(defun system-source-files (system)
58
84
  (let* ((sys (find-system system))
112
138
    (values)))
113
139
 
114
140
(defun driver-files ()
115
 
  (DBG :df
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 ()
278
303
    (build-asdf)))
279
304
 
280
305
(defun git-version ()
281
 
  (first (run '("git" "describe" "--tags" "--match" "[0-9].[0-9][0-9]") :output :lines
282
 
              :show t)))
 
306
  (first (run '("git" "describe" "--tags" "--match" "[0-9].[0-9][0-9]")
 
307
              :output :lines :show t)))
283
308
 
284
309
 
285
310
;;;; Main entry point