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
graphics/qt5-pixeltool5.15.19p3
Qt 5 screen magnifier (KDE patched)
- Maintainer
- kde@FreeBSD.org
- Packages
- qt5-pixeltool 5.15.19p3
- Upstream
- Higher version available: 6.12.0
- CPE
qt:qt- WWW
- https://www.qt.io/
- 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 (44)
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
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
Update Qt/PySide2 to 5.15.2 / PyQt to 5.15.1 / SIP to 5.4.0 This commit combines several updates.
- Update Qt to 5.12.2
- Update PyQt to 5.15.1
- Since PySide 5.15.1 is broken with Qt 5.15.2, so PySide and Shiboken are also updated to 5.15.2.
- Update sip to 5.4.0
SIP is a collection of tools to create Python bindings for C and C++ libraries and used by PyQt and wxPython. There are some changes with sip5 [1]:
- python 3.5+ is required
- sip drops support of old deprecated methods as sipdistutils & cie.
- this version breaks also PyQt5 extension ABI. SIP files will be installed in ${PYTHON_SITELIBDIR}/PyQt${_PYQT_VERSION}/bindings
- some ports will use the new pyqtbuilder package with the pyproject.toml setup. Instead if the project have a setup.py, you should use sip-build to build it.
- if a port needs sip, it should also needs pysip. BTW, py-qt5-core requires pysip, so that should be enough for PyQt packages.
List of ports impacted by this change. Most of the patches have been integrated or are in the process of being integrated upstream:
- devel/libsavitar
- graphics/py-python-poppler-qt5
- net-im/scudcloud
- net/libarcus
- print/py-frescobaldi
- science/py-veusz
- graphics/qgis and graphics/qgis-ltr
- deskutils/calibre
A special note regarding calibre. New versions require sip>=5, we update it to the latest version (thanks to madpilot@)
science/scidavis will remove the PyQt binding soon and there is no patch planned, so we remove the python option (ok makc@)
While here, convert some ports to USE_PYQT (cad/cura, cad/uranium, devel/eric6, ...)
Thanks to tcberner and adridg!
[1] https://www.riverbankcomputing.com/static/Docs/sip/
PR: 250853
Exp-run by: antoine47b26d9293Update Qt5 to 5.15 This is a major upgrade of the Qt libraries [1], [2]. * People that use upgrading mechanisms with incomplete dependency handling (portmaster & Co) should make sure to manually remove the existing Qt packages to guarantee a safe upgrade. Keep in mind, that Qt does not like if you have an incomplete upgrade. * This version of Qt drops support for OpenSSL 1.0 -- this means that there won't be any binary packages for Qt5 provided by the FreeBSD package builders for FreeBSD 11.x anymore -- and the same for *all* the ports depending on net/qt5-network [3]. If you cannot upgrade to a more recent FreeBSD version (12.x, 13.x), you will need to build Qt5 from ports while switching to an SSL implementation from ports. Big thanks are due for * kai@ for updating webengine (also mikael@) * Felix Palmen for providing LibreSSL support patches * adridg@ and lbartoletti@ for helping me fix the fallout [1] https://www.qt.io/blog/qt-5.15-released [2] https://wiki.qt.io/New_Features_in_Qt_5.15 [3] https://www.freshports.org/net/qt5-network PR: 247010 Exp-run by: antoine5f34284e7c
Update Qt5 to 5.14.2
Very big thanks go again to kai@ who provided the www/qt5-webengine upgrade (to 5.14.0).
Notably, video capture support was re-enabled.
Announcement:
https://www.qt.io/blog/qt-5.14-has-released
PR: 244964
Exp-run by: antoinea25eafc3bcmisc/qtchooser: do not create unnecessary wrappers
misc/qtchooser provides a wrapper binary bin/qtchooser, that when called with
name foo, will lauch the corresponding binary from lib/qt${current_qt_version}/bin/foo.
Previously qtchooser would install a list of 30-ish symlinks to itself automatically.
Now we switch this around.
qt-dist ports that define QT_BINARIES will now have a @postexec and @postunexec
entry added to their plist to run the shell-script update-qtchooser-wrapper
(installed by qtchooser).
update-qtchooser-wrapper removes all symlinks to bin/qtcreator that have no
corresponding binary in lib/qt*/bin, and readds links that are missing.
Exp-run by: antoine
PR: 242905
PR: 243443
Reported by: grarpamp@gmail.com
Reviewed by: adridg
Differential Revision: https://reviews.freebsd.org/D2299193eea426e8Update 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
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
graphics/qt5-pixeltool: fix build with GCC-based architectures PR: 232471 Submitted by: Piotr Kubaj <pkubaj@anongoth.pl>9ad6c50a2a
Update Qt5 to 5.11.2 PR: 231560 Exp-run by: antoineb25105fb9b
Update Qt5 to 5.11.1
Big thanks to
* brnrd for the libressl patches in net/qt5-network
* jhale for fixing the bulk load of ports
PR: 230884
Exp-run by: antoine60768bf27dReplace 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
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.comdc579c4cc2Update 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: 224849f6ceca6350Get rid of QT_PREFIX in favour of PREFIX. QT_PREFIX was a remnant of a bygone time. Reviewed by: rakuco Approved by: rakuco (mentor) Differential Revision: https://reviews.freebsd.org/D882562ede14c75
Update 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]a9662ed949Cleanup plista76a739bfe
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
KDE/FreeBSD team is happy to present Qt 5 in ports! Alberto Villa (avilla@) has done all the hard work to create Qt 5 ports. Trivial update from 5.2.0-beta1 to 5.2.1 by me. Special thanks for Adriaan de Groot <groot@kde.org> for his assistance for Qt-5.2.0 update. Approved by: portmgr (bapt) (for Mk/bsd.port.mk)4cd1e8830e