When using BUILD_DEPENDS with a dependency-version, as described
in section 5.9.9 of the Porters Handbook, a desired-version can be
compared with an installed-version, e.g.:
py38-sip>=6.5.1:devel/py-sip@py38
The version is compared fully with all the ports-versioning
parts included. That includes the PORTEPOCH, which isn't
visible (because =0 in the specification above). Since py-sip
was epoched at some point, the installed version of py-sip might
be this:
py38-sip-5.5.0,1 Python to C and C++ bindings generator
Because of the epoch, the version 5.5.0,1 > 6.5.1, even though
visually it seems like it wouldn't be. Massage the dependency generation
in pyqt.mk to take that epoch into account.
PR: 262129
Reported by: Rafael Grether
Run Tools/scripts/indent_make_if.pl on all of Mk.
These white space changes contribute greatly to the readability of those files.
As we have a version control system, finding out the reasons for the changes
prior to these white space changes is still easily possible
Differential Revision: https://reviews.freebsd.org/D35024
Reviewed by: portmgr (rene, bapt)
- Update sip to 6.5.1
- Update PyQt5 to 5.15.6
- Update PyQtChart, PyQtNetworkAuth and PyQtWebengine to 5.15.5
- Update PyQtSip to 12.9.1
- Update PyQtBuilder to 1.12.2
- Add ${_MAKE_JOBS} for pyqt.mk (reported by Tatsuki Makino)
PR: 261685
Exp-run by: antoine
SIP:
As mentioned in the update from sip to sip5, this is a transitional version
to remove what is deprecated in sip4.
Sip6 completely removes the deprecated parts.
Unfortunately, some ports — mostly cura things — can not use sip6, so we
reintroduce sip4.
PyQt:
At the same time, we took the opportunity to simplify PyQT and propose only one
package as for devel/pyside2. */py-qt5-* have been merged — excepted chart,
networkauth and webengine — into devel/py-qt5-pyqt.
This allows us to be in adequacy with the packages that the author of these
libraries proposes, namely:
PyQt - devel/py-qt5-pyqt
PyQt-Charts - x11-toolkits/py-qt5-chart
PyQt-NetworkAuth – net/py-qt5-networkauth
PyQt-WebEngine – www/py-qt5-webengine
SIP – devel/py-sip
py-sip - devel/py-qt5-sip
PyQt-builder - devel/py-qtbuilder
Qscintilla - devel/py-qt5-qscintilla2
Reviewed by: diizzy, kde
Tested by: kai, rhurlin, arrowd, madpilot
Approved by: makc, tcberner, kde
Differential Revision: https://reviews.freebsd.org/D33237
Exp-run by: antoine
The QtPositioning module contains classes to determine a position by
using a variety of possible sources, including satellite, or wifi, or
a text file, and so on. That information can then be used to, for
example, determine a position on a map. In addition satellite
information can be retrieved and area based monitoring can be performed.
https://www.riverbankcomputing.com/static/Docs/PyQt5/api/qtpositioning/qtpositioning-module.html
Reviewed by: lbartoletti, #portmgr!
Approved by: lbartoletti (kde@)
Differential Revision: https://reviews.freebsd.org/D30829
* 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
py-qt modules require sip-module to build, unfortunately, it is hardcoded and links to the default python version.
There is no option to pass it in like sip binary, so we need to patch configure.py file.
Reported by: fluffy
Approved by: fluffy
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
Allow ports to only depend on a component of PyQt for testing.
USES=pyqt:5
USE_PYQT=webengine_test
will add a TEST_DEPENDS on www/py-qt5-webengine
Approved by: portmgr (mat)
Differential Revision: https://reviews.freebsd.org/D23241
- 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
pyqt.mk had a long standing bug, where the sip-dir was not properly set
for the port devel/py-sip. The underlying issue was the following:
When using pyqt.mk consumers would specify
USES=pyqt:<version>
To also have easy access for the data from pyqt.mk in the py-sip port, we allowed
version=sip, which only unhides a very limited scope of pyqt.mk. However, we also
set
_VERSION_SUBDIR_REL= PyQt${_PYQT_VERSION}/${PYTHON_VER}
and used that in
_SIPDIR_REL= share/${_VERSION_SUBDIR_REL}/sip
PYQT_SIPDIR= ${PREFIX}/${_SIPDIR_REL}
Therefore, py-sip got a very mangled PYQT_SIPDIR value passed to its configure
script.
Big thanks to Loïc for figuring out the issue :)
PR: 223409
Submitted by: Loïc Bartoletti <lbartoletti@tuxfamily.org>
- 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
- 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
* 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
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
Originally written by jrm in https://reviews.freebsd.org/D12964, but it makes
sense to decouple this stylistic change from what is being worked on in that
patch.
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
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
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