Qt5: Update to 5.15.19 This is the final release of Qt5. If your port still uses Qt5 and could possibly use Qt6 instead, now would be a good time to make the switch. PySide2: Update to 5.15.19 Announcement: https://lists.qt-project.org/pipermail/announce/2026-May/000626.html Release notes: https://code.qt.io/cgit/qt/qtreleasenotes.git/tree/qt/5.15.19/release-note.md1817deda1e
Port details
x11-toolkits/qt5-quickcontrols5.15.19p0
Set of controls for building complete interfaces in Qt Quick (KDE patched)
- Maintainer
- kde@FreeBSD.org
- Packages
- qt5-quickcontrols 5.15.19p0
- Upstream
- Higher version available: 6.12.0
- CPE
qt:qt- WWW
- https://qt-project.org
- Links
- cgit · VuXML
Unaddressed (0) · The CVE record lists this version as affected, no VuXML entry names the CVE
None. There is no CVE without a VuXML entry for this version.
VuXML only (0) · listed, port not fixed yet
None.
pkg audit reports nothing for this version.Fixed (0)
No VuXML entries for this package.
Commits (48)
Qt5: Update to 5.15.18 This is the penultimate release of Qt5. While Qt5 is EOL, due to the LGPL releases being a year behind the commercial releases, there will still be one more patch release in May 2026. PySide2: Update to 5.15.18 Announcement: https://lists.qt-project.org/pipermail/announce/2025-October/000592.html Release notes: https://code.qt.io/cgit/qt/qtreleasenotes.git/tree/qt/5.15.18/release-note.md MFH: 2025Q4bc01cbb5a1
Qt5: Update to 5.15.17 (getting down to the end) Upstream standard support for Qt5 is officially over. [1] In short, that means get your ports off of Qt5 ASAP, especially end-user applications. FreeBSD deprecation of Qt5 is coming soon! It will likely be a year of lead time, but please help in the meantime and remove qt5 flavors and child ports whenever possible. www/qt5-webengine has been updated to 5.15.19 with security patches up to Chromium 135.0.7049.95. It's unclear at this point if further security patches will be publically available. The Qt5 WebEngine component, however, is and forever will be based on Chromium 87.0.4280.144, which is over 4 years old. Props to upstream for their backports over all these years and making them publically available (probably more to do with licensing constraints than anything, but hey). We otherwise depend on KDE as our direct upstream to roll our distfiles, which we have been hosting locally for over 3 years. Since Qt upstream drops the LGPL releases of Qt 5.15.x a year later, there's no guarantee KDE will rebase their patchset over the next year for the remaining two .18 and .19 releases. This might be the last update for Qt5 on FreeBSD. [1] https://www.qt.io/blog/qt-5.15-extended-support-for-subscription-license-holders9d76916067
Qt5: Update to 5.15.16 Update devel/pyside2* and devel/shiboken2 to 5.15.16 Update www/qt5-webengine to include the latest security fixes in the chromium submodule [1] Release note: https://code.qt.io/cgit/qt/qtreleasenotes.git/about/qt/5.15.16/release-note.md MFH: 2024Q4 Security: 16e472d5-a8aa-11ef-b680-4ccc6adda413 [1]501ccfe6dd
Qt5: Update to 5.15.15 Update devel/pyside2* and devel/shiboken2 to 5.15.15 Update www/qt5-webengine to include the latest security fixes in the chromium submodule Release note: https://code.qt.io/cgit/qt/qtreleasenotes.git/about/qt/5.15.15/release-note.md MFH: 2024Q3 Security: 66907dab-6bb2-11ef-b813-4ccc6adda4139e1e9e17c5
Qt5: Update to 5.15.14 Update devel/pyside2* and devel/shiboken to 5.15.14 Update devel/qt5-script* and www/qt5-webengine to 5.15.17 Release note: https://code.qt.io/cgit/qt/qtreleasenotes.git/about/qt/5.15.14/release-note.md72a628f271
Qt5: Update to 5.15.13 Update devel/pyside2* and devel/shiboken to 5.15.13 Update www/qt5-webengine to latest commit. Python 3.x support has been integrated upstream, so local patches have been removed. Release note: https://code.qt.io/cgit/qt/qtreleasenotes.git/about/qt/5.15.13/release-note.md9793a1e61a
Qt5: Update to 5.15.12 Update devel/pyside2* and devel/shiboken2 to 5.15.12 Release note: https://code.qt.io/cgit/qt/qtreleasenotes.git/about/qt/5.15.12/release-note.mddc05989834
Qt5: Update to 5.15.11 Update devel/pyside2* and devel/shiboken2 to 5.15.11 Release note: https://code.qt.io/cgit/qt/qtreleasenotes.git/about/qt/5.15.11/release-note.md7f496af089
Qt5: Update to 5.15.10 Update devel/qt5-script* and www/qt5-webengine to 5.15.15-lts Update devel/pyside2* and devel/shiboken2 to 5.15.10 Release note: https://code.qt.io/cgit/qt/qtreleasenotes.git/about/qt/5.15.10/release-note.md PR: 273934 Exp-run by: antoine2a5c778173
Qt: Update Qt 5 to 5.15.8 - update distfiles to be rebased on the Qt 5.15.8 branch PR: 268773 Exp-run by: antoine1fe9749d83
Qt5: Update Qt 5 to 5.15.7 * rebase the KDE patched Qt5 ontop of the 5.15.7 branch * update qt5-script to 5.15.11 Exp-run by: antoine PR: 2685333aeb8b79ba
Mk/Uses: always use colon for build/run suffix Most USES use a colon for build/run(/test) suffixes. Change kde.mk, qt.mk and pyqt.mk to do the same, and update all ports using that. Document in CHANGES. PR: 266034 Exp-run by: antoine Approved by: tcberner (mentor) Differential Revision: https://reviews.freebsd.org/D36349ddae4e92d8
Remove WWW entries moved into port Makefiles Commit b7f05445c00f has added WWW entries to port Makefiles based on WWW: lines in pkg-descr files. This commit removes the WWW: lines of moved-over URLs from these pkg-descr files. Approved by: portmgr (tcberner)fb16dfecae
Add WWW entries to port Makefiles It has been common practice to have one or more URLs at the end of the ports' pkg-descr files, one per line and prefixed with "WWW:". These URLs should point at a project website or other relevant resources. Access to these URLs required processing of the pkg-descr files, and they have often become stale over time. If more than one such URL was present in a pkg-descr file, only the first one was tarnsfered into the port INDEX, but for many ports only the last line did contain the port specific URL to further information. There have been several proposals to make a project URL available as a macro in the ports' Makefiles, over time. This commit implements such a proposal and moves one of the WWW: entries of each pkg-descr file into the respective port's Makefile. A heuristic attempts to identify the most relevant URL in case there is more than one WWW: entry in some pkg-descr file. URLs that are not moved into the Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr files in order to preserve them. There are 1256 ports that had no WWW: entries in pkg-descr files. These ports will not be touched in this commit. The portlint port has been adjusted to expect a WWW entry in each port Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as deprecated. Approved by: portmgr (tcberner)b7f05445c0
qt5: Update Qt to 5.15.5 (KDE patched) - update patch-collection diff to be at the highest patch-level - update patch-collection diff to be against 5.15.5 instead of 5.15.2 - update devel/qt5-script to 5.15.10 - libressl support by Felix Palmen <felix@palmen-it.de> PR: 264944 Exp-run by: antoine Differential Revision: https://reviews.freebsd.org/D35619787e501e3d
Qt: Switch Qt5 to use KDE's Qt patch collection
From [1]
What's this?
This is a set of git repositories based on the last public
commits available for Qt 5.15 branches with a curated collection
of patches on top to ensure open source products can be used
comfortably until users transition to their Qt 6-based ports.
Which patches does it include?
This collection of patches includes patches that fix at least
one of the following:
* Security issues
* Crashes
* Functional defects
We only include patches that have been approved upstream in the
Qt project. If a patch cannot be merged upstream for technical
reasons (e.g. the class no longer exists), it can also be
merged.
The patches to merge will be decided based on their relevance
towards Open Source products and their viability.
PR: 260548
Exp-run by: antoine
Differential Revision: https://reviews.freebsd.org/D33446
[1] https://community.kde.org/Qt5PatchCollection6b3bece75aOne more small cleanup, forgotten yesterday. Reported by: lwhsucf118ccf87
Remove # $FreeBSD$ from Makefiles.305f148f48
Only define USE_LDCONFIG in devel/qt5-core All the qt5-ports share the same library directory. devel/qt5-core is dependet on by all others. So there is no need to add identical entries to libdata/ldconfig, and restart the ldconfig service on every pkg change of those ports. Reported by: bapt Reviewed by: bapt Differential Revision: https://reviews.freebsd.org/D2722493b90c42e3
Update WWW Approved by: portmgr (blanket)0200cd6e7c
Update Qt5 to 5.13.2
Announcement:
https://www.qt.io/blog/qt-5.13.2-released
Thanks to kai@ for updating webengine.
PR: 241649
Exp-run by: antoinea008399a74Qt5 update to 5.13.0 For new features, check: https://wiki.qt.io/New_Features_in_Qt_5.13 Thanks to adridg who helped to fix a lot of packages. Exp-run by: antoine PR: 238782c45de9579f
Bump PORTREVISION for ports depending on the canonical version of GCC as defined in Mk/bsd.default-versions.mk which has moved from GCC 8.3 to GCC 9.1 under most circumstances now after revision 507371. This includes ports - with USE_GCC=yes or USE_GCC=any, - with USES=fortran, - using Mk/bsd.octave.mk which in turn features USES=fortran, and - with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang, c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib plus, everything INDEX-11 shows with a dependency on lang/gcc9 now. PR: 238330ea8c8ec7da
Update Qt5 to 5.12.2 - Thanks to kai for updating webengine. Exp-run by: antoine PR: 2368951c35361b47
x11-toolkits/qt5-quickcontrols: fix regression in 5.12.1 https://bugreports.qt.io/browse/QTBUG-7369174328c133b
Update Qt5 to 5.12.1 Release announcement: https://blog.qt.io/blog/2019/02/01/qt-5-12-1-released/ Changelog: https://wiki.qt.io/Qt_5.12.1_Change_Files - A change was required to qt-dist.mk to always pass LOCALBASE to qmake, as Qt5 has been installed to a prefix for some time now, there should not be any harm in that, with respect to it picking up installed versions of itself during build. PR: 235622 Exp-run by: antoine031fc9bfb6
Fix Qt5 symbol version scripts to put the catch-all clause first. When a symbol matches multiple clauses the last one takes precedence. If the catch-all is last it captures everything. In the case of Qt5 libraries this caused all symbols to have a Qt_5 label while some should have Qt_5_PRIVATE_API. This only affects lld because GNU ld always gives the catch-all lowest priority. Older versions of Qt5Webengine exported some memory allocation symbols from the bundled Chromium. Version 5.9 stopped exporting these [1] but the symbols were kept as weak wrappers for the standard allocation functions to maintain binary compatibility. [2][3] The problem is that the call to the standard function in these weak wrappers is only resolved to the standard function if there's a call to this standard function in other parts of Qt5Webengine, because only then is there a non-weak symbol that takes precedence over the weak one. If there's no such non-weak symbol the call in the weak wrapper resolves to the weak wrapper itself creating an infinite call loop that overflows the stack and causes a crash. Some of the allocation functions are variants of C++ new and delete and it probably depends on the compiler whether these variants are used in other parts of Qt5Webengine. Remove the weak wrappers (make them Linux specific). This isn't binary compatible but we are already breaking that with the changes to the symbol versions. [1] https://github.com/qt/qtwebengine/commit/5c2cbfccf9aafb547b0b30914c4056abd25942a4 [2] https://github.com/qt/qtwebengine/commit/2ed5054e3a800fa97c2c9e920ba1e6ea4b6ef2a5 [3] https://github.com/qt/qtwebengine/commit/009f5ebb4bd6e50188671e0815a5dae6afe39db5 Bump all ports that depend on Qt5. PR: 234070 Exp-run by: antoine Approved by: kde (adridg)1bf487d3e7
Update Qt5 to 5.12.0 http://blog.qt.io/blog/2018/12/06/qt-5-12-lts-released/ - This breaks support for libressl again. Patches are welcome. PR: 233705 Exp-run by: antoineea792330aa
Bump PORTREVISION for ports depending on the canonical version of GCC defined via Mk/bsd.default-versions.mk which has moved from GCC 7.4 t GCC 8.2 under most circumstances. This includes ports - with USE_GCC=yes or USE_GCC=any, - with USES=fortran, - using Mk/bsd.octave.mk which in turn features USES=fortran, and - with USES=compiler specifying openmp, nestedfct, c11, c++0x, c++11-lang, c++11-lib, c++14-lang, c++17-lang, or gcc-c++11-lib plus, as a double check, everything INDEX-11 showed depending on lang/gcc7. PR: 231590a9f015d155
Merge lang/qt5-qml and x11-toolkits/qt5-quick into x11-toolkits/qt5-declarative - There was no obvious reason to split these ports, and it makes porting simpler; the set of ports using either mostly coincided. Exp-run by: antoine PR: 223687 PR: 23275189d1bb9ab0
qt5: Fix build on GCC based architectures. PR: 231584 PR: 231677 PR: 231685 PR: 231830 PR: 231955 PR: 231905 PR: 231892 PR: 231684 PR: 231958 PR: 231960 PR: 231818 PR: 231542 PR: 231860 PR: 231681 PR: 231963 PR: 231891 PR: 231966 PR: 231904 PR: 231676 PR: 231819 PR: 231956 PR: 231680 PR: 231957 PR: 231903 PR: 231901 PR: 231667 PR: 231861 Submitted by: Piotr Kubaj <pkubaj@anongoth.pl>d19d17bd64
Actually I misread manu's email message. These ports are still broken on, and only on, armv6. Confirmed by local testing. Submitted by: manu Approved by: portmgr (tier-2 blanket)b0ea0642ac
Replace bsd.qt.mk by Uses/qt.mk and Uses/qt-dist.mk From now on, ports that depend on Qt4 will have to set USES= qt:4 USE_QT= foo bar ports depending on Qt5 will use USES= qt:5 USE_QT= foo bar PR: 229225 Exp-run by: antoine Reviewed by: mat Approved by: portmgr (antoine) Differential Revision: →https://reviews.freebsd.org/D15540b1a1d38bf9
Apparently fixed after r472713. Reported by: mikael.urankar Approved by: portmgr (tier-2 blanket)8fa21ab6bb
Mark these ports as broken on aarch64, and, where appropriate, on armvX. While here, pet portlint. Approved by: portmgr (tier-2 blanket)4cb19e7f87
Update the Qt5 ports to 5.10.1. The work was done by tcberner and myself, with thanks to antoine for the exp-run. Not a lot to report compared to other Qt5 updates: * net/qt5-network is still broken with LibreSSL. I said this in a commit message ages ago but it bears repeating: upstream is open to adding support for LibreSSL, but someone needs to step up to maintain it upstream, otherwise things will continue to be broken all the time. * www/qt5-webengine is a huge monster that is terrible to update, just like www/chromium itself is. We (kde@) have decided to keep using the 5.9 series for the time being, as it should be compatible with the rest of Qt anyway. It was updated to 5.9.5, the latest 5.9 release at the time of writing. PR: 22821370141f1a3a
Fix permissions in installed Qt5 header files
For the qt5-* ports bsd.qt.mk sets EXTRACT_AFTER_ARGS, and
thereby does not get the normal default value of
--no-same-owner --no-same-permissions
passed when extracting. This lead to for example header files
being installed (i.e. copied), with permissions group write
permissions.
Manually append that to the bsd.qt.mk shenanigans (also do the
same in www/qt5-webchannel, which opts out of the bsd.qt.mk value)
PR: 227027
Reported by: grarpamp@gmail.comdc579c4cc2Drop %%DEBUG%% from several plist entries.
Those items were added with %%DEBUG%% when we updated Qt to 5.3.2. At the time,
src/dialogs/dialogs.pro had the following excerpt:
# In case of a debug build, deploy the QML files too
CONFIG(debug, debug|release): QML_FILES += $$DIALOGS_QML_FILES
but that actually changed in Qt 5.9.0, which dropped the check altogether and
always adds those files to QML_FILES.
Not shipping them causes runtime issues according to the bug report below.
PR: 225347
Submitted by: Tomasz Kowalczyk <kowalczt@zoho.eu>d6da49a186Update Qt5 ports to 5.9.3.
This took quite a lot of time because Qt's own build system underwent
several changes in 5.8.0 that took a while to adapt to.
And, of course, qt5-webengine is a behemoth that we need to patch like crazy
due to its bundling of Chromium. In fact, most of the Chromium patches in
qt5-webengine have been imported with no changes from www/chromium@433510
("www/chromium: update to 56.0.2924.87").
New port: accessibility/qt5-speech
Bigger changes to Qt5 ports we had to make:
- Qt now allows using a configure.json file to define configuration options
and specify configuration checks that can be done when qmake is invoked.
However, configure.json checks done in a subdirectory only propagates to
subdirectories, and checks elsewhere will fail if all .pro files are being
parsed at once (i.e. qmake -recursive), so several ports had to switch to
USES=qmake:norecursive along with manual additional qmake invocations in
subdirectories in order to work. It's been mentioned in a few places such
as Qt's bug tracker that qmake's recursive mode is pretty much deprecated,
so we might switch to non-recursive mode by default in the future.
- Uses/qmake.mk: Introduce QMAKE_CONFIGURE_ARGS. qmake now accepts
arbitrary options such as '-foo' and '-no-bar' at the end of the
command-line. They can be specified in QMAKE_CONFIGURE_ARGS.
- graphics/qt5-wayland: The port can only be built if graphics/mesa-libs is
built with the WAYLAND option, so a corresponding option (off by default)
was added to the port.
- misc/qt5-doc: Switch to a pre-built documentation tarball. The existing
port was not working with Qt 5.9. Instead of trying to fix it, switch to
what Gentoo does and fetch a tarball that already contains all
documentation so that we do not have to build anything at all. The
tarball's name and location in download.qt.io look a bit weird, but it
seems to work fine.
- www/qt5-webengine: Use binutils from ports, Chromium's GN build system
generates a build.ninja that uses ar(1) with the @file syntax that is not
supported by BSD ar, so we need to use GNU ar from binutils.
- x11-toolkits/qt5-declarative-render2d: This port was merged into the main
Qt Declarative repository upstream, and into x11-toolkits/qt5-quick in the
ports tree.
Changes to other ports we had to make:
- biology/ugene: Drop a '#define point "."' that is not present in more
recent versions of the port. Defining a macro with such a common name
causes build issues with Qt 5.9, which uses |point| as an argument name in
methods.
- cad/qelectrotech: Fix plist with Qt 5.9. Directories are no longer
installed with `cp -f -R', but rather `qmake install qinstall', which does
not install
%%DATADIR%%/elements/10_electric/20_manufacturers_articles/bosch_rexroth/.directory
That's a local file that should not even have been part of the tarball
anyway.
- chinese/gcin-qt5: Add additional private Qt directories (which should not
be used in the first place) to get the port to build with Qt 5.9.
- devel/qtcreator: Fix plist with Qt 5.9. Something changed in qdoc and some
test classes no longer generate documentation files.
- security/keepassx-devel: Import a patch sent upstream almost a year ago to
fix the build with Qt 5.9.
Thanks to antoine for the exp-run, and tcberner and Laurent Cimon
<laurent@nuxi.ca> for landing changes in our qt-5.9 branch.
PR: 224849f6ceca6350Update Qt5 to 5.7.1, and unify the Qt4 and Qt5 ports some more
* Update Qt5 to 5.7.1
* Move Qt4 binaries to lib/qt4/bin
* Move Qt5 libraries to lib/qt5/lib
By moving the libraries we should finally be able to get rid of the inplace
upgrade bug (see ports bugs 194088, 195105 and 198720): when Qt5's libraries
were lying in /usr/local/lib, which would often get added by pkgconfig to the
linker paths via dependencies, the already installed libraries were linked
against, instead of the ones that were being built. This forced us to make
sure, that -L${WRKSRC}/lib was always coming before -L/usr/local/lib in the
linker flags. With this change this should no longer be the case.
* Rename some ports to match the rest (foo-qtX -> qtX-foo)
* Depend on new port misc/qtchooser [see UPDATING & CHANGES]
There are several new Qt5 ports which all have been created by Marie Loise Nolden
<nolden@kde.org>. Thanks again.
PR: 216797
Exp-Run by: antoine
Reviewed by: rakuco, mat, groot_kde.org
Approved by: rakuco (mentor)
Differential Revision: https://reviews.freebsd.org/D9213f3c180c343Update the Qt5 ports to 5.6.1. This took longer than expected, but there are quite a few changes to the existing ports and a few new ones. General upstream changes: - Starting with Qt 5.6.2, Qt will fail at configuration time if LibreSSL is being used. According to the discussion here: https://codereview.qt-project.org/#/c/154800/ The Qt project is not opposed to LibreSSL, but does not want to mix support for it into the OpenSSL backend code, especially as they move towards supporting OpenSSL 1.1. People interested in LibreSSL support are welcome to submit a separate backend upstream, but are expected to maintain it. We (kde@) are not opposed to carrying some patches authored by others in the future, as long as they are not huge and destabilizing. - When Qt detects the compiler supports C++11, it will pass -std=gnu++11 by default (this is an upstream change). You can add "CONFIG -= c++11" to your .pro. Qt 5.7 will require C++11. - www/webkit-qt5: The QtWebKit module is deprecated upstream, and is shipped separately as a community release tarball. kde@ does not have an ETA for a qt5-webengine port, as it requires a huge effort (and number of patches) similar to maintaining www/chromium itself. - x11-toolkits/qt5-declarative has been deprecated upstream. The last release is 5.5.1. Relevant changes: - devel/qmake5: The freebsd-clang mkspec has become the default mkspec on FreeBSD, replacing the outdated freebsd-g++ one that was moved to unsupported/ (it still works though). - devel/qt5-qdoc: qdoc was moved to qttools upstream, but its data files are still in qtbase. The data files are now in the qt5-qdoc-data port. - misc/qt5-doc: Clean up and stop requiring a compiler and fumbling with mkspecs. Instead of running the `configure' script, which requires a compiler and adjustments to the mkspecs files and also ends up building a new qmake binary, we now leverage USES=qmake to generate all the Makefiles from the top-level qt.pro. Getting this to work requires some tricks, though, and qt.conf.in has a longer explanation of what's being done. Switch to USES=gmake to be able to drop MAKE_JOBS_UNSAFE=yes. New ports: - comms/qt5-serialbus - devel/qt5-qdoc-data - x11-toolkits/qt5-quickcontrols2 Big thanks to Adriaan de Groot (groot@kde.org), tcberner@ and Loise Nolden (nolden@kde.org) for the huge amount of work they put into this patch. Loise in particular also sent quite a few changes upstream that were essential for this update to work. PR: 2119163346021972
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: 2064354c67812e01
Update Qt5 to 5.4.1. This is probably the first time our Qt 5 ports are tracking the latest upstream release :-) There isn't much to report in this update, thanks to the effort spent in the 5.2->5.3 update: a lot of the work is just small plist and patch updates. Thankfully, several patches have been upstreamed and are not needed on our side anymore. I would like to thank Alex Richardson <arichardson.kde@gmail.com> and Tobias Berner <tcberner@gmail.com> for their help with the plist updates and general testing. PR: 198585ccb0759749
Update Qt5 ports to 5.3.2.
Proudly presented by the KDE on FreeBSD team, with several guest stars.
This update took way longer than initially expected due to us previously
accumulating assumptions and changes to Qt's build system that finally bit
us back with the 5.3 release series, so we had to do a fair amount of
cleanup.
New ports:
- comms/qt5-serialport: Qt functions to access serial ports, originally
based on work by Fernando Apesteguia. [1]
- devel/qt5-qdoc: Qt documentation generator, the Qt5 equivalent of
devel/qt4-qdoc3. Originally worked on by Tobias Berner.
It had already been half-split from devel/qt5-buildtools,
we just needed to finish the work.
Dead ports:
- devel/qt5-qmldevtools: Merged into lang/qt5-qml.
Minor changes:
- devel/qt5: Add x11/qt5-x11extras and the new ports to the dependency list.
- graphics/qt5-imageformats: The port now supports the JPEG2000, WEBP,
Direct Draw Surface and ICNS formats.
- multimedia/qt5-multimedia: The ALSA and PULSEAUDIO options are now
mutually exclusive due to changes introduced in
Qt 5.3.0 (the ALSA code is now a proper plugin
that is only built if PulseAudio is not used).
- x11/qt5-x11extras: Add USE_LDCONFIG since the port installs a shared
library.
The big changes:
- bsd.qt.mk: Set QMAKESPEC instead of QMAKEPATH. [3]
QMAKEPATH does much more than we want now that we call qmake from the top
of ${WRKSRC}. qmake uses QMAKEPATH when evaluating the QMAKE_MKSPECS
property, which is in turn used by qt_config.pri to load the .pri files in
mkspecs/modules.
In practice, this means that if people have an older Qt installation those
files will be used and QT_CONFIG will have values such as "gui" even if
one is building a port like textproc/qt5-xml, which passes -no-gui to the
configure script. Consequently, unintended code paths may be enabled or
the configuration step can just fail if the .pro files expect values that
are not present in the system-wide, older .pri files.
We avoid all those problems if we use QMAKESPEC, as qmake does not take
its value into account when evaluating the QMAKE_MKSPECS property and will
only parse the files in the mkspec's directory (mkspecs/freebsd-clang, for
example, instead of all the files in mkspecs).
- Stop explicitly passing ${LOCALBASE} to the compiler. [3]
qmake's behavior has changed in Qt 5, and the paths set in QMAKE_INCDIR
and QMAKE_LIBDIR in the mkspecs are passed before any others, such as the
ones in the build directory themselves.
In practice, this means that we end up with linker calls like this:
c++ -o libfoo.so foo.o bar.o -L/usr/local/lib -L/wrkdir/build/lib
-lQt5Gui -lQt5Core
So if one already has Qt installed in the system, the older, already
present version of the libraries in /usr/local/lib will be used instead of
the newly-built ones in /wrkdir/build/lib.
QTBUG-40825 discusses this behavior upstream, but there has been no
agreement on a solution yet.
For now, the solution adopted is to make the compiler and the linker aware
of those paths but only try them last after all others, and this is
achieved by setting the CPATH and LIBRARY_PATH environment variables when
qmake is being used.
In addition to setting them in CONFIGURE_ENV and MAKE_ENV, we also need to
stop changing QMAKE_INCDIR and QMAKE_LIBDIR as well as filter those paths
from the pkg-config calls qtbase's configure script makes.
- Call qmake from the root of the ${WRKSRC}.
In Qt 5.3, Qt's build infrastructure has undergone some changes that make
our previous approach of calling qmake from the directories we want to
build stop working. Things would break even more in Qt 5.4, in which
qtbase's configure script does not accept the -process, -fully-process and
-dont-process arguments anymore (it always behaves as if -process had been
used).
Bite the bullet and start calling qmake from ${WRKSRC}. The largest part of
this change involves changing lines in Makefiles from
WRKSRC_SUBDIR= foo/bar
to
BUILD_WRKSRC= ${WRKSRC}/foo/bar
INSTALL_WRKSRC= ${WRKSRC}/foo/bar
as well as adding patches to .pro files to avoid entering other
subdirectories and removing post-configure targets that are not necessary
anymore.
Since qmake needs to be called from the top of ${WRKSRC} anyway, we can
also simplify the configuration process for the qtbase ports a little.
Looking at r10019 it is not clear why we started calling qmake in the
pre-configure target in addition to the post-configure one (while also
skipping it in do-configure), but we can now drop this call since letting
configure behave as if -process had been passed means it will call qmake
on its own and overwrite the files generated by the pre-configure call. We
still need to call qmake in post-configure though, as the configure script
does not pass -recursive when calling qmake and we need to be able to call
make from any subdirectory when building.
PR: 194762 [1]
PR: 194566 # exp-run with base GCC and clang
PR: 194088 [3]a9662ed949Remove @dirrm and @dirrmtry entries from the Qt ports.990a62701e
Update the default version of GCC in the Ports Collection from GCC 4.7.4 to GCC 4.8.3. Part II, Bump PORTREVISIONs. PR: 192025 Tested by: antoine (-exp runs) Approved by: portmgr (implicit)15945f8122
Add x11-toolkits/qt5-quickcontrols. The Qt Quick Controls module provides a set of controls that can be used to build complete interfaces in Qt Quick. Submitted by: Tobias Berner <tcberner@gmail.com> via the kde-freebsd mailing list292a0e82d8