Commit graph

4 commits

Author SHA1 Message Date
Tobias C. Berner
f3c180c343 Update 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/D9213
2017-02-18 19:48:05 +00:00
Raphael Kubo da Costa
02c0e6b4c0 Replace spaces with tabs. 2017-01-21 14:14:44 +00:00
Raphael Kubo da Costa
3346021972 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:		211916
2016-09-17 09:46:54 +00:00
Raphael Kubo da Costa
4c67812e01 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
2016-01-24 18:10:14 +00:00