guix/build/copy-build-system.scm (install)[install-file]:
Read symlinks as is done in install-simple through copy-recursively.
Signed-off-by: Pierre Neidhardt <mail@ambrevar.xyz>
This is a followup to fb7eec3a84.
* guix/scripts.scm (warn-about-disk-space): Do not multiply
ABSOLUTE-THRESHOLD-IN-BYTES by 2^30. Compare AVAILABLE to the max of
RELATIVE-THRESHOLD-IN-BYTES and ABSOLUTE-THRESHOLD-IN-BYTES, not the
min. Display AVAILABLE divided by 2^30.
This is a followup to 7842ddcbc1, which
broke tests when 'HOME' is unset.
* guix/scripts/package.scm (ensure-default-profile): Silently ignore
'symlink' exceptions.
* guix/build/emacs-build-system.scm (enable-autoloads-compilation)
(validate-compiled-autoloads): Add procedures.
(%standard-phases): Register the new procedures.
* gnu/packages/aux-files/emacs/guix-emacs.el (guix-emacs-find-autoloads):
Remove duplicates in the list of autoload files found.
* guix/build/emacs-utils.scm (expr->string): Add procedure.
(emacs-batch-eval, emacs-batch-edit-file): Use it.
* guix/scripts.scm (%disk-space-warning-absolute): New variable.
(warn-about-disk-space): Test against %disk-space-warning-absolute.
Fix error in display-hint due to extraneous 'profile' argument.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* guix/ui.scm (display-generation): Display generation path on new line.
* guix/scripts/describe.scm (channel-commit-hyperlink): Add TRANSFORMER argument.
(display-profile-content): Use TRANSFORMER argument to display URL explicitly
when terminal does not support hyperlinks.
Reported by Pierre Neidhardt <mail@ambrevar.xyz>.
* guix/ui.scm (size->number)[unit-pos]: Add #\. to CHAR-SET:DIGIT.
* tests/ui.scm ("size->number, 1.M"): New test.
* guix/swh.scm (swh-url): Don't prepend (%swh-base-url) if a domain is
already present.
This fixes the "guix lint: warning: while connecting to Software Heritage:
host lookup failure: Name or service not known" error message.
Fixes <https://bugs.gnu.org/39725>.
* guix/store/deduplication.scm (deduplicate): Use
'bytevector->nix-base32-string' instead of 'bytevector->base16-string'.
* guix/scripts/build.scm (show-help): Document --manifest argument.
(options->things-to-build): When given a manifest, evaluate all the entries.
* tests/guix-build.sh: Add test for --manifest.
* doc/guix.texi (Additional Build Options): Mention --manifest.
* etc/completion/bash/guix: Complete file name if 'guix build' argument is
-m.
This allows for upgrading the Go compiler without overhauling
go-build-system first.
* guix/build/go-build-system.scm (setup-go-environment): Set GO111MODULE to
off.
Signed-off-by: Alex Griffin <a@ajgrf.com>
Until now, 'guix describe' would perform ~3K stat calls and ~1K openat
calls because it was pulling (guix scripts pull), which in turn pulls in
many (gnu packages …) modules.
* guix/scripts/pull.scm (display-profile-content, %vcs-web-views)
(channel-commit-hyperlink): Move to...
* guix/scripts/describe.scm: ... here. Remove import of (guix scripts
pull).
If Guile-Git revision is >= 0.3.0, use SSH agent authentication method for
both clone and fetch calls.
* guix/git.scm (auth-supported?): New variable,
(clone*): set auth-method to ssh-agent if the variable above is true,
(update-cached-checkout): ditto.
* guix/import/pypi.scm (make-pypi-sexp): Rename test-inputs to
native-inputs. Restructure the way pypi-uri parameters are generated.
Use pypi-uri's extension parameter when required. Add "unzip" to
native inputs when the package source is a zip file.
Signed-off-by: Marius Bakke <mbakke@fastmail.com>
* guix/import/gem.scm (<gem>, <gem-dependencies>, <gem-dependency>): New
record types with JSON mapping.
(json->gem-dependencies): New procedures.
(rubygems-fetch): Use it.
(hex-string->bytevector): Remove.
(make-gem-sexp): Expect HASH to be a bytevector.
(gem->guix-package): Adjust to use the new <gem> data type instead of an
alist.
(latest-release): Likewise.
* guix/build/qt-build-system.scm (check-setup): New function.
(%standard-phases): Add as new phase `check-setup before `check.
* doc/guix.texi (Build System)[qt-build-system]: Describe the new phase.
On "guix build libreoffice -nd", this reduces the number of read(2)
system calls from 10,434 to 8092.
* guix/serialization.scm (sub-bytevector): New procedure.
(read-byte-string): Make a single 'get-bytevector-n*' call and use
'sub-bytevector'.
Previously the first argument to 'find' would show up high in profiles
of 'package-derivation'. This speeds things up a big, especially on
Guile 3.
* guix/derivations.scm (coalesce-duplicate-inputs)[find]: New
procedure.
This is a followup to fed3632812.
* guix/build/compile.scm: Remove exports of '%lightweight-optimizations'
and '%default-optimizations'.
* guix/self.scm: Remove unused (guix build compile) module.
Reported by Matt Wette <matt.wette@gmail.com>
in <https://bugs.gnu.org/39194>.
* guix/build/syscalls.scm (call-with-file-lock/no-wait): When
re-throwing, pass KEY in addition to ARGS.