Commit graph

87206 commits

Author SHA1 Message Date
Maxim Cournoyer a46b8bbfab
gnu: pulseaudio: Add doxygen to fix build.
* gnu/packages/pulseaudio.scm (pulseaudio)[native-inputs]: Add doxygen.
2021-11-11 12:18:18 -05:00
Maxim Cournoyer 26457b40fa
gnu: webkitgtk: Use libsoup 3 and build with GCC.
Clang is not needed when building with libsoup 3.

* gnu/packages/webkit.scm (webkitgtk): Delete trailing #t.
[configure-flags]: Remove -DUSE_SOUP2.
[phases]{prepare-build-environment}: Remove phase.
[native-inputs]: Remove clang.
2021-11-11 12:18:18 -05:00
Maxim Cournoyer f7d88cd470
gnu: libsoup: Update to 3.0.1.
* gnu/packages/gnome.scm (libsoup-minimal): Update to 3.0.1.
[modules]: Delete argument.
[phases]{adjust-tests}: Re-enable ssl-test.
[native-inputs]: Add gnutls, for tests.  Move nghttp2:lib to...
[propagated-inputs]: ... here.  Add nghttp2, which contains the pkg-config
files.
(vala-0.52): Add older variant.
(libsoup-minimal-2): New variable.
(rest)[propagated-inputs]: Use libsoup-minimal-2.
(geoclue)[inputs]: Likewise.
* gnu/packages/inkscape.scm (inkscape)[inputs]: Likewise.
2021-11-11 12:18:18 -05:00
Maxim Cournoyer 698e6f17bb
gnu: libsoup: Reverse inheritance relationship with libsoup-minimal.
Because starting small and adding more on top is easier maintenance-wise than
the reverse.

* gnu/packages/gnome.scm (libsoup-minimal): New variable, made by stripping
all doc-related output, phases and inputs from libsoup.
[outputs]: Remove doc output.
[configure-flags]: Set gtk_doc option to false.
[phases]{patch-docbook-xml, move-doc}: Remove phases.
[native-inputs]{docbook-xml-4.1.2, gtk-doc}: Remove inputs.
(libsoup): Inherit from the above.
[outputs]: Re-add "doc" output.
[configure-flags]: Set gtk_doc option to true.
[phases]{patch-docbook-xml, move-doc}: Re-add phases.
[native-inputs]{docbook-xml-4.1.2, gtk-doc}: Re-add inputs.
2021-11-11 12:18:17 -05:00
Maxim Cournoyer 22ebc35efd
gnu: vala: Update to 0.54.2.
* gnu/packages/gnome.scm (vala): Update to 0.54.2.  Delete trailing #t.
2021-11-11 12:18:17 -05:00
Maxim Cournoyer 60e2a3bd5e
gnu: glib-networking: Update to 2.70.rc.
This resolves test suite errors following the upgrade to glib 2.70.

* gnu/packages/gnome.scm (glib-networking): Update to 2.70.rc.
2021-11-11 12:18:17 -05:00
Maxim Cournoyer f22f6fc3b6
gnu: glib: Update to 2.70, specify a bindir prefix and hide package.
* gnu/packages/glib.scm (glib): Update to 2.70.  Remove trailing #t.
[outputs]: Add a debug output.
[configure-flags]: Specify --bindir and disable manpage generation.
[phases]{disable-failing-tests}: Disable the flaky testfilemonitor test.
{move-static-libraries}: Use rename-file instead of link and delete.
{move-bin}: Rename to...
{patch-pkg-config-files}: ... this, and adjust the substitutions.
[native-inputs]: Remove docbook-xsl, libxml2 and libxslt.
[properties]: Re-add the hidden? property that commit 18f73d8041 had
temporarily removed.
(glib-with-documentation)[properties]: Revert to a visible package.
[native-inputs]: Add docbook-xsl and libxslt.
[configure-flags]: Delete the inherited "-Dman=false" flag.
2021-11-11 12:18:17 -05:00
Maxim Cournoyer 6d08d40cfa
gnu: libthai: Make datrie a normal native-input.
* gnu/packages/gtk.scm (libthai)[native-input]: Remove conditional on the
datrie input.
2021-11-11 12:18:17 -05:00
Maxim Cournoyer b071402d35
gnu: pango: Update to 1.48.10.
* gnu/packages/gtk.scm (pango): Update to 1.48.10.  Remove trailing #t.
[inputs]: Remove conditional on the bash-minimal input.
2021-11-11 12:18:16 -05:00
Maxim Cournoyer 0d56844268
gnu: heimdal: Fix build.
* gnu/packages/kerberos.scm (heimdal): Remove trailing #t.
[inputs]: Add mit-krb5.  Add bash-minimal inconditionally.
[native-inputs]: Add perl inconditionally.
2021-11-11 12:18:16 -05:00
Maxim Cournoyer 3026644104
gnu: util-linux: Globally disable the lsns test.
Justification: the test also failed on the CI for x86_64 and caused an
evaluation to fail.

* gnu/packages/linux.scm (util-linux)[phases]{disable-lsns-test}: Disable
globally.
2021-11-11 12:18:16 -05:00
Maxim Cournoyer ee394937bc
gnu: mit-krb5: Absorb 1.19.2 graft.
* gnu/packages/kerberos.scm (mit-krb5)[replacement]: Remove.
[source]: Update to 1.19.2.
(mit-krb5-1.19.2): Delete variable.
2021-11-11 12:18:16 -05:00
Maxim Cournoyer a095d983ea
gnu: openssl: Absorb 1.1.1l graft.
* gnu/packages/tls.scm (openssl)[replacement]: Remove.
[source]: Update to 1.1.1l.  Fix indentation.
* gnu/packages/tls.scm (openssl-1.1.1l): Delete variable.
2021-11-11 12:18:16 -05:00
Maxim Cournoyer 6933a32b8b
gnu: cmake-bootstrap: Update to 3.21.3.
* gnu/packages/cmake.scm (cmake-bootstrap): Update to 3.21.3.
(cmake)[source]: Delete field, updating the package to 3.21.3 also.  Remove
trailing #t.
(%common-disabled-tests) <CMake.FileDownload>: Add test.
2021-11-11 12:18:15 -05:00
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