racket-build-guide: Don’t decode within exec/commandline

This commit is contained in:
Alexis King 2020-01-02 12:17:07 -06:00
parent 8ae53d9e8b
commit 07f060133c
2 changed files with 18 additions and 17 deletions

View File

@ -66,7 +66,7 @@ documentation are pre-built.
In contrast to the Git repository, release and snapshot source In contrast to the Git repository, release and snapshot source
distributions will work in the distributions will work in the
  `configure prefix=... && make && make install`   `configure --prefix=... && make && make install`
way that you probably expect. way that you probably expect.
@ -293,7 +293,7 @@ For cross compilation, add configuration options to
`CONFIGURE_ARGS_qq="<options>"` as described in the `"README.txt"` of `CONFIGURE_ARGS_qq="<options>"` as described in the `"README.txt"` of
`"racket/src"`, but also add a `PLAIN_RACKET=...` argument for the `"racket/src"`, but also add a `PLAIN_RACKET=...` argument for the
top-level makefile to specify the same executable as in an top-level makefile to specify the same executable as in an
`enable-racket=...` for `configure`. In general, the `PLAIN_RACKET` `--enable-racket=...` for `configure`. In general, the `PLAIN_RACKET`
setting should have the form `PLAIN_RACKET="<exec> -C"` to ensure that setting should have the form `PLAIN_RACKET="<exec> -C"` to ensure that
cross-compilation mode is used and that any foreign libraries needed for cross-compilation mode is used and that any foreign libraries needed for
build time can be found, but many cross-compilation scenarios work build time can be found, but many cross-compilation scenarios work
@ -330,9 +330,9 @@ before the default package catalogs, specify the catalogs URL as the
With an in-place build, you can edit packages within `"pkgs"` directly With an in-place build, you can edit packages within `"pkgs"` directly
or update those packages with `git pull` plus `raco setup`, since the or update those packages with `git pull` plus `raco setup`, since the
packages are installed with the equivalent of `raco pkg install -i packages are installed with the equivalent of `raco pkg install -i
static-link <path>`. --static-link <path>`.
Instead of actually using `raco pkg install static-link ...`, the Instead of actually using `raco pkg install --static-link ...`, the
`pkgs-catalog` makefile target creates a catalog that points to the `pkgs-catalog` makefile target creates a catalog that points to the
packages in `"pkgs"`, and the catalog indicates that the packages are to packages in `"pkgs"`, and the catalog indicates that the packages are to
be installed as links. The `pkgs-catalog` target further configures the be installed as links. The `pkgs-catalog` target further configures the
@ -346,7 +346,7 @@ but the content of `"racket/share/pkgs"` is not meant to be edited. To
reinstall a package in a mode suitable for editing and manipulation with reinstall a package in a mode suitable for editing and manipulation with
Git tools, use Git tools, use
  `raco pkg update clone extra-pkgs/<pkg-name>`   `raco pkg update --clone extra-pkgs/<pkg-name>`
The `"extra-pkgs"` directory name is a convention that is supported by a The `"extra-pkgs"` directory name is a convention that is supported by a
`".gitignore"` entry in the repository root. `".gitignore"` entry in the repository root.
@ -410,11 +410,11 @@ configuration file there and omit the `CONFIG` argument to `make`. A
default configuration file is created there automatically. Supply default configuration file is created there automatically. Supply
`CONFIG_MODE=...` to pass a configuration mode on to your `CONFIG_MODE=...` to pass a configuration mode on to your
site-configuration module (accessible via the `current-mode` parameter). site-configuration module (accessible via the `current-mode` parameter).
Supply `CLEAN_MODE=clean` to make the default `#:clean?` configuration Supply `CLEAN_MODE=--clean` to make the default `#:clean?` configuration
for a client to `#t` instead of `#f`, supply `RELEASE_MODE=release` to for a client to `#t` instead of `#f`, supply `RELEASE_MODE=--release` to
make the default `#:release?` configuration `#t`, supply make the default `#:release?` configuration `#t`, supply
`SOURCE_MODE=source` to make the default `#:source?` configuration `SOURCE_MODE=--source` to make the default `#:source?` configuration
`#t`, and supply `VERSIONLESS_MODE=version` to make the default `#t`, and supply `VERSIONLESS_MODE=--version` to make the default
`#:versionless?` configuration `#t`. `#:versionless?` configuration `#t`.
A configuration file can specify the packages to include, host address A configuration file can specify the packages to include, host address
@ -555,10 +555,10 @@ In more detail, the steps are as follows:
The `SERVER_PKG_INSTALL_OPTIONS` variable determines extra flags that The `SERVER_PKG_INSTALL_OPTIONS` variable determines extra flags that
are passed to `raco pkg install` when installing on the server (to are passed to `raco pkg install` when installing on the server (to
create package builds that are sent to clients). For example, create package builds that are sent to clients). For example,
`SERVER_PKG_INSTALL_OPTIONS=source` could be useful to ensure that `SERVER_PKG_INSTALL_OPTIONS=--source` could be useful to ensure that
the server always builds from sources. the server always builds from sources.
The `PACK_BUILT_OPTIONS` variable can be set to `mode <mode>` to set The `PACK_BUILT_OPTIONS` variable can be set to `--mode <mode>` to set
the package mode for built packages. The default `infer` mode infers the package mode for built packages. The default `infer` mode infers
uses the packages `distribution-preference` `"info.rkt"` field, if uses the packages `distribution-preference` `"info.rkt"` field, if
any, infers `binary` if the package has any native libraries and no any, infers `binary` if the package has any native libraries and no
@ -768,7 +768,7 @@ almost certainly the package name.
To start working on a package <_pkg-name_>, its usually best to go to To start working on a package <_pkg-name_>, its usually best to go to
the root directory of your Racket repository checkout and run the root directory of your Racket repository checkout and run
  `raco pkg update clone extra-pkgs/<pkg-name>`   `raco pkg update --clone extra-pkgs/<pkg-name>`
That will create `"extra-pkgs/<pkg-name>"` as a clone of the packages That will create `"extra-pkgs/<pkg-name>"` as a clone of the packages
source Git repository, it will replace the current installation of the source Git repository, it will replace the current installation of the
@ -788,7 +788,7 @@ Some information that might improve your experience:
repository name instead of the package name. If you know the repository name instead of the package name. If you know the
repository name, you can use repository name, you can use
  `raco pkg update clone extra-pkgs/<repo-name> <pkg-name>`   `raco pkg update --clone extra-pkgs/<repo-name> <pkg-name>`
to make the distinction. to make the distinction.
@ -802,7 +802,7 @@ Some information that might improve your experience:
* If youre done and want to go back to the normal installation for * If youre done and want to go back to the normal installation for
<_pkg-name_>, use <_pkg-name_>, use
  `raco pkg update catalog <pkg-name>`   `raco pkg update --catalog <pkg-name>`
* See Developing Packages with Git for more information about how * See Developing Packages with Git for more information about how
packages are meant to work as Git repositories. packages are meant to work as Git repositories.

View File

@ -1,6 +1,7 @@
#lang racket/base #lang racket/base
(require scribble/base (require scribble/base
scribble/bnf) scribble/bnf
scribble/core)
(provide (all-defined-out) (provide (all-defined-out)
nonterm) nonterm)
@ -11,8 +12,8 @@
;; 'tt to all arguments, because that looks right ;; 'tt to all arguments, because that looks right
;; for markdown output: ;; for markdown output:
(define (exec . s) (define (exec . s)
(elem #:style 'tt s)) (element 'tt s))
;; Ditto ;; Ditto
(define (commandline . s) (define (commandline . s)
(para (hspace 2) (elem #:style 'tt s))) (para (hspace 2) (element 'tt s)))