* gnu/packages/ocaml.scm (ocaml-splittable-random): New variable.
(ocaml4.07-splittable-random): Inherit from it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/ocaml.scm (ocaml-ppx-sexp-message): New variable.
(ocaml4.07-ppx-sexp-message): Inherit from it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/ocaml.scm (ocaml-ppx-sexp-value): New variable.
(ocaml4.07-ppx-sexp-value): Inherit from it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* gnu/packages/ocaml.scm (ocaml-ppx-typerep-conv): New variable.
(ocaml4.07-ppx-typerep-conv): Inherit from it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This also ensures a package can be imported even when it does not
specify a URL.
* guix/import/opam.scm (opam->guix-source): New procedure.
(opam->guix-package): Use it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Fixes a regression introduced in
938448bf40 whereby
'fork+exec-command/container' would return #t, then used as the running
value of the 'guix-daemon' service in the installer. Upon installation
completion, stopping the 'guix-daemon' service would fail with
wrong-type-arg because that #t would be passed to the 'stop' method in
lieu of a PID.
* gnu/build/shepherd.scm (fork+exec-command/container): Return a PID
rather than #t.
Fixes a regression introduced in
938448bf40 where 'exec-command*' could
get #:directory #f, in particular when called by
'fork+exec-command/container'.
* gnu/build/shepherd.scm (exec-command*): Add default value for #:directory.
Until now, 'current-guix-package' was parameterized in the wrong
context. Thus, 'current-guix' would end up building a variant of the
'guix' package instead of the package returned by
'channel-source->package', which is much less expensive to build.
* etc/system-tests.scm (mparameterize): New macro.
(tests-for-current-guix): Change the 'value' field of each <system-test>
record to parameterize 'current-guix-package' for good.
* gnu/home/services/shells.scm (home-zsh-service-type): Make zsh related
private functions more consistently named.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
The 'ar' matched the 'ar' in 'aarch64-linux-gnu' to unfun consequences.
* gnu/packages/bioinformatics.scm (smithwaterman)[arguments]: More
closely match the 'ar' and 'ld' commands when substituting them.
This is a followup to a2c759c830.
* guix/scripts/system/reconfigure.scm (running-services): Fill in the
'transient?' field of <live-service>.
* tests/services.scm ("shepherd-service-upgrade: one unchanged, one upgraded, one new")
("shepherd-service-upgrade: service depended on is not unloaded")
("shepherd-service-upgrade: obsolete services that depend on each
other"): Adjust calls to 'live-service'.
* gnu/packages/patches/efivar-211.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/linux.scm (efivar)[source]<origin>: Use it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Fixes <https://issues.guix.gnu.org/54812>.
Starting with Shepherd 0.9.0 and the use of 'make-inetd-constructor' in
commit 808b9e8504, systems might be
running transient Shepherd services such as those corresponding to SSH
connections. Before this change, 'shepherd-service-upgrade' would have
those transient services in the list of services to unload; concretely,
that would lead all SSH connections to be closed upon 'guix system
reconfigure'.
* gnu/services/shepherd.scm (shepherd-service-upgrade): Remove transient
services to TO-UNLOAD.
* gnu/services/herd.scm (<live-service>)[transient?]: New field.
(current-services): Check the value of 'transient?'. Call
'resolve-transients'.
(resolve-transients): New procedure.