By only testing the final Rust in the bootstrap chain, the total build time is
reduced by approximately 30%, from about 11 hours to 8 hours on a fast
machine. Combined with commit df93fc21a4, the total Rust bootstrap chain
build time should have been halved.
* gnu/packages/patches/rust-1.25-accept-more-detailed-gdb-lines.patch:
Delete file.
* gnu/local.mk (dist_patch_DATA): De-register it.
* gnu/packages/rust.scm (rust-1.29): Do not apply the above patch.
(rust-1.30): Remove the "doc" output. Disable tests.
[phases]{set-env}: Do not set CFG_DISABLE_CROSS_TESTS.
{relax-gdb-auto-load-safe-path, patch-tests, patch-cargo-index-update}
{patch-aarch64-test, remove-unsupported-tests, disable-amd64-avx-test}
{patch-cargo-tests, patch-cargo-env-shebang}
{ignore-cargo-package-tests}: Remove phases.
{configure}: Remove the doc and gdb bindings and their respective
configuration entries in the generated config.toml file.
{check}: Remove phase.
[native-inputs]{bison, flex, gdb, procps}: Remove inputs.
{python-2}: Replace by python-wrapper.
{rust-1.29}: Do not export variable.
{rust-1.30}: Likewise.
(rust-1.31): Likewise.
[arguments]: Remove field.
(rust-1.32): Do not export variable.
[source]: Remove patch.
[phases]{override-jemalloc}: Order following 'configure.
{remove-flaky-test, patch-aarch64-test}: Remove deletions.
(rust-1.33): Do not export variable.
[arguments]: Remove field.
(rust-1.34): Do not export variable.
(rust-1.35): Likewise.
(rust-1.36): Likewise.
[arguments]: Remove field.
(rust-1.37): Do not export variable.
(rust-1.38): Do not export variable.
[arguments]: Likewise.
(rust-1.39): Do not export variable.
(rust-1.40): Do not export variable.
[phases]: Do not alter the #:phases argument.
(rust-1.41, rust-1.42, rust-1.43): Do not export variables.
(rust-1.44): Likewise.
[arguments]: Remove field.
(rust-1.45): Do not export variable.
[phases]{skip-shebang-tests, skip-networking-test}: Remove phases.
(rust-1.46): Do not export variable.
(rust-1.47): Do not export variable.
[arguments]: Remove field.
(rust-1.48): Do not export variable.
[arguments]: Remove field.
(rust-1.49): Rename to...
(rust): ... this.
[outputs]: Add a "doc" output.
[phases]{enable-docs, add-gdb-to-config}
{relax-gdb-auto-load-safe-path, patch-cargo-env-shebang}
{disable-tests-requiring-git, disable-interrupt-tests}
{patch-command-exec-tests, patch-command-uid-gid-test}
{skip-shebang-tests, patch-process-tests}: New phases.
[native-inputs]{gdb-9.2, procps}: New inputs.
This reduced bootstrap reduces the complete Rust bootstrap chain build time by
approximately 30% compared to the original (about 11 hours instead of 16
hours, on a fast machine).
* gnu/packages/patches/rust-1.45-linker-locale.patch: Delete file.
* gnu/packages/patches/rust-1.48-linker-locale.patch: Likewise.
* gnu/local.mk (dist_patch_DATA): De-register deleted files.
* gnu/packages/rust.scm (%mrustc-source): New variable.
(rust-1.29): New variable. It is bootstrapped from mrust 0.9, which is used
in source form.
(rust-1.30): New variable.
(rust-1.31)[phases]{patch-command-exec-tests-phase}: Rewrite so that it
doesn't need to be redefined later when the file is moved.
{enable-docs}: New phase.
(rust-1.32): Disable tests.
[inputs]: Remove field.
[phases]{override-jemalloc}: Reorder after the configure phase.
(rust-1.33): Enable tests.
[phases]{disable-codegen-tests}: New phase.
(rust-1.34)[phases]{disable-codegen-tests}: Delete phase.
(rust-1.35)[arguments]: Remove field. The disable-tidy-bins-check phase is
now defined in rust-1.30.
(rust-1.38)[phases]{patch-command-exec-tests-phase}: Remove.
{patch-command-uid-gid-test}: Do not worry about the Tidy lint test, which is disabled.
(rust-1.40)[phases]: Move #:validate-runpath? inside the use of
'substitute-keyword-arguments'.
{neuter-tidy}: Delete.
{patch-command-uid-gid-test}: Make the regexp more precise. Remove the TODO
comment, which has been addressed.
(rust-1.44)[inputs]: Replace python2 by python-wrapper.
[phases]{use-python3}: New phase.
(rust-1.45)[source]: Remove field. The linker locale fix is now made via ...
[phases]{set-linker-locale-to-utf8}: ... this phase.
(rust-1.46)[phases]{build, check}: Allow parallel execution. Add comments.
{delete-install-logs}: Delete phase; it's now done in rust-1.30.
(rust-1.47)[phases]{patch-cargo-checksums}: Do not reorder phase. The
initial ordering of the phase has been fixed with in the rust-1.30 package.
(rust-1.48)[source]: Remove field.
This commit is not atomic and is not functional by itself; this is done so to
make the next set of changes more comprehensible.
* gnu/packages/patches/rust-1.19-mrustc.patch: Delete file.
* gnu/packages/patches/rust-1.30-gdb-llvm.patch: Likewise.
* gnu/packages/patches/rust-bootstrap-stage0-test.patch: Likewise.
* gnu/local.mk (dist_patch_DATA): Un-register files.
* gnu/packages/rust.scm (mrustc): Delete variable.
(rust-1.19, rust-1.20, rust-1.21 rust-1.22, rust-1.23, rust-1.24)
(rust-1.25, rust-1.26, rust-1.27, rust-1.28, rust-1.29)
(rust-1.30): Delete variables.
(rust-1.31 through rust-1.49): Fix indentation and do other cosmetic changes.
(rust): Define as rust-1.49.
This is a followup commit to 6129ebddbd.
It was suggested by Ludovic in #guix that it's probably safer to leave files
extracted from a tarball alone. While at it, guard against possible
exceptions that can happen in the presence of dangling symbolic links, for
example.
* guix/build/gnu-build-system.scm (unpack): Wrap the make-file-writable call
in a false-if-exception handler. Move the for-each loop under the
file-is-directory? cond branch.
* gnu/packages/patches/guile-ssh-fix-test-suite.patch: New file.
* gnu/local.mk: Register it.
* gnu/packages/ssh.scm (guile-ssh)[source]: Use it. Also provide a better
file name than 'git-checkout'.
This exception was thrown while running the sanity-check on the python-isort
package, which doesn't make use of a setuptools-based build system but rather
of a PEP 517 compliant one.
* gnu/packages/aux-files/python/sanity-check.py: Handle the FileNotFoundError
whe attempting to read the 'top_level.txt' metadata file of the package.
Remove extraneous 'continue' statement.
The build was failing following the addition of the sanity-check phase to the
Python buidl system.
* gnu/packages/python-build.scm (python-pypa-build)
[phases]{relax-requirements}: Add phase.
The wrap phase was happening before the installed site location was added to
GUIX_PYTHONPATH, causing wrapped commands to not find their own Python
libraries.
* guix/build/python-build-system.scm (%standard-phases): Explicit the
sequential ordering of phases using add-after directives, so that the wrap
phase occurs after the add-install-to-pythonpath and add-install-to-path
phases.
* gnu/packages/music.scm (python-mediafile): New variable.
* gnu/packages/patches/python-mediafile-wavpack.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
As this is useful if you want to work with narinfo signatures outside of Guix,
in the Guix Data Service for example.
* guix/narinfo.scm: Export narinfo-contents.
This moves from Python 2 to Python 3. This is a dev release, but from nearly 2
years ago.
Backing up your plover.cfg is advised by the release notes when upgrading from
version 3 to 4.
* gnu/packages/stenography.scm (plover): Update to 4.0.0.dev8.
[arguments]: Remove.
[native-inputs]: Switch to Python 3 package variants.
[inputs]: Switch to Python 3 package variants, and add python-pyqt.
Make python-six a propagated input as it's used at runtime.
* gnu/packages/python-xyz.scm (python-xlib): Update to 0.29.
[native-inputs]: Move python-six to…
[propagated-inputs]: …here.
* guix/import/gnu.scm (gnu->guix-package): Move the 'find-package' call before
the 'latest-release' call, which would fail when the package did not have an
entry on the FTP server.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/video.scm (obs): Use it.
* gnu/packages/patches/obs-modules-location.patch: Patch it.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
gnu/packages/gettext.scm (mdpo): New variable.
gnu/packages/python-xyz (python-polib): Update to 1.1.0.
Signed-off-by: Nicolas Goaziou <mail@nicolasgoaziou.fr>