Time flies. Back in 2008, I wrote a game clock. Since then, what was first called "chess clock" was renamed to pychessclock and then Gameclock (2008). It shipped with Debian 6 squeeze (2011), 7 wheezy (4.0, 2013, with a new UI), 8 jessie (5.0, 2015, with a code cleanup, translation, go timers), 9 stretch (2017), and 10 buster (2019), phew! Eight years in Debian over 4 releases, not bad!

But alas, Debian 11 bullseye (2021) won't ship with Gameclock because both Python 2 and GTK 2 were removed from Debian. I lack the time, interest, and energy to port this program. Even if I could find the time, everyone is on their phone nowadays.

So finding the right toolkit would require some serious thinking about how to make a portable program that can run on Linux and Android. I care less about Mac, iOS, and Windows, but, interestingly, it feels it wouldn't be much harder to cover those as well if I hit both Linux and Android (which is already hard enough, paradoxically).

(And before you ask, no, Java is not an option for me thanks. If I switch to anything else than Python, it would be Golang or Rust. And I did look at some toolkit options a few years ago, was excited by none.)

So there you have it: that is how software dies, I guess. Alternatives include:

PS: Monkeysign also suffered the same fate, for what that's worth. Alternatives include caff, GNOME Keysign, and pius. Note that this does not affect the larger Monkeysphere project, which will ship with Debian bullseye.

comment 1
Just FYI: Neither Python 2 nor GTK 2 were removed from Debian. But the Python 2-GTK 2-bindings were removed.
Comment by Anonymous
You're not wrong, but it's more complex.
Debian 11 (bullseye) does have python 2.7 in the normal repos by default. It just isn't installed by default. The same is true for libgtk2.0 but unfortunately pygtk2 is not available. So you're not wrong. Thanks for the software while it lasted.
Comment by superkuh
python 2 is still there

To be honest, I didn't realize GTK2 and Python 2 actually shipped with Bullseye, I had assumed they would be completely gone.

Those are the technical reasons why those packages were removed:

So while none of those were removed because Python 2 was removed itself, those removals are direct consequences of the deprecation of Python 2. The Gameclock removal bug even explicitly says:

Note that pygtk is Python 2 only, and Python 2 is expected to be removed from unstable after the release of buster.

The python-dnspython package was also explicitly removed as part of the Python 2 removal work:

Python2 becomes end-of-live upstream, and Debian aims to remove Python2 from the distribution, as discussed in https://lists.debian.org/debian-python/2019/07/msg00080.html

So, sure, bullseye ships with Python 2 and GTK2, but there's no pygtk, and many Debian packages dropped their Python 2 versions, sometimes deliberately, so it's kind of splitting hairs to say that Python 2 still exists in bullseye... It's not because we actually failed to remove the Python 2 package that it is still really there.

(To be honest, I'm actually puzzled by the presence of Python 2 in bullseye: given all the effort we've given to remove all that cruft, it seems to me it should just be removed already. As far as I can tell, nothing really depends on it anymore, does it?)

Comment by anarcat
comment 4
AFAIK pypy build-depends on Python 2 (even the Python 3 version of pypy). So it can't be removed without removing pypy as well.
Comment by Anonymous
Created . Edited .