Tcl/Tk 9.0
Summary
Tcl/Tk rebase to version 9. There are some major incompatibilities and it's unrealistic to port all depending packages, thus the compat Tcl/Tk 8 packages will be provided.
Owner
- Name: Jaroslav Škarvada
- Email: jskarvad@redhat.com
Current status
- Targeted release: Fedora Linux 42
- Last updated: 2024-12-03
- [Announced]
- [<will be assigned by the Wrangler> Discussion thread]
- FESCo issue: <will be assigned by the Wrangler>
- Tracker bug: <will be assigned by the Wrangler>
- Release notes tracker: <will be assigned by the Wrangler>
Detailed Description
Some packages were already ported to Tcl/Tk 9, but some ports are complicated or there is nobody working/interested in the port at the moment thus it's unrealistic to port everything into f42. That's why the compat Tcl/Tk 8 packages will be provided and maintained till there will be packages requiring Tcl/Tk 8. This effort has been announced on the fedora-devel mailing list.
Feedback
There were no proposed alternatives and no negative feedback yet.
Benefit to Fedora
There are several new features in the Tcl/Tk 9 (details in the #User_Experience). Fedora packages should follow the upstream latest releases.
Scope
- Proposal owners:
- rebase Tcl/Tk packages to version 9 (done in copr)
- get compat Tcl/Tk 8 packages into Fedora
- fill bugzillas for components not ported to Tcl/Tk 9 to switch to compat Tcl/Tk 8
- Other developers:
- Developers that will not port their packages to Tcl/Tk 9 will have to switch the BuildRequires: to compat Tcl/Tk 8 devel packages. This can be also done by proven packagers or the feature owner (proven packager) in case there will be no reaction to the created bugzillas.
- Release engineering: #Releng issue number
- There is probably no need to coordinate this with the Release engineering.
- Policies and guidelines: N/A (not needed for this Change)
- Trademark approval: N/A (not needed for this Change)
- Alignment with the Fedora Strategy:
Upgrade/compatibility impact
It should seamlessly update. Packages ported to Tcl/Tk 9 will require Tcl/Tk 9 and unported packages will require compat Tcl/Tk 8.
Early Testing (Optional)
Do you require 'QA Blueprint' support? N
How To Test
- Install Tcl/Tk depending packages, e.g. expect, gitk, ..., check the list of packages in the #Dependencies
- Check functionality of the package.
User Experience
User experience may improve due to the new features supported by Tcl/Tk 9, e.g.:
- 64-bit Capacity: Data values larger than 2Gb
- Unicode and Encodings: full codepoint range, added encodings, encoding profiles to govern I/O, and more.
- Access to OS facilities: notifications, print, and tray systems
- Scalable Vector Graphics: partial support in images, extensive use to enable scalable widget and theme appearances.
Full list in: https://www.tcl-lang.org/software/tcltk/9.0.html
Dependencies
blt brazil brltty bwidget catdoc cgnslib classified-ads deal eggdrop emacspeak environment-modules eth-tools expect fmtools gcl gensio git git-cola gpsman graphviz gtkwave hamlib hfsutils hping3 html2ps iaxclient ifm insight irsim itcl itk iwidgets linsmith llvm-test-suite Lmod magic maxima med memchan mercurial mmtests mpqc nagelfar nbdkit ncid netgen-mesher ngspice ocaml-lablgl ocaml-labltk ocaml-ocamlnet ogdi opencascade openmsx owfs packmol pcb pgplot pidgin planets plplot postgresql15 postgresql16 pypy pypy3.10 pypy3.9 PySolFC python3.10 python3.11 python3.12 python3.13 python3.14 python3.6 python3.8 python3.9 R remind rrdtool R-tkrplot rubygem-tk snobol4 sqlite sqlite2 stk svxlink systemtap tcl tcl-ezsmtp tcllib tcl-mysqltcl tcl-pgtcl tcl-signal tcl-snack tcl-tclreadline tcl-tcludp tcl-tclvfs tcl-tclxml tcl-thread tcl-tileqt tcl-tkpng tcl-tktreectrl tcltls tcl-togl tcl-trf tclx tcl-zlib tdom texlive-base tix tk tkabber tkdnd tkimg tklib tktray torque usb_modeswitch uudeview vim-syntastic vkeybd weechat wordnet xapian-bindings xbindkeys xcircuit xpa xschem x11vnc yaz yosys znc
Contingency Plan
- Contingency mechanism: (What to do? Who will do it?) Drop the compat packages, bump the epoch of the Tcl/Tk and revert to the version 8.
- Contingency deadline: beta freeze
- Blocks release? No
Documentation
https://www.tcl-lang.org/software/tcltk/9.0.html