Commit graph

30 commits

Author SHA1 Message Date
Jason E. Hale
2a5c778173 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:	antoine
2023-09-25 11:35:16 -04:00
Tobias C. Berner
1fe9749d83 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:	antoine
2023-01-14 22:15:14 +01:00
Tobias C. Berner
3aeb8b79ba 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:		268533
2022-12-29 12:52:47 +01:00
Felix Palmen
ddae4e92d8 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/D36349
2022-09-11 12:20:14 +02:00
Tobias C. Berner
787e501e3d 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/D35619
2022-07-04 09:31:38 +02:00
Tobias C. Berner
6b3bece75a 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/Qt5PatchCollection
2022-01-02 09:47:54 +01:00
Mathieu Arnold
cf118ccf87
One more small cleanup, forgotten yesterday.
Reported by:	lwhsu
2021-04-07 10:09:01 +02:00
Mathieu Arnold
305f148f48
Remove # $FreeBSD$ from Makefiles. 2021-04-06 16:31:07 +02:00
Tobias C. Berner
93b90c42e3 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/D27224
2020-11-21 18:18:34 +00:00
Tobias C. Berner
5f34284e7c Update 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:	antoine
2020-07-06 06:43:37 +00:00
Tobias C. Berner
a25eafc3bc 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:	antoine
2020-04-13 12:35:58 +00:00
Tobias C. Berner
93eea426e8 misc/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/D22991
2020-01-25 20:19:38 +00:00
Tobias C. Berner
a008399a74 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:	antoine
2019-11-08 16:59:58 +00:00
Tobias C. Berner
c45de9579f Qt5 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:		238782
2019-10-01 04:13:31 +00:00
Gerald Pfeifer
ea8c8ec7da 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:		238330
2019-07-26 20:46:53 +00:00
Tobias C. Berner
031fc9bfb6 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:	antoine
2019-02-12 17:43:00 +00:00
Tijl Coosemans
1bf487d3e7 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] 5c2cbfccf9
[2] 2ed5054e3a
[3] 009f5ebb4b

Bump all ports that depend on Qt5.

PR:		234070
Exp-run by:	antoine
Approved by:	kde (adridg)
2019-01-16 11:13:44 +00:00
Tobias C. Berner
ea792330aa 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:	antoine
2018-12-16 14:49:16 +00:00
Gerald Pfeifer
a9f015d155 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:		231590
2018-12-12 01:35:33 +00:00
Tobias C. Berner
60768bf27d 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:	antoine
2018-09-09 11:12:14 +00:00
Gerald Pfeifer
09f9633cb6 Bump PORTREVISION for ports depending on the canonical version of GCC
in the ports tree (via Mk/bsd.default-versions.mk and lang/gcc) which
has now moved from GCC 6 to GCC 7 by default.

This includes ports
 - featuring USE_GCC=yes or USE_GCC=any,
 - featuring USES=fortran,
 - using Mk/bsd.octave.mk which in turn features USES=fortran, and those
 - with USES=compiler specifying one of openmp, nestedfct, c11, c++0x,
   c++11-lib, c++11-lang, c++14-lang, c++17-lang, or gcc-c++11-lib.

PR:		222542
2018-07-29 22:18:44 +00:00
Tobias C. Berner
b1a1d38bf9 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/D15540
2018-06-28 17:39:53 +00:00
Raphael Kubo da Costa
70141f1a3a 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:		228213
2018-05-18 12:27:43 +00:00
Tobias C. Berner
dc579c4cc2 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.com
2018-03-29 19:03:17 +00:00
Raphael Kubo da Costa
f6ceca6350 Update 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:		224849
2018-01-06 21:30:31 +00:00
Raphael Kubo da Costa
7226f1ca02 Build the entire code instead of just src/serialbus.
The CAN code might not be entirely working on FreeBSD (I have not checked), but
there is no reason not to build it and have it be tested more widely.

Reviewed by:	tcberner, adridg
Differential Revision:	https://reviews.freebsd.org/D13107
2018-01-01 13:13:55 +00:00
Gerald Pfeifer
e59c88cece Bump PORTREVISION for ports depending on the canonical version of GCC
(via Mk/bsd.default-versions.mk and lang/gcc) which has moved from
GCC 5.4 to GCC 6.4 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, c++11-lib, c++11-lang,
   c++14-lang, c++0x, c11, or gcc-c++11-lib.

PR:		219275
2017-09-10 20:55:38 +00:00
Gerald Pfeifer
04d6f52202 Bump PORTREVISIONs for ports depending on the canonical version of GCC and
lang/gcc which have moved from GCC 4.9.4 to GCC 5.4 (at least under some
circumstances such as versions of FreeBSD or platforms).

This includes ports
 - with USE_GCC=yes or USE_GCC=any,
 - with USES=fortran,
 - using using Mk/bsd.octave.mk which in turn has USES=fortran, and
 - with USES=compiler specifying openmp, nestedfct, c++11-lib, c++14-lang,
   c++11-lang, c++0x, c11, or gcc-c++11-lib.

PR:		216707
2017-04-01 15:23:30 +00:00
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
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