gnu: lsof: Fix indentation.
* gnu/packages/lsof.scm (lsof): Fix indentation.
gnu: lsof: Disable the LTlock test.
Fixes <https://issues.guix.gnu.org/44953>.
* gnu/packages/lsof.scm (lsof)[phases]: Remove trailing #t.
{disable-failing-tests}: Disable the LTlock test.
gnu: at-spi2-atk: Break a dependency cycle between GTK+ and Inkscape.
* gnu/packages/gtk.scm (at-spi2-atk)
[propagated-inputs]: Replace at-spi2-core with at-spi2-core-minimal.
gnu: at-spi2-core: Reverse inheritance relationship with minimal variant.
Since the minimal variant is here to stay, this should make things easier to
maintain.
* gnu/packages/gtk.scm (at-spi2-core-minimal): Rewrite after removing
inheritance, making it the base minimal package, with no documentation-related
inputs or build phases.
(at-spi2-core): Rewrite definition, inherit from the above minimal variant,
adding the documentation-related inputs and build phases.
gnu: meson: Patch to allow installing to independent prefixes.
Meson goes to lengths at preventing installation to directories outside of the
main installation prefix. This isn't convenient or desirable in Guix; patch
it out using a patch maintained by Nix.
* gnu/packages/patches/meson-allow-dirs-outside-of-prefix.patch: Add patch.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/build-tools.scm (meson): Use it.
gnu: python-pathlib2: Update to 2.3.6.
* gnu/packages/python-xyz.scm (python-pathlib2): Update to 2.3.6.
gnu: python-pytest-6: Fix version via setuptools-scm.
* gnu/packages/check.scm (python-pytest-6): Fix indentation.
[phases]{fix-version}: Rename to...
{pretend-version}: ... this. Use the supported setuptools-scm mechanism to
manually fix the version string, as suggested upstream.
gnu: python-setuptools-scm: Update to 6.3.2
* gnu/packages/python-xyz.scm (python-setuptools-scm): Update to 6.3.2.
[propagated-inputs]: Add python-packaging-bootstrap and python-tomli.
(properties): Set the python2-variant property.
(python2-setuptools-scm): Pin to version 5.0.2, the last release to support
Python 2.
gnu: Add python-tomli.
* gnu/packages/python-build.scm (python-tomli): New variable.
gnu: Add python-flit-core.
* gnu/packages/python-build.scm (python-flit-core): New variable.
gnu: python-pypa-build: Update to 0.7.0.
* gnu/packages/python-build.scm (python-pypa-build): Update to 0.7.0.
[phases]{relax-requirements}: Rename to...
{use-toml-instead-of-tomli}: ... this. Replace tomli by toml.
gnu: Move a few Python packages to (gnu packages python-build).
This is in prevision of updating python-pypa-build, which now requires
python-packaging and adding python-tomli, which requires python-six.
* gnu/packages/python-xyz.scm (python-six)
(python-six-bootstrap, python2-six-bootstrap)
(python-pyparsing, python2-pyparsing, python-pyparsing-2.4.7)
(python-packaging-bootstrap, python2-packaging-bootstrap): Move packages to...
* gnu/packages/python-build.scm: ... here. Update python-parsing to latest.
* gnu/packages/python-xyz.scm (python-six, python-packaging): Adjust to
inherit from their bootstrap versions.
gnu: fontconfig: Add a search path for XDG_DATA_DIRS.
Fixes <https://issues.guix.gnu.org/31403>.
* gnu/packages/fontutils.scm (fontconfig)[source]: Fix indentation.
[configure-flags]: Drop the "--with-add-fonts" configure option as it's no
longer necessary/desirable to special case the system and user profiles.
[native-search-paths]: New search path.
gnu: Build all Rust packages using the latest rustc.
The older Rusts are made private variables; they shouldn't be used by users as
they are not tested and are only built at stage 1, which makes them unsuitable
to compile Rust applications.
* gnu/packages/crates-io.scm (rust-cargo-0.53)[arguments]: Remove #:rust
argument.
(rust-cxx-1, rust-cxx-build-1, rust-cxx-gen-0.7): Likewise.
* gnu/packages/crates-io.scm
(rust-cxx-gen-0.7, rust-cxxbridge-macro-1, rust-postgres-0.19): Likewise.
(rust-rust-decimal-1, rust-sized-chunks-0.6, rust-socket2-0.4): Likewise.
(rust-tokio-postgres-0.7, rust-im-rc-15): Likewise.
* gnu/packages/gnome.scm (librsvg): Likewise.
* gnu/packages/gnuzilla.scm (mozjs-78): Likewise.
* gnu/packages/rust-apps.scm
(hyperfine, tectonic rust-analyzer, rust-cargo-c): Likewise.
* gnu/packages/shells.scm (nushell): Likewise.
* gnu/packages/syndication.scm (newsboat): Likewise.
* gnu/packages/rust.scm: (rust-1.39, rust-1.40, rust-1.41, rust-1.42)
(rust-1.43, rust-1.44, rust-1.45, rust-1.46, rust-1.47, rust-1.48, rust-1.49)
(rust-1.50, rust-1.51, rust-1.52, rust-1.53, rust-1.54): Make variables private.
gnu: rust: Add rust 1.54 and move all non-bootstrapping logic to it.
* gnu/packages/rust.scm (rust-1.44): Do not replace LLVM version, for
simplicity. It used to be required at this point because LLVM 7 was no longer
supported for rust-1.44, but we're now using LLVM 9.
(rust-1.46): Move all additional phases, doc output to rust-1.54.
(rust-1.53, rust-1.54): New variables.
(rust-1.54): Adjust snippet field.
(rust): Set default Rust to the latest version, 1.54.0.
[native-inputs]: Use the latest GDB.
gnu: rust: Bootstrap rust from 1.39.0 and optimize build time.
Only stage 1 (rather than stage 2) rustc and cargo are built and the
installation phase rewritten to not invoke the build tool, which helps to
shorten the build time to about 10 minutes per Rust on a fast machine. The
total build time should take less than 4h30, down from the current 8 hours on
a Ryzen 3900X CPU.
* gnu/packages/patches/rust-reproducible-builds.patch: Delete file.
* gnu/packages/patches/rustc-1.39.0-src.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it, and un-register
rust-reproducible-builds.patch.
* gnu/packages/rust.scm (%mrustc-commit): New variable.
(%mrustc-source): Update to latest commit.
(rust-1.29): Morph into...
(rust-1.39): ... this.
[source]: Adjust the snippet, patches and patch-flags fields.
[inputs]: Replace llvm-7 by llvm (9).
[make-flags]: Add the RUSTC_VERSION, MRUSTC_TARGET_VER and OUTDIR_SUF make
variables. Remove the RUSTCSRC make variable.
[phases]{copy-mrustc-and-patch}: Rename to...
{setup-mrustc-sources}: ... this. A symbolic link is created inside the
mrustc directory, pointing to the Rust 1.39.0 sources.
{patch-makefiles}: Adjust directory. Patch date and git definitions. Edit
out the RUSTC_SRC_DL prerequisite. Adjust the patching of a shebang.
{patch-cargo-checksums}: Adjust.
{configure-cargo-home}: New phase.
{configure}: Create and add a 'cc' shim to PATH.
{build}: Do not invoke make in parallel mode inside the run_rustc directory.
(rust-1.30): Morph into...
(rust-1.40): ... this, integrating the changes introduced between 1.30 and
1.40.
[modules]: Properly import (guix build cargo-utils).
[phases]{add-cc-shim-to-path}: New phase.
{configure}: Increase the codegen-units value to 256.
{build}: Only build stage 1 rustc and cargo, and group the commands into one
invocation.
{install}: Manually install the stage 1 build artifacts.
{patch-cargo-checksums}: Remove the ad-hoc use-modules, no longer needed.
[source]: Adjust.
[arguments]: Set validate-runpath? to #f.
[phases]{patch-cargo-checksums}: Remove phase.
{configure}: Repatriate the jemalloc configuration changes from 1.40.
[native-inputs]: Replace the rust-1.29 inputs by rust-1.39. Use regular
jemalloc and llvm versions.
(rust-1.41)[phases]: Add the patch-cargo-checksums phase.
(rust-1.31, rust-1.32, rust-1.33, rust-1.34, rust-1.35, rust-1.36, rust-1.37)
(rust-1.38, rust-1.39, rust-1.40): Delete variables.
(rust-1.46)[phases]{install}: Group build, test and install commands.
(rust-1.47)[phases]{build}: Override to adjust for the relocation of the
standard library source directory.
gnu: glade3: Remove sitecustomize.py workaround.
The issue has since been resolved.
* gnu/packages/gnome.scm (glade3)[phases]{fix-tests}: Delete phase.
aux-files: sitecustomize: Cleanup and add explanatory comments.
Fixes <https://issues.guix.gnu.org/50105>.
* gnu/packages/aux-files/python/sitecustomize.py: Add a comment explaining the
general idea, and use sys.prefix instead of sys.executable.
(major_minor): Use the unpacking operator (*) to provide the arguments.
(site_packages_prefix): Use os.path.join to form the path.
(python_site): Likewise. Use sys.prefix instead of sys.executable.
(all_sites_raw): Split on os.path.pathsep.
(sys.path): Directly splice the result in the list.
Suggested-by: Hartmut Goebel <h.goebel@crazy-compilers.com>
Reported-by: Mathieu Othacehe <othacehe@gnu.org>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
gnu: gdb: Normalize indentation.
* gnu/packages/gdb.scm (gdb-10): Fix indentation and remove extraneous
newlines. Remove trailing #t.
(gdb-minimal): Fix indentation.
gnu: gdb: Patch references to /bin/sh and add debug output.
* gnu/packages/gdb.scm (gdb-10)[outputs]: Add a debug output.
[phases]{patch-paths}: New phase.
[inputs]: Add bash.
(gdb-9.2)[phases]{patch-paths}: Override phase.