Commit graph

87355 commits

Author SHA1 Message Date
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
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