From configure for qt4: -no-zlib ........... Do not compile in ZLIB support. Implies -no-libpng. That applies both for qt-4.3.1-r2 and qt-4.3.2 (latest version in portage, updated yesterday). In ebuilds, this dependency is absent, so USE="png -zlib" emerge =qt-4* silently produces qt without png support. I suggest put warning in ebuild for this case. Reproducible: Always Steps to Reproduce: USE="png -zlib" emerge =qt-4* Actual Results: media-sound/qmpdclient run with blank buttons net-im/psi-0.11-pre20070314 crashes with "Cannot load iconset" error so to say, qt-based programs run without png support
Created attachment 135843 [details, diff] Patch for x-11-libs/qt-4.3.2.ebuild Patch to insert warning about png+zlib flags dependency into ebuild.
Actually both zlib and png should be forced then, as you don't have any icons in the toolbars of Qt dev tools like QtAssistant without png support. There's a similar problem with gif btw.. E.g. Konqueror needs Qt 3 built with gif and in KDE 4 it will be the same with Qt 4. I'm pretty sure there are other applications affected as well. There are neither license nor patent issues, so from my POV let's remove gif, png and zlib use flags for good.
(In reply to comment #2) > There are neither license nor patent issues, so from my POV let's remove gif, > png and zlib use flags for good. > Actually, qt has optional bundled png and zlib support (gif isn't bundled). So, it may be reasonable to change behavior of use flags - not enable support, but switch from bundled version to external. I think about it tomorrow, and may be write patch for ebuild based upon this idea.
No, TeiSinTai. Applications should not use bundled, but shared libs. Linking statically means a lot more work, if relevant code is found to be vulnerable and in the worst case no one even remembers and the vulnerability remains in your system. Also statically linked libraries increase memory consumption.
Created attachment 135998 [details, diff] USE flags png,gif,zlinb removal (In reply to comment #4) > No, TeiSinTai. Applications should not use bundled, but shared libs. Linking > statically means a lot more work, if relevant code is found to be vulnerable > and in the worst case no one even remembers and the vulnerability remains in > your system. Also statically linked libraries increase memory consumption. > Oh, I see. Thank you for explanation. That means, replacing png and zlib USE flags with dependencies is a right way, just as you said initially. For gif flag it will be just removal without dependency, just enabling it by default.
fyi: I'm removing these flags in the 4.4x series (amongst other things).
Ok, I'm waiting for 4.4. Thanks for citing. P.S. As far as I understand bugzilla, it will be RESOLVED - LATER...
Yep. :) FYI: 4.4.0_rc1 is now in portage, masked. I'm doing lots of playing, but it's there if you want to do any experimentation.