commit:     21f822f4e1a07dde4d9d71afe8c582407c5c830d
Author:     Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 11 15:45:03 2025 +0000
Commit:     Eli Schwartz <eschwartz <AT> gentoo <DOT> org>
CommitDate: Fri Jun 13 07:14:21 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=21f822f4

media-gfx/geeqie: avoid automagic deps on gtk+[X]

e.g. the upstream code checks whether GDK_WINDOWING_X11 is defined
by the gtk headers, and if so will compile against the x11 symbols
it provides. This means that geeqie built on a system with gtk+[-X]
will be compatible with anything, but when built on a system with
gtk+[X], requires that at runtime.

Use a Gentoo-specific macro hack to hide the GTK implementations when we
don't want it, alongside new USE flags to control the dependency usage.

In this case, upstream supports wayland fine, but doesn't need any
backend-specific code for it. There are some X11-specific hacks.

Bug: https://bugs.gentoo.org/957840
Signed-off-by: Eli Schwartz <eschwartz <AT> gentoo.org>

 media-gfx/geeqie/{geeqie-2.5.ebuild => geeqie-2.5-r1.ebuild}   | 10 +++++++---
 .../geeqie/{geeqie-2.6-r1.ebuild => geeqie-2.6-r2.ebuild}      |  8 ++++++--
 media-gfx/geeqie/geeqie-9999.ebuild                            |  8 ++++++--
 3 files changed, 19 insertions(+), 7 deletions(-)

diff --git a/media-gfx/geeqie/geeqie-2.5.ebuild 
b/media-gfx/geeqie/geeqie-2.5-r1.ebuild
similarity index 92%
rename from media-gfx/geeqie/geeqie-2.5.ebuild
rename to media-gfx/geeqie/geeqie-2.5-r1.ebuild
index c5d6199a70b2..a106e768caf0 100644
--- a/media-gfx/geeqie/geeqie-2.5.ebuild
+++ b/media-gfx/geeqie/geeqie-2.5-r1.ebuild
@@ -4,7 +4,7 @@
 EAPI=8
 LUA_COMPAT=( lua5-{3,4} )
 
-inherit lua-single meson optfeature xdg
+inherit flag-o-matic lua-single meson optfeature xdg
 
 DESCRIPTION="A lightweight GTK image viewer forked from GQview"
 HOMEPAGE="https://www.geeqie.org";
@@ -18,11 +18,11 @@ 
SRC_URI="https://github.com/BestImageViewer/${PN}/releases/download/v${PV}/${P}.
 LICENSE="GPL-2"
 SLOT="0"
 KEYWORDS="amd64 ~arm64 ~ppc x86"
-IUSE="debug djvu exif ffmpegthumbnailer heif jpeg jpeg2k jpegxl lcms lua map 
pdf raw spell tiff webp xmp zip"
+IUSE="debug djvu exif ffmpegthumbnailer heif jpeg jpeg2k jpegxl lcms lua map 
pdf raw spell tiff webp X xmp zip"
 
 RDEPEND="gnome-extra/zenity
        virtual/libintl
-       x11-libs/gtk+:3
+       x11-libs/gtk+:3[X?]
        djvu? ( app-text/djvu )
        exif? ( >=media-gfx/exiv2-0.17:=[xmp?] )
        ffmpegthumbnailer? ( media-video/ffmpegthumbnailer )
@@ -64,6 +64,10 @@ src_prepare() {
 }
 
 src_configure() {
+       # defang automagic dependencies
+       # Currently only needed for X11-specific workarounds.
+       use X || append-flags -DGENTOO_GTK_HIDE_X11
+
        local emesonargs=(
                -Dgq_helpdir="share/doc/${PF}"
                -Dgq_htmldir="share/doc/${PF}/html"

diff --git a/media-gfx/geeqie/geeqie-2.6-r1.ebuild 
b/media-gfx/geeqie/geeqie-2.6-r2.ebuild
similarity index 94%
rename from media-gfx/geeqie/geeqie-2.6-r1.ebuild
rename to media-gfx/geeqie/geeqie-2.6-r2.ebuild
index ba2aa1e66664..a098e90f6496 100644
--- a/media-gfx/geeqie/geeqie-2.6-r1.ebuild
+++ b/media-gfx/geeqie/geeqie-2.6-r2.ebuild
@@ -18,11 +18,11 @@ 
SRC_URI="https://github.com/BestImageViewer/${PN}/releases/download/v${PV}/${P}.
 LICENSE="GPL-2"
 SLOT="0"
 KEYWORDS="~amd64 ~arm64 ~ppc ~x86"
-IUSE="debug djvu exif ffmpegthumbnailer heif jpeg jpeg2k jpegxl lcms lua map 
pdf raw spell tiff webp xmp zip"
+IUSE="debug djvu exif ffmpegthumbnailer heif jpeg jpeg2k jpegxl lcms lua map 
pdf raw spell tiff webp X xmp zip"
 
 RDEPEND="gnome-extra/zenity
        virtual/libintl
-       x11-libs/gtk+:3
+       x11-libs/gtk+:3[X?]
        djvu? ( app-text/djvu )
        exif? ( >=media-gfx/exiv2-0.17:=[xmp?] )
        ffmpegthumbnailer? ( media-video/ffmpegthumbnailer )
@@ -67,6 +67,10 @@ src_prepare() {
 }
 
 src_configure() {
+       # defang automagic dependencies
+       # Currently only needed for X11-specific workarounds.
+       use X || append-flags -DGENTOO_GTK_HIDE_X11
+
        local emesonargs=(
                -Dgq_helpdir="share/doc/${PF}"
                -Dgq_htmldir="share/doc/${PF}/html"

diff --git a/media-gfx/geeqie/geeqie-9999.ebuild 
b/media-gfx/geeqie/geeqie-9999.ebuild
index 595ed0326bb7..d95f888234e5 100644
--- a/media-gfx/geeqie/geeqie-9999.ebuild
+++ b/media-gfx/geeqie/geeqie-9999.ebuild
@@ -13,11 +13,11 @@ 
EGIT_REPO_URI="https://github.com/BestImageViewer/geeqie.git";
 
 LICENSE="GPL-2"
 SLOT="0"
-IUSE="debug djvu exif ffmpegthumbnailer heif jpeg jpeg2k jpegxl lcms lua map 
pdf raw spell tiff webp xmp zip"
+IUSE="debug djvu exif ffmpegthumbnailer heif jpeg jpeg2k jpegxl lcms lua map 
pdf raw spell tiff webp X xmp zip"
 
 RDEPEND="gnome-extra/zenity
        virtual/libintl
-       x11-libs/gtk+:3
+       x11-libs/gtk+:3[X?]
        djvu? ( app-text/djvu )
        exif? ( >=media-gfx/exiv2-0.17:=[xmp?] )
        ffmpegthumbnailer? ( media-video/ffmpegthumbnailer )
@@ -57,6 +57,10 @@ src_prepare() {
 }
 
 src_configure() {
+       # defang automagic dependencies
+       # Currently only needed for X11-specific workarounds.
+       use X || append-flags -DGENTOO_GTK_HIDE_X11
+
        local emesonargs=(
                -Dgq_helpdir="share/doc/${PF}"
                -Dgq_htmldir="share/doc/${PF}/html"

Reply via email to