Commit graph

87192 commits

Author SHA1 Message Date
Maxim Cournoyer 1abc9cae28
gnu: graphviz: Update to 2.49.0.
* gnu/packages/graphviz.scm (graphviz): Update to 2.49.0.
2021-11-11 12:18:15 -05:00
John Kehayias 3b9b685d05
gnu: mesa: Update to 21.2.4.
* gnu/packages/patches/mesa-skip-tests.patch: Adjust for current version.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-11-11 12:18:15 -05:00
Maxim Cournoyer 50db3459cb
gnu: inkscape: Remove the legacy 0.92 version.
The older 0.92 Inkscape package was previously kept because of problems
building lib2geom on the ARM architectures.  As this no longer appears to be a
problem (tested on the overdrive1 machine), finally replace the older Inkscape
by the newer 1.1 release.

* gnu/packages/inkscape.scm (inkscape-1.1): Delete variable, moving the
package definition to...
(inkscape): ... the now single inkscape variable.  Remove trailing #t.
[tests?]: Remove.
[phases]{generate-gdk-pixbuf-loaders-cache-file}: Add phase.
2021-11-11 12:18:15 -05:00
Maxim Cournoyer 9b6a23e524
gnu: rest: Use libsoup-minimal.
This is needed to prevent a dependency cycle between Inkscape and GTK+.

* gnu/packages/gnome.scm (rest)[propagated-inputs]
{libsoup}: Use the minimal variant.
2021-11-11 12:18:15 -05:00
Maxim Cournoyer 3790372979
gnu: gusb-minimal: Introduce minimal variant.
This is needed to prevent a dependency cycle between Inkscape and GTK+.

* gnu/packages/gnome.scm (gusb-minimal): New variable.
[configure-flags]: Disable docs.
[native-inputs]: Remove gtk-doc.
(gusb): Rewrite in terms of gusb-minimal.
[configure-flags]: Enable docs.
[native-inputs]: Add gtk-doc.
2021-11-11 12:18:14 -05:00
Maxim Cournoyer 0195d4b1c3
gnu: libcloudproviders-minimal: Introduce minimal variant.
* gnu/packages/gnome.scm (libcloudproviders-minimal): New minimal variant that
doesn't require Inkscape to be built (through gtk-doc).
[source]: Adjust URI.
[outputs]: Remove field.
[configure-flags]: Disable introspection, docs and vala bindings.
[phases]{move-doc}: Move phase to ...
(libcloudproviders)[phases]: ... here.
Rewrite in terms of libcloudproviders-minimal.  The "doc" output is moved
here.
[configure-flags]: Clear inherited flags and enable doc.
* gnu/packages/gtk.scm (gtk+)[inputs]{libcloudproviders}: Use the minimal
variant to prevent a cycle with Inkscape.
2021-11-11 12:18:14 -05:00
Maxim Cournoyer 8dec1804a5
gnu: colord-minimal: Introduce minimal variant.
* gnu/packages/gnome.scm (colord-minimal): New minimal variant that doesn't
require Inkscape to be built (through gtk-doc).  Remove trailing #t.
[configure-flags]: Disable docs and manpage generation.  Sort order.
(colord): Rewrite in terms of colord-minimal.
[configure-flags]: Enable manpages and bash completion.
[phases]{fix-bash-completion-dir}: New phase.
[native-inputs]: Add bash_completion, docbook-xsl-ns and libxml2.
* gnu/packages/gtk.scm (gtk+)[inputs]{colord}: Use the colord-minimal variant
to prevent a cycle with Inkscape.
2021-11-11 12:18:14 -05:00
Maxim Cournoyer 0dc52fc25a
gnu: Add docbook-xsl-ns.
* gnu/packages/docbook.scm (docbook-xsl-ns): New variable.
2021-11-11 12:18:14 -05:00
Maxim Cournoyer ff28af501d
gnu: json-glib-minimal: Introduce minimal variant.
* gnu/packages/gnome.scm (json-glib-minimal): New variable.
[source]: Adjust URI.
[outputs]: Move doc output to...
(json-glib)[outputs]: ... here.  Rewrite in terms of json-glib-minimal.
* gnu/packages/gtk.scm (gtk+): Use json-glib-minimal to break a cycle with
Inkscape.
2021-11-11 12:18:14 -05:00
Maxim Cournoyer d1be2661ca
gnu: lsof: Fix indentation.
* gnu/packages/lsof.scm (lsof): Fix indentation.
2021-11-11 12:18:13 -05:00
Maxim Cournoyer 46ecaa46b5
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.
2021-11-11 12:18:13 -05:00
Maxim Cournoyer 781f475bba
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.
2021-11-11 12:18:13 -05:00
Maxim Cournoyer 2971472e79
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.
2021-11-11 12:18:13 -05:00
Maxim Cournoyer 889eebc185
build: glib-or-gtk-build-system: Fix indentation.
* guix/build/glib-or-gtk-build-system.scm (gtk-module-directories)
(wrap-all-programs): Fix indentation.
2021-11-11 12:18:13 -05:00
Maxim Cournoyer eb619cda36
build: glib-or-gtk-build-system: Simplify the wrap-all-programs phase.
* guix/build/glib-or-gtk-build-system.scm (wrap-all-programs)
<handle-output>: Precisely build the list of variable specifications, rather
than relying on a bunch of conditionals.
2021-11-11 12:18:12 -05:00
Maxim Cournoyer 802307fe6f
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.
2021-11-11 12:18:12 -05:00
Maxim Cournoyer 0136d81580
gnu: python-pathlib2: Update to 2.3.6.
* gnu/packages/python-xyz.scm (python-pathlib2): Update to 2.3.6.
2021-11-11 12:18:12 -05:00
Maxim Cournoyer dac3ba0d40
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.
2021-11-11 12:18:12 -05:00
Maxim Cournoyer e3f172b1ad
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.
2021-11-11 12:18:12 -05:00
Maxim Cournoyer a6d9dbb1b2
gnu: Add python-tomli.
* gnu/packages/python-build.scm (python-tomli): New variable.
2021-11-11 12:18:11 -05:00
Maxim Cournoyer 9587833688
gnu: Add python-flit-core.
* gnu/packages/python-build.scm (python-flit-core): New variable.
2021-11-11 12:18:11 -05:00
Maxim Cournoyer b734ce06e1
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.
2021-11-11 12:18:11 -05:00
Maxim Cournoyer 05e3638bb9
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.
2021-11-11 12:18:11 -05:00
Maxim Cournoyer c738a054ca
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.
2021-11-11 12:18:10 -05:00
Maxim Cournoyer 9635119a61
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.
2021-11-11 12:18:10 -05:00
Maxim Cournoyer bc4149818d
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.
2021-11-11 12:18:10 -05:00
Maxim Cournoyer 33133a6ed3
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.
2021-11-11 12:18:10 -05:00
Maxim Cournoyer 6d7a0b84e2
gnu: glade3: Remove sitecustomize.py workaround.
The issue has since been resolved.

* gnu/packages/gnome.scm (glade3)[phases]{fix-tests}: Delete phase.
2021-11-11 10:31:33 -05:00
Maxim Cournoyer 874188c0ab
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>
2021-11-11 10:31:32 -05:00
Maxim Cournoyer ac4417328d
guix: packages: Fix repacking of plain tarballs.
Fixes <https://issues.guix.gnu.org/50066>.

* guix/packages.scm (patch-and-repack): Test for a tarball using tarball? and
move the plain file copy to the else clause.

Reported-by: Mathieu Othacehe <othacehe@gnu.org>
2021-11-11 10:31:32 -05:00
Maxim Cournoyer 8a613f9d4e
gnu: gdb: Normalize indentation.
* gnu/packages/gdb.scm (gdb-10): Fix indentation and remove extraneous
newlines.  Remove trailing #t.
(gdb-minimal): Fix indentation.
2021-11-11 10:31:32 -05:00
Maxim Cournoyer 41f058d10d
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.
2021-11-11 10:31:32 -05:00
Maxim Cournoyer 472da854f1
gnu: Add ld-gold-wrapper.
* gnu/packages/commencement.scm (ld-gold-wrapper): New variable.
2021-11-11 10:31:32 -05:00
Maxim Cournoyer 8b1dfc144b
gnu: make-ld-wrapper: Add a LINKER argument.
This allows creating wrappers for other linkers than "ld", such as "ld.gold".

* gnu/packages/base.scm (make-ld-wrapper): New variable.
[linker]: New argument.  Update doc.
<ld>: Use LINKER to derive the linker source.
2021-11-11 10:31:31 -05:00
Thiago Jung Bauermann b04a20f77f
gnu: gcc-5: Fix powerpc64le-linux build
GCC 5 has a misaligned access to a vector pointer which causes a build failure
when using GCC 8 and later.  Backport upstream fix that was applied on the GCC
6 branch.

* gnu/packages/gcc.scm (gcc-5)[source]: Apply
gcc-5-fix-powerpc64le-build.patch.
* gnu/packages/patches/gcc-5-fix-powerpc64le-build.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-11-11 10:31:31 -05:00
Sarah Morgensen 460d6aca0c
gnu: curl: Honor #:tests?.
* gnu/packages/curl.scm (curl)[phases]{check}: Honor #:tests?.
2021-11-11 10:31:31 -05:00
Brendan Tildesley 3dfe45c3f1
build: qt-utils: Don't wrap .X-real files.
* guix/build/qt-utils.scm (find-files-to-wrap): Exclude already wrapped
programs.  This is forbidden in wrap-program now due to a738a663a9.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-11-11 10:31:31 -05:00
Thiago Jung Bauermann 57fd6d511c
gnu: diffutils: Update to 3.8.
‘coreutils-gnulib-tests.patch’ is applied in the gnulib version shipped
with 3.8.

* gnu/packages/base.scm (diffutils): Update to 3.8.
[source]: Do not apply coreutils-gnulib-tests.patch.

Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-11-11 10:31:30 -05:00
Thiago Jung Bauermann f234f5b0e1
gnu: diffutils: Fix signal processing.
diffutils has a race condition in its signal processing code which is easy to
trigger on powerpc64le-linux.  More often than not, it causes the ‘colors’
test to fail and therefore the build of the package fails as well.

Add the patch proposed in Debian bug 922552 which fixes the problem.

* gnu/packages/patches/diffutils-fix-signal-processing.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/base.scm (diffutils)[source]: Use it.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-11-11 10:31:30 -05:00
Thiago Jung Bauermann 4b4e35a771
gnu: gtk+-2: Fix ‘builder’ test.
The signal callbacks in the ‘builder’ testcase have wrong prototypes.
This causes it to fail the “/Builder/Signal Autoconnect” test on
powerpc64le-linux.

Solve the problem by backporting the upstream fix that was applied to
GTK+ 3.0.

* gnu/packages/patches/gtk2-fix-builder-test.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gtk.scm (gtk+-2): Use it.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-11-11 10:31:30 -05:00
Leo Famulari af8b03b4e2
gnu: tzdata: Update to 2021e.
* gnu/packages/base.scm (tzdata, tzdata-for-tests): Update to 2021e.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-11-11 10:31:30 -05:00
Ludovic Courtès 8c801194b5
gnu: glibc: Look for the current timezone in /etc/localtime.
Fixes <https://issues.guix.gnu.org/50830>.
Reported by podiki on #guix.

Previously, glibc 2.33 would look for
/gnu/store/...-glibc-2.33/etc/localtime instead of /etc/localtime.

* gnu/packages/base.scm (glibc)[arguments]: Remove #:make-flags.
[phases]: In 'pre-configure', modify 'inet/Makefile' instead of
'sunrpc/Makefile' since this is where these bits are in 2.33.
(glibc-2.31)[arguments]: Add 'set-etc-rpc-installation-directory'
phase.
(glibc-2.30): Inherit from GLIBC-2.31.
* gnu/tests/base.scm (run-basic-test)["libc honors /etc/localtime"]: New
test.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-11-11 10:31:29 -05:00
Ludovic Courtès 24e5cf5184
gnu: glibc: Remove unneeded nscd patching.
This change had no effect already in glibc 2.29, which has proper
versioning.

* gnu/packages/base.scm (glibc)[arguments]: Remove obsolete
'nscd/nscd_stat.c' 'substitute*' statement.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2021-11-11 10:31:29 -05:00
Maxim Cournoyer 8b11b4a829
gnu: python-keras: Skip a flaky test.
* gnu/packages/machine-learning.scm (python-keras)
[phases]{check}: Also skip the test_stateful_metrics test.
2021-11-11 10:31:29 -05:00
Brice Waegeneire 7b38a96829
bluez: Update to 5.61.
* gnu/packages/linux.scm (bluez): Update to 5.61.
2021-11-11 10:31:29 -05:00
Maxim Cournoyer a91c3d336c
gnu: libnice: Update to 0.1.18-0.47a9633 and disable test-bind test.
This resolves a build failure following the GStreamer update to 1.18.5.

* gnu/packages/networking.scm (libnice): Update to 0.1.18-0.47a9633.
[phases]{disable-failing-tests}: Comment out rather than delete
test-set-port-range; disable the bind test, which is flaky.
2021-11-11 10:31:29 -05:00
Maxim Cournoyer 81bda13ad2
gnu: dbus-c++: Fix build.
* gnu/packages/glib.scm (dbus-c++)[inputs]: Add libunwind.
2021-11-11 10:31:28 -05:00
Maxim Cournoyer 11e7a534f7
gnu: python-keras: Enable parallel tests.
* (python-keras)[phases]: Delete trailing #t.
{check}: Honor TESTS?.  Run the tests in parallel.  Disable PEP8 lint.
2021-11-11 10:31:28 -05:00
Maxim Cournoyer 92c3d1c3d0
gnu: tensorflow: Enable parallel build (at least partially).
There are still many parts of the build that happen sequentially, but at least
this hastens the long build somewhat.

* gnu/packages/machine-learning.scm (tensorflow)[phases]: Remove trailing #t.
{build-pip-package}: Honor the PARALLEL-BUILD? argument.
2021-11-11 10:31:28 -05:00
Maxim Cournoyer a91eaf1bdc
gnu: gstreamer-docs: Update to 1.18.5.
* gnu/packages/gstreamer.scm (gstreamer-docs): Update to 1.18.5.  Delete
trailing #t.
2021-11-11 10:31:28 -05:00