Summary: | Broken FindXine.cmake module in kde-base/kdelibs breaks build for media-video/kaffeine with >=media-libs/xine-lib-1.2 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Francois Chenier <belgix_oz> |
Component: | Current packages | Assignee: | Gentoo KDE team <kde> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | jason, kripton, media-video, rose, toralf, zeekec |
Priority: | Normal | Keywords: | REGRESSION |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 396359 | ||
Bug Blocks: | |||
Attachments: |
FindXine.cmake patch to compile kaffeine against xine-lib-1.2.0
Fix-FindXine.cmake-module-with-xine-lib-1.2.patch Patch to make kaffeine compile against kdelibs-4.8.0/xine-lib-1.2.0 |
Description
Francois Chenier
2012-01-04 06:08:23 UTC
> >>> Emerging (1 of 1) media-video/kaffeine-1.2.2 from blackhill
Version in main tree is working.
(In reply to comment #1) > Version in main tree is working. Sorry, but same error with version in main tree. BTW, the same kaffeine ebuild compile fine against xine-lib-1.1 The problem is with xine-lib-1.2 >>> Emerging (1 of 1) media-video/kaffeine-1.2.2 <snip> -- Found X11: /usr/local/lib64/libX11.so CMake Error at /usr/share/apps/cmake/modules/FindPackageHandleStandardArgs.cmake:198 (MESSAGE): Could NOT find XINE 1.1.1 or greater (missing: XINE_VERSION_OK) Call Stack (most recent call first): /usr/share/apps/cmake/modules/FindXine.cmake:62 (find_package_handle_standard_args) CMakeLists.txt:5 (find_package) (In reply to comment #2) Supplementary info, it may be relevant or not! From xine-lib-1.1 ... belgix@darwin ~ $ xine-config --libs -lxine From xine-lib-1.2 ... belgix@darwin ~ $ xine-config --libs xine-config is DEPRECATED. Use pkg-config instead. -lxine Depending cmake parse those lines, it can be confused as now xine-config is a DEPRECATED command in xine-lib-1.2 *** Bug 397637 has been marked as a duplicate of this bug. *** Created attachment 297969 [details, diff]
FindXine.cmake patch to compile kaffeine against xine-lib-1.2.0
Quick'n'dirty patch.
CAVE! It applies to /usr/share/apps/cmake/modules/FindXine.cmake, a file in kdelibs.
It changes xine-config to pkg-config without the warning.
Feel free to patch pack after compile.
(In reply to comment #5) > > Quick'n'dirty patch. > Works perfectly now, I'm able to compile media-video/kaffeine again. Thanks. I can confirm this on ~amd64. Created attachment 297985 [details, diff]
Fix-FindXine.cmake-module-with-xine-lib-1.2.patch
Git patch for kde-base/kdelibs based on user submitted patch.
Thanks Johannes. I'm not sure why you didn't apply this to Portage yet, but I've done that now. +*kdelibs-4.7.4-r11 (05 Jan 2012) + + 05 Jan 2012; Samuli Suominen <ssuominen@gentoo.org> kdelibs-4.6.3-r3.ebuild, + kdelibs-4.7.4.ebuild, +kdelibs-4.7.4-r11.ebuild, + +files/kdelibs-4.7.4-xinelib12x.patch: + Fix FindXine.cmake to use pkg-config instead of xine-config wrt #397595 by + Johannes Huber Next time please wait a little bit, i was in test mode. This fix only works with kdelibs <4.8.0. 4.8.0 changed the FindXine.cmake-file, so the patch does not apply anymore. I did modify the file, so that the cmake-file works again. I removed the check for xine-lib-1.1.0, as version in portage are much higher. I also did not export XINECONFIG_EXECUTABLE, as I think the options differ from those of pkg-config (at least the patch for kdelibs <4.8 had to modifiy the call). With those changes, not much is left. Created attachment 300113 [details]
Patch to make kaffeine compile against kdelibs-4.8.0/xine-lib-1.2.0
Reopening as the patch was mistakenly dropped from kdelibs-4.8.0 and kaffeine rebroke. (In reply to comment #11) > I removed the check for xine-lib-1.1.0, as version in portage are much higher. The manual version check also was done to provide a mechanism to the user of FindXine.cmake, to specify a version that should be found (at least I think that was so). One had to specify a version (through Xine_FIND_VERSION) before running find_package. I think it is much better to supply this check directly through find_package. As I know now, this already works with the version I posted above - through the magic of FIND_PACKAGE_HANDLE_STANDARD_ARGS! find_package(Xine 1.2) will fail, if xine-lib-1.1.20 is installed. Do you developers know, which packages use FindXine.cmake? Is it possible this patch breaks some packages? If yes, the old version-check-mechanism should be kept for compatibility. Since xine.h does not provide any Version Information through #defines anymore since 1.2.0, the parsing of xine.h has to be removed completely. Fixed in =kde-base/kdelibs-4.8.0-r1. Added upstream patch which is included in kdelibs-4.8.1. Do you know why they manually extract the version from headers instead of using pkg-config? They already import the module... *** Bug 406307 has been marked as a duplicate of this bug. *** |