Commit graph

16 commits

Author SHA1 Message Date
Tobias C. Berner
eaee14a38f Update PyQt5 to 5.12.1
- Upgrade sip to 4.19.15
- Upgrade qscintilla2 to 2.11.1
- Upgrade PyQt to 5.12.1

- From this version on www/py-qt5-webengine is unbundled and ships its own distfile

PR:		236894
Exp-run by:	antoine
2019-04-05 23:05:20 +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
b9ead510b9 Update PyQt5 to 5.11.3
- sip         upgrade to 4.19.13
- qscintilla2 upgrade to 2.10.8
- PyQt5       upgrade to 5.11.3

This has been worked on by arrowd and myself.

PR:		233954
Exp-run by:	antoine
2018-12-16 15:25:40 +00:00
Tobias C. Berner
cc8a667aa2 pyqt: Change install directories for Python flavor support
* PyQt could not be installed for multiple Python versions at
  the same time, as there were conflicting files.

  This patch creates Python-version versioned directories for
  all these, and further installs binaries with a version number.

* Note, there might be some hickups for software that depends on
  on of the .so's provided by PyQt5, which might not be found
  anymore autmotically, and maybe need some LD-flaggery.

* Update PyQt5 to 5.10.1

* Mark www/py-qt5-webengine broken. It is unforuntately no longer
  compatible with the old qt5-webengine-5.9.4 we ship.

PR:		232745
Exp-run by:	antoine
Differential Revision:	https://reviews.freebsd.org/D8714
2018-11-22 20:18:37 +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
ddd37ce3fd Update the QScintilla2 ports to 2.10.4 2018-04-29 16:19:44 +00:00
Tobias C. Berner
cf2ff32ee7 Update py-sip to 4.19.8 and qscintilla2 to 2.10.3
PR:		226487
Exp-run by:	antoine
2018-03-12 18:06:51 +00:00
Raphael Kubo da Costa
6699fae7a2 Update QScintilla 2.10.2.
Upstream has renamed its libraries and we no longer need to patch
devel/qscintilla-qt5 to create a library whose name does not conflict with
devel/qscintilla's. However, the library names are different so we need to bump
PORTREVISION in several ports (the SOVERSION has changed too).

Thanks to antoine for the exp-run.

PR:		225928
2018-02-18 09:55:10 +00:00
Raphael Kubo da Costa
bb3fdd9409 PyQt: Unconditionally install the .pyi files
r460809 started installing .pyi with the %%PYTHON3%% substitution in the
plists. Support for .pyi files was added in Python 3.5, and PyQt's configure.py
only installs the files on Python >= 3.5.

This patch removes the version checks from configure.py (the files are just
unused in earlier Python versions), as it is easier than checking Python 3's
version in each PyQt port's Makefile (or to add the logic to Mk/Uses/pyqt.mk).

PR:		225773
Reviewed by:	tcberner
Differential Revision:	https://reviews.freebsd.org/D14361
2018-02-14 21:30:14 +00:00
Raphael Kubo da Costa
5ebd680c09 Bump PORTREVISION in the PyQt5 ports after r460809. 2018-02-04 20:56:45 +00:00
Dmitry Marakasov
b4b8a14c29 - Update WWWs for all py-qt4* and py-qt5* ports
- Fix plists for py-qt5* for python3 case, adding missing .pyi files

Approved by:	portmgr blanket
2018-02-03 12:45:01 +00:00
Raphael Kubo da Costa
a9709471be Update SIP to 4.19.6, PyQt4 to 4.12.1 and PyQt5 to 5.9.2.
Upstream no longer ships the contents of misc/py-qt5-doc, so the port has been
removed.

This is also a requirement for updating the Qt5 ports, as the PyQt5 version
currently in the tree has license conflicts with later Qt versions.

Big thanks to tcberner for doing most of the work here, and antoine for the
exp-run.

PR:		224739
2018-01-02 20:21:34 +00:00
Mathieu Arnold
551be3c723 Convert Python ports to FLAVORS.
Ports using USE_PYTHON=distutils are now flavored.  They will
  automatically get flavors (py27, py34, py35, py36) depending on what
  versions they support.

  There is also a USE_PYTHON=flavors for ports that do not use distutils
  but need FLAVORS to be set.  A USE_PYTHON=noflavors can be set if
  using distutils but flavors are not wanted.

  A new USE_PYTHON=optsuffix that will add PYTHON_PKGNAMESUFFIX has been
  added to cope with Python ports that did not have the Python
  PKGNAMEPREFIX but are flavored.

  USES=python now also exports a PY_FLAVOR variable that contains the
  current python flavor.  It can be used in dependency lines when the
  port itself is not python flavored.  For example, deskutils/calibre.

  By default, all the flavors are generated.  To only generate flavors
  for the versions in PYTHON2_DEFAULT and PYTHON3_DEFAULT, define
  BUILD_DEFAULT_PYTHON_FLAVORS in your make.conf.

  In all the ports with Python dependencies, the *_DEPENDS entries MUST
  end with the flavor so that the framework knows which to build/use.
  This is done by appending '@${PY_FLAVOR}' after the origin (or
  @${FLAVOR} if in a Python module with Python flavors, as the content
  will be the same).  For example:

    RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}six>0:devel/py-six@${PY_FLAVOR}

PR:		223071
Reviewed by:	portmgr, python
Sponsored by:	Absolight
Differential Revision:	https://reviews.freebsd.org/D12464
2017-11-30 15:50:30 +00:00
Matthew Rezny
b760897dde Revision bump of all ports with USE_GL after consolidation of mesa-libs
Approved by:	swills (mentor)
Differential Revision:	https://reviews.freebsd.org/D10845
2017-05-23 05:03:14 +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
Raphael Kubo da Costa
5b3f3dd953 At very long last land PyQt5 5.5.1 ports.
Add the required bits to Uses/pyqt.mk along with all the PyQt5 ports.
Thankfully this commit is mostly adding new ports, as the hard work was
already done in r403297 and r403662.

Huge kudos to Tobias Berner <tcberner@gmail.com> and, most importantly,
Guido Falsi (madpilot@) for their initial work on these ports (see D2910 in
Phabricator for an earlier version of the PyQt5 patch set).

PR:		204672
2015-12-13 21:56:50 +00:00