6.5 API for Setup
(require setup/setup) | package: base |
procedure
(setup [ #:file file #:collections collections #:planet-specs planet-specs #:make-user? make-user? #:avoid-main? avoid-main? #:make-docs? make-docs? #:make-doc-index? make-doc-index? #:clean? clean? #:tidy? tidy? #:jobs jobs #:get-target-dir get-target-dir]) → boolean? file : (or/c #f path-string?) = #f collections : (or/c #f (listof (listof path-string?))) = #f
planet-specs :
(or/c #f (listof (list/c string? string? exact-nonnegative-integer? exact-nonnegative-integer?))) = #f make-user? : any/c = #t avoid-main? : any/c = #f make-docs? : any/c = #t make-doc-index? : any/c = #f clean? : any/c = #f tidy? : any/c = #f jobs : exact-nonnegative-integer? = #f get-target-dir : (or/c #f (-> path-string?)) = #f
file —
if not #f, installs file as a ".plt" archive. collections —
if not #f, constrains setup to the named collections, along with planet-specs, if any planet-spec —
if not #f, constrains setup to the named PLaneT packages, along with collections, if any make-user? —
if #f, disables any user-specific setup actions avoid-main? —
if true, avoids setup actions that affect the main installation, as opposed to user directories make-docs? —
if #f, disables any documentation-specific setup actions make-doc-index? —
if #t, builds documentation index collections in addition to collections, assuming that documentation is built clean? —
if true, enables cleaning mode instead of setup mode tidy? —
if true, enables global tidying of documentation and metadata indexes even when collections or planet-specs is non-#f jobs —
if not #f, determines the maximum number of parallel tasks used for setup get-target-dir —
if not #f, treated as a value for current-target-directory-getter
The result is #t if raco setup completes without error, #f otherwise.
6.5.1 raco setup Unit
(require setup/setup-unit) | package: compiler-lib |
The setup/setup-unit library provides raco setup in unit form. The associated setup/option-sig and setup/option-unit libraries provides the interface for setting options for the run of raco setup.
For example, to unpack a single ".plt" archive "x.plt", set the archives parameter to (list "x.plt") and leave specific-collections as null.
Link the options and setup units so that your option-setting code is initialized between them, e.g.:
(compound-unit ... (link ... [((OPTIONS : setup-option^)) setup:option@] [() my-init-options@ OPTIONS] [() setup@ OPTIONS ...]) ...)
and exports nothing. Invoking setup@ starts the setup process.
6.5.2 Options Unit
(require setup/option-unit) | package: compiler-lib |
value
6.5.3 Options Signature
(require setup/option-sig) | package: compiler-lib |
signature
setup-option^ : signature
parameter
(setup-program-name name) → void? name : string? The prefix used when printing status messages. The default is "raco setup".If on, prints message from make to stderr. The default is #f.
parameter
(make-verbose) → boolean?
(make-verbose on?) → void? on? : any/c If on, verbose make. The default is #f.
parameter
(compiler-verbose on?) → void? on? : any/c If on, verbose compiler. The default is #f.If on, delete ".zo" and ".so"/".dll"/".dylib" files in the specified collections. The default is #f.
parameter
(compile-mode) → (or/c path? #f)
(compile-mode path) → void? path : (or/c path? #f) If a path is given, use a ".zo" compiler other than plain compile, and build to (build-path "compiled" (compile-mode)). The default is #f.If on, compile ".zo". The default is #t.
parameter
(make-info-domain on?) → void? on? : any/c If on, update "info-domain/compiled/cache.rkt" for each collection path. The default is #t.
parameter
(make-launchers on?) → void? on? : any/c If on, make collection "info.rkt"-specified launchers and man pages. The default is #t.
parameter
(make-foreign-lib on?) → void? on? : any/c If on, install collection "info.rkt"-specified libraries. The default is #t.If on, build documentation. The default is #t.If on, build the user-specific collection tree. The default is #t.
parameter
(make-planet) → boolean?
(make-planet on?) → void? on? : any/c If on, build the planet cache. The default is #t.
parameter
(avoid-main-installation on?) → void? on? : any/c If on, avoid building bytecode in the main installation tree when building other bytecode (e.g., in a user-specific collection). The default is #f.If on, remove metadata cache information and documentation for non-existent collections (to clean up after removal) even when specific-collections or specific-planet-dirs is non-'() or make-only is true. The default is #f.
parameter
(call-install) → boolean?
(call-install on?) → void? on? : any/c If on, call collection "info.rkt"-specified setup code. The default is #t.
parameter
(call-post-install on?) → void? on? : any/c If on, call collection "info.rkt"-specified post-install code. The default is #t.
parameter
(pause-on-errors on?) → void? on? : any/c If on, in the event of an error, prints a summary error and waits for stdin input before terminating. The default is #f.
parameter
(parallel-workers num) → void? num : exact-nonnegative-integer? Determines the number of places to use for compiling bytecode and for building the documentation. The default is (min (processor-count) 8).
parameter
(force-unpacks on?) → void? on? : any/c If on, ignore version and already-installed errors when unpacking a ".plt" archive. The default is #f.
parameter
(specific-collections) → (listof (listof path-string?))
(specific-collections colls) → void? colls : (listof (listof path-string?)) A list of collections to set up; the empty list means set-up all collections if the archives list and specific-planet-dirs is also '(). The default is '().
parameter
→
(listof (list/c string? string? exact-nonnegative-integer? exact-nonnegative-integer?)) (specific-planet-dirs dir) → void?
dir :
(listof (list/c string? string? exact-nonnegative-integer? exact-nonnegative-integer?)) A list of planet package version specs to set up; the empty list means to set-up all planet collections if the archives list and specific-collections is also '(). The default is '().If true, set up no collections if specific-collections and specific-planet-dirs are both '().
parameter
(archives) → (listof path-string?)
(archives arch) → void? arch : (listof path-string?) A list of ".plt" archives to unpack; any collections specified by the archives are set-up in addition to the collections listed in specific-collections. The default is null.
parameter
(archive-implies-reindex on?) → void? on? : any/c If on, when archives has a non-empty list of packages, if any documentation is built, then suitable documentation start pages, search pages, and master index pages are re-built. The default is #t.
parameter
(current-target-directory-getter thunk) → void? thunk : (-> path-string?) A thunk that returns the target directory for unpacking a relative ".plt" archive; when unpacking an archive, either this or the procedure in current-target-plt-directory-getter will be called. The default is current-directory.
parameter
→
(path-string? path-string? (listof path-string?) . -> . path-string?) (current-target-plt-directory-getter proc) → void?
proc :
(path-string? path-string? (listof path-string?) . -> . path-string?) A procedure that takes a preferred path, a path to the parent of the main "collects" directory, and a list of path choices; it returns a path for a "plt-relative" install; when unpacking an archive, either this or the procedure in current-target-directory-getter will be called, and in the former case, this procedure may be called multiple times. The default is (lambda (preferred main-parent-dir choices) preferred).