Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 753905 - x11-misc/xscreensaver depends on gdk-pixbuf[X]
Summary: x11-misc/xscreensaver depends on gdk-pixbuf[X]
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Desktop Misc. Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 534330
  Show dependency tree
 
Reported: 2020-11-10 18:20 UTC by Matt Turner
Modified: 2020-11-20 00:32 UTC (History)
3 users (show)

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


Attachments
0001-x11-misc-xscreensaver-update-gdk-pixbuf-dep.patch (0001-x11-misc-xscreensaver-update-gdk-pixbuf-dep.patch,2.31 KB, patch)
2020-11-18 17:40 UTC, Ionen Wolkens
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Matt Turner gentoo-dev 2020-11-10 18:20:20 UTC
> checking for gdk-pixbuf-2.0... 2.42.0
> checking for gdk-pixbuf-xlib-2.0... no
> checking for gdk_pixbuf usability... no
[...]
>     Warning: GTK version 2.24.32 was found, but at least one supporting
>              library (gdk-pixbuf-xlib-2.0) was not, so GTK can't be used.
>              Perhaps some of the development packages are not installed?

gdk-pixbuf-xlib was removed in v2.42.0.
Comment 1 Duncan 2020-11-14 00:14:10 UTC
I emailed Jamie Zawinski, xscreensaver upstream (there's no public repo and no bug tracker, the website only has release tarballs and the same email address listed in the metadata), pointing out the removal of the previously deprecated gdk-pixbuf-xlib module, and that xscreensaver would need ported.

At first he tried to blame it on Gentoo.  When I pointed out (again, as I had in the first email) that it was upstream gdk-pixbuf simply removing gdk-pixbuf-xlib, which had been previously deprecated, that xscreensaver and that ultimately all distros would have the problem as they upgraded gdk-pixbuf, Gentoo simply being out front as it up the release the day after release(!), and that xscreensaver needed ported, this was his reply:

"""
Yes, I understand.

I'm still not interested in doing that work myself. Sorry!
"""

He did say patches accepted.

So he's waiting on... presumably one of the distro maintainers or users... to do whatever porting is necessary, and send him the patch.

Interesting attitude about "keeping software up to date" for an upstream maintainer of a package with a prominent FAQ entry that says about Debian and Red Hat shipping "ancient" software:

"""
This is bad and they should feel bad. You should use distros that give you the option of keeping your software up to date, and that understand that "stable" and "ancient" are not the same thing.
"""

Meanwhile, the worst of the problem is that while xscreensaver core still builds and runs without gdk-pixbuf-xlib, the GUI configurator, xscreensaver-demo, does not (something the gdk-pixbuf USE flag doesn't make clear, reading it you'd think it's not /that/ big a deal, just loss of some small fraction of certain image-using hacks' ability to use certain images).  Loss of the GUI configurator for what is after all an X/GUI package, when there's 200+ hacks to configure manually without it... isn't a small thing!


While all I know well enough to work with is bash so there's no possibility of my doing that porting, I've been toying with the idea of hacking up a script to replace xscreensaver-demo.  It'd either run from a terminal (possibly using dialog) or use xdialog/kdialog/zenity, and would obviously lose xscreensaver-demo's integrated hack-in-window, but could replace it by just calling the individual hacks to run in their own window.  The full-screen preview functionality would remain, and of course all the configuration is text-based so shouldn't be a big problem beyond just doing the slog-work of actually writing the script... and of course well-testing that it doesn't mess up the write-out to .xscreensaverrc so xscreensaver can still read it.  I've done equivalent or larger projects.

In the mean time, pending that or other further developments, I'm just keeping gdk-pixbuf-2.42.0 masked so I don't have to see portage complaining on every update about skipping the gdk-pixbuf upgrade due to the lost USE=X.
Comment 2 Ionen Wolkens gentoo-dev 2020-11-18 17:19:56 UTC
Unfortunate upstream isn't interested but given we have a x11-libs/gdk-pixbuf-xlib now (which is trivial and unlikely to break anytime soon), that can just be used even if not ideal.

Just have to replace the dep with:
	gdk-pixbuf? (
		|| (
			(
				x11-libs/gdk-pixbuf-xlib
				>=x11-libs/gdk-pixbuf-2.42.0:2
			)
			<x11-libs/gdk-pixbuf-2.42.0:2[X]
		)
	)

With the above xscreensaver pulled gdk-pixbuf-xlib and built fine.
Comment 3 Ionen Wolkens gentoo-dev 2020-11-18 17:40:52 UTC
Created attachment 672661 [details, diff]
0001-x11-misc-xscreensaver-update-gdk-pixbuf-dep.patch

Guess might as well provide a patch if case anyone wants to quick git-am it.

Given either || is fine believe it shouldn't harm anything nor need a revbump similarly to how icewm handled it (bug #753890)
Comment 4 Larry the Git Cow gentoo-dev 2020-11-20 00:32:27 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2129356c6a975d68516ba286206a2f5ec76f007f

commit 2129356c6a975d68516ba286206a2f5ec76f007f
Author:     Ionen Wolkens <sudinave@gmail.com>
AuthorDate: 2020-11-18 17:31:46 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2020-11-20 00:32:19 +0000

    x11-misc/xscreensaver: update gdk-pixbuf dep
    
    Closes: https://bugs.gentoo.org/753905
    Package-Manager: Portage-3.0.9, Repoman-3.0.2
    Signed-off-by: Ionen Wolkens <sudinave@gmail.com>
    Signed-off-by: Sam James <sam@gentoo.org>

 ...xscreensaver-5.38-r1.ebuild => xscreensaver-5.38-r2.ebuild} |  8 +++++++-
 ...xscreensaver-5.43-r3.ebuild => xscreensaver-5.43-r4.ebuild} |  8 +++++++-
 ...xscreensaver-5.44-r2.ebuild => xscreensaver-5.44-r3.ebuild} | 10 +++++++++-
 3 files changed, 23 insertions(+), 3 deletions(-)