aboutsummaryrefslogtreecommitdiffstats
path: root/x11-toolkits/qt5-quick
Commit message (Collapse)AuthorAgeFilesLines
* Merge lang/qt5-qml and x11-toolkits/qt5-quick into x11-toolkits/qt5-declarativetcberner2018-11-054-583/+0
| | | | | | | | | - 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: 232751
* qt5: Fix build on GCC based architectures.tcberner2018-10-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Update Qt5 to 5.11.1tcberner2018-09-092-1/+26
| | | | | | | | | 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: antoine
* Replace bsd.qt.mk by Uses/qt.mk and Uses/qt-dist.mktcberner2018-06-291-3/+2
| | | | | | | | | | | | | | | 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/D15540
* Update the Qt5 ports to 5.10.1.rakuco2018-05-182-2/+19
| | | | | | | | | | | | | | | | | 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: 228213
* Fix permissions in installed Qt5 header filestcberner2018-03-301-0/+1
| | | | | | | | | | | | | | | 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.com
* Update Qt5 ports to 5.9.3.rakuco2018-01-072-3/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: 224849
* Revision bump of all ports with USE_GL after consolidation of mesa-libsrezny2017-05-231-0/+1
| | | | | Approved by: swills (mentor) Differential Revision: https://reviews.freebsd.org/D10845
* Update Qt5 to 5.7.1, and unify the Qt4 and Qt5 ports some moretcberner2017-02-191-13/+44
| | | | | | | | | | | | | | | | | | | | | | | | * 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/D9213
* Update the Qt5 ports to 5.6.1.rakuco2016-09-172-9/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: 211916
* Update Qt5 to 5.5.1.rakuco2016-01-252-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Update Qt5 to 5.4.1.rakuco2015-03-182-28/+27
| | | | | | | | | | | | | | | | 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: 198585
* Copy patch from lang/qt5-qml to fix the build with base GCC.rakuco2014-11-131-0/+23
| | | | | | | | Since r372179 we are using the QML headers from the tarball, not the ones installed system-wide by qt5-qml. While this is not a problem and is kind of intended, it also means we need to apply patches like this one to both ports now.
* Use a smarter strategy to avoid building src/qml and src/qmldevtools.rakuco2014-11-122-22/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simply patching src/src.pro to remove those directories from the build does not work in all cases. If an older version of qt5-quick is installed, their .pri files in mkspecs/modules will be picked up, and in the end when linking programs such as tools/qmltestrunner something like this happens: c++ [...] -Wl,-rpath-link,/usr/local/lib -o ../../bin/qmltestrunner -L${WRKSRC}/lib -lQt5QuickTest [...] The -rpath-link linker option will make ${LOCALBASE}/lib take precedence in directory lookups, so when the newly-built libQt5QuickTest.so asks for libQt5Quick.so in its DT_NEEDED section the older version installed in ${LOCALBASE}/lib will be used instead of the one that has just been built. If the new version has symbols the older one does not (Qt releases are backwards, not forwards, compatible), the build will fail. So instead of patching src/src.pro, we let the configuration process proceed without any patching so that the local .pri files are created in ${WRKSRC}/mkspecs and the Makefiles are created in a way that -rpath-link is not passed to the linker anymore. We only need to symlink the existing libraries built by lang/qt5-qml (this is similar to what we do with qtbase ports to avoid rebuilding tools such as qmake and moc), and then change the Makefiles in src/qml and src/qmldevtools so that nothing gets built. This might even be a solution for other ports that got .pro patches in r372179, since depending on which parts depend on which the same thing could happen in the future. I'm not bumping PORTREVISION because the resulting binaries will not change and this only fixes the build where it was broken before. PR: 194870
* Update Qt5 ports to 5.3.2.rakuco2014-11-053-56/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]
* Remove @dirrm and @dirrmtry entries from the Qt ports.rakuco2014-10-241-42/+0
|
* Update the default version of GCC in the Ports Collection from GCC 4.7.4gerald2014-09-111-1/+1
| | | | | | | | | | to GCC 4.8.3. Part II, Bump PORTREVISIONs. PR: 192025 Tested by: antoine (-exp runs) Approved by: portmgr (implicit)
* Remove libtool .la files from all Qt portstijl2014-07-192-3/+1
| | | | Approvedy by: kde (makc)
* KDE/FreeBSD team is happy to present Qt 5 in ports!makc2014-03-043-0/+453
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)