* gnu/packages/gnome.scm (tracker-miners)[inputs]: Use the same libsoup
version as tracker.
(tracker)[inputs]: Warn that tracker-miners should
use the same version of libsoup.
Signed-off-by: Ricardo Wurmus <rekado@elephly.net>
Due to webkitgtk being built with libsoup@3, the pkg-config file it produces
corresponds to 'webkit2gtk-4.1' rather than 'webkit2gtk-4.0', which is the one
gnome-boxes need.
* gnu/packages/gnome.scm (gnome-boxes)[meson]: New argument.
[native-inputs]{libsoup}: Use libsoup-minimal-2.
{webkitgtk}: Use webkitgtk-with-libsoup2.
Now that we have a search path that honors it on gdk-pixbuf, it is more
valuable to keep it.
* gnu/packages/gnome.scm (librsvg)[phases]{pre-configure}: Install loaders,
cache file to locations derived from %gdk-pixbuf-loaders-cache-file.
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.