--eval '(progn
(write-rtf (read-text "../COPYING") "License.rtf")
(write-wxs "sbcl.wxs")
+ (with-open-file (f "version.txt"
+ :direction :output
+ :if-exists :supersede)
+ (write-line (lisp-implementation-version) f))
(quit))'
"$WIX_PATH/candle" sbcl.wxs
"$WIX_PATH/light" sbcl.wixobj "$WIX_PATH/wixui.wixlib" \
-loc "$WIX_PATH/WixUI_en-us.wxl" \
- -out sbcl.msi
+ -out sbcl-`cat version.txt`.msi
+
(loop for flag in (directory "../contrib/*/test-passed")
collect (car (last (pathname-directory flag)))))
+(defvar *id-char-substitutions* '((#\\ . #\_)
+ (#\/ . #\_)
+ (#\: . #\.)
+ (#\- . #\.)))
+
(defun id (string)
;; Mangle a string till it can be used as an Id. A-Z, a-z, 0-9, and
;; _ are ok, nothing else is.
- (nsubstitute #\_ #\-
- (nsubstitute #\. #\:
- (nsubstitute #\. #\/
- (substitute #\. #\\ string)))))
+ (map 'string (lambda (c)
+ (or (cdr (assoc c *id-char-substitutions*))
+ c))
+ string))
(defun directory-id (name)
(id (format nil "Directory_~A" (enough-namestring name))))
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.13.51"
+"0.9.13.52"