man-db: Add support for zstd compressed man pages. * guix/man-db.scm: Autoload zlib and zstd modules. (<mandb-entry>): Adjust comment. (abbreviate-file-name): Adjust regexp. (gz-compressed?, zstd-compressed?): New predicates. (entry->string): Use them. (man-page->entry): Adjust doc. Use input port reader appropriate to the compression type, if any. (man-files): Adjust regexp. (mandb-entries): Adjust link resolving predicate. * guix/profiles.scm (manual-database): Add guile-zlib extension. Change-Id: I6336e46e2d324c520a7d15d6cafd12bbf43c5b09 Reviewed-by: Ludovic Courtès <ludo@gnu.org>
build: gnu-build-system: Compress man pages with zstd. The aim is to improve the efficiency of computing the man pages database, which must decompress the man pages. Zstd is faster than gzip, especially for decompression, and has a similar compression ratio. * gnu/packages/commencement.scm (%final-inputs): Add zstd. * guix/build/gnu-build-system.scm (compress-documentation) Update doc. <info-compressor, info-compressor-flags, man-compressor, man-compressor-flags> <man-compressor-file-extension>: New arguments. <compressed-documentation-extension>: Rename argument to... <info-compressor-file-extension>: ... this. Add an 'extension' argument to the retarget-symlink nested procedure. Use new arguments in nested 'maybe-compress' procedure. Reviewed-by: Ludovic Courtès <ludo@gnu.org> Change-Id: Ibaad4658f8e5151633714d263d9198f56d255020
packages: Repack patched source archives via zstd by default. * guix/build/utils.scm (compressor): Register zst file name extension. * guix/packages.scm (%standard-patch-inputs): Add zstd. (patch-and-repack): Rename tarxz-name nested procedure to tar-file-name, and accept a new 'ext' argument; adjust accordingly. Add zstd binding, and replace the XZ_DEFAULTS environment variable with ZSTD_NBTHREADS. Fallback to xz when zstd is not available. Reviewed-by: Ludovic Courtès <ludo@gnu.org> Change-Id: I614a6be8c87a4a0858eadce616c51d8e9b9fc020
compression: Enable zstd parallel compression. * gnu/compression.scm (%compressors) [zstd]: Provide the --threads argument. Reviewed-by: Ludovic Courtès <ludo@gnu.org> Change-Id: I4e8dfe725d1b0721c0016c3013b9e609fee94367
utils: Lower xz compression memory usage limit to 20%. There were sometimes out of memory errors on the Berlin build farm, especially for i686 or arm machines having less memory. * guix/build/utils.scm (%xz-parallel-args): Reduce --memlimit value from 50% to 20%. Reviewed-by: Ludovic Courtès <ludo@gnu.org> Change-Id: If848bed92ef4c42d11a96057e59ee51a019d0573
gnu: rust: Run linker under C.UTF-8 instead of en_US.UTF-8. This is a followup to 02d21712be1eb31a917313662b924763e81affb3. * gnu/packages/rust.scm (rust-1.55)[arguments]: In ‘set-linker-locale-to-utf8’, change to C.UTF-8. Change-Id: I94f27123ca8ac4761fd9bae6267c3a9d122b3a1d
build-system/mix: Remove #:glibc-utf8-locales parameter. * guix/build-system/mix.scm (default-glibc-utf8-locales): Remove. (lower): Remove #:glibc-utf8-locales and its use. Change-Id: Ibc8e00fb19e7c3404999e53855660ea11b9825af
build-system/gnu: Make ‘%gnu-build-system-modules’ alias public. This is a followup to a004c80cc04f535d1a74f72edea86173bc32d297, which had no effect. * guix/build-system/gnu.scm (%gnu-build-system-modules): Make public. Change-Id: I2ac44060e530bc9abfe0ee3abbb586853a30ead2
gnu: nettle: Update to 3.9.1. * gnu/packages/nettle.scm (nettle): Update to 3.9.1. Change-Id: I21726f9763159e497f91c037ccd10a62c8b71cb5
gnu: libpng: Update to 1.6.39. * gnu/packages/image.scm (libpng): Update to 1.6.39. Change-Id: Ia851ed5fb00dc8f34e248d2f0020bea06c6e78af
gnu: gmp: Fix typo in ‘ungexp-splicing’. * gnu/packages/multiprecision.scm (gmp)[arguments]: Fix typo in ‘ungexp-splicing’ read syntax. Change-Id: I0b3bf1fe9d4429d87c466685b1c8055061b7473f
Revert "gnu: coreutils: Disable 64-bit time_t on 32-bit systems." This reverts commit 4eebb73295a8ffdaefcfb7940254ad9c18e4e5d4. The ‘--disable-year2038’ flag appears to be unnecessary (tested on i686-linux). More importantly, it’s potentially harmful as it could prevent rebuilds after year 2038 due to timestamp inconsistencies as they wrap around, and could make the tools unusable altogether. Change-Id: Iad828d38f84bd1824b83731ac3a3897da4b8b6d3
gnu: gawk: Update to 5.3.0. * gnu/packages/gawk.scm (gawk): Update to 5.3.0. Change-Id: Ib1e64d3ed08eb6564ed1ce32ec31ad6492886c92
gnu: ed: Update to 1.19. * gnu/packages/text-editors.scm (ed): Update to 1.19. Change-Id: I69f4c9cbcf5c862cbffb6d82662c548591917d88
search-paths: Swap $C_INCLUDE_PATH and $CPLUS_INCLUDE_PATH. The variable name didn’t match the ‘variable’ value. * guix/search-paths.scm ($CPLUS_INCLUDE_PATH, $C_INCLUDE_PATH): Swap. Change-Id: I181cd259dc8778ed51ea891bf7a345df89e5b6d8
gnu: gmp: Update to 6.3.0 and streamline definition. * gnu/packages/multiprecision.scm (gmp): Update to 6.3.0. Fix indentation. [arguments]: Use gexps. Remove obsolete phase. Change-Id: I99a0c8173ebc4a4a45512771ccf17782d6ddfe14
gnu: imagemagick/stable: Fix ungexp variable. * gnu/packages/imagemagick.scm (imagemagick/stable) [arguments]: Ungexp reference to NAME variable. Reported-by: Simon South <simon@simonsouth.net> Change-Id: Id0584b35ede05ef14e957b2b2c9c754d9f9c0a90
gnu: python-boot0: Name it eponymously. * gnu/packages/commencement.scm (python-boot0) [name]: Override name. Change-Id: I00f3a07e9aea9fae3e2ce9c571fa06a95c9bcdb1
build: agda-build-system: Do not rely on "locales" being present. A "locales" package is no longer included in the 'standard-packages' collection, per commit de9d6d12 (gnu: commencement: Remove ‘glibc-utf8-locales’ from ‘%final-inputs’."), which is made because glibc now embeds a C.UTF8 locale. * guix/build-system/agda.scm (lower): Remove "locales" implicit input. * guix/build/agda-build-system.scm (set-locpath): Do not fail when a locales package is not available. Change-Id: If14e074e457c625960d70fcaf46c7e829d5d58d1
build: guile-build-system: Remove "locales" implicit input. This error was introduced by the removal of "locales" from the standard-packages in commit de9d6d12 (gnu: commencement: Remove ‘glibc-utf8-locales’ from ‘%final-inputs’."), which is made because glibc now embeds a C.UTF8 locale. * guix/build-system/guile.scm (lower): Remove the "locales" implicit input. Change-Id: Id28a95757309aba6a6be89b2c8a6e08847e35f58