ui: Make '--version' output GCS-compliant.
* guix/ui.scm (show-version-and-exit): Display copyright year, license,
and LACK OF WARRANTY.
gnu: cmake: Bump to 2.8.12
* gnu/packages/cmake.scm: bump to 2.8.12
doc: Document the syntax of the '--remove' argument.
* doc/guix.texi (Invoking guix package): Document the syntax of
'--remove' patterns.
guix package: Show the output name of what's being removed.
* guix/scripts/package.scm (show-what-to-remove/install): Show the
output name of packages being removed.
guix package: Fix indentation of "will be removed" messages.
* guix/scripts/package.scm (show-what-to-remove/install): Remove extra
indentation from the removal sentences.
guix package: Allow removal of a specific package output.
Fixes <http://bugs.gnu.org/15756>.
* guix/profiles.scm (<manifest-pattern>): New record type.
(remove-manifest-entry): Remove.
(entry-predicate, manifest-matching-entries): New procedures.
(manifest-remove): Accept a list of <manifest-pattern>.
(manifest-installed?): Replace 'name' parameter by 'pattern', a
<manifest-pattern>.
* guix/scripts/package.scm (options->removable): Return a list of
<manifest-pattern>.
(guix-package)[process-action]: Use 'manifest-matching-entries' to
compute the list of packages to remove.
* tests/profiles.scm: New file.
* Makefile.am (SCM_TESTS): Add it.
guix package: Separate '--remove' option processing.
* guix/scripts/package.scm (options->removable): New procedure.
(guix-package)[process-actions]: Use it. Rename 'remove*' to 'remove'
and 'install*' to 'install'.
ui: Factorize package specification parsing.
* guix/ui.scm (package-specification->name+version+output): New
procedure.
* guix/scripts/package.scm (specification->package+output): Use it.
* tests/ui.scm ("package-specification->name+version+output"): New test.
Add (guix profiles).
* guix/scripts/package.scm (show-what-to-remove/install): New procedure,
moved from...
(guix-package): ... here.
(<manifest>, make-manifest, <manifest-entry>,
profile-manifest, manifest->sexp, sexp->manifest, read-manifest,
write-manifest, remove-manifest-entry, manifest-remove,
manifest-installed?, manifest=?, profile-regexp, generation-numbers,
previous-generation-number, profile-derivation, generation-number,
generation-file-name, generation-time, lower-input): Move to...
* guix/profiles.scm: ... here. New file.
* Makefile.am (MODULES): Add it.
gnu: Add GCC front ends for Fortran, Go, Objective C, and Objective C++.
* gnu/packages/gcc.scm (custom-gcc, gfortran-4.8, gccgo-4.8)
(gcc-objc-4.8, gcc-objc++-4.8): New variables.
gnu: ffmpeg: Fix typo in configure flags.
* gnu/packages/video.scm (ffmpeg): Add "d" in "3d" in configure flags.
gnu: Add ffmpeg.
* gnu/packages/video.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add module.
gnu: pulseaudio: increase timeout of thread test.
* gnu/packages/patches/pulseaudio-test-timeouts.patch: New file.
* gnu/packages/pulseaudio.scm (pulseaudio): Add patch.
* gnu-system.am (dist_patch_DATA): Add patch.
union: Do not warn when identical files collide.
* guix/build/union.scm (file=?): New procedure.
(union-build)[resolve-collision]: Do not warn when identical files
collide.
gnu: Add bridge-utils.
* gnu/packages/linux.scm (bridge-utils): New variable.
gnu: libmicrohttpd: Update to 0.9.31.
* gnu/packages/gnunet.scm (libmicrohttpd): Update to 0.9.31,
synchronise the description with GNU SRC.
gnu: Add gst-plugins-base-0.10.
* gnu/packages/gstreamer.scm (gst-plugins-base-0.10): New variable.
gnu: gstreamer-0.10: Propagate input libxml2.
* gnu/packages/gstreamer.scm (gstreamer-0.10): Propagate input libxml2.
guix package: Factorize generation file name computation.
* guix/scripts/package.scm (generation-file-name): New procedure.
Change all occurrences of (format #f "~a-~a-link" profile number) to
use it.
guix package: Specify inputs for each manifest entry.
* guix/scripts/package.scm (<manifest-entry>): Add 'inputs' field.
(manifest=?, lower-input): New procedure.
(profile-derivation)[builder]: Add #:log-port argument to
'union-build'.
[ensure-valid-input]: Remove.
Add each entry's inputs to the input list.
(options->installable): Return just the list of entries.
[package->manifest-entry]: Set 'inputs' field.
[canonicalize-deps]: Rename to...
[deduplicate]: ... this. Remove input fiddling.
(guix-package)[process-actions]: Use 'manifest=?' to compare the new
and old manifests. Pass directly PROF-DRV to 'show-what-to-build'.
Pass #:print-build-trace #f to 'set-build-options'.