Commit graph

8 commits

Author SHA1 Message Date
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
Yuri Victorovich
f891b45043 comms/xcwcp: Fix build with GCC-based architectures
Also reorder USExx and other lines.

PR:		234222
Submitted by:	Piotr Kubaj <pkubaj@anongoth.pl>
2018-12-21 00:16:53 +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
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
Mathieu Arnold
7f4572eae4 Remove ${PORTSDIR}/ from dependencies, Mk and categories a, b, and c.
With hat:	portmgr
Sponsored by:	Absolight
2016-04-01 13:29:15 +00:00
Diane Bruce
e7302b2f89 Update to 3.5.0
2015-09-29 Kamil Ignacak
        * bugfix: fixing code that resets tone queue on flushing.  A bug
        was found on FreeBSD: after pressing Ctrl+C, application that
        wanted to stop and delete generator as part of SIGINT handling
        procedure, got stuck in cw_tq_flush_internal() function, waiting
        for tone queue to go idle. This never happened. Resetting all tone
        queue state variables in flush function ensures that the function
        completes and returns, and that client application can exit.

2015-09-12 Kamil Ignacak
        * xcwcp: the application souce code files are now ported to
        Qt5. Build system files have been modified to use Qt5 to build
        xcwcp.
        Discovery and adding -fPIC to compiler flags for xcwcp is right
        now very naive, perhaps that will have to be improved in the
        future.
2015-10-10 19:15:56 +00:00
Antoine Brodin
19cbca0ff2 Unbreak INDEX and ongoing bulks/exp-runs 2014-12-12 21:23:03 +00:00
Stephen Hurd
7bf1890cf3 New port comms/xcwcp
Sub-port of comms/unixcw

Previously, this was a build-time option, but the primary use of
comms/unixcw is to provide libcw.so (and it's a dependency of
comms/cwdaemon).

Since comms/cwdaemon is not a GUI program, it doesn't make sense to enable
the GUI by default, which would mean pkg users couldn't install this
program.  By splitting it into a sub-port, it's now available via pkg
and more obviously present when earching ports.
2014-12-12 12:37:36 +00:00