Fixes a regression introduced in
03d76577b9 whereby 'guix-extra.drv' would
pull in (guix tests), which in turn would pull in a large number of (gnu
packages …), which would fail to build due to missing .patch files.
* guix/self.scm (compiled-guix)[*extra-modules*]: Exclude (guix tests …)
from the list of modules.
* gnu/services/networking.scm (usb-modeswitch-service-type): New variable.
(usb-modeswitch-configuration): New variable.
(usb-modeswitch-sh): New procedure.
(usb-modeswitch-configuration->udev-rules): New procedure.
* doc/guix.texi (Networking Services): Document it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Fixes <https://bugs.gnu.org/36207>.
Reported by Jack Hill <jackhill@jackhill.us>.
* gnu/services/admin.scm: Remove unneeded import of (gnu services
base).
* gnu/services/mcron.scm: Likewise.
This is a follow-up to commit d680a8afd1.
* gnu/packages/patches/inkscape-poppler-compat3.patch: Delete file.
* gnu/local.mk (dist_patch_DATA): Remove it.
* gnu/packages/benchmark.scm(benchmark): New variable.
* gnu/packages/patches/benchmark-unbundle-googletest.patch: New file.
* gnu/local.mk(dist_patch_DATA): Add it.
Fixes <https://bugs.gnu.org/35387>.
Reported by Christopher Baines <mail@cbaines.net>.
* guix/build/gnu-build-system.scm (first-subdirectory): Rewrite using
'scandir' so that the result is deterministic.
The switch to the reduced bootstrap broke build time assumptions made by
tests, notably the assumption that GNU-MAKE-BOOT0 was cheap to build.
This commit adjusts this to make these tests cheaper.
* gnu/packages/bootstrap.scm (%bootstrap-inputs-for-tests): New variable.
* guix/tests.scm (gnu-make-for-tests): New variable.
* tests/guix-environment.sh: Use GNU-MAKE-FOR-TESTS instead of
GNU-MAKE-BOOT0. Remove test with FINDUTILS-BOOT0.
* tests/guix-package-net.sh (boot_make): Use GNU-MAKE-FOR-TESTS.
* tests/packages.scm ("GNU Make, bootstrap"): Likewise.
* tests/profiles.scm ("profile-derivation relative symlinks, two entries"):
Likewise.
* tests/union.scm (%bootstrap-inputs): Remove.
("union-build"): Use %BOOTSTRAP-INPUTS-FOR-TESTS instead of
%BOOTSTRAP-INPUTS.
This test had become too expensive since the introduction of the reduced
bootstrap.
* tests/builders.scm ("gnu-build"): Remove.
(%bootstrap-inputs, %bootstrap-search-paths): Remove.
* gnu/packages/bootstrap.scm (%bootstrap-executables): New variable.
(bootstrap-executable-url, bootstrap-executable): New procedure.
(raw-build)[->store]: Use 'run-with-store' and 'origin->derivation'.
Add calls to 'derivation->output-path', and remove the list of
references passed to 'add-text-to-store' for BUILDER. Augment the list
of #:inputs passed to 'derivation'.
(package-from-tarball): Use 'bootstrap-executable' instead of
'search-bootstrap-binary'.
(%bootstrap-glibc, %bootstrap-gcc, %bootstrap-mescc-tools)
(%bootstrap-mes): Likewise.
* guix/scripts/environment.scm (environment-bash): Use
'bootstrap-executable' instead of 'search-bootstrap-binary'.
(guix-environment): Adjust CONTAINER? case accordingly.
* po/guix/POTFILES.in: Add gnu/packages/bootstrap.scm.
The loomR package is actually non-free software according to its author. See
https://github.com/mojaveazure/loomR/pull/24.
* gnu/packages/bioinformatics.scm (r-loomr): Remove variable.
* guix/download.scm (built-in-download): Add #:executable? parameter.
Pass #:recursive? to 'raw-derivation' and add "executable" to the #:env-vars
alist when EXECUTABLE? is true.
(url-fetch): Add #:executable? and pass it to 'built-in-download'.
(url-fetch/executable): New procedure.
Hackage packages can have metadata revisions (Cabal file only) that are
not reflected in the source archive. The Haskell build system has
support for this, but until now the Hackage importer would create a
package based on the revised Cabal file which would then build using the
old Cabal file.
Fixes <https://bugs.gnu.org/35750>.
* guix/import/cabal.scm (<cabal-package>): Add 'revision' field.
(eval-cabal): Parse 'x-revision:' property.
* guix/import/hackage.scm (read-cabal-and-hash): New procedure.
(hackage-fetch-and-hash): New procedure.
(hackage-fetch): Rewrite using 'hackage-fetch-and-hash'.
(hackage-module->sexp): Add 'cabal-hash' argument and use it to populate
the '#:cabal-revision' argument.
(hackage->guix-package): Use the new '-and-hash' functions to get the
hash of the Cabal file and pass it to 'hackage-module->sexp'.
* guix/tests/hackage.scm: Test import of Cabal file revision.
Signed-off-by: Timothy Sample <samplet@ngyro.com>