scripts: environment: Allow mixing regular and ad-hoc packages.
This patch changes the --ad-hoc flag to be positional. That is, the
packages that appear before --ad-hoc are interpreted as packages whose
inputs should be in the environment; the packages that appear after are
interpreted as packages to be directly added to the environment.
* guix/scripts/environment.scm (tag-package-arg, compact): New
procedures.
(%options): Tweak the handlers for --load and --expression options.
(options/resolve-packages): Preserve package mode tag.
(parse-args): Tweak argument handler to use package tagging procedure.
(guix-environment): Apply ad-hoc behavior on a per package basis.
* tests/guix-environment.sh: Add test.
* doc/guix.texi ("invoking guix environment"): Document new behavior of
--ad-hoc.
services: Add screen-locker service.
* gnu/system/linux.scm (base-pam-services): Remove "xlock" and
"xscreensaver".
* gnu/services/xorg.scm (<screen-locker>): New record type.
(screen-locker-pam-services, screen-locker-setuid-programs,
screen-locker-service): New procedures.
(screen-locker-service-type): New variable.
* gnu/services/desktop.scm (%desktop-services): Use them.
* doc/guix.texi (X Window): Document 'screen-locker-service'.
(Desktop Services): Mention it.
system: File systems depend on their corresponding device mappings.
Fixes a regression introduced in commit 0adfe95.
* gnu/system.scm (other-file-system-services)[requirements]: Remove.
[add-dependencies]: New procedure.
Use it.
* gnu/system/file-systems.scm (<file-system>)[dependencies]: Update
comment.
* gnu/services/base.scm (mapped-device->dmd-service-name,
dependency->dmd-service-name): New procedures.
(file-system-service-type): Use it.
gnu: Add libchop.
* gnu/packages/backup.scm (libchop): New variable.
gnu: Move gdbm to (gnu packages databases).
* gnu/packages/gdbm.scm: Remove.
* gnu/packages/databases.scm (gdbm): New variable, from gdbm.scm.
* gnu/packages/avahi.scm, gnu/packages/cyrus-sasl.scm,
gnu/packages/guile.scm, gnu/packages/mail.scm,
gnu/packages/man.scm, gnu/packages/pulseaudio.scm,
gnu/packages/python.scm, gnu/packages/ruby.scm,
gnu/packages/sawfish.scm: Adjust accordingly.
* gnu-system.am (GNU_SYSTEM_MODULES): Remove gdbm.scm.
doc: Mention Nix in the intro.
* doc/guix.texi (Introduction): Mention Nix with a xref to
"Acknowledgments".
(Acknowledgments): Add link to nixos.org.
system: grub: Let GRUB choose the best graphics mode.
On PCs, it means that it will typically choose resolutions higher
than 640x480, which is nicer.
* gnu/system/grub.scm (eye-candy)[setup-gfxterm-body]: Leave 'gfxmode'
unset.
gnu: openblas: Update to 0.2.15.
* gnu/packages/maths.scm (openblas): Update to 0.2.15.
gnu: icedtea7: Update to 2.6.2.
* gnu/packages/java.scm (icedtea7): Update to 2.6.2.
gnu: ghc-glut: Propagate freeglut input.
* gnu/packages/haskell.scm (ghc-glut): Move freeglut to
propagated-inputs.
gnu: bluez: Update to 5.35.
* gnu/packages/linux.scm (bluez): Update to 5.35.
gnu: magit-svn: Update to 2.1.1.
* gnu/packages/emacs.scm (magit-svn): Update to 2.1.1.
gnu: magit: Update to 2.3.0.
* gnu/packages/emacs.scm (magit): Update to 2.3.0.
services: Add 'modify-services'.
* gnu/services.scm (%modify-service, modify-services): New macros.
* gnu/services/base.scm (mingetty-service-type, guix-service-type):
Export.
* emacs/guix-devel.el (guix-devel-keywords): Add 'modify-services'.
Ditto in 'guix-devel-scheme-indent' call.
* doc/guix.texi (Using the Configuration System): Give an example of
'modify-services'.
(Service Reference): Document it.
services: 'guix-configuration' has a 'substitute-urls' field.
* gnu/services/base.scm (<guix-configuration>)[substitute-urls]: New
field.
(guix-dmd-service): Honor it.
* doc/guix.texi (Base Services): Document it.
refresh: Support comma-separated updater types.
* guix/scripts/refresh.scm (%options): Handle comma-separated types for
'--type' option.
(guix-refresh): Adjust accordingly.
(show-help): Likewise.
* doc/guix.texi (Invoking guix refresh): Document it.
gnu: pbtranscript-tofu: Update to 2.2.3.
* gnu/packages/bioinformatics.scm (pbtranscript-tofu): Update to 2.2.3.
[source]: Remove bundled Cython sources in a snippet. Replace
".tar.gz" extension in file-name field with "-checkout".
[arguments]: Replace "enter-directory-and-clean-up" phase with
"enter-directory" phase, and add "patch-setuppy" phase.
[inputs]: Add python2-h5py. Move python2-cython ...
[native-inputs]: ... to this field.
gnu: pari-gp: Add X11 input.
* gnu/packages/algebra.scm (pari-gp)[inputs]: Add libx11, which enables
plotting functions.
tests: Print the mounts visible in the container.
* tests/guix-environment-container.sh: Print the content of
$tmpdir/mounts.
ui: Add 'make-regexp*'.
Fixes <http://bugs.gnu.org/21773>.
Reported by Jan Synáček <jan.synacek@gmail.com>.
* guix/ui.scm (make-regexp*): New procedure.
* guix/scripts/package.scm (options->installable, guix-package): Use it
when processing user-provided regexps.