commit:     59cbab4852ff6d2a787101c0add3109170ee9ed4
Author:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 12 03:56:26 2022 +0000
Commit:     Matt Turner <mattst88 <AT> gentoo <DOT> org>
CommitDate: Tue Apr 12 17:38:53 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=59cbab48

media-gfx/graphviz: Fix automatic dependency on x11-libs/gtk+:2

There was a collection of errors that lead here:

- In bug #682520 it was reported that IUSE=gdk-pixbuf didn't add any
  dependencies, so it should be enabled unconditionally. The maintainer
  enabled gdk-pixbuf unconditionally (but, see later items) in commit
  9d4127b9ff8 ("media-gfx/graphviz: enable gdk-pixbuf unconditionally")
  rather than recognizing that graphviz was missing a dependency on
  x11-libs/gdk-pixbuf.

- But in that fix, the maintainer replaced the already-wrong
  $(use_enable gdk-pixbuf) with --enable-gdk-pixbuf, whereas the correct
  option was --with-gdk-pixbuf.

- The maintainer apparently recognized that it needed a dependency on
  x11-libs/gdk-pixbuf, so he added it in commit 39994ea59fb
  ("media-gfx/graphviz: add missing x11-libs/gdk-pixbuf dep") but for
  some reason added it to BDEPEND instead of DEPEND/RDEPEND. This was
  pointed out in 682520#c3 and 682520#c4 but not acted on.

- In bug #828552 it was reported that --enable-gdk-pixbuf was an unknown
  argument to ./configure. As a result, it was removed in commit
  066d7617103 ("media-gfx/graphviz: remove unknown configure
  arguments"), rather than switching to the correct --with-gdk-pixbuf
  argument.

gdk-pixbuf is used by the libgvplugin_gdk.so plugin. It is used only if
both --with-gdk and --with-gdk-pixbuf are used (both are enabled if not
specified).

The --with-gdk option requires gdk-2.0.pc, which is provided by
x11-libs/gtk+:2. The --with-gdk-pixbuf option requires
gdk-pixbuf-2.0.pc, which is provided by x11-libs/gdk-pixbuf:2. Since
gdk-pixbuf is linked in only if x11-libs/gtk+:2 is enabled, control its
usage with the existing IUSE=gtk flag.

Bug: https://bugs.gentoo.org/682520
Bug: https://bugs.gentoo.org/828552
Closes: https://bugs.gentoo.org/824054
Closes: https://github.com/gentoo/gentoo/pull/25000
Signed-off-by: Matt Turner <mattst88 <AT> gentoo.org>

 .../{graphviz-2.49.0.ebuild => graphviz-2.49.0-r1.ebuild}    | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/media-gfx/graphviz/graphviz-2.49.0.ebuild 
b/media-gfx/graphviz/graphviz-2.49.0-r1.ebuild
similarity index 97%
rename from media-gfx/graphviz/graphviz-2.49.0.ebuild
rename to media-gfx/graphviz/graphviz-2.49.0-r1.ebuild
index f4eaa25110c0..f831828904a5 100644
--- a/media-gfx/graphviz/graphviz-2.49.0.ebuild
+++ b/media-gfx/graphviz/graphviz-2.49.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=7
@@ -41,7 +41,10 @@ RDEPEND="
                >=x11-libs/pango-1.12
        )
        devil? ( media-libs/devil[png,jpeg] )
-       gtk? ( x11-libs/gtk+:2 )
+       gtk? (
+               x11-libs/gdk-pixbuf:2
+               x11-libs/gtk+:2
+       )
        gts? ( sci-libs/gts )
        guile? ( dev-scheme/guile )
        java? ( >=virtual/jre-1.8:* )
@@ -71,7 +74,6 @@ DEPEND="${RDEPEND}
 BDEPEND="
        sys-devel/flex
        sys-devel/libtool
-       x11-libs/gdk-pixbuf:2
        virtual/pkgconfig
        doc? (
                app-text/ghostscript-gpl
@@ -101,7 +103,7 @@ BDEPEND="
 #   needs 'pangocairo' enabled in graphviz configuration
 #   gtk-2 depends on pango, cairo and libX11 directly.
 # - gdk-pixbuf
-#   Disabled, GTK-1 junk.
+#   Directly depends on gtk-2 and gdk-pixbuf.
 # - glitz
 #   Disabled, no particular reason
 #   needs 'pangocairo' enabled in graphviz configuration
@@ -190,6 +192,8 @@ src_configure() {
                --enable-ltdl
                $(use_with cairo pangocairo)
                $(use_with devil)
+               $(use_with gtk gdk)
+               $(use_with gtk gdk-pixbuf)
                $(use_with gtk)
                $(use_with gts)
                $(use_with qt5 qt)

Reply via email to