Repository navigation
Conversation
I wonder if it's worth also considering not making |
|
Just one comment: tcl-tk is quite a big dependency (especially on linux) where it brings in the whole x11 dependency tree. Also, you need python@3.9 for This should not influence too much the decision on what is done on Mac, just to let you know that we will disable tcl-tk for Linux. You'll have also a bunch of people complaining that they wanted to have python@3.9 and are wondering why tcl-tk is being shipped. |
|
Thanks @iMichka for the comments.
Right now we have people complaining that it's broken 😄 |
MikeMcQuaid
left a comment
There was a problem hiding this comment.
I agree we should either disable Tcl/tk or use our version. I would prefer we not ship this as a dependency but don't mind if I'm in the minority. I also wonder how hard it would be to strip out the Tcl/tk parts into another formula or have a cask for the GUI components?
|
Debian ships it as a separate package: https://packages.debian.org/en/sid/python3-tk |
Looking at the file list, it looks like the only thing that is actually compiled is /usr/lib/python3.9/lib-dynload/_tkinter.cpython-39-x86_64-linux-gnu.so. Examining the file on macOS: % otool -L Frameworks/Python.framework/Versions/3.9/lib/python3.9/lib-dynload/_tkinter.cpython-39-darwin.so
Frameworks/Python.framework/Versions/3.9/lib/python3.9/lib-dynload/_tkinter.cpython-39-darwin.so:
/System/Library/Frameworks/Tcl.framework/Versions/8.5/Tcl (compatibility version 8.5.0, current version 8.5.9)
/System/Library/Frameworks/Tk.framework/Versions/8.5/Tk (compatibility version 8.5.0, current version 8.5.9)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1292.0.0)suggests that we could use the same approach as |
|
I'd rather we keep tkinter in the main python formula, for two reasons:
I know Debian ships it separately, but they also ship separate packages for libraries, dev tools and headers, built from the same source; it's not how we do things, and I think it would complicate things to do them that way. As for some data, tcl-tk is basically the same size (55 MB) as all the other dependencies of python. Python itself is 146 MB. |
What size is the full dependency tree it pulls in and how many formulae are there? Given how much depends on Python: this is my concern; we're going to end up force-installing these for everyone who uses anything that uses Python. |
I believe this is just |
|
tcl-tk only depends on openssl, which is already required by python. |
Tk is actually infamous for rolling its own UI stuff. It was only in recent years that Tk enabled Aqua on macOS, but on other Unix platforms, Tk still uses only the base X11 libraries, so on Linux: The bulk of |
This comment has been minimized.
This comment has been minimized.
|
From #67718: opencascade is using system tcl-tk, causing the same Big Sur bug as with python@3.9: homebrew-core/Formula/opencascade.rb Lines 39 to 41 in 93aebb8 |
Fixes CI failures found in Homebrew#67718. See also Homebrew#67378.
|
Next version of Python will be using pkg-config to get the version of Tcl/Tk. The PR is waiting for merge (see |
|
We've received more reports about the Tcl/Tk bug again recently, so I'd like to see this merged sooner rather than later. Rebasing against master. |
Fine with me given this 👍🏻 |
|
10.14 failures: 10.15 adds: And 11: |
I think we've hit the point where we can't avoid this anymore… Why?