This fixes a regression introduced in ce29031a23
where 'mariadb_config' would return libdir and plugindir relative to the
location of the 'mariadb_config' program (which lives in a separate output).
While at it, fix a couple other wrong references, and a another regression
related to test installation.
* gnu/packages/databases.scm (mariadb)[arguments]: Patch "mariadb_config.c.in"
so that it falls back to old behavior. Patch 'mariadb.pc.in' and
'mariadb_connector_c.cmake' to cope with absolute directory names. In
#:configure-flags, don't set INSTALL_MYSQLTESTDIR, but delete the installed
tests with a phase.
Fixes <https://bugs.gnu.org/25527>.
* gnu/packages/databases.scm (postgresql-13)[arguments]: In #:configure-flags,
provide non-absolute references to the build tools.
* gnu/packages/vim.scm (vim)[arguments]: Add new 'install-guix.vim phase
to install vendor specific vimrc.
* gnu/packages/aux-files/guix.vim: New file.
* Makefile.am (AUX_FILES): Register it.
Fixes <https://issues.guix.gnu.org/45314>.
* guix/avahi.scm (avahi-browse-service-thread): Change timeout default value
to false when no "stop-loop?" procedure is passed. Adapt "iterate-simple-poll"
call accordingly.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
This removes the main source of latency between subsequent downloads.
* nix/libstore/build.cc (SubstitutionGoal::tryToRun): Add a
"deduplicate" key to ENV.
(SubstitutionGoal::finished): Remove call to 'optimisePath'.
* guix/scripts/substitute.scm (process-substitution)[destination-in-store?]
[dump-file/deduplicate*]: New variables.
Pass #:dump-file to 'restore-file'.
* guix/scripts/substitute.scm (guix-substitute)[deduplicate?]: New
variable.
Pass #:deduplicate? to 'process-substitution'.
* guix/serialization.scm (dump-file): Export and augment 'dump-file'.
'guix substitute' now takes care of it via 'restore-file'.
* nix/libstore/build.cc (SubstitutionGoal::finished): Remove call to
'canonicalisePathMetaData'.
* tests/store.scm ("substitute")
("substitute + build-things with output path")
("substitute + build-things with specific output"): Call 'canonical-file?'.
* tests/substitute.scm ("substitute, authorized key"): Check the mtime
and permissions of "substitute-retrieved".
This way, the hash of the store item can be computed as it is restored,
thereby avoiding an additional file tree traversal ('hashPath' call)
later on in the daemon. Consequently, it should reduce latency between
subsequent substitute downloads.
This is a followup to 5ff521452b.
* guix/scripts/substitute.scm (narinfo-hash-algorithm+value): New
procedure.
(process-substitution): Wrap INPUT into a hash input port, 'hashed', and
read from it. Compare the actual and expected hashes, and print a
"hash-mismatch" status line when they differ. When they match, print
not just "success" but also the nar hash and size.
* nix/libstore/build.cc (class SubstitutionGoal)[expectedHashStr]:
Remove.
(SubstitutionGoal::finished): Tokenize 'status'. Parse it and handle
"success" and "hash-mismatch" accordingly. Call 'hashPath' only when
the returned hash is not SHA256.
(SubstitutionGoal::handleChildOutput): Remove 'expectedHashStr'
handling.
* tests/substitute.scm ("substitute, invalid hash"): Rename to...
("substitute, invalid narinfo hash"): ... this.
("substitute, invalid hash"): New test.
This is a fixup for the merge in 5e2140511c as
well as the previous fixup in e37c575723 which
partially reverted the LLVM@10 update from 66e3812e2f.
* gnu/packages/llvm.scm (llvm-10): Update to 10.0.1.
Pod::Parser is no longer part of the Perl standard library as of 5.32.0.
* gnu/packages/perl.scm (perl-pod-coverage)[propagated-inputs]: Add
PERL-POD-PARSER.