Skip to content

python3Full: obsolete and remove#433833

Merged
mweinelt merged 6 commits intoNixOS:stagingfrom
mweinelt:tkinter-standalone
Aug 30, 2025
Merged

python3Full: obsolete and remove#433833
mweinelt merged 6 commits intoNixOS:stagingfrom
mweinelt:tkinter-standalone

Conversation

@mweinelt
Copy link
Member

Why? python3Full must die.

Wondering if there is more beautiful way to cobble the source together.

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

Add a 👍 reaction to pull requests you find important.

@nix-owners nix-owners bot requested a review from natsukium August 14, 2025 23:35
Copy link
Member

@emilazy emilazy left a comment

Choose a reason for hiding this comment

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

There are tests in Lib/test/test_tkinter and Lib/test/tkinterdata that we should probably try to preserve and run.

There are a couple downstream users in CPython: turtle (and turtledemo) and idlelib (including the IDLE application). I guess we could bundle them into this package, but it probably makes more sense to apply the same trick to those as separate module packages. They’re both used a fair amount in education, I think, so it would be best to keep them available unless they’re onerous to package.

@mweinelt mweinelt force-pushed the tkinter-standalone branch from 1833b98 to 6cb98ef Compare August 15, 2025 00:22
@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. 10.rebuild-darwin: 2501-5000 This PR causes many rebuilds on Darwin and should target the staging branches. 6.topic: python Python is a high-level, general-purpose programming language. labels Aug 15, 2025
@mweinelt
Copy link
Member Author

mweinelt commented Aug 15, 2025

There are tests in Lib/test/test_tkinter and Lib/test/tkinterdata that we should probably try to preserve and run.

These are really annoying to get to run, so I'd rather not.

> Ran 787 tests in 3.633s
>
> FAILED (failures=106, skipped=1)

There are a couple downstream users in CPython: turtle (and turtledemo) and idlelib (including the IDLE application). I guess we could bundle them into this package, but it probably makes more sense to apply the same trick to those as separate module packages. They’re both used a fair amount in education, I think, so it would be best to keep them available unless they’re onerous to package.

They are importable with standard python that has tkinter in its python path. At least turtle crashes without tkinter.

@mweinelt mweinelt force-pushed the tkinter-standalone branch from 6cb98ef to 3a8d500 Compare August 15, 2025 01:00
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.

Implementation looks sane.
tkinter does seem to work, at least i can import it and launch a window. Test fails don't look nice, but this is probably better than before, where we had no tests at all.

@LordGrimmauld
Copy link
Contributor

Needs to target staging, other than that looks reasonable enough

@mweinelt mweinelt force-pushed the tkinter-standalone branch from d66e61d to 9dfdd7c Compare August 28, 2025 20:48
@mweinelt mweinelt changed the base branch from master to staging August 28, 2025 20:48
@nixpkgs-ci nixpkgs-ci bot closed this Aug 28, 2025
@nixpkgs-ci nixpkgs-ci bot reopened this Aug 28, 2025
@nixpkgs-ci nixpkgs-ci bot removed the 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. label Aug 28, 2025
@ofborg ofborg bot added the ofborg-internal-error Ofborg encountered an error label Aug 28, 2025
@nix-owners nix-owners bot requested review from HarisDotParis and robsliwi August 28, 2025 20:55
@mweinelt

This comment was marked as outdated.

LordGrimmauld
LordGrimmauld previously approved these changes Aug 28, 2025
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.

tkinter changes work locally, diff on py full looks reasonable but i didn't get to build it yet

@nixpkgs-ci nixpkgs-ci bot added the 12.approvals: 1 This PR was reviewed and approved by one person. label Aug 28, 2025
@nixpkgs-ci nixpkgs-ci bot reopened this Aug 30, 2025
@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-darwin: 1001-2500 This PR causes many rebuilds on Darwin and should most likely target the staging branches. and removed 10.rebuild-darwin: 2501-5000 This PR causes many rebuilds on Darwin and should target the staging branches. labels Aug 30, 2025
@ofborg ofborg bot added the ofborg-internal-error Ofborg encountered an error label Aug 30, 2025
@mweinelt
Copy link
Member Author

Good catch, applied.

@mweinelt mweinelt force-pushed the tkinter-standalone branch from 4776f12 to 2ad345d Compare August 30, 2025 12:37
@ofborg ofborg bot removed the ofborg-internal-error Ofborg encountered an error label Aug 30, 2025
@mweinelt mweinelt marked this pull request as ready for review August 30, 2025 12:46
This escapes infinite recursion, because Python cannot depend on bluez
due to infinite recursion on multiple paths. But it only wants
bluetooth.h at build time, so this is sufficient.

In 5.84 the source path changes from lib/ to lib/bluetooth, which will
require an update to the install phase.
The default python now provides bluetooth support.
Bluetooth support is now built into the default build. The X11 support is
realized outside the Python interpreter by including the tkinter module
from the package set.
@mweinelt mweinelt force-pushed the tkinter-standalone branch from 2ad345d to 2877deb Compare August 30, 2025 12:48
@mweinelt
Copy link
Member Author

Added another comment why the bluez-headers package has the src fod and not bluez.

@mweinelt mweinelt merged commit 9872189 into NixOS:staging Aug 30, 2025
27 of 31 checks passed
@mweinelt mweinelt deleted the tkinter-standalone branch August 30, 2025 13:44
lgpl21Plus
mit
];
meta = bluez-headers.meta // {
Copy link
Member

Choose a reason for hiding this comment

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

This breaks meta.position.

@BlastboomStrice
Copy link

May I ask, what should I use instead of python3Full? I was using it as a way to have the latest stable python3 installed. I see there is no python3 or something to keep up with the latest stable version of python3. Should I use something like python314 and change it each time there is an update? (Disclaimer: I may be doing this wrong all along.)

(Is what Im saying a https://xkcd.com/1172/ case?)

@prusnak
Copy link
Member

prusnak commented Sep 12, 2025

I see there is no python3 or something

of course there is - just use python3

@BlastboomStrice
Copy link

Ohh thanks! I guess it was hidden in the numerous packages in search.nixos.org. Cool!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: python Python is a high-level, general-purpose programming language. 8.has: changelog This PR adds or changes release notes 8.has: documentation This PR adds or changes documentation 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-darwin: 1001-2500 This PR causes many rebuilds on Darwin and should most likely target the staging branches. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. 12.approvals: 1 This PR was reviewed and approved by one person.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants