Page MenuHomeFreeBSD

py-qt6 ports.
ClosedPublic

Authored by madpilot on Oct 28 2022, 7:38 AM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Dec 23, 6:40 AM
Unknown Object (File)
Mon, Dec 23, 6:39 AM
Unknown Object (File)
Fri, Dec 20, 6:33 AM
Unknown Object (File)
Sun, Dec 15, 3:55 PM
Unknown Object (File)
Sun, Dec 1, 4:06 AM
Unknown Object (File)
Sun, Dec 1, 4:06 AM
Unknown Object (File)
Sun, Dec 1, 4:06 AM
Unknown Object (File)
Sun, Dec 1, 4:02 AM
Subscribers

Details

Summary

This review contains changes to add ports of py-qt6.

This compiles fine in poudriere, I still have not run tested it.

Test Plan

I need to run test it on a virtual machine at least.

Diff Detail

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

Event Timeline

Awesome!

devel/py-qt6-qscintilla2/pkg-descr
5

^ you could remove this here and append it to the WWW in the Makefile

py-qt5-sip seems to be broken:

===>   py39-qt5-sip-12.9.1 depends on file: /usr/local/sbin/pkg - found
=> .tar.gz is not in /usr/ports/devel/py-qt5-sip/distinfo.
=> Either /usr/ports/devel/py-qt5-sip/distinfo is out of date, or
=> .tar.gz is spelled incorrectly.

Oh, thanks, the error with py-qt5-sip is due to having forgotten to change the variable name in the port Makefile to PYQT5SIP_DISTNAME. I'm going to fix that.

But this exposes I clearly did not properly test for regressions with py-qt5. I'm going to do that, but it will require some time.

  • Fix regressions in py-qt5
  • Move website to WWW in Makefile

Oh, thanks, the error with py-qt5-sip is due to having forgotten to change the variable name in the port Makefile to PYQT5SIP_DISTNAME. I'm going to fix that.

But this exposes I clearly did not properly test for regressions with py-qt5. I'm going to do that, but it will require some time.

You could also do something like
pyqt.mk:

PYQT5SIP_DISTNAME= ...
PYQT6SIP_DISTANME=...
PYQTSIP_DISTNAME=${PYQT${_PYQTVER}_DISTNAME}

That whay the ports can stay the same and look mostly alike for 5 and 6 -- i.e. expose unversioned variables -- we do something similar in qt.mk for example.

Many thanks!

Mk/Uses/pyqt.mk
82

Please, can you rebase your PR?

devel/py-qt6-pyqt/Makefile
20

Since it requires qscintilla2-qt6 sould be 3.7-3.9

devel/py-qt6-qscintilla2/Makefile
19

Does not build with python > 3.9?

madpilot marked an inline comment as done.
madpilot added inline comments.
Mk/Uses/pyqt.mk
82

Sure, I was already planning to do that.

devel/py-qt6-pyqt/Makefile
20

Thanks for pointing this out, I'll adapt the code.

devel/py-qt6-qscintilla2/Makefile
19

I need to test this. I'll try after rebasing the code.

madpilot marked an inline comment as done.
  • Rebased on latest ports tree.
  • Tested with Python 3.10, seems to work, so I modified the restricitons.
  • Changed varibales to use unversioned ones where possiblle, could not find a solution for sip:

To explain, since Uses/pyqt.mk also accepts a :sip argument in place of the major version number, qhen compiling sip there is no reasonable value in _PYQT_VERSION. So for the sip ports I kept the versioned variables.

devel/py-qt5-pyqt@py311 has an issue:

===> Checking for items in STAGEDIR missing from pkg-plist
Error: Orphaned: %%PYTHON_SITELIBDIR%%/PyQt5/bindings/QtCore/pyqt-gpl.sip5
===> Checking for items in pkg-plist which are not in STAGEDIR
===> Error: Plist issues found.
*** Error code 1

devel/py-qt5-pyqt@py311 has an issue:

===> Checking for items in STAGEDIR missing from pkg-plist
Error: Orphaned: %%PYTHON_SITELIBDIR%%/PyQt5/bindings/QtCore/pyqt-gpl.sip5
===> Checking for items in pkg-plist which are not in STAGEDIR
===> Error: Plist issues found.
*** Error code 1

This is also happening in the official tree, I just tested:

====> Running Q/A tests (stage-qa)
Warning: 'lib/python3.9/site-packages/dbus/mainloop/pyqt5.abi3.so' is not stripped consider trying INSTALL_TARGET=install-strip or using ${STRIP_CMD}
Error: /usr/local/lib/python3.9/site-packages/PyQt5/QtBluetooth.abi3.so is linked to /usr/local/lib/libGL.so.1 from graphics/libglvnd but it is not declared as a dependency
Warning: you need USE_GL+=gl
====> Checking for pkg-plist issues (check-plist)
===> Parsing plist
===> Checking for items in STAGEDIR missing from pkg-plist
Error: Orphaned: %%PYTHON_SITELIBDIR%%/PyQt5/bindings/QtCore/pyqt-gpl.sip5
===> Checking for items in pkg-plist which are not in STAGEDIR
===> Error: Plist issues found.
*** Error code 1

Stop.
make: stopped in /usr/ports/devel/py-qt5-pyqt
=>> Error: check-plist failures detected

I'm filing a patch to bugzilla shortly for the plist part. For the fl dependency I'm not sure, it requires further investigation.

I think it looks good from my side -- unless @lbartoletti has some concerns, feel free to land this :)

This revision is now accepted and ready to land.Nov 8 2022, 6:09 PM

Tested and approved!

Thanks!

This revision was automatically updated to reflect the committed changes.