This change piggy backs on the improvements to the meson-build-system made in
dfcc96d8f48716ae5aefb383c58b153d5bcb407c; it's motivated by timeouts that
occurred in the GTK test suite while building on a heavily loaded machine.
* gnu/packages/gtk.scm (gtk)[parallel-tests]: New argument.
[test-options]: New argument, which now includes --suite=gtk and
--no-suite=gsk-compare-broadway, to match what upstream uses.
[phases]{check}: Remove override.
The newer meson 0.60 failed the build because the jasper flag no longer
exists.
* gnu/packages/gtk.scm (gdk-pixbuf)[configure-flags]<jasper>: Remove configure
flag.
[phases]{patch-docbook}: Remove condition and TODO comment.
[inputs]: Remove jasper.
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.
Fixes <https://issues.guix.gnu.org/50957>.
The previous commit added a profile hook to compute a gdk-pixbuf loaders cache
file. This change enables gdk-pixbuf to make use of it.
* gnu/packages/gtk.scm (gdk-pixbuf)[native-search-paths]: Add a search path
specification to set the GDK_PIXBUF_MODULE_FILE environment variable.
* gnu/packages/gtk.scm (gtk+)[arguments]: Import the (guix build
glib-or-gtk-build-system) module and put it in scope.
[phases]{generate-gdk-pixbuf-loaders-cache-file}: New phase.
(gtk): Likewise.
* 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.
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.
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>
* gnu/packages/gtk.scm (gtksheet)[arguments]: Pass -fcommon option to GCC;
rename phase 'rename-type to 'patch-for-compatibility and update a reference
to a renamed macro.
* gnu/packages/gtk.scm (gtk): New variable.
* gnu/packages/patches/gtk4-respect-GUIX_GTK4_PATH.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/gtk.scm
(at-spi2-core)[arguments]<#:phases>{patch-docbook-sgml}: Look up
"docbook-sxml" in 'native-inputs' instead of 'inputs' when cross-compiling.
* gnu/packages/gtk.scm
(at-spi2-core)[arguments]<#:configure-flags>: Set docs=false when
cross-compiling.
(at-spi2-core)[arguments]<#:phases>{move-documentation}: Remove when
cross-compiling.
If absent, this causes the 'glib-or-gtk-wrap' phase to fail.
* gnu/packages/glib.scm
(cairo)[inputs]: Add "bash-minimal", but only when cross-compiling
to avoid a world-rebuild.
On non-x86_64 platforms, gtk+ is linked with a gdk-pixbuf version that
doesn’t support SVG. This causes the ‘icontheme’ test to fail because it
tries to fetch SVG icons in some of the tests.
Therefore, we need to disable the test when SVG support isn’t available.
* gnu/packages/gtk.scm (gtk+)[propagated-inputs]: Use the ‘target-x86-64?’
convenience function.
[arguments]<#:phases>{disable-failing-tests}: Disable ‘icontheme’ test on
non-x86_64 platforms.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* gnu/packages/patches/gtk-doc-respect-xml-catalog.patch: New file.
* gnu/local.mk (DIST_PATCH_DATA): Add it.
* gnu/packages/gtk.scm (gtk-doc): Update to 1.33.2.
[source]: Add gtk-doc-respect-xml-catalog.patch patch.
[build-system]: Switch to meson.
[arguments]: Remove fix-docbook phase.
Remove configure flags that are no longer needed.
[outputs]: Remove the help output since the help-dir option no longer exists.