Fixes <https://bugs.gnu.org/24366>. Drift file now resides in a
dedicated directory owned by the daemon.
* gnu/services/networking.scm (ntp-service-activation): New procedure,
(ntp-service-type): Add new service-extension.
* gnu/system/examples/lightweight-desktop.tmpl: While it is currently
unknown if Bob has a brother, it is sufficiently documented that Alice
is, in fact, Bob's sister.
* guix/build/utils.scm (wrap-program)[wrapper-file-name]
[next-wrapper-number, wrapper-target]: Remove.
[wrapped-file, already-wrapped?]: New variables.
[last-line]: New procedure.
Use it to append to PROG when a wrapper already exists.
* tests/build-utils.scm ("wrap-program, one input, multiple calls"):
Adjust the list of files to delete.
* gnu/packages/guile.scm (guile-json)[snippet]: Modify 'ac_subst_vars'
in 'configure', and use "@GUILE_EFFECTIVE_VERSION@" instead of "2.0" in
'Makefile.in'.
* gnu/packages/guile.scm (guile-minikanren)[arguments]: Remove (ice-9
match) from #:modules. Use 'open-pipe*' to determine the effective
version of Guile, and use that to compute MODULE-DIR.
* gnu/packages/guile.scm (guile-irregex)[arguments]: Add (ice-9 popen)
and (ice-9 rdelim). Remove nested 'use-modules' form. Call
'open-pipe*' to determine Guile's effective version, and use it to
compute MODULE-DIR.
* etc/completion/bash/guix (_guix_complete_subcommand): New function.
(_guix_complete_option): Allow completion of subcommand options.
(_guix_complete): Use '_guix_complete_subcommand' for "system" and
"import".
This avoids spurious messages when pressing TAB.
* etc/completion/bash/guix (_guix_complete_available_package)
(_guix_complete_installed_package, _guix_complete_option)
(_guix_complete): Redirect stderr to /dev/null when running 'guix'.
This provides a way to mark a package as superseded by another one.
Upgrades replace superseded packages with their replacement.
* guix/packages.scm (package-superseded, deprecated-package): New
procedures.
* gnu/packages.scm (%find-package): Check for 'package-superseded'.
* guix/scripts/package.scm (transaction-upgrade-entry)[supersede]: New
procedure. Call it when 'package-superseded' is true.
* tests/guix-build.sh: Add test for a superseded package.
* tests/packages.scm ("package-superseded")
("transaction-upgrade-entry, superseded package"): New tests.
* guix/scripts/package.scm (upgraded-manifest-entry): Rename to...
(transaction-upgrade-entry): ... this. Add 'transaction' parameter and
return a transaction.
(options->installable): Likewise.
[to-upgrade]: Rename to...
[upgraded]: ... this, and change to be a transaction. Return a
transaction.
(options->removable): Likewise.
(process-actions): Adjust accordingly.
* tests/packages.scm ("transaction-upgrade-entry, zero upgrades")
("transaction-upgrade-entry, one upgrade"): New tests.
* guix/scripts/package.scm (upgradeable?): Rename to...
(upgraded-manifest-entry): ... this. Change to take a <manifest-entry>
and to return a <manifest-entry>.
(options->installable)[to-upgrade]: Adjust accordingly.
* gnu/packages/golang.scm (go-1.6): Update to 1.7, with corresponding
minor changes to prebuild phase, and rename variable to...
(go-1.7): ...this new variable.
(go): Inherit from new "go-1.7".
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>