[MacPorts] #44193: qt: allow side by side installation of qt4-mac and qt5-mac
MacPorts
noreply at macports.org
Fri Oct 2 12:14:53 PDT 2015
#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
More information about the macports-tickets
mailing list