(html (head (title "sph-lib (sph install)") (link (@ (rel "stylesheet") (type "text/css") (href "/css/sph.css"))) (meta (@ (name "viewport") (content "width=device-width,initial-scale=1"))) #f) (body () (div (@ (class top)) (nav (a (@ (href "/")) "start") ", " (a (@ (href "/feed.xml")) "feed")) "") (div (@ (class "middle")) (div (@ (class mtime) (title "last modification time of the current page")) "2023-04-05") (section (h1 "(sph install)") (div (p "copy files and set permissions, with an optional, automatically created command line interface for users to set install options.") (p "part of " (a (@ (href "../../sph-lib.html")) "sph-lib")) ((section (@ (class "library-description")) (h1 "library description") (div (p "example") (p (((*ENTITY* "nbsp") (*ENTITY* "nbsp")) "(install-cli")) (p (((*ENTITY* "nbsp") (*ENTITY* "nbsp") (*ENTITY* "nbsp") (*ENTITY* "nbsp")) "(\"/tmp\" \"source/myfile\" \"source/mydir\")")) (p (((*ENTITY* "nbsp") (*ENTITY* "nbsp") (*ENTITY* "nbsp") (*ENTITY* "nbsp")) "(system-executables 700 \"exe/sc\")")) (p (((*ENTITY* "nbsp") (*ENTITY* "nbsp") (*ENTITY* "nbsp") (*ENTITY* "nbsp")) "(guile-site-modules (600 700) \"modules/sph\" \"modules/test\"))")) (p "syntax") (p (((*ENTITY* "nbsp") (*ENTITY* "nbsp")) "install-cli :: install-config ...")) (p (((*ENTITY* "nbsp") (*ENTITY* "nbsp") (*ENTITY* "nbsp") (*ENTITY* "nbsp")) "install-config will be wrapped in quasiquote, so that unquote and unquote-splicing can be used.")) (p (((*ENTITY* "nbsp") (*ENTITY* "nbsp") (*ENTITY* "nbsp") (*ENTITY* "nbsp")) "arguments will be passed to install-cli-p.")) (p (((*ENTITY* "nbsp") (*ENTITY* "nbsp") (*ENTITY* "nbsp") (*ENTITY* "nbsp")) "default options can be set, corresponding to the keyword arguments that \"install\" accepts.")) (p (((*ENTITY* "nbsp") (*ENTITY* "nbsp") (*ENTITY* "nbsp") (*ENTITY* "nbsp")) "(install-cli")) (p (((*ENTITY* "nbsp") (*ENTITY* "nbsp") (*ENTITY* "nbsp") (*ENTITY* "nbsp") (*ENTITY* "nbsp") (*ENTITY* "nbsp")) "(options #:directory-mode 700)")) (p (((*ENTITY* "nbsp") (*ENTITY* "nbsp") (*ENTITY* "nbsp") (*ENTITY* "nbsp") (*ENTITY* "nbsp") (*ENTITY* "nbsp")) "(system-executables 700 \"exe/sc\"))")))) (section (@ (class "library-name")) (h1 "module name") (p "(sph install)")) (section (@ (class "library-exports")) (h1 "exported bindings") (div (div (@ (class "doc-bindings")) (div (@ (id "doc-b-" "install") (class "doc-b")) (div (span (@ (class "type")) "procedure") ": " (span (@ (class "name")) "install") " " (span (@ (class "first-sig")) "install-configs #:target-prefix #:regular-mode #:directory-mode #:symlink #:dry-run #:placeholders ->")) "" (div (@ (class "description")) (("install into target directories and set filesystem permissions." (br) "install-configs is of the format ((string/symbol:target-path [mode] source-path ...) ...)" (br) "mode is optional and a decimal integer that will be parsed as if octal, for example 777 will become octal 777." (br) "* copies source directories recursively" (br) "* option to symlink instead of copying" (br) "* placeholder for guile site directory" (br) "* default permissions are 644 and 755 for files and directories respectively")))) (div (@ (id "doc-b-" "install-cli") (class "doc-b")) (div (span (@ (class "type")) "syntax") ": " (span (@ (class "name")) "install-cli") " " (span (@ (class "first-sig")) "install-config ...")) "" "") (div (@ (id "doc-b-" "install-cli-p") (class "doc-b")) (div (span (@ (class "type")) "procedure") ": " (span (@ (class "name")) "install-cli-p") " " (span (@ (class "first-sig")) "install-configs ->")) "" (div (@ (class "description")) (("like \\\"install\\\" but automatically creates a command-line interface for users to set custom options." (br) "the first install-config can be of the format (options install-arguments ...), where options is a symbol." (br) "install-arguments are defaults for the keyword arguments that \\\"install\\\" accepts and will be overridden by given command-line options")))) (div (@ (id "doc-b-" "sph-install-description") (class "doc-b")) (div (span (@ (class "type")) "variable") ": " (span (@ (class "name")) "sph-install-description")) "" "")))))))) ()))