## ajtiM via freebsd-ports ([email protected]): > Thank you but why FreeCAD need all this QT ports?
FreeCAD uses Qt for it's GUI (and a CAD system without GUI is somewhat 1980ish). Formerly it used Qt4, but as that is going away in four weeks, I switched it over to Qt5 - that's an option with FreeCAD (and a little rough at the edges, see files/), and there's really no benefit in preserving Qt4 compatibility (remember, "going away in four weeks). As FreeCAD is a funny mix of C++ and Python, it uses PySide2 and friends for the Python-Qt5 bindings, and Pyside2 depends on "most of Qt5" to provide bindings to all of that. Technically, some dependencies are marked as "optional" in PySide2, but I decided against OPTIONizing (or plainly not using) them, for the following reasons: - Not providing parts of the Qt5 bindings makes PySide2 less useful: some other port may just require some of the removed bindings. - There's no official way for a port to depend on the OPTIONs of another port. Flavors do help somewhat, but not for all possible use cases. - By default, the PySide2 build creates bindings for all the Qt5 components it finds at build time: that creates a high risk of "contaminated" builds. Changing that is not trivial, but time consuming and error prone. - Weighing my time against the cost of storage (< 15ct/GB on SSDs) and build time (minutes, not hours) for the extra dependencies, I opted for the hardware - that's one time cost, whereas making some of the dependencies optional would use much more of my time and create an ongoing maintenance burden. Taking into account that my spare time is more likely to decrease than increase over the next weeks (and there's FreeCAD 0.18 coming up, at least that was their plan last time I checked), I consider this a good tradeoff. Regards, Christoph -- Spare Space _______________________________________________ [email protected] mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-ports To unsubscribe, send any mail to "[email protected]"
