Age | Commit message (Expand) | Author |
2021-01-15 | build-system/gnu: Really ignore the return value of phases.•••This is a followup to 04baa011e9122205009d6d5f15b8162bf6f3fb8a.
* guix/build/gnu-build-system.scm (gnu-build): Really ignore the return
value of PROC. Wrap PROC call in 'with-throw-handler'. Add
'end-of-phase' procedure and use it.
| Ludovic Courtès |
2021-01-13 | Merge branch 'staging' into 'core-updates'.•••Conflicts:
gnu/local.mk
gnu/packages/cmake.scm
gnu/packages/curl.scm
gnu/packages/gl.scm
gnu/packages/glib.scm
gnu/packages/guile.scm
gnu/packages/node.scm
gnu/packages/openldap.scm
gnu/packages/package-management.scm
gnu/packages/python-xyz.scm
gnu/packages/python.scm
gnu/packages/tls.scm
gnu/packages/vpn.scm
gnu/packages/xorg.scm
| Maxim Cournoyer |
2021-01-08 | build-systems/emacs: No longer skip patching of files containing NULs.•••This follows the fix to <https://bugs.gnu.org/30116>.
* guix/build/emacs-build-system.scm (patch-el-files)
[file-contains-nul-char]: Remove nested procedure.
[el-file]: Do no filter out files containing NUL characters.
| Maxim Cournoyer |
2021-01-08 | utils: Allow text substitution even in the presence of NUL characters.•••Fixes <https://issues.guix.gnu.org/30116>.
Before this change, the presence of a NUL character on a line meant that
the (glibc) regexp engine used by Guile would either 1. stop scanning the
string or 2. crash with the error "string contains #\\nul character",
depending on the locale used.
This change works around this limitation by first replacing the NUL character
by an unused Unicode code point, doing the substitution, then reverting the
replacement.
* guix/build/utils.scm (unused-private-use-code-point)
(replace-char): New procedures.
(substitute): Make use of the above procedures to work around the NUL
character regexp engine limitation.
* tests/build-utils.scm: Add tests.
Co-authored-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
| Mark H Weaver |
2020-12-31 | build-system/cargo: Use argument "--no-track" in "cargo install".•••* guix/build/cargo-build-system(install):
Add argument "--no-track" in "cargo install".
Remove stale hack.
Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
| Zhu Zihao |
2020-12-29 | build-systems/gnu: Add compressor file extension to symbolic links.•••Otherwise man and info readers are not able to read their content as they rely
on the file extension to detect if compression is used.
* guix/build/gnu-build-system.scm (compress-documentation)
[retarget-symlink]: Append the compressor file extension to the link file name.
| Maxim Cournoyer |
2020-12-23 | build-system/gnu: Allow overriding of bootstrap scripts.•••* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Accept
bootstrap-scripts keyword argument and pass it to gnu-build.
(%bootstrap-scripts): New variable.
* guix/build/gnu-build-system.scm (%bootstrap-scripts): Remove variable.
(bootstrap): Remove default value for bootstrap-scripts argument.
| Ricardo Wurmus |
2020-12-15 | guix system: 'init' copies, resets timestamps, and deduplicates at once.•••Partly fixes <https://bugs.gnu.org/44760>.
* guix/build/store-copy.scm (copy-store-item): New procedure.
(populate-store): Use it instead of the inline 'copy-recursively' call.
* guix/scripts/system.scm (copy-item): Likewise.
Pass #:reset-timestamps? and #:deduplicate? to 'register-path'.
| Ludovic Courtès |
2020-12-15 | store-copy: 'populate-store' can optionally deduplicate files.•••Until now deduplication was performed as an additional pass after
copying files, which involve re-traversing all the files that had just
been copied.
* guix/store/deduplication.scm (copy-file/deduplicate): New procedure.
* tests/store-deduplication.scm ("copy-file/deduplicate"): New test.
* guix/build/store-copy.scm (populate-store): Add #:deduplicate?
parameter and honor it.
* tests/gexp.scm ("gexp->derivation, store copy"): Pass #:deduplicate? #f
to 'populate-store'.
* gnu/build/image.scm (initialize-root-partition): Pass #:deduplicate?
to 'populate-store'. Pass #:deduplicate? #f to 'register-closure'.
* gnu/build/vm.scm (root-partition-initializer): Likewise.
* gnu/build/install.scm (populate-single-profile-directory): Pass
#:deduplicate? #f to 'populate-store'.
* gnu/build/linux-initrd.scm (build-initrd): Likewise.
* guix/scripts/pack.scm (self-contained-tarball)[import-module?]: New
procedure.
[build]: Pass it as an argument to 'source-module-closure'.
* guix/scripts/pack.scm (squashfs-image)[build]: Wrap in
'with-extensions'.
* gnu/system/linux-initrd.scm (expression->initrd)[import-module?]: New
procedure.
[builder]: Pass it to 'source-module-closure'.
* gnu/system/install.scm (cow-store-service-type)[import-module?]: New
procedure. Pass it to 'source-module-closure'.
| Ludovic Courtès |
2020-12-15 | store-copy: 'populate-store' resets timestamps.•••Until now, 'populate-store' would reset permissions but not timestamps,
so callers would resort to going through an extra directory traversal to
reset timestamps.
* guix/build/store-copy.scm (reset-permissions): Remove.
(copy-recursively): New procedure.
(populate-store): Pass #:keep-permissions? to 'copy-recursively'.
Remove call to 'reset-permissions'.
* tests/gexp.scm ("gexp->derivation, store copy"): In BUILD-DRV, check
whether 'populate-store' canonicalizes permissions and timestamps.
* gnu/build/image.scm (initialize-root-partition): Pass #:reset-timestamps? #f
to 'register-closure'.
* gnu/build/vm.scm (root-partition-initializer): Likewise.
| Ludovic Courtès |
2020-12-13 | utils: 'copy-recursively' keeps symlink mtime when #:keep-mtime? is true.•••* guix/build/utils.scm (copy-recursively): In the "leaf" procedure, call
'set-file-time' also on symlinks.
| Ludovic Courtès |
2020-12-13 | utils: 'set-file-time' passes AT_SYMLINK_NOFOLLOW.•••* guix/build/utils.scm (AT_SYMLINK_NOFOLLOW): New variable.
(set-file-time): Use it.
| Ludovic Courtès |
2020-12-13 | build/python: Fix cythonize check phase.•••* guix/build/python-build-system.scm (ensure-no-cythonized-files): Use
format when printing the warning.
| Efraim Flashner |
2020-12-09 | build/python: Check for cythonized files.•••* guix/build/python-build-system.scm (ensure-no-cythonized-files): New procedure.
(%standard-phases): Add it.
| Efraim Flashner |
2020-12-07 | build-system/gnu: Remove the source directory from search paths.•••Fixes <https://issues.guix.gnu.org/44924>.
* guix/build/gnu-build-system.scm (set-paths): Delete 'source' from
'input-directories'.
| 宋文武 |
2020-12-03 | build-system: Add chicken-build-system.•••* guix/build-system/chicken.scm: New file.
* guix/build/chicken-build-system.scm: New file.
* Makefile.am: Add them.
* doc/guix.texi: Document it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| raingloom |
2020-12-01 | build-system/gnu: Add 'make-dynamic-linker-cache' phase.•••* guix/build/gnu-build-system.scm (make-dynamic-linker-cache): New
procedure.
(%standard-phases): Add it.
* guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Add
#:make-dynamic-linker-cache? and honor it.
| Ludovic Courtès |
2020-12-01 | gremlin: Add 'file-needed/recursive'.•••* guix/build/gremlin.scm (file-needed/recursive): New procedure.
* tests/gremlin.scm ("file-needed/recursive"): New test.
| Ludovic Courtès |
2020-12-01 | gremlin: Fix typo in docstring.•••* guix/build/gremlin.scm (file-runpath): Fix typo.
| Ludovic Courtès |
2020-11-29 | Merge remote-tracking branch 'origin/master' into core-updates | Christopher Baines |
2020-11-25 | build-system/texlive: Phases no longer return a Boolean.•••* guix/build/texlive-build-system.scm (configure): Remove trailing #t.
(build): Use 'for-each' instead of 'every'.
(install): Remove trailing #t.
| Ludovic Courtès |
2020-11-25 | build-system/minify: Phases no longer return a Boolean.•••* guix/build/minify-build-system.scm (minify): Use 'for-each' instead of
'every'. Call 'close-pipe' and call error when it returns non-zero.
(build): Use 'for-each' instead of 'every'.
(install): Remove trailing #t.
| Ludovic Courtès |
2020-11-25 | build-system/gnu: Ignore the result of phase procedures.•••* guix/build/gnu-build-system.scm (set-SOURCE-DATE-EPOCH)
(set-paths, install-locale, unpack, bootstrap)
(patch-usr-bin-file, patch-source-shebangs)
(patch-generated-file-shebangs, check)
(patch-shebangs, strip, validate-runpath)
(validate-documentation-location, reset-gzip-timestamps)
(compress-documentation, delete-info-dir-file)
(patch-dot-desktop-files, install-license-files): Remove trailing #t.
(gnu-build): Use 'for-each' instead of 'every', ignore the result if
each phase procedure, and remove warning about non #t phase results.
| Ludovic Courtès |
2020-11-22 | Merge branch 'master' into staging | Marius Bakke |
2020-11-22 | build-system/cargo: Set gettext environment variable when available.•••* guix/build/cargo-build-system.scm (configure): When gettext is
available in the build environment set the GETTEXT_SYSTEM variable.
* gnu/packages/crates-io.scm (rust-gettext-rs-0.5, rust-gettext-rs-0.4,
rust-gettext-sys-0.19)[arguments]: Remove phase to help find system gettext.
| Efraim Flashner |
2020-11-22 | build-system/cargo: Set libclang environment variable when available.•••* guix/build/cargo-build-system.scm (configure): When clang is available
in the build environment set the LIBCLANG_PATH variable.
* gnu/packages/crates-graphics.scm (rust-aom-sys-0.1,
uust-dav1d-sys-0.3),
* gnu/packages/crates-io.scm (rust-bindgen-0.55, rust-bindgen-0.54,
rust-bindgen-0.53, rust-bindgen-0.52, rust-cexpr-0.4, rust-cexpr-0.3,
rust-cexpr-0.2, rust-clang-sys-1, rust-clang-sys-0.29,
rust-clang-sys-0.26, rust-clang-sys-0.22, rust-clang-sys-0.11,
rust-libpijul-0.12, rust-nettle-7, rust-nettle-sys-2,
rust-sequoia-openpgp-0.9)[arguments]: Remove phases which set an
environment variable to find clang.
[inputs]: Rename instances of libclang with clang.
| Efraim Flashner |
2020-11-22 | build-system/cargo: Set openssl environment variable when available.•••* guix/build/cargo-build-system.scm (configure): When openssl is
available set the OPENSSL_DIR variable to discover its location.
* gnu/packages/crates-io.scm (rust-curl-sys-0.4, rust-libgit2-sys-0.10,
rust-libpijul-0.12, rust-libssh2-sys-0.2, rust-native-tls-0.2,
rust-openssl-sys-0.9, rust-openssl-0.7, rust-trust-dns-rustls-0.6),
* gnu/packages/rust-apps.scm (tokei, exa)[arguments]: Remove redundant
setenv for openssl.
| Efraim Flashner |
2020-11-20 | build-system/python: Set PYTHONDONTWRITEBYTECODE.•••* guix/build/python-build-system.scm (enable-bytecode-determinism): Set
PYTHONDONTWRITEBYTECODE.
| Maxim Cournoyer |
2020-11-20 | build-system/cargo: Do not pass --features to Cargo unless specified.•••Fixes <https://bugs.gnu.org/44692>.
* guix/build/cargo-build-system.scm (build): Default to the empty list for
FEATURES. Check whether the list is empty when building the Cargo arguments.
| Marius Bakke |
2020-11-19 | utils: Add #:keep-permissions? parameter to 'copy-recursively'.•••* guix/build/utils.scm (copy-recursively): Add #:keep-permissions? and
honor it.
* doc/guix.texi (Build Utilities): Adjust accordingly.
| Ludovic Courtès |
2020-11-19 | utils: Add #:copy-file parameter to 'copy-recursively'.•••* guix/build/utils.scm (copy-recursively): Add #:copy-file and honor it.
* doc/guix.texi (Build Utilities): Adjust accordingly.
| Ludovic Courtès |
2020-11-19 | utils: 'copy-recursively' keeps directory mtime when #:keep-mtime? is true.•••Fixes <https://bugs.gnu.org/44741>.
* guix/build/utils.scm (copy-recursively): Move 'set-file-time' call
from 'down' to 'up'.
| Ludovic Courtès |
2020-11-17 | utils: 'wrap-script' doesn't pass a non-literal string to 'format'.•••Reported by Vagrant Cascadian <vagrant@debian.org>
in <https://bugs.gnu.org/44626>.
* guix/build/utils.scm (wrap-script): Use 'display' instead of passing a
non-literal string to 'format'.
| Ludovic Courtès |
2020-11-07 | Merge branch 'master' into staging••• Conflicts:
gnu/local.mk
gnu/packages/gdb.scm
gnu/packages/lisp-xyz.scm
gnu/packages/web-browsers.scm
| Marius Bakke |
2020-11-06 | build-system/meson: Do not apply strip-runpath to the "debug" output.•••Because the debug files are read-only, the strip-runpath procedure would throw
an exception when attempting to open them.
* guix/build/meson-build-system.scm (shrink-runpath): Remove "debug" from the
list of outputs to be processed.
| Maxim Cournoyer |
2020-10-28 | build/maven: Fix typo.•••* guix/build/maven/pom: Fix spelling of "with".
| Vagrant Cascadian |
2020-10-28 | build/maven: fix-pom-dependencies: Fix typo.•••* guix/build/maven/pom (fix-pom-dependencies): Fix spelling of "overrides".
| Vagrant Cascadian |
2020-10-28 | build/maven: fix-pom-dependencies: Fix typo.•••* guix/build/maven/pom (fix-pom-dependencies): Fix spelling of "overridden".
| Vagrant Cascadian |
2020-10-26 | build/maven-build-system: Return #t in fix-pom-files phase.•••* guix/build/maven-build-system.scm (fix-pom-files): Return #t.
| Björn Höfling |
2020-10-20 | build-system/python: Revert changing of phase order.•••Commit c94a2864d4 moved the 'check' phase back into its original place before
the 'install' phase, but such a change would require adapting the definition
of many Python packages which have come to rely on such phase ordering.
* guix/build/python-build-system.scm (%standard-phases): Move the check phase
back after the install phase, and update comment.
| Maxim Cournoyer |
2020-10-19 | build-system/python: Do not embed timestamps in the .pyc byte code files.•••Fixes <https://issues.guix.gnu.org/22129>.
A previously worked around problem where running the test suite after byte
compiling the sources in commit 6bbb37a545912c6bb2513ee08587ee4fe39cc330 could
be broken by adding built sources to the PYTHONPATH, as is done for
python-matplotlib and many others. This seems to be caused by the timestamps
embedded in the sources (mtime), that can somehow change when running the
tests, or by picking up the different installed source files mtimes when their
location is added to the PYTHONPATH.
Since Python 3.7.0, it is possible to produce .pyc byte code files that do not
embed any timestamp, which solves the problem in a definitive way. This patch
makes use of this new feature.
* guix/build/python-build-system.scm (install): Add '--no-compile' parameter
to setup.py, and instead invoke the 'compileall' module with the
"--invalidation-mode=unchecked-hash" option to byte compile the source files.
(%standard-phases): Revert the workaround that moved the check phase after the
install phase, as it is no longer necessary. Update comment.
Reported-by: Mark H Weaver <mhw@netris.org>
| Maxim Cournoyer |
2020-10-19 | Merge branch 'staging'•••Conflicts:
gnu/packages/admin.scm
gnu/packages/commencement.scm
gnu/packages/gdb.scm
gnu/packages/llvm.scm
gnu/packages/package-management.scm
gnu/packages/tls.scm
| Maxim Cournoyer |
2020-10-19 | Merge branch 'master' into staging | Marius Bakke |
2020-10-16 | build: Fix docstring typos.•••* gnu/build/image.scm (estimate-partition-size): Fix typo in docstring.
* guix/build/copy-build-system.scm (install): Likewise.
* guix/build/lisp-utils.scm (generate-executable): Likewise.
* guix/build/maven/pom.scm (find-parent, fix-pom-dependencies): Likewise.
* guix/build-system/cargo.scm (expand-crate-sources): Likewise.
| Tobias Geerinckx-Rice |
2020-10-15 | build-system/go: Install license files.•••* guix/build/go-build-system.scm (install-license-files): New procedure.
(%standard-phases): Replace inherited 'install-license-files phase.
| Efraim Flashner |
2020-10-13 | Merge branch 'master' into staging | Marius Bakke |
2020-10-10 | svn-download, hg-download: Use 'report-invoke-error'.•••* guix/build/hg.scm (hg-fetch): Use 'report-invoke-error' instead of
'format'.
* guix/build/svn.scm (svn-fetch): Likewise.
| Ludovic Courtès |
2020-10-08 | packages, scripts, utils: Enable multi-threaded xz compression.•••xz compression is slow; using the multi-thread mode of xz can make it more
than 6 times faster, for example when compressing the large linux-libre
source.
* guix/build/utils.scm (%xz-parallel-args): New procedure.
* guix/packages.scm (patch-and-repack): Specify the required above xz
arguments by setting the XZ_DEFAULTS environment variable.
* guix/scripts/pack.scm (%compressors, bootstrap-xz): Modify the commands
Gexps so they do not need to be quoted. This allows lazily evaluating the
arguments on the builder's side. Specify the required xz arguments.
(self-contained-tarball): Do not quote the compressor command value.
(docker-image): Likewise.
* guix/utils.scm (decompressed-port, compressed-port)
(compressed-output-port): Specify the required above xz arguments.
| Maxim Cournoyer |
2020-10-08 | utils: Do not raise exceptions in delete-file-recursively.•••This makes it so that delete-file-recursively honors its docstring, which says
it should "report but ignore errors".
Fixes <https://issues.guix.gnu.org/43366>.
* guix/build/utils.scm (warn-on-error): New syntax.
(delete-file-recursively): Use it to catch exceptions and print warning
messages.
Reported-by: Fredrik Salomonsson <plattfot@gmail.com>
| Maxim Cournoyer |
2020-10-08 | build: svn: Fix handle fetch errors.•••This fixes the revert 1ec67d5220b0ebac20263b44f4fefaf51ba8fdbb.
* guix/build/svn.scm (svn-fetch): Add 'guard' to handle errors.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
| zimoun |