[kde-freebsd] [Request For Commit] Qt 4.5 Build Fixes (with Qt33 installed)

David Naylor naylor.b.david at gmail.com
Tue Apr 14 17:34:54 CEST 2009

On Tuesday 14 April 2009 03:48:02 David Johnson wrote:
> On Sunday 12 April 2009 11:57:20 pm David Naylor wrote:
> > devel/qt4-corelib:
> >  - Remove port revision
> >  - Remove hack to hard-code the features of qconfig.h.  The hack now
> > appears to do more damage that good.  Attached is the qconfig.h generated
> > by configure (as apposed to the files/qconfig.h.in that has been
> > removed). - P.S. Please add USE_ICONV when the fix is committed
> I committed a fix for corelib yesterday (in the qt-4.5 branch). It does
> essentially the same as yours.

I saw.  I thought FreeBSD had a monotonic clock?  (The only option left in the 
qconfig.h.in file)

> > The fixes for build with qt33 are a result from -I{LOCALBASE} being
> > included way to early.  How it gets there I do not know.  It appears to
> > be included after the specific .pro file has been read and before some
> > extra .prf files are read (such as
> > mkspecs/features/unix/hide_symbols.prf).  Any idea as to the root cause?
> The only place I ran across problems was with QtGui. The core problem is
> with the new QGTKStyle. I was able to fix this in a non-port build by
> changing src/gui/Makefile. Alternatively, once could patch
> src/gui/styles/styles.pri to totally disable QGTKStyle. (And make it a
> separate port).

Currently QGTKStyle is disabled in area51.  Is it even possible to make it a 
separate port?  It looks small enough that we can just include it with 

> I'm still working in this area. It seems from your list that other ports
> besides qt5-gui are having this problem. Have you identified their
> differences from 4.4.3 that cause this?

Yes, I had a look and found the problem.  QMAKE_CFLAGS_X11 now gets included 
into QMAKE_CXXFLAGS.  This is a problem since QMAKE_CFLAGS_X11 gets add 
QMAKE_CFLAGS_FONTCONFIG (from pkgconfig) that includes -I/usr/local/include.  
The culprit.  There does not appear to be a proper away around this (i.e. get 
QMAKE_CFLAGS_X11 added to the end of QMAKE_CXXFLAGS *after* other includes 
have been added).  

See attached that should fix this.  It forces Qt fallback config option 
regarding fontconfig.  It just removes the fontconfig cflags (which is 
just -I/usr/local/include).  

> > Currently qt4 (in area51) only supports installing the ports into the
> > same prefix as qmake4.  This is since the install prefix is hard coded
> > into qmake4.  I have found only one way to override this hard-code, that
> > is to recompile qmake4.  configure does this by default so I intend to
> > restore this behaviour (when installing into a different PREFIX as to
> > that by the system qmake).  This however will result in quite some growth
> > in the Makefiles so I propose to refractor the common code between the
> > Makefiles (such as the do-not-extract stuff).  This would hopefully
> > simplify maintenance.
> How big of a problem is this? Are there use cases where different PREFIXes
> would be desirable? Couldn't these use cases take advantage of a qmake.conf
> file instead?

I use port test for pkg-plist so it is a big problem for me, otherwise a 
tinderbox could do that?  Qt wouldn't be the first port that has limited 
support for PREFIX.  It works well enough if someone uses a single PREFIX for 
all of Qt :-).

I tried adding the variables to .qmake.vars (which I think does the same as 
qmake.conf) to no effect.  I think it is just hard coded into qmake.  (bug? 
or just don't know how to make qmake work?).  

I would still like to implement a common makefile to reduce duplicate makefile 
code?  It will make switching from copying the complete configure file to 
applying the diff easier... and other areas as well...  Thoughts?

> p.s. My time is limited this week and next, but if I find some I'll look
> over your other patches closer. Some of them look good at first glance.

Thanks, no problem.  You could ignore the devel/qt4-qvfb, www/qt4-webkit and 
x11/qt4-opengl patches since the attached patch now fixes it all :-).  

Is there any area I could help out with?

-------------- next part --------------
A non-text attachment was scrubbed...
Name: configure.diff
Type: text/x-diff
Size: 626 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kde-freebsd/attachments/20090414/b0577d3d/attachment.bin 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/kde-freebsd/attachments/20090414/b0577d3d/attachment.sig 

More information about the kde-freebsd mailing list