Feedback on Portfile design

René J. V. Bertin rjvbertin at gmail.com
Wed Oct 7 14:25:57 PDT 2015


Marcus Calhoun-Lopez wrote:

> A while back, I tried to create a small subport of qt5-mac to install Qt3D
> (see #48006).

Qt3D is now a full (and quite small) component of Qt 5.5.0 , small enough to be 
built along with the brunt of Qt.

> I now have a Portfile that installs all of the individual components of Qt
> 5 as separate installations.
> It is 1321 lines long and has 33 subports.
> 
> It have not run into any problems yet, but I wanted to seek feedback if
> this too far from best practices to be viable.

I have considered this myself, but never found a sufficient reason to do a full 
split that would justify the additional overhead and complexity that comes 
partly from the inter-component dependencies (my own qt5-kde Portfile is 1332 
lines long but also caters to 10.6 users and has post-destroot features I copied 
from qt4-mac).

It could make sense to split off a few less commonly used components that have 
disproportionate build requirements. I've done that with QtWebengine because 
it's huge and was new in 5.4.2, but QtWebkit could be a candidate too. The rest 
can just as well continue to be built like it is in Qt4.

People installing only a small handful of Qt5 dependent ports may well not need 
a full Qt5 install, and would benefit from a fine-grained control over what is 
installed. But once KF5 ports start appearing users who install them will 
probably end up with a (more or less) full install anyway.

And if a sufficiently large proportion of users install a more or less complete 
Qt install, splitting the Qt5 port up completely becomes counter-productive in 
my opinion. I already mentioned the additional overhead and complexity; that 
would include things like switching versions or variants via `port de/activate` 
which become a big hassle (imagine "swapping" 33 ports instead of 1 or 2 ...)

R



More information about the macports-dev mailing list