emacs: command: Disambiguate "w" key in build options.
This is a followup to commit 47c0f92c37dc7d50d9d4598ce5b91c4cdfec6ed1.
* emacs/guix-command.el (guix-command-improve-common-build-argument):
Use "W" key for '--with-input' option (leave "w" for '--with-source').
guix build: Add '--with-input'.
* guix/scripts/build.scm (transform-package-inputs): New procedure.
(%transformations): Add it.
(%transformation-options, show-transformation-options-help): Add
--with-input.
* tests/scripts-build.scm ("options->transformation, with-input"):
("options->transformation, with-input, no matches"): New tests.
* tests/guix-build.sh: Add tests.
* doc/guix.texi (Package Transformation Options): Document it.
build-system/python: Use 'ensure-keyword-arguments'.
* guix/build-system/python.scm (package-with-explicit-python): Use
'ensure-keyword-arguments'.
build: Remove semicolons from Guile warnings.
* build-aux/compile-all.scm (compile-file*):
Clear *CURRENT-WARNING-PREFIX*.
build: Really enable Guile warnings.
* build-aux/compile-all.scm (compile-options): Rename to...
(warnings): ... this. Add 'unsupported-warning'.
(compile-file*): Pass '(#:warnings ...) as #:opts.
guix package: Support package transformation options.
* guix/scripts/package.scm (show-help): Call
'show-transformation-options-help'.
(%options): Append %TRANSFORMATION-OPTIONS.
(process-actions)[transform, transform-entry]: New procedures.
* doc/guix.texi (Invoking guix package): Mention package
transformations.
(Package Transformation Options): Mention 'guix package'.
guix build: Separate transformation options.
* guix/scripts/build.scm (%transformation-options): New variable.
(show-transformation-options-help): New procedure.
(show-help): Remove '--with-source' documentation and add
'show-transformation-options-help' call.
(%options): Remove "with-source" and append %TRANSFORMATION-OPTIONS.
* doc/guix.texi (Package Transformation Options): New node. Document
'--with-source', moved from...
(Additional Build Options): ... here.
doc: Add subsections to 'Invoking guix build'.
* doc/guix.texi (Invoking guix build): Add example. Shuffle options in
the new subsections below.
(Common Build Options, Additional Build Options): New nodes.
(Invoking guix archive): Refer to "Common Build Options".
(Invoking guix environment): Likewise.
(Invoking guix system): Likewise.
fixlet
guix build: Transformations operate on single objects.
* guix/scripts/build.scm (transform-package-source): Return a procedure
that expects a single object rather than a list of packages.
(options->transformation): Rewrite to precompute the list of applicable
transformations and to return a procedure that expects a single object
rather than a list of objects.
(options->derivations): Adjust accordingly.
* tests/scripts-build.scm: New file.
* Makefile.am (SCM_TESTS): Add it.
install: Make it clear that we refer to the root by label.
* gnu/system/install.scm (installation-os): Use (title 'label) for the
root file system.
build: Use the right section and source for man pages.
* doc.am (HELP2MANFLAGS): New variable.
(gen_man): Use it.
gnu: Add pinball.
* gnu/packages/games.scm (pinball): New variable.
* gnu/packages/patches/pinball-const-fix.patch,
gnu/packages/patches/pinball-cstddef.patch,
gnu/packages/patches/pinball-missing-separators.patch,
gnu/packages/patches/pinball-src-deps.patch,
gnu/packages/patches/pinball-system-ltdl.patch: New patches.
* gnu-system.am (dist_patch_DATA): Add them.
gnu: python-apsw: Update to 3.9.2-r1.
* gnu/packages/python.scm (python-apsw): Update to 3.9.2-r1.
[source]: Change to pypi uri syntax.
gnu: wayland: Build documentation.
* gnu/packages/freedesktop.scm (wayland)[native-inputs]: Add graphviz.
gnu: python-pillow: Update to 3.1.0.
* gnu/packages/python.scm (python-pillow): Update to 3.1.0.
[source]: Change to pypi uri syntax.
gnu: Add aseprite.
* gnu/packages/game-development.scm (aseprite): New variable.
gnu: Add allegro-4.
* gnu/packages/game-development.scm (allegro-4): New variable.
license: Add giftware.
* guix/licenses.scm (giftware): New variable.
gnu: obs: Update to 0.13.0.
* gnu/packages/video.scm (obs): Upgrade to 0.13.0.
gnu: perl-tk: Update to 804.033.
* gnu/packages/tcl.scm (perl-tk): Update to 804.033.
[source]: Remove patch.
* gnu/packages/patches/perl-tk-x11-discover.patch: Remove file.
* gnu-system.am (dist_patch_DATA): Remove patch.