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