Re: [MacPorts] #44193: qt: allow side by side installation of qt4-mac and qt5-mac
#44193: qt: allow side by side installation of qt4-mac and qt5-mac -------------------------------+------------------------ Reporter: mojca@… | Owner: mcalhoun@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: qt4-mac, qt5-mac | -------------------------------+------------------------ Comment (by rjvbertin@…): Replying to [comment:52 michaelld@…]:
What are the primary/major differences between your setup and the current on in MP?
The one currently in MP being the "exclusive" version? The main difference with that install layout is the fact that libraries and executables are moved into ${prefix}/libexec/qt4. Everything that was already under a qt4 directory (share/qt4, doc/qt4) remained there (with maybe a few things moving around, but as little as possible).
-> Maybe: Send me a private email naming each new patch file & new variant and briefly what it addresses / does? I'm really not sure how to approach all of your changes!
Erm, I think I have already done that a long time ago, about the time when I considered this port "done".
-> You know that I'm not going to just use what you provide out of the box.
Why do you think I provide this as a "-devel" port? Yes, over time lots of changes have accumulated (and they should all be documented at least in the naming of patch files). I would in fact invite you to build this baby and see what comes out of that, and my offer stands to help out with any issues that arise from my work. port:qt4-mac is '''openmaintainer''', and if I'd had commit powers I'd have pushed qt4-mac-devel a long time ago already.
-> NOTE: I don't want a formal diff (e.g., "svn diff") between the current Portfile and yours; just too many changes to be able to parse what is what.
I just included one because I was certain someone was going to insist on having it (and then telling me it's unreadable) :)
Nor do I care about the qt_dir install prefix, or parallel install, or transitional / exclusive or anything along those lines.
Transitional was always just that, and easy to strip. I'm not even sure to what extent I myself still have ports that are built against the exclusive version.
We're going to move qt4-mac into ${prefix}/libexec/qt4-; period.
If you mean that you plan to move anything into libexec/qt4-mac then I fear the only thing left that we might agree on is the possibility of a qt4-kde port analogous to port:qt5-kde I submitted the other day, which I'd maintain. I'm not interested in having to find out what issues I ran into with that all-in approach, but I'm sure it had to do with my KDE4 ports.
-> For example, I notice quite a number of patches added to yours, and some extra variants. Do these fix bugs in open MP (or other) ticket and/or add usable functionality? Do they allow for better building across more compilers / OSs (e.g., KDE, X11, Aqua)?
I have not sought to address open MP tickets unless pointed to them specifically. But yes, every bit I added was to improve something: - the sqlite3 plugin was rolled back into the main port as it's required by some of the applications the main port installs (suggestion from Bradley Giesbrecht) - the default is to build without internal support for C++ exceptions except for the few modules which actually use them. That provides a leaner build with less overhead - an LTO variant provides a build with link-time optimisation. This again gives a leaner build with snappier performance. (This and the previous item were achieved with guidance from Thiago Macieira) - installation of the >200Mb of html docs is moved to a variant - a KDE variant addresses a number of issues that KDE4 apps/users (can) run into (much) more frequently (than pure Qt apps). - qprocess-nozombies.patch prevents zombie processes that could otherwise be left by QProcess - qt4-prevent-mousevent-for-deleted-object.diff : does what it says; this could lead to crashes in KDE4 apps due to pending events delivered to deleted objects - *exceptions* and *lto* patches have to do with the no-exceptions and LTO builds - patch-tools-build_qtconfig.diff : builds the qtconfig utility - patch-improve-fontweight-support2.diff, patch-fontpanel.diff : implement somewhat improved support for font weights other than regular/bold/italic /bold-italic - qt4-deactivate-menurole-heuristics.patch (+KDE) : disables part of the text-heuristics based guessing which menu QAction should become the About or Preferences menuitem, That shortcut is rather flaky which has led to annoying misses in KDE4 apps; the patch is included in the KDE variant only. - debug-negative-qtimerint.patch (+KDE): gives more useful feedback when a QTimer is started with a negative interval, something I've seen happen in KDE4 apps Other patches in the KDE variant prevent null-pointer dereference in QAction::isEnabled() (undoubtedly again due to pending event handling), make QFileSystemWatcher less verbose and add a means to keep track of the number of open file descriptors when using that class (relevant for KDevelop). If I missed anything just ask. I see that I left in a reference to qt4-mac-devel-x11 . That's a remnant of attempts to experiment with QPA support which clearly isn't finalised in Qt4. So no Qt4-X11 support I'm afraid. I also haven't had any reason to experiment with other compilers; I have done so with my Qt5 ports however, so maybe some of that knowledge can be applied here. If there's a reason... -- Ticket URL: <https://trac.macports.org/ticket/44193#comment:57> MacPorts <https://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts