Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[staging] PyQt5, PyQt6: parallel build and fix of test #223817

Merged
merged 3 commits into from
Apr 24, 2023

Conversation

panicgh
Copy link
Contributor

@panicgh panicgh commented Mar 29, 2023

Description of changes

PyQt5 contains a check for QtConnectivity, but this module does not exist (the git history looks like it never existed). This causes builds with withConnectivity = true to always fail. withConnectivity = true actually results in two specific modules being built: QtBluetooth and QtNfc. I changed the import check to the former.

PyQt5 builds only with a single core, which can take a long time (e.g. Duration field > 1h). This is due to a limitation by which enableParallelBuilding is not taken into account. PyQt6 can be compiled with multiple cores using a workaround.

I copied the workaround over to PyQt5 and slightly modified it for consistency to respect enableParallelBuilding. I added the consistency improvement to PyQt6, too.

I target staging because nixpkgs-review told me that 234 packages were updated and I only built ~50 of them.

Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 23.05 Release Notes (or backporting 22.11 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

The module QtConnectivity does not exist. However, QtBluetooth and QtNfc
do.
Port the workaround for parallel building from PyQt6 to PyQt5. The
initial workaround has been added in commit
1824a12.
@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/prs-ready-for-review/3032/2121

@SuperSandro2000
Copy link
Member

@ofborg build python310Packages.pyqt5 python310Packages.pyqt6

@SuperSandro2000 SuperSandro2000 merged commit 8c98025 into NixOS:staging Apr 24, 2023
@panicgh panicgh deleted the pyqt-fixes branch April 24, 2023 19:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants