gnu: python-pygobject: Propagate glib and libffi.
* gnu/packages/glib.scm (python-pygobject): Move glib and libffi to propagated-inputs.
(python2-pygobject)[inputs]: Remove glib and libffi.
gnu: python-pygobject: Add search path for GI_TYPELIB_PATH.
* gnu/packages/glib.scm (python-pygobject)[native-search-paths]: Use the
same search paths as gobject-introspection.
gnu: orc: Update to 0.4.25.
* gnu/packages/gstreamer.scm (orc): Update to 0.4.25.
services: Use 'packages->manifest' in 'packages->profile-entry'.
This allows using (PACKAGE OUTPUT) in the packages field.
Reported by Jan Nieuwenhuizen <janneke@gnu.org>.
* gnu/services.scm (packages->profile-entry): Use 'packages->manifest'.
services: elogind: Rely on D-Bus activation.
Previously elogind was explicitly spawned by the Shepherd. Now it is
activated by dbus-daemon on demand.
* gnu/packages/freedesktop.scm (elogind)[arguments]: Add
'fix-service-file' phase.
* gnu/services/desktop.scm (elogind-shepherd-service): Remove.
(elogind-dbus-service): New procedure.
(elogind-service-type): Do not extend SHEPHERD-ROOT-SERVICE-TYPE. Use
'elogind-dbus-service' for DBUS-ROOT-SERVICE-TYPE.
tests: Disable grafting by default for most tests.
This allows tests to run as expected even in the presence of
replacements among the bootstrap packages, such as Perl (commit
d8173f21f7b4e3cb83541b8fa70621d2b6d4ce1c).
* tests/cpan.scm: Add (%graft? #f).
* tests/derivations.scm: Likewise.
* tests/graph.scm: Likewise.
* tests/monads.scm: Likewise.
* tests/profiles.scm: Likewise.
* tests/gexp.scm: Likewise.
("gexp->derivation vs. grafts"): Explicitly reenable grafting before,
and disable it after, using 'set-grafting'.
import: snix: Use the right 'package-name->name+version'.
Fixes a regression introduced in
1b846da8c372bee78851439fd9e72b2499115e5a.
* guix/import/snix.scm: Use 'package-name->name+version' from (guix
build utils).
gnu: alsa-modular-synth: Insert space to separate linker flags.
* gnu/packages/audio.scm (alsa-modular-synth)[arguments]: Add build
phase to separate linker flags.
gnu: alsa-modular-synth: Drop Qt 4.
* gnu/packages/audio.scm (alsa-modular-synth)[inputs]: Replace "qt-4"
with "qt".
[arguments]: Add configure flag to build with Qt 5.
store: 'references/substitutes' correctly handles the order of substitutes.
Before that, 'references/substitutes' would assume that
'substitutable-path-info' would return things in the same order as its
arguments, which is not the case. Thus, it would sometimes provide
incorrect reference information, occasionally leading to infinite
loop (because dependency information would denote cycles.)
Fixes <http://bugs.gnu.org/22914>.
Reported by Eric Bavier <ericbavier@openmailbox.org>.
* guix/store.scm (references/substitutes): Make ITEMS the first argument
of the loop; match on it. Use 'any' to find a matching substitute.
(substitutable-path-info): Clarify docstring about ordering.
gnu: vigra: Update to a development snapshot.
* gnu/packages/image.scm (vigra): Update to a git snapshot to fix build
problems with the current python-numpy.
gnu: Add einstein.
* gnu/packages/games.scm (einstein): New variable.
* gnu/packages/patches/einstein-build.patch: New file.
* gnu-system.am (dist_patch_DATA): Register patch.
doc: Typos and small stylistic changes.
* guix.texi: Correct typos and make minor changes.
gnu: jalv: Drop Qt-4 support.
* gnu/packages/audio.scm (jalv)[inputs]: Drop qt-4. It does not receive any
upstream security updates, and Qt-4 support is marked as experimental in
the jalv documentation.
tests: Disable tests that would rebuild the world due to grafting.
The Perl replacement added in d8173f2 leads some tests to involve
grafting, which in turn triggers derivation builds that rebuild the
world. Work around that.
* tests/packages.scm: Add call to '%graft?'.
("package-derivation, direct graft")
("package-cross-derivation, direct graft"): Comment out.
grafts: Memoize intermediate results in 'cumulative-grafts'.
The time for:
guix build inkscape -n --no-substitutes
goes down by 30% (in the presence of 3 replacements among all the
packages.)
* guix/grafts.scm (cumulative-grafts): Turn into a monadic procedure in
%STATE-MONAD. Use the current state as a derivation-to-graft cache.
(graft-derivation): Call 'cumulative-grafts' within 'run-with-state'.
packages: The result of 'bag-grafts' does not contain duplicates.
* guix/packages.scm (bag-grafts): Add call to 'delete-duplicates'.
grafts: Use dependency information from substitutes when possible.
This avoids starting derivation builds just for the sake of knowing the
references of their outputs, thereby restoring the expected behavior of
--dry-run when substitutes are available.
* guix/grafts.scm (non-self-references): Remove 'store' parameter, and
add 'references'. Use it. Update caller.
(references-oracle): New variable.
(cumulative-grafts): Add 'references' parameter and use it. Update
callers.
(graft-derivation): Remove 'build-derivations' call. Add call to
'references-oracle'.
store: Add 'references/substitutes'.
* guix/store.scm (references/substitutes): New procedure.
* tests/store.scm ("references/substitutes missing reference info")
("references/substitutes with substitute info"): New tests.