There was Trolltech, Nokia, Qt Project, Digia and today The Qt Company.
To avoid replacing the name at each structure, we will simply mention
that:
"PyQt5 is a set of Python bindings for Qt5 application framework"
* PyQt5: update to 5.15.3
This is a minor feature and bug-fix release. There are corresponding releases of the other PyQt5-related packages.
- Added the missing QImage.setAlphaChannel().
- Support for the QtNetworkAuth library has been moved to a separate PyQtNetworkAuth package.
- Wheels no longer bundle the corresponding Qt libraries and instead automatically install them from an external wheel.
* QScintilla2: update to 2.12.0
This adds support for Qt6 and removes support for Qt4.
- Change the new distname (again)i due to a conflict
- Use the new sip-build system
* devel/py-qtbuilder: update to 1.9.0
* devel/py-sip: fix flavor for sip-distinfo
PR: 253865
Exp-run by: antoine
This commit combines several updates.
- Update Qt to 5.12.2
- Update PyQt to 5.15.1
- Since PySide 5.15.1 is broken with Qt 5.15.2, so PySide and Shiboken are also updated to 5.15.2.
- Update sip to 5.4.0
SIP is a collection of tools to create Python bindings for C and C++ libraries and used by PyQt and wxPython. There are some changes with sip5 [1]:
- python 3.5+ is required
- sip drops support of old deprecated methods as sipdistutils & cie.
- this version breaks also PyQt5 extension ABI. SIP files will be installed in ${PYTHON_SITELIBDIR}/PyQt${_PYQT_VERSION}/bindings
- some ports will use the new pyqtbuilder package with the pyproject.toml setup. Instead if the project have a setup.py, you should use sip-build to build it.
- if a port needs sip, it should also needs pysip. BTW, py-qt5-core requires pysip, so that should be enough for PyQt packages.
List of ports impacted by this change. Most of the patches have been integrated or are in the process of being integrated upstream:
- devel/libsavitar
- graphics/py-python-poppler-qt5
- net-im/scudcloud
- net/libarcus
- print/py-frescobaldi
- science/py-veusz
- graphics/qgis and graphics/qgis-ltr
- deskutils/calibre
A special note regarding calibre. New versions require sip>=5, we update it to the latest version (thanks to madpilot@)
science/scidavis will remove the PyQt binding soon and there is no patch planned, so we remove the python option (ok makc@)
While here, convert some ports to USE_PYQT (cad/cura, cad/uranium, devel/eric6, ...)
Thanks to tcberner and adridg!
[1] https://www.riverbankcomputing.com/static/Docs/sip/
PR: 250853
Exp-run by: antoine
- Update PyQt to 5.15.0, py-sip to 4.19.24 and qscintilla2 to 2.11.5
- Use pypi for PYQT [1]
- Add devel/py-qt5-sip (Don't use it for now. It will be used in future updates of PyQt with py-sip >= 5)
- Add missing py-qt5 ports: comms/py-qt5-sensors, devel/py-qt5-location, devel/py-qt5-remoteobjects, net/py-qt5-networkauth
- Strip libs
- Refactor *_PATH and *_PORT parts
[1] RiverBankComputing doesn't offer links to download latest version of some ports
PR: 247369
Reviewed by: tcberner
Differential Revision: https://reviews.freebsd.org/D25749
Exp-run by: antoine
- Update py-sip to 4.19.21
- Update qscintilla2 to 2.11.4
- Replace MASTER_SITE_RIVERBANK with https versions
- Replace QSCI2_DISTNAME to match with the new one
PR: 245308
Approved by: tcberner (mentor)
Exp-run by: antoine
- 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
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)
* 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
In this case, we dropped a runtime dependency, so it is possible the package
could have been created before and just failed at installation time.
PR: 224870
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
sip is installed as sip-${PYTHON_VER}
- py-qt*-demo: Fix packaging with python3, those ports have a python2 pkg-plist
so USE_PYTHON=py3kplist must be used to convert it
PR: 219641
* This is mostly based on the work by Adriaan de Groot <groot@kde.org> in our development repo.
PR: 217305
PR: 218539
Submitted by: Adriaan de Groot <groot@kde.org>
Reviewed by: rakuco, mat
Approved by: rakuco (mentor)
Exp-run by: antoine
Differential Revision: https://reviews.freebsd.org/D9771
Update PyQt from 5.5.1 to 5.6.2 to match the Qt updates that have
already landed in the ports tree.
PR: 214355
Submitted by: Adriaan de Groot <groot@kde.org>
Reviewed by: rakuco, tcberner
Approved by: rakuco (mentor)
Exp-Run by: antoine
Differential Revision: https://reviews.freebsd.org/D8408
everything at once. Sometime, rename post-install into a options helper
target.
I did not fix ports that were such a mess that I could not figure out
what they really wanted to do. I also did not change ports that had
some version of an auto-plist code in post-install, for the same reason.
With hat: portmgr
Sponsored by: Absolight
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