Page MenuHomeFreeBSD

Update py-sip to 4.19.24, qscintilla2 to 2.11.5, PyQt5 to 5.15.0 add new py-qt5-sip 12.8.0
ClosedPublic

Authored by lbartoletti on Jul 21 2020, 6:03 AM.
Tags
None
Referenced Files
F99399453: D25749.id74729.diff
Wed, Oct 9, 5:58 AM
F99356135: D25749.diff
Tue, Oct 8, 7:31 PM
F99328394: D25749.id74729.diff
Tue, Oct 8, 11:17 AM
Unknown Object (File)
Mon, Oct 7, 6:19 PM
Unknown Object (File)
Mon, Oct 7, 1:31 PM
Unknown Object (File)
Mon, Oct 7, 6:36 AM
Unknown Object (File)
Sat, Oct 5, 6:55 PM
Unknown Object (File)
Fri, Oct 4, 5:36 PM
Subscribers

Details

Summary

This diff follow ups https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=247369. I wanted to fix and update www/py-qt5-webengine and... that escalated quickly.

I discovered that RiverBankComputing doesn't offer links to download latest version of some ports (for example PyQt 5.15), I use pypi links as on arch. So, we have latest versions of all pyqt stuff.

py-sip is now mostly a bin set tools and PyQt5 requires PyQt5_Sip (which I added in devel/py-qt5-sip [1]) to run [2] and to build [3].

BTW, I've made some changes in Mk/Uses/pyqt.mk, alphabetize USE_PYQT and strip lib installed by PyQt.

New PyQt modules added are:

  • comms/py-qt5-sensors
  • devel/py-qt5-location
  • devel/py-qt5-remoteobjects
  • net/py-qt5-networkauth

For your information, QtQuick3d and some others are missing so I couldn't add their py-qt versions.

In theory, devel/py-qt5-qscintilla2 can be built with setuptools and devel/py-qtbuilder. After a few tries, I went back to using configure.py. So I don't know if devel/py-qtbuilder worth to be added in the ports tree.

Last but not least, sip5 drops sipconfig and even if it is a depreciated module since 2014 it is still in use [4]. It will be necessary to look at how many ports will be broken by this change and if it is not easier for the moment to stay on SIP 4.

The diff is still in its raw state and needs polishing.

[1] I'm unsure about theses names. Maybe it's worth renaming devel/py-sip?
[2] Confirmed with QtCore
[3] Per devel/py-qt5-qscintilla2 and www/py-qt5-webengine
[4] There are discussions and work to fix graphics/qgis and graphics/krita https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg1753208.html

Test Plan

Poudriere 12amd64 and exp-run by antoine.

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

Mk/Uses/pyqt.mk
96 ↗(On Diff #74729)

Could you please avoid all the white-space noise? It makes it very hard to see what is happening.

(I am not against it, but maybe commit the white-space increase seperately.)

comms/py-qt5-sensors/pkg-plist
25 ↗(On Diff #74729)

empty line.

Mk/Uses/pyqt.mk
96 ↗(On Diff #74729)

@lbartoletti you have my approval to quickly commit the whitespace changes separately to reduce the noise :)

rebase

comms/py-qt5-sensors/pkg-plist: remove empty line

devel/py-qt5-sip: add license file

Mk/Uses/pyqt.mk
127–133 ↗(On Diff #74856)

I'll re-iterate my request, please try not to mix up whitespace changes at the same time as functional changes, it really makes it harder to see what is happening.

303 ↗(On Diff #74856)

Extra blank line.

Mk/Uses/pyqt.mk
99 ↗(On Diff #74856)

^ I've been wondering whether it would be nicer to read to have something like

.for _component in ${_USE_PYQT_ALL}
py-${_component}_PATH?=${PYQT_PY_RELNAME}-${_component}>=${PYQT_VERSION}
.endfor

py-some_nondefault_one_PATH=${PYQT_PY_RELNAME}-why-is-this-called-differently>=${PYQT_VERSION}

instead of listing every component

134 ↗(On Diff #74856)

^ same comment as for _PATH

  • Rewrite _PORT and _PATH parts
  • Add x11-toolkits/py-qt5-quick3d
  • Add py-qt5-networkauth description
  • Remove some extra line and whitespaces (maybe not yet totally cleaned, sorry mat)
  • Fix devel/py-qt5-dbus
lbartoletti added inline comments.
Mk/Uses/pyqt.mk
99 ↗(On Diff #74856)

Done, except for sip, pysip and qscintilla2

Good effort, thank you.

I added some minor, non-breaking issues, that you can decide yourself whether you agree with or not (except for the Tools/scripts one :D )

Mk/Uses/pyqt.mk
126 ↗(On Diff #76210)

^this could use a \t after =

137 ↗(On Diff #76210)

^ I would also insert a tab after = here for better readabilty

139 ↗(On Diff #76210)

^ could you run Tools/scripts/indent_make_if.pl on the file before commit, to get proper indentation of the nested .if and .for for readabilty?

comms/py-qt5-serialport/Makefile
17 ↗(On Diff #76210)

^ minor: could you order them by type first, and then alphabetically:
USE_PYQT= sip_build core_run pysip_run

lbartoletti marked 4 inline comments as done.

Indent and reorder USE_PYQT

lbartoletti retitled this revision from [WIP] Update py-sip to 5.3.0, qscintilla2 to 2.11.5, PyQt5 to 5.15.0 add new py-qt5-sip 12.8.0 to Update py-sip to 5.3.0, qscintilla2 to 2.11.5, PyQt5 to 5.15.0 add new py-qt5-sip 12.8.0.

I started, to fix problems on ports that don't support sip5.
However, I go back to sip4, since:

  • it works with PyQt5.15 using the latest version of sip4
  • it doesn't break the packages (with my tests, we will reconsider this after the exp-run).
  • and there will be a new version in a few months.

I left py-qt5-sip (aka pysip) for the moment, but it should not to be installed because it conflicts with the other pyqt5 files. I'm wondering if it's better to add the CONFLICTS tag or just remove it.

I left py-qt5-sip (aka pysip) for the moment, but it should not to be installed because it conflicts with the other pyqt5 files. I'm wondering if it's better to add the CONFLICTS tag or just remove it.

You already did the work of adding it, so I don't think there is much harm in having it in with a CONFLICTS line. You could mention something like "it will be used in future updates of PyQt" to make it clearer, that it is not used at the moment.

lbartoletti retitled this revision from Update py-sip to 5.3.0, qscintilla2 to 2.11.5, PyQt5 to 5.15.0 add new py-qt5-sip 12.8.0 to Update py-sip to 4.19.24, qscintilla2 to 2.11.5, PyQt5 to 5.15.0 add new py-qt5-sip 12.8.0.Oct 5 2020, 6:44 AM
lbartoletti edited the test plan for this revision. (Show Details)

Use python 3.5+ for devel/py-qt5-sip

This revision was not accepted when it landed; it landed in state Needs Review.Oct 5 2020, 3:50 PM
This revision was automatically updated to reflect the committed changes.