{ lib, stdenv, buildPythonPackage, fetchzip, pkg-config, dbus, lndir, dbus-python, sip, pyqt6-sip, pyqt-builder, qt6Packages, pythonOlder, mesa, withMultimedia ? true, withWebSockets ? true, withLocation ? true, # Not currently part of PyQt6 #, withConnectivity ? true withPrintSupport ? true, withSerialPort ? false, cups, }: buildPythonPackage rec { pname = "pyqt6"; version = "6.9.0"; pyproject = true; disabled = pythonOlder "3.9"; # It looks like a stable release, but is it? Who knows. # It's not on PyPI proper yet, at least, and the current # actually-released version does not build with Qt 6.9, # so we kinda have to use it. # "ffs smdh fam" - K900 src = fetchzip { url = "https://web.archive.org/web/20250406083944/https://www.riverbankcomputing.com/pypi/packages/PyQt6/pyqt6-6.9.0.tar.gz"; hash = "sha256-UZSbz6MqdNtl2r4N8uvgNjQ+28KCzNFb5yFqPcooT5E="; }; patches = [ # Fix some wrong assumptions by ./project.py # TODO: figure out how to send this upstream ./pyqt6-fix-dbus-mainloop-support.patch # confirm license when installing via pyqt6_sip ./pyqt5-confirm-license.patch ]; build-system = [ sip pyqt-builder ]; dependencies = [ pyqt6-sip dbus-python ]; # be more verbose # and normalize version postPatch = '' cat >> pyproject.toml <