kajongg has new dependencies

Wolfgang Rohdewald wolfgang.kde at rohdewald.de
Mon Jan 16 23:22:39 UTC 2017

Am Montag, 16. Januar 2017, 22:41:00 CET schrieb Albert Astals Cid:
> Another hurdle to make it "compile" on CI. CI doesn't have python3-twisted
> installed and if we were to install it, the base system we use only has
> 15.4.0 (you require 16.6.0 i think)

15.4.0 is too old (september 2015).

Only 16.5.0 has the needed parts ported to python3, but 16.6.0
has some bug fixes I might want to rely on eventually.

Installation of 16.6.0 is easy:
pip3 install twisted

this automatically installs all dependencies.

Without root rights it installs only for current user in ~/.local,
otherwise in /usr/local.

I know next to nothing about CI but maybe you can define
pre/post scripts for tests which would install/remove
twisted only for the current user.

I also just added a runtime check to kajongg - if twisted is too old,
the  user will get a warning dialog. Just pushed to git master.

I could extend that: If pip3 is available, kajongg could ask the
user if he wants to download twisted (which would do pip3 install
without root rights). That would go into a kajongg specific
directory. Kajongg would then always have to check
if the system wide twisted has been updated and remove its
private copy when it is not needed anymore.

I could also add a private copy of twisted to kajongg.git and
install it everywhere. Kajongg would only use it as a fallback if
the system has not what it needs. That would add about
15M of source code, staying in .git forever. So I would 
prefer the above variant with downloading by the user.

Applications/16.12 runs fine with both  python2 and python3,
so until the python3 only version in master is ready, that
would be another possible fallback. But I only fix bugs in
16.12, no backports of new features.

I did not want to wait with removing support for
python2, qt4 and pykde4 until 17.08 because this
simplifies many things internally and reduces an entire
class of possible bugs with charset encodings.


More information about the release-team mailing list