Created attachment 164961 [details] patch I am including the list of affected ports. They all build fine in poudriere with the attached patch. I think all packages should be updated in one commit.
Created attachment 164962 [details] list of affected ports
Whereever the letters "lib" are present in each pkg-plist file, they are being replaced with %%QT_LIBDIR%%. I don't believe this should be the case unless it is representing the lib/ folder. Please consider searching each of the pkg-plist files for %%QT_LIBDIR%% which is not immediately followed by a "/", and consider if it should be changed back to "lib".
Yes, I missed some occurrences. I will submit the new patch.
PS: thanks for your efforts on this - I would also like to see qt5.5 in ports, and it doesn't seem the FreeBSD KDE team have imported it into "area51" tree yet: https://freebsd.kde.org/area51.php https://freebsd.kde.org/news.php
Created attachment 164963 [details] patch @Ben. You welcome! I replaced these %%QT_LIBDIR%%.
* Wherever I deleted the patches for vulnerabilities (CVE-XXXX-XXXX), these have been fixed. * I added webengine as a new QT_DIST. There is such distfile. However, WebEngine doesn't yet build on FreeBSD out of the box. Maybe I will look later if it can be patched to build with clang. * I removed the environment variable QT_XKB_CONFIG_ROOT, because it is associated with some qt-5.5 bug. There are the reports from the linux users that they have to set this variable as a workaround for the "dead keyboard" problem. * I added the ad-hoc pipe2 declaration in one place, because otherwise clang decides that pipe2 is a C++ symbol for some weird reason. But I don't think this is important for the matter of this patch.
Hi Yuri First of all thanks for your effort. Unfortunately I have to inform you, that kde@ already has done the upgrade to qt-5.5.1 in the qt-5.5 branch of area51. See: http://src.mouf.net/area51/log/branches/qt-5.5 But kde@ is also missing webengine -- which is, to put it kindly, kind of a bastard. mfg Tobias
I asked on ports@ mailing list on Dec 10 if qt-5.5 is coming to ports, and got no answer. How would anybody know they need to look at http://src.mouf.net/ ??
That is unfortunate. Sorry for that. Here is the website of kde@ https://freebsd.kde.org/area51.php where the repository is explained.
A commit references this bug: Author: rakuco Date: Sat Jan 16 20:13:10 UTC 2016 New revision: 406271 URL: https://svnweb.freebsd.org/changeset/ports/406271 Log: Turn print/cups-client into a LIB_DEPENDency. The CUPS plugin in src/plugins/printsupport/cups actually links against libcups.so, so cups-client needs to be more than a build-time dependency. This is part of Yuri Victorovich's Qt 5.5.1 patch set (which he submitted without knowing kde@ was already working on the update). This bug fix is orthogonal to the 5.5.1 update and we had not spotted this before, so I am landing this separately. PR: 205805 Submitted by: Yuri Victorovich <yuri@rawbw.com> Changes: head/print/qt5-printsupport/Makefile
A commit references this bug: Author: rakuco Date: Sat Jan 16 20:14:27 UTC 2016 New revision: 406273 URL: https://svnweb.freebsd.org/changeset/ports/406273 Log: MFH: r406271 Turn print/cups-client into a LIB_DEPENDency. The CUPS plugin in src/plugins/printsupport/cups actually links against libcups.so, so cups-client needs to be more than a build-time dependency. This is part of Yuri Victorovich's Qt 5.5.1 patch set (which he submitted without knowing kde@ was already working on the update). This bug fix is orthogonal to the 5.5.1 update and we had not spotted this before, so I am landing this separately. PR: 205805 Submitted by: Yuri Victorovich <yuri@rawbw.com> Approved by: portmgr blanket approval Changes: _U branches/2016Q1/ branches/2016Q1/print/qt5-printsupport/Makefile
Quick update so it doesn't look like kde@ isn't tracking this. Yuri, thanks a lot for the patch and I'm sorry you ended up doing a lot of duplicate work. I've been going through your patch looking for differences between what you have and what we've been doing in area51. As you can see, one of the changes became a commit to the ports tree, and I've also been committing a lot of stuff in area51 in response. I'll post some specific questions later.
(In reply to Raphael Kubo da Costa from comment #12) > I'll post some specific questions later. OK, here we go. I hope you're still around to look at the comments, answer them and hopefully start contributing to our experimental repositories in the future. First, some comments about things which have been fixed or implemented differently in area51: * Changes in USE_QT5 in many ports: this prompted me to take a look at the situation. Indeed we were linking against many libraries without declaring them. However, I chose to fix it differently, and instead of just adjusting USE_QT5 I switched to building the Qt5 ports with -Wl,--as-needed so that the final binaries only really link against the libraries that they actually need. See http://src.mouf.net/area51/revision?rev=11818 and http://src.mouf.net/area51/revision/?rev=11827. * Adding USE_QT5=webchannel to webkit-qt5 doesn't make much sense, and adding gstreamer-0.10 as a dependency is wrong. It must use GStreamer 1.0, like it already does. Ditto for qt5-multimedia. * Your change to qt5-printsupport's Makefile was partially right, see comment #10 for all the required changes. * I've net/libproxy as a dependency for net/qt5-network following your change. It required some additional work: http://src.mouf.net/area51/revision/?rev=11824 * The patches you've added to qt5-core are wrong, see their versions in area51. Basically those things have all been fixed upstream, and importing the patches from there is the right thing to do. Now things that still need clarification from your patch: * Why was patch-src__designer__src__src.pro removed from devel/qt5-uitools? * Why the changes to the filterLibraryOptions calls in extrapatch-configure? * I don't get why you added USES=gettext to several ports. * I don't get why you need the post-patch changes you added to qt5-gui. * I don't get any of the PCRE-related changes you've made to qt5-core and qt5. * Why was patch-3rdparty__clucene__src__CLucene__search__FieldCacheImpl.cpp removed from textproc/clucene-qt5? It was originally added because of bug 169872. It might not be needed anymore, but I need more context and confirmation that you tested it.
A commit references this bug: Author: rakuco Date: Sun Jan 24 18:10:16 UTC 2016 New revision: 407169 URL: https://svnweb.freebsd.org/changeset/ports/407169 Log: Update Qt5 to 5.5.1. This is the latest stable release at time of writing. Release announcement: http://blog.qt.io/blog/2015/07/01/qt-5-5-released/ New features in Qt 5.5: https://wiki.qt.io/New_Features_in_Qt_5.5 As usual, huge thanks to Tobias Berner (tcberner@gmail.com) for all his work on these ports in kde@'s experimental area51 repository. He's the one who started the update and did a lot of the initial work on Qt 5.5. Ralf Nolden (nolden@kde.org) has contributed the initial version of most of our new Qt5 ports. Also thanks to Yuri Victorovich (yuri@rawbw.com) for contributing PR 205805 with his own patch for the 5.5.1 update. Some of his changes there prompted additional fixes and changes present in the final patch generated from our experimental repository. New ports: - comms/qt5-connectivity, comms/qt5-sensors, devel/qt5-location, graphics/qt5-3d, net/qt5-enginio, x11-toolkits/qt5-canvas3d, x11-toolkits/qt5-uiplugin. General changes in all Qt5 ports: - All Qt5 ports are now built with -Wl,--as-needed to avoid overlinking, which is a problem with qmake-based because the libraries passed to the linker come from the modules .pri files and many are not necessary. - With this change, several ports had their USE_QT5 lines adjusted to explicitly include some libraries that were pulled in implicitly, and to exclude libraries no longer required with -Wl,--as-needed. Changes in specific ports: - devel/qt5: Drop the SQL_PLUGINS and TOOLS options and depend on all Qt5 ports by default. It makes the Makefile much simpler, and those options were already on by default. - devel/qt5-core: The clang+base libstdc++ workaround has been expanded and more C++11 features have been disabled when that combination is used by a port (basically, FreeBSD 9 with USES=compiler:c++11-lang). The disabled features have explanations for why they were disabled in the patched header itself. - devel/qt5-designer: uiplugins has been split out following a similar change upstream. By depending on qt5-uiplugin, qt5-uitools avoids having to depend on the big qt5-designer port. - multimedia/qt5-multimedia: The port now uses GStreamer 1.0 instead of 0.10. - net/qt5-network: The port now depends on libproxy for proxy settings. Using libproxy allows proxy settings to be read from different sources, and also allows .pac files to work with Qt. - www/qt5-webkit: The port now uses GStreamer 1.0 instead of 0.10. PR: 205805 PR: 206435 Changes: head/Mk/bsd.qt.mk head/comms/Makefile head/comms/qt5-connectivity/ head/comms/qt5-connectivity/Makefile head/comms/qt5-connectivity/pkg-plist head/comms/qt5-sensors/ head/comms/qt5-sensors/Makefile head/comms/qt5-sensors/pkg-plist head/comms/qt5-serialport/pkg-plist head/devel/Makefile head/devel/qmake5/Makefile head/devel/qmake5/pkg-plist head/devel/qt5/Makefile head/devel/qt5/distinfo head/devel/qt5/files/extrapatch-configure head/devel/qt5/files/extrapatch-libtool head/devel/qt5/files/extrapatch-src_corelib_global_qcompilerdetection.h head/devel/qt5-assistant/Makefile head/devel/qt5-assistant/files/patch-src__src.pro head/devel/qt5-core/Makefile head/devel/qt5-core/files/ head/devel/qt5-core/files/patch-git_08be8691 head/devel/qt5-core/files/patch-git_090bf50 head/devel/qt5-core/files/patch-git_6552469 head/devel/qt5-core/files/patch-git_c8c4ad0 head/devel/qt5-core/pkg-plist head/devel/qt5-designer/Makefile head/devel/qt5-designer/files/patch-src__src.pro head/devel/qt5-designer/pkg-plist head/devel/qt5-help/files/patch-src__src.pro head/devel/qt5-linguist/Makefile head/devel/qt5-linguist/files/patch-src__src.pro head/devel/qt5-linguisttools/Makefile head/devel/qt5-linguisttools/files/patch-src__src.pro head/devel/qt5-location/ head/devel/qt5-location/Makefile head/devel/qt5-location/files/ head/devel/qt5-location/files/patch-qtlocation.pro head/devel/qt5-location/pkg-plist head/devel/qt5-qdbusviewer/Makefile head/devel/qt5-qdbusviewer/files/patch-src__src.pro head/devel/qt5-testlib/pkg-plist head/devel/qt5-uitools/Makefile head/devel/qt5-uitools/files/patch-src__designer__src__src.pro head/devel/qt5-uitools/files/patch-src__src.pro head/graphics/Makefile head/graphics/qt5-3d/ head/graphics/qt5-3d/Makefile head/graphics/qt5-3d/files/ head/graphics/qt5-3d/files/patch-git_d512090 head/graphics/qt5-3d/files/patch-git_deffdaf9 head/graphics/qt5-3d/pkg-plist head/graphics/qt5-pixeltool/Makefile head/graphics/qt5-pixeltool/files/patch-git_a685d8a head/graphics/qt5-pixeltool/files/patch-src__src.pro head/graphics/qt5-svg/Makefile head/lang/qt5-qml/files/patch-git_cf6e9711 head/lang/qt5-qml/pkg-plist head/misc/Makefile head/misc/qt5-l10n/ head/misc/qt5-l10n/Makefile head/misc/qt5-l10n/pkg-plist head/multimedia/qt5-multimedia/Makefile head/multimedia/qt5-multimedia/files/extrapatch-no-gstreamer head/multimedia/qt5-multimedia/pkg-plist head/net/Makefile head/net/qt5-enginio/ head/net/qt5-enginio/Makefile head/net/qt5-enginio/pkg-plist head/net/qt5-network/Makefile head/net/qt5-network/pkg-plist head/print/qt5-printsupport/Makefile head/textproc/clucene-qt5/files/patch-src__src.pro head/textproc/qt5-xmlpatterns/pkg-plist head/www/qt5-webchannel/pkg-plist head/www/qt5-websockets/pkg-plist head/www/webkit-qt5/Makefile head/www/webkit-qt5/files/patch-Source__WebCore__platform__graphics__gstreamer__WebKitWebSourceGstreamer.cpp head/x11/qt5-x11extras/Makefile head/x11/qt5-x11extras/pkg-plist head/x11-toolkits/Makefile head/x11-toolkits/qt5-canvas3d/ head/x11-toolkits/qt5-canvas3d/Makefile head/x11-toolkits/qt5-canvas3d/pkg-plist head/x11-toolkits/qt5-declarative/Makefile head/x11-toolkits/qt5-gui/Makefile head/x11-toolkits/qt5-gui/files/ head/x11-toolkits/qt5-gui/pkg-plist head/x11-toolkits/qt5-quick/Makefile head/x11-toolkits/qt5-quick/pkg-plist head/x11-toolkits/qt5-quickcontrols/Makefile head/x11-toolkits/qt5-quickcontrols/pkg-plist head/x11-toolkits/qt5-uiplugin/ head/x11-toolkits/qt5-uiplugin/Makefile head/x11-toolkits/qt5-uiplugin/files/ head/x11-toolkits/qt5-uiplugin/files/patch-src__src.pro head/x11-toolkits/qt5-uiplugin/files/patch-src_designer_src_src.pro head/x11-toolkits/qt5-uiplugin/pkg-plist head/x11-toolkits/qt5-widgets/pkg-plist
Comment on attachment 164963 [details] patch Qt 5.5.1 has finally been committed to the ports tree, including parts of your patch. Thanks!