All smokeqt ebuilds in the tree use $(cmake-utils_use_disable qwt Qwt5), but the smokeqt CMakeLists.txt is expecting the form "WITH_Qwt5", not "DISABLE_Qwt5". This causes a build failure when the qwt use-flag is not set, and qwt is not installed on the system. Switching the line to use $(cmake-utils_use_with qwt Qwt5) resolves the issue. Reproducible: Always
Could you please attach the build log (I wasn't able to reproduce locally)?
Created attachment 385284 [details] Failing build log
> ----------------------------------------------------------------------------- > -- The following external packages were located on your system. > -- This installation will have the extra features provided by these packages. > ----------------------------------------------------------------------------- > * Qwt5 for Qt4 - Qwt5 libraries for Qt4 Do you have a stray qwt.h somewhere?
I don't seem to. However, I have run some updates since running into this bug, including installing, including resolving smokeqt with the 'qwt' useflag. I can't seem to repro this anymore -- removing qwt and unsetting the 'qwt' use flag doesn't cause the build failure, even reverting my change to the ebuild. smokeqt's CMakeListstxt correctly identifies that the qwt optional feature should not be built. I'm pretty sure this is an orthogonal issue, though. As far as I can tell, the package really is expecting WITH_Qwt5. For example, if I have qwt:5 installed, but '-qwt' set on smokeqt, smokeqt still builds with qwt support.
There's two different methods of control - controlling the dependency (WITH_foo) and controlling the binding (DISABLE_bar). We are currently using DISABLE_Qwt5 which does nothing, and should use WITH_Qwt5 and/or DISABLE_qwt instead.
Thanks for your report. This is now fixed in CVS. + 09 Dec 2014; Michael Palimaka <kensington@gentoo.org> + +smokeqt-4.14.3-r1.ebuild, metadata.xml: + Solve automagic dependencies wrt bug #523172.