With the addition of a profile hook for computing the gdk-pixbuf loaders cache
file, there is no longer a need for gdk-pixbuf+svg, and librsvg can propagate
gdk-pixbuf without fear, so replace the former for the latter.
The replacement was automated with the following command:
$ git grep -l ',gdk-pixbuf+svg)' \
| xargs sed 's/(".*" ,gdk-pixbuf+svg)/("librsvg" ,librsvg)/' -i
* gnu/packages/gtk.scm (gdk-pixbuf+svg): Delete package.
(gtk+-2)[propagated-inputs]: Replace gdk-pixbuf+svg with librsvg.
(gtk+)[propagated-inputs]: Likewise.
* gnu/packages/gnome.scm (gdk-pixbuf+svg): Add deprecated package.
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.
This is needed to prevent a dependency cycle between Inkscape and GTK+.
* gnu/packages/gnome.scm (rest)[propagated-inputs]
{libsoup}: Use the 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.
* 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.
* 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.
* 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.
Fixes <https://issues.guix.gnu.org/50957>.
This reverts the following commits:
- 42231bc (gnu: cheese: Propagate gdk-pixbuf+svg rather than gdk-pixbuf)
- ad6a950 (gnu: mutter: Propagate gdk-pixbuf+svg rather than gdk-pixbuf)
- 5e02d1a (gnu: cogl: Propagate gdk-pixbuf+svg rather than gdk-pixbuf)
- 5c467b2 (gnu: libgweather: Propagate gdk-pixbuf+svg rather than gdk-pixbuf)
- 26487f6 (gnu: librsvg-next: Do not propagate gdk-pixbuf)
- d891922 (gnu: librsvg: Do not propagate gdk-pixbuf)
- 22476d3 (gnu: libgsf: Do not propagate gdk-pixbuf)
- 099ca0e (gnu: libnotify: Propagate gdk-pixbuf+svg rather than gdk-pixbuf)
- fb6a1ff (gnu: appstream-glib: Propagate gdk-pixbuf+svg rather than gdk-pixbuf)
- 4fb525d (gnu: weasyprint: Propagate gdk-pixbuf+svg rather than gdk-pixbuf)
These commits were made to resolve a gdk-pixbuf loaders clash that could occur
in a profile when both gdk-pixbuf and gdk-pixbuf+svg were propagated.
Unfortunately, librsvg really needs to propagate gdk-pixbuf itself, which
would introduce a cycle. Packages such as 'efl' were broken as a result of
not propagating gdk-pixbuf.
A more definitive fix will be proposed for core-updates, which includes a
profile hook to generate the gdk-pixbuf loaders.cache file, as well as a build
phase and search path specification, that should resolve the issue for good.
Propagating gdk-pixbuf rather than gdk-pixbuf+svg is dangerous as it clashes
with GTK+'s own gdk-pixbuf+svg propagation.
* gnu/packages/gnome.scm (cheese)[propagated-inputs]: Replace gdk-pixbuf by
gdk-pixbuf+svg.
Propagating gdk-pixbuf rather than gdk-pixbuf+svg is dangerous as it clashes
with GTK+'s own gdk-pixbuf+svg propagation.
* gnu/packages/gnome.scm (mutter)[propagated-inputs]: Replace gdk-pixbuf by
gdk-pixbuf+svg.
Propagating gdk-pixbuf rather than gdk-pixbuf+svg is dangerous as it clashes
with GTK+'s own gdk-pixbuf+svg propagation.
* gnu/packages/gnome.scm (cogl)[propagated-inputs]: Replace gdk-pixbuf by
gdk-pixbuf+svg.
Propagating gdk-pixbuf rather than gdk-pixbuf+svg is dangerous as it clashes
with GTK+'s own gdk-pixbuf+svg propagation.
* gnu/packages/gnome.scm (libgweather)[propagated-inputs]: Replace gdk-pixbuf by
gdk-pixbuf+svg.
Propagating gdk-pixbuf rather than gdk-pixbuf+svg is dangerous as it clashes
with GTK+'s own gdk-pixbuf+svg propagation.
* gnu/packages/gnome.scm (librsvg-next)[propagated-inputs]: Remove gdk-pixbuf.
[inputs]: Add gdk-pixbuf+svg.
Propagating gdk-pixbuf rather than gdk-pixbuf+svg is dangerous as it clashes
with GTK+'s own gdk-pixbuf+svg propagation.
* gnu/packages/gnome.scm (libnotify)[propagated-inputs]: Replace gdk-pixbuf by
gdk-pixbuf+svg.
The “engine” test hit the previous 90s time limit when cross-compiling
on a less powerful machine.
* gnu/packages/gnome.scm (dconf)[arguments]: Change timeout to 300s in
'increase-test-timeout phase. Drop trailing #t.
Signed-off-by: Tobias Geerinckx-Rice <me@tobias.gr>
Sorry for the noise, but good riddance. Our nonstandard name for this
package has caused confusion since it was added. For example, the
duplicate python-brotli and python-google-brotli packages added later,
with the latter name making even less sense.
The Python packages will be fixed in the next commit.
* gnu/packages/compression.scm (google-brotli): Redefine as a
deprecated-package, with…
(brotli): …restored to canonical status.
(python-google-brotli)[inherit]: Adjust accordingly.
* gnu/packages/databases.scm (apache-arrow)[inputs]: Adjust accordingly.
* gnu/packages/fontutils.scm (woff2)[inputs]: Likewise.
* gnu/packages/gnome.scm (libsoup)[propagated-inputs]: Likewise.
* gnu/packages/networking (wireshark)[inputs]: Likewise.
* gnu/packages/node.scm (node-lts)[arguments, native-inputs]: Likewise.
* gnu/packages/python-xyz.scm (python-imagecodecs)[inputs]: Likewise.
* gnu/packages/gnome.scm (brasero)[arguments]: Rename the
'embed-growisofs phase to 'embed-growisofs-reference. Get its
growisofs file name from the dvd+rw-tools input, not WHICH.
* gnu/packages/patches/gdm-wayland-session-wrapper-from-env.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gnome.scm (gdm): Use it.
* gnu/services/xorg.scm (<gdm-configuration>)[wayland-session]: New field.
(gdm-wayland-session-wrapper): New procedure.
(gdm-configuration-file): Point to this new procedure.
* doc/guix.texi (X Window): Update it.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
Add the optional flag `wayland?` in `gdm-configuration` to launch GDM with
Wayland, enabling the use of Wayland sessions with GDM.
* gnu/packages/patches/gdm-remove-hardcoded-xwayland-path.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gnome.scm (gdm): Use it.
* gnu/services/xorg.scm (<gdm-configuration>)[wayland?]: New field.
(gdm-configuration): Honor it.
(gdm-shepherd-service): Add the XCURSOR_PATH environment variable.
* doc/guix.texi (X Window): Document it
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>