;; Package definition for the installation library itself. ;; Template for scsh-install-pkg script, must be plugged with the ;; directory containing the Scheme code. (define scsh-install-pkg-template #<" #t #f #f ,identity ,identity))) (let ((bindir (get-option-value 'bindir))) (if (not bindir) (display-error-and-exit "no binary directory specified (use --bindir option).")) ;; Install "package" part (doc & Scheme code) (install-file "doc/proposal.pdf" 'doc "pdf") (install-files '("scheme/install-lib.scm" "scheme/install-lib-module.scm") 'scheme) (write-to-load-script `((config) (load ,(absolute-file-name "install-lib-module.scm" (get-directory 'scheme #f))) (user))) ;; Install "program" part (scsh-install-pkg script). (if (or (get-option-value 'dry-run) (get-option-value 'verbose)) (format #t "creating scsh-install-pkg script in ~a\n" bindir)) (if (not (get-option-value 'dry-run)) (begin (create-directory&parents bindir #o755) (call-with-output-file (absolute-file-name "scsh-install-pkg" bindir) (lambda (port) (format port scsh-install-pkg-template (get-directory 'base #f)) (set-file-mode port #o755)))))))