Skip to content

treewide: unpin python311#412204

Merged
pbsds merged 16 commits intoNixOS:masterfrom
pbsds:migrate-py311-to-py312-1748437820
Jun 5, 2025
Merged

treewide: unpin python311#412204
pbsds merged 16 commits intoNixOS:masterfrom
pbsds:migrate-py311-to-py312-1748437820

Conversation

@pbsds
Copy link
Member

@pbsds pbsds commented May 30, 2025

Approach was simple: unpin python311 and see if it builds, if it didn't it try and fix it

  • freecad: unpin python311
  • frescobaldi: unpin python311
  • gpodder: unpin python311
  • guake: unpin python311
  • pysolfc: unpin python311
  • renderdoc: unpin python311
  • sapling: unpin python311
  • toolong: unpin python311
  • dooit-extras: unpin python311
  • dooit: unpin python311
  • py3c: unpin python311
  • smassh: unpin python311
  • thelounge: unpin python311
  • volk_2: unpin python311
  • hyprshade: unpin python311
  • manuskript: unping python311
  • steamback: unpin python311
  • deepsecrets: unpin python311

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • 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/)
  • Nixpkgs 25.11 Release Notes (or backporting 24.11 and 25.05 Nixpkgs Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
  • NixOS 25.11 Release Notes (or backporting 24.11 and 25.05 NixOS Release notes)
    • (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.

Add a 👍 reaction to pull requests you find important.

@github-actions github-actions bot added 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux. labels May 30, 2025
@pbsds pbsds force-pushed the migrate-py311-to-py312-1748437820 branch from 62feac2 to 2a2b9ed Compare May 30, 2025 02:10
@pbsbot
Copy link

pbsbot commented May 30, 2025

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 412204


x86_64-linux

✅ 48 packages built:
  • deepsecrets
  • deepsecrets.dist
  • dooit
  • dooit-extras
  • dooit-extras.dist
  • dooit.dist
  • freecad
  • freecad-qt6
  • freecad-wayland
  • frescobaldi
  • frescobaldi.dist
  • git-doc (git-doc.debug, git-doc.doc, gitFull.doc)
  • gitFull
  • gitFull.debug
  • gitSVN
  • gitSVN.debug
  • gitSVN.doc
  • gpodder
  • guake
  • hyprshade
  • hyprshade.dist
  • kdesvn
  • manuskript
  • perl538Packages.SVNSimple
  • perl538Packages.SVNSimple.devdoc
  • perl540Packages.SVNSimple
  • perl540Packages.SVNSimple.devdoc
  • py3c
  • pysolfc
  • pysolfc.dist
  • renderdoc
  • renderdoc.dev
  • renderdoc.doc
  • sapling
  • sapling.dist
  • shadps4
  • smassh
  • smassh.dist
  • steamback
  • steamback.dist
  • subversionClient
  • subversionClient.dev
  • subversionClient.man
  • svn2git
  • thelounge
  • toolong
  • toolong.dist
  • volk_2

@pbsds
Copy link
Member Author

pbsds commented May 30, 2025

i dug through the git history to see why they were pinned to begin with, i ended up reverting two of my original commits

@pbsds pbsds marked this pull request as ready for review May 30, 2025 02:12
@pbsbot
Copy link

pbsbot commented Jun 5, 2025

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 412204


x86_64-linux

✅ 45 packages built:
  • deepsecrets
  • deepsecrets.dist
  • dooit
  • dooit-extras
  • dooit-extras.dist
  • dooit.dist
  • freecad
  • freecad-qt6
  • freecad-wayland
  • frescobaldi
  • frescobaldi.dist
  • git-doc (git-doc.debug, git-doc.doc, gitFull.doc)
  • gitFull
  • gitFull.debug
  • gitSVN
  • gitSVN.debug
  • gitSVN.doc
  • gpodder
  • hyprshade
  • hyprshade.dist
  • kdesvn
  • manuskript
  • perl538Packages.SVNSimple
  • perl538Packages.SVNSimple.devdoc
  • perl540Packages.SVNSimple
  • perl540Packages.SVNSimple.devdoc
  • py3c
  • pysolfc
  • pysolfc.dist
  • renderdoc
  • renderdoc.dev
  • renderdoc.doc
  • shadps4
  • smassh
  • smassh.dist
  • steamback
  • steamback.dist
  • subversionClient
  • subversionClient.dev
  • subversionClient.man
  • svn2git
  • thelounge
  • toolong
  • toolong.dist
  • volk_2

@pbsds pbsds merged commit a02f4e5 into NixOS:master Jun 5, 2025
22 checks passed
@LordGrimmauld
Copy link
Contributor

LordGrimmauld commented Jun 14, 2025

Hey! I maintain freecad. I noticed you unpinned python on it, and i wasn't pinged (likely because too many packages).

Following problem:
The qt5 freecad (default) uses shiboken2:

This was broken for python 3.12 and was kept alive with extensive patching, making 3.12 work now. However, since #407932, it is marked broken for 3.13.

The current staging-next cycle sets the default python3 -> python313. While i already planned on dropping qt5 support for FreeCAD, this has not yet happened. Therefore, freecad will be broken once the current staging cycle merges.

I also suspect freecad is not the only package of this lot depending on shiboken2. Those should probably be pinned to python312 instead.

Copy link
Contributor

@LordGrimmauld LordGrimmauld left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, only freecad and renderdoc directly depend on shiboken2

}:
let
inherit (python311Packages)
inherit (python3Packages)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shiboken2

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For freecad, the correct change would have been 2485c74, also described in #408577 (review)

python311Packages.shiboken2
python3Packages.pyside2
python3Packages.pyside2-tools
python3Packages.shiboken2
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shiboken2

@pbsds
Copy link
Member Author

pbsds commented Jun 14, 2025

A comment in the code would've helped me 😅

Thanks for staying on top of this, should i/you open a fix PR or should we do so in the PR you linked? I'll subscribe to it nonetheless

@LordGrimmauld
Copy link
Contributor

The PR i linked has other issues, notably the freecad plugin it attempts to introduce just segfaults. So this should be a separate PR. I'd appreciate if you do renderdoc. As for freecad, i already considered straight dropping the qt5 version (which would actually allow unpinning python)

@LordGrimmauld
Copy link
Contributor

And yes, a comment would have helped, but i wasn't the one pinning the python... These things really are not super discoverable, and i just found your PR by chance when i went poking at freecad for dropping qt5.

@pbsds
Copy link
Member Author

pbsds commented Jun 14, 2025

@pbsds
Copy link
Member Author

pbsds commented Jun 14, 2025

And yes, a comment would have helped, but i wasn't the one pinning the python... These things really are not super discoverable, and i just found your PR by chance when i went poking at freecad for dropping qt5.

LordGrimmauld added a commit to LordGrimmauld/nixpkgs that referenced this pull request Jun 14, 2025
Qt5 support is was officially reduced by qt [1].

FreeCAD supports both Qt5 and Qt6. While their github
build still uses Qt5, the official flatpak uses Qt6 [2].

Additionally, keeping Qt5 support requires pinning
python to 3.12 or older, as shiboken2 would break.
Currently, this breakage is imminent: NixOS#412204 unpinned
python, with the next staging-next merge updating py to 3.13.

[1] https://www.qt.io/blog/extended-security-maintenance-for-qt-5.15-begins-may-2025
[2] https://github.com/flathub/org.freecad.FreeCAD/blob/ad843adc0a29a2c78bdd60624376aab61445ed63/org.freecad.FreeCAD.yaml#L62
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 11-100 This PR causes between 11 and 100 packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants