>Number: 46106
>Category: pkg
>Synopsis: kdesdk4 no virtual inheritance QObject and kdelibs4
>FindHUNSPELL.cmake hunspell 1.3
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: pkg-manager
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Feb 27 07:15:00 +0000 2012
>Originator: David Shao
>Release: NetBSD 6.99.3 (GENERIC)
>Organization:
>Environment:
NetBSD 6.99.3 /usr/obj/sys/arch/amd64/compile/GENERIC amd64
>Description:
pkgsrc current devel/kdesdk4 fails to build and install for two reasons:
1) There is a virtual public QObject that conflicts with Qt 4.8.
2) FindHUNSPELL.cmake installed by kdelibs4 in
/usr/pkg/share/kde/apps/cmake/modules/FindHUNSPELL.cmake
fails to mention hunspell 1.3 as a possible library name causing it to not be
detected, which in turn causes lokalize in kdesdk4 to not be built, which in
turn causes a conflict with the PLIST of installed files.
Note, possibly in conjunction with various interactions with cmake 2.8.7, that
the FindHUNSPELL.cmake bundled with kdesdk4 is ignored. A build also shows
warnings that
"Policy CMP0017 is not set"
>How-To-Repeat:
For pkgsrc current devel/kdesdk4
make install
>Fix:
A patch to devel/kdesdk4 for the forbidden virtual inheritance of QObject is
given below, taken from
https://bugs.kde.org/show_bug.cgi?id=279184
$NetBSD$
--- umbrello/umbrello/codegenerators/ownedcodeblock.h.orig 2009-01-27
23:03:55.000000000 +0000
+++ umbrello/umbrello/codegenerators/ownedcodeblock.h
@@ -23,7 +23,7 @@ class UMLObject;
* Describes any codeblock which is 'owned' by a UMLobject of some sort and
should
* be in sync with that parent.
*/
-class OwnedCodeBlock : virtual public QObject
+class OwnedCodeBlock : public QObject
{
Q_OBJECT
public:
/usr/pkg/share/kde/apps/cmake/modules/FindHUNSPELL.cmake was manually patched
outside of pkgsrc to have a modified line:
-FIND_LIBRARY(HUNSPELL_LIBRARIES NAMES hunspell-1.2)
+FIND_LIBRARY(HUNSPELL_LIBRARIES NAMES hunspell-1.3 hunspell-1.2)
Therefore kdelibs4 and the rest of kde4 has not been rebuilt to see if hunspell
1.3's detection would adversely affect other parts.