[MacPorts] #49109: port modifications required by making qt4-mac co-installable with Qt5
#49109: port modifications required by making qt4-mac co-installable with Qt5 -------------------------+-------------------------------- Reporter: rjvbertin@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: Keywords: haspatch | Port: -------------------------+-------------------------------- As a companion to ticket #44193, here's an initial list of ports I had to change in order to get them to build with a `qt4-mac` port that no longer installed in the "traditional", "exclusive" locations. These changes are mostly replacing hardcoded locations with variables provided by the PortGroup. I suggest we use the attachment description entry widget to comment on specifics. That said, I'll start off by pointing out that `port:goldendict` installs the app bundle into /Applications/MacPorts instead of into /Applications/MacPorts/Qt4 (and also manages to ignore global settings set through qtconfig but that's an independent issue). -- Ticket URL: <https://trac.macports.org/ticket/49109> MacPorts <https://www.macports.org/> Ports system for OS X
#49109: port modifications required by making qt4-mac co-installable with Qt5 --------------------------+-------------------------------- Reporter: rjvbertin@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: haspatch Port: | --------------------------+-------------------------------- Comment (by rjvbertin@…): Sorry about the upload glitch. The current QCA version includes all "components" that previously were separate sources and ports. As a result, not only `qca-ossl` has been made a subport, but also `qca-cyrus-sasl`, `qca-gnupg` and `qca-tls`. One port to rule them all ... and in security bind them :) -- Ticket URL: <https://trac.macports.org/ticket/49109#comment:1> MacPorts <https://www.macports.org/> Ports system for OS X
#49109: port modifications required by making qt4-mac co-installable with Qt5 --------------------------+-------------------------------- Reporter: rjvbertin@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: haspatch Port: | --------------------------+-------------------------------- Comment (by rjvbertin@…): required entries for attica's ${filespath} [https://github.com/RJVB/macstrop/tree/master/kde/attica/files/qt5] NB: test-building Qt4 dependents should be done not only against a concurrent Qt4 port, but also with a Qt5 port installed and active. -- Ticket URL: <https://trac.macports.org/ticket/49109#comment:2> MacPorts <https://www.macports.org/> Ports system for OS X
#49109: port modifications required by making qt4-mac co-installable with Qt5 --------------------------+-------------------------------- Reporter: rjvbertin@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: haspatch Port: | --------------------------+-------------------------------- Comment (by michaelld@…): Replying to [comment:2 rjvbertin@…]:
NB: test-building Qt4 dependents should be done not only against a concurrent Qt4 port, but also with a Qt5 port installed and active.
Hadn't gotten there yet, but this is a very good idea. Of course, I'm using 10.11.1 beta, and qt5-mac does not build on it for testing purposes. So, I can't really test this just yet; some day! -- Ticket URL: <https://trac.macports.org/ticket/49109#comment:3> MacPorts <https://www.macports.org/> Ports system for OS X
#49109: port modifications required by making qt4-mac co-installable with Qt5 --------------------------+-------------------------------- Reporter: rjvbertin@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: haspatch Port: | --------------------------+-------------------------------- Comment (by rjvbertin@…):
Hadn't gotten there yet, but this is a very good idea. Of course, I'm using 10.11.1 beta, and qt5-mac does not build on it for testing purposes.
I cannot even guarantee that qt5-kde builds there, but it does have the patches that should be enough. -- Ticket URL: <https://trac.macports.org/ticket/49109#comment:4> MacPorts <https://www.macports.org/> Ports system for OS X
#49109: port modifications required by making qt4-mac co-installable with Qt5 --------------------------+-------------------------------- Reporter: rjvbertin@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: haspatch Port: | --------------------------+-------------------------------- Comment (by michaelld@…): Patches == not enough, at least for my system. Here's the error: {{{ :info:build clang: error: no such file or directory: '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/usr/lib/libz.dylib' [snip] :info:build ninja: build stopped: subcommand failed. :info:build make[4]: *** [invoke_ninja] Error 1 :info:build make[4]: Leaving directory `/opt/local/var/macports/build/_Users_Shared_source_MacPorts_trunk_dports_aqua_qt5-mac/qt5-mac/work /qt-everywhere-opensource-src-5.4.2/qtwebengine/src/core' }}} which is odd because we specify --system-zlib and port:zlib is a dependency and installed; and LIBRARY_PATH=/opt/local/lib, which is where libz.dylib is installed. After a bit of searching, I came up with http://bugs.python.org/issue25136 , because libz.tbd does exist in the above directory & apparently is a placeholder that we can use for linking to an actual libz.dylib (somewhere, somehow). But, more important is that Qt5 isn't even trying to find /opt/local/lib/libz.dylib -- a quick search right after doing extra verifies that the SDK directory is what is used by qtwebengine. Bad Qt5! -- Ticket URL: <https://trac.macports.org/ticket/49109#comment:5> MacPorts <https://www.macports.org/> Ports system for OS X
#49109: port modifications required by making qt4-mac co-installable with Qt5 --------------------------+-------------------------------- Reporter: rjvbertin@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: haspatch Port: | --------------------------+-------------------------------- Comment (by rjvbertin@…): That sounds like the kind of mix-up I ran into with Qt5 build system and using pkgconfig on OS X, which appears to be something they didn't test too exhaustively. Also not the 1st issue I know of with QWE's ninja-based build system. `.tbd` ... to be done indeed ... It *is* strange that Digia didn't test such a brand new release on an OS that was about to be released just after 5.5.0 . Meanwhile, this speaks for my approach of putting QtWebEngine in its own subport. Saves a lot of time and space building Qt5, too. -- Ticket URL: <https://trac.macports.org/ticket/49109#comment:6> MacPorts <https://www.macports.org/> Ports system for OS X
#49109: port modifications required by making qt4-mac co-installable with Qt5 --------------------------+-------------------------------- Reporter: rjvbertin@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: haspatch Port: | --------------------------+-------------------------------- Comment (by rjvbertin@…): Oh, that error is with Qt 5.4.2 (which I didn't patch for 10.11). With Qt 5.5.0, I only see a reference to libz in `qtwebengine/src/3rdparty/chromium/chrome/installer/mac/third_party/bsdiff/goobsdiff.gyp: '$(SDKROOT)/usr/lib/libz.dylib'`. That looks like it might spell trouble, but I don't see how it could be related to the error above. To install a Qt5 port without QtWebEngine, just remove `${worksrcpath}/qtwebengine` (/opt/local/var/macports/build/_Users_Shared_source_MacPorts_trunk_dports_aqua_qt5-mac/qt5-mac/work /qt-everywhere-opensource-src-5.4.2/qtwebengine in your case I guess) AFTER `port patch`, and remove the qtwebengine module entry from `qt.pro`, BEFORE `port configure` (or simply `port install`). If you just move the qtwebengine somewhere else, you can go there after installing Qt5 and configure/build it like any qmake project. That just might lead to different results. -- Ticket URL: <https://trac.macports.org/ticket/49109#comment:7> MacPorts <https://www.macports.org/> Ports system for OS X
#49109: port modifications required by making qt4-mac co-installable with Qt5 --------------------------+-------------------------------- Reporter: rjvbertin@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: haspatch Port: | --------------------------+-------------------------------- Comment (by rjvbertin@…): It's been a while, I've finally gotten around to building the 1st true Qt5 dependent port that also depends on Qca (the KF5 Okteta version). I've had to make `port:qca-qt5` use the version provided by KDE; updated patch attached. As far as I can tell, the only difference is in the cmake modules. -- Ticket URL: <https://trac.macports.org/ticket/49109#comment:8> MacPorts <https://www.macports.org/> Ports system for OS X
#49109: port modifications required by making qt4-mac co-installable with Qt5 --------------------------+-------------------------------- Reporter: rjvbertin@… | Owner: macports-tickets@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: haspatch Port: | --------------------------+-------------------------------- Comment (by rjvbertin@…): FWIW: {{{
port dependents qca-qt5 kf5-konversation-devel depends on qca-qt5 kf5-okteta depends on qca-qt5 kf5-okular-devel depends on qca-qt5 qca-qt5-cyrus-sasl depends on qca-qt5 qca-qt5-gnupg depends on qca-qt5 qca-qt5-ossl depends on qca-qt5 }}}
-- Ticket URL: <https://trac.macports.org/ticket/49109#comment:9> MacPorts <https://www.macports.org/> Ports system for OS X
participants (1)
-
MacPorts