[kde-freebsd] Qt-dependent ports (mixing Qt4/5)

Max Brazhnikov makc at freebsd.org
Mon Jul 28 08:10:05 UTC 2014


On Sun, 27 Jul 2014 22:58:33 +0200 Adriaan de Groot wrote:
> For a Qt5-based application that I'm testing on FreeBSD (Tupi, for cartoon-ish 
> 2D animation), I needed a Qt5-based archivers/quazip. How are we (or are we at 
> all) going to support libraries like that that can build against both Qt4 and 
> Qt5?

As always: make a separate port for each toolkit. For example there are several
flavours for Kid3

audio/kid3-kde4
audio/kid3-qt4
audio/kid3-qt5


> Actually modifying the existing port to build against Qt5 was straightforward. 
> The resulting Makefile is attached. The only change is the USE_QT4 line morphs 
> into USE_QT5 and the names of components change. 
> 
> However, during the build I got linking errors in the qztest directory; the 
> tail end of the linking command looked like this:
> 
>  -L/usr/local/lib\ -L/usr/local/lib -L -L/usr/local/lib -lQt5Test -lQt5Core
> 
> That is going to add two directories to the link search path, neither of which 
> is sensible; I modified the ports-patch to qztest.pro to produce a slightly 
> different sequence of -Ls, changed file also attached. After that the port 
> builds fine against Qt5 (which then raises the question: what if I also wanted 
> a Qt4 installation and quazip on this machine?).

If you want both Qt4 and Qt5 versions at the same time, you'll need to rename
one of them to avoid conflict. We usually add -qt4 (or -qt5) suffix to the 
binary/library if it's not already done by upstream.
However the renaming of a library could increase porting burden in a future,
since all ports that would require this library have to be aware of different name.

Max


More information about the kde-freebsd mailing list