Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 834593 - x11-misc/xscreensaver-6.03 fails to configure when USE +gtk but -gdk-pixbuf
Summary: x11-misc/xscreensaver-6.03 fails to configure when USE +gtk but -gdk-pixbuf
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks:
 
Reported: 2022-03-04 21:10 UTC by Pascal Jäger
Modified: 2022-10-30 09:40 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,24.83 KB, text/x-log)
2022-03-04 21:10 UTC, Pascal Jäger
Details
emerge --info (emerge --info,13.63 KB, text/plain)
2022-03-04 21:10 UTC, Pascal Jäger
Details
emerge -pqv (emerge -pqv,195 bytes, text/plain)
2022-03-04 21:11 UTC, Pascal Jäger
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Pascal Jäger 2022-03-04 21:10:20 UTC
Created attachment 766257 [details]
build.log

When xscreensaver is emerged with USE= gtk -gdk-pixbuf, the build fails in the configure phase even though in the log it just shows a warning because GTK is being used but there is no GDK-Pixbuf.

I think gtk is a USE-Flag that should depend on USE-flag gdk-pixbuf instead of being independent from each other.
Comment 1 Pascal Jäger 2022-03-04 21:10:44 UTC
Created attachment 766258 [details]
emerge --info
Comment 2 Pascal Jäger 2022-03-04 21:11:04 UTC
Created attachment 766259 [details]
emerge -pqv
Comment 3 Tom Gillespie 2022-07-11 08:14:20 UTC
This issue is a bit more tangled (I'm looking at 6.04). If you set -gdk-pixbuf then in theory you should be able to get everything to build if you add -gtk and -png. However the ebuild has an incorrect use flag dependency stating that opengl requires png to be enabled, which is false.
Comment 4 Pascal Jäger 2022-10-17 09:21:46 UTC
I filed a bug upstream because this is a just a warning, which is kind of confusing.
Comment 5 Pascal Jäger 2022-10-17 10:20:05 UTC
This IS really tangled.
So, as far as I can tell the problem here is, that you have to have either --with-gtk or --with-motif, otherwise make install will fail. Since we do --without-motif in the ebuild, there is not much sense in having gtk as a use-flag. 

Then on the other hand, the build is fine as long as I do things manually. (So ./configure, make, make install) but it's not when I do it in portage. I think that is a problem of the configure.ac script. This one exits with status 1 as soon as there is a warning. Portage interprets this as an error end exits.
Comment 6 Pascal Jäger 2022-10-18 08:48:38 UTC
Just for future reference on how this works: 

As I initially thought --with-gtk and --with-motif controls which kind of toolkit is used to display the xscreensaver-settings menu. 
BUT: Motif is unmaintained and we therefore do --without-motif in the ebuild. 

Now this would render the USE-flag --with-gtk obsolete, it it weren't for the non-gtk install patch (https://github.com/gentoo/gentoo/blob/master/x11-misc/xscreensaver/files/xscreensaver-6.01-non-gtk-install.patch)

So, it is possible to build with --without-gtk and --without-motif now. One just don't get the xscreensaver-settings program. 

Now coming to this bug. --without-gtk and --without-motif fails in because upstream does not support building it without both anymore. (I guess, could be a mistake as well rather than a conscious decision.) Therefore we need to disable some exit codes of the configure.ac script. This (among other things) is what I am doing with the new patch for version 6.05 (https://github.com/gentoo/gentoo/pull/27807/files#diff-c0b4ea605f12bf14d09ac50a40ac7f24e8f9dbb915e8ddbf3c9a9c651ea53adc, line 12 in the patch)

This will give us the ability back to build with USE="-gtk -gdk-pixbuf -png". (line 20 and 28 in the patch)
This patch also alters the exit code for when gtk is found but gdk-pixbuf is not. (I think this is a mistake by upstream, because the script even mentions that it should be possible to use the png library when gdk-pixbuf is not found.

I wrote upstream a bug report via email for both problems. I think at least the latter should be fixed.
Comment 7 Larry the Git Cow gentoo-dev 2022-10-30 09:40:16 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=79d3bbef1b508c36bf1f88481a9d791098b438cd

commit 79d3bbef1b508c36bf1f88481a9d791098b438cd
Author:     Pascal Jäger <pascal.jaeger@leimstift.de>
AuthorDate: 2022-10-16 17:14:35 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-10-30 09:37:56 +0000

    x11-misc/xscreensaver: version bump to 6.05
    
    * New patch for handsys manners
    * Building with USE="-opengl" is not supported anymore
    * Also added a patch for -gtk builds, set GTK_SHAREDIR because when build
      with USE="-gtk" it is not set and then installs .service file into /
    * Building with USE="-xft" is not supported anymore
    * Delete .service file when USE="-systemd"
    
    Closes: https://bugs.gentoo.org/869218
    Closes: https://bugs.gentoo.org/851057
    Closes: https://bugs.gentoo.org/834593
    Closes: https://bugs.gentoo.org/851834
    Closes: https://bugs.gentoo.org/830777
    Signed-off-by: Pascal Jäger <pascal.jaeger@leimstift.de>
    Signed-off-by: Sam James <sam@gentoo.org>

 x11-misc/xscreensaver/Manifest                     |   1 +
 .../xscreensaver-6.05-configure-exit-codes.patch   |  29 +++
 ...screensaver-6.05-remove-update-icon-cache.patch |  13 ++
 ...creensaver-6.05-teach-handsy-some-manners.patch |  42 ++++
 x11-misc/xscreensaver/metadata.xml                 |   9 +-
 x11-misc/xscreensaver/xscreensaver-6.05.ebuild     | 243 +++++++++++++++++++++
 6 files changed, 336 insertions(+), 1 deletion(-)