[kde-freebsd] KDE4 apps porting questions
Max Brazhnikov
makc at issp.ac.ru
Mon Oct 6 15:55:56 CEST 2008
On Mon, 6 Oct 2008 02:48:25 -0400, Jason E. Hale wrote:
> On Sunday 05 October 2008 11:33:55 Max Brazhnikov wrote:
> > You may use ldd to find qt4 libraries required by ports binary/libraries,
> > eg: ~> ldd /usr/local/kde4/bin/kid3 |grep -i qt
> > libQtSvg.so.4 => /usr/local/lib/qt4/libQtSvg.so.4 (0x28be3000)
> > libQtCore.so.4 => /usr/local/lib/qt4/libQtCore.so.4 (0x28cc3000)
> > libQtGui.so.4 => /usr/local/lib/qt4/libQtGui.so.4 (0x28ffe000)
> > libQtNetwork.so.4 => /usr/local/lib/qt4/libQtNetwork.so.4
> > (0x2983b000) libQtDBus.so.4 => /usr/local/lib/qt4/libQtDBus.so.4
> > (0x29924000) libQtXml.so.4 => /usr/local/lib/qt4/libQtXml.so.4
> > (0x2997d000)
> >
> > corresponding qt components (corelib is omitted):
> > QT_COMPONENTS= svg gui network dbus xml
> >
> > kde4 ports also need qt tools like qmake, uic. So the full line will be:
> > QT_COMPONENTS= svg gui network dbus xml \
> > qmake_build moc_build rcc_build uic_build
>
> Thanks for your feedback. But if audio/kid3-kde4 requires all of those qt
> components, then why does the port only have:
> QT_COMPONENTS= corelib qmake_build moc_build
This line is incorrect and may cause problems in a future. You can poke
maintainer to fix this :)
USE_KDE4 and QT_COMPONENTS duplicate work in some sense. kdelibs4
depends on lots of qt4 components, so these components could be omitted for
your port. But you cannot leave QT_COMPONENTS empty, because this will bring
dependency on whole Qt4.
Also not all kde ports really need rcc_build or uic_build for build (e.g.
audio/kid3), but cmake fails to find qt if there is no rcc and/or uic
binaries. So the minimal correct QT_COMPONENTS for kde4 ports will be:
corelib qmake_build moc_build rcc_build uic_build
I'm not satisfied with the situation, and hope I'll will work on this
somedays.
> Even the deskutils/kdeplasma-addons port has:
> QT_COMPONENTS= opengl webkit xml network moc rcc uic
> But if I run:
> $ ldd /usr/local/kde4/lib/kde4/plasma_applet_luna.so | grep -i qt
> libQtSvg.so.4 => /usr/local/lib/qt4/libQtSvg.so.4 (0x2830f000)
> libQtCore.so.4 => /usr/local/lib/qt4/libQtCore.so.4 (0x28592000)
> libQtGui.so.4 => /usr/local/lib/qt4/libQtGui.so.4 (0x288b5000)
> libQtNetwork.so.4 => /usr/local/lib/qt4/libQtNetwork.so.4
> (0x2906f000) libQtDBus.so.4 => /usr/local/lib/qt4/libQtDBus.so.4
> (0x29151000) libQtXml.so.4 => /usr/local/lib/qt4/libQtXml.so.4 (0x291aa000)
> libQtWebKit.so.4 => /usr/local/lib/qt4/libQtWebKit.so.4 (0x29a96000)
> libQtOpenGL.so.4 => /usr/local/lib/qt4/libQtOpenGL.so.4 (0x2a571000) So,
> svg and dbus are omitted. Why would that be?
> Also, why do all of the KDE4 ports use moc, rcc, and uic instead of
> moc_build, rcc_build, and uic_build?
This will be fixed with update to 4.1.2 (already fixed in area51)
Max
More information about the kde-freebsd
mailing list