unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Merging the purge-python2-packages branch
@ 2022-05-30 13:25 Maxim Cournoyer
  2022-05-30 15:18 ` zimoun
  0 siblings, 1 reply; 13+ messages in thread
From: Maxim Cournoyer @ 2022-05-30 13:25 UTC (permalink / raw)
  To: guix-devel

Hi everyone,

Just so you know, there's this 'purge-python2-packages' branch that does
away with quite a few Python 2 packages.  It greatly reduces the Python
2 dependency graph of Python 2 packages, without totally eliminating it
yet.

Here's the list of removed packages, obtained with

"git log origin/purge-python2-packages...origin/master --oneline --grep='gnu: Remove'"

--8<---------------cut here---------------start------------->8---
bcb9b1689f gnu: Remove python2-pytest-cov.
426e945a3e gnu: Remove python2-called-python.
4963a61644 gnu: Remove python-prompt-toolkit-2.
39ca4b0895 gnu: Remove python2-setuptools.
42b923915b gnu: Remove python2-checkm-genome.
2b25c71b1c gnu: Remove python2-backports-csv.
ddde4dedff gnu: Remove python2-fonttools.
63445163fa gnu: Remove python2-py.
ee4f035c2c gnu: Remove python2-pyparsing.
633b0846dd gnu: Remove python2-setuptools-scm.
799022b040 gnu: Remove python2-six-bootstrap.
473c00f17e gnu: Remove python2-pyxdg.
c652b8ce97 gnu: Remove python2-wcwidth.
f528943a13 gnu: Remove python2-pyyaml.
b68c90e347 gnu: Remove python2-nose.
43f57f04ff gnu: Remove python2-attrs-bootstrap.
8102195b97 gnu: Remove python2-libxml2.
90b63ad7a6 gnu: Remove 4store.
2c51888c32 gnu: Remove python2-pyfakefs-bootstrap.
ea7af59a5e gnu: Remove python2-cython.
6b3c3c383d gnu: Remove python2-lirc.
c7abbbf24c gnu: Remove python2-tlsh.
c4fd72dc2f gnu: Remove python2-more-itertools.
e7dafd7fdb gnu: Remove gnome-doc-utils.
ae2cd32bf4 gnu: Remove python2-libmpsse.
d256f68b1a gnu: Remove python2-lxml.
f90acf5982 gnu: Remove vtk-6.
021daaae36 gnu: Remove python2-appdirs.
87382d2c97 gnu: Remove python2-enum34.
cd97147785 gnu: Remove boost-with-python2.
82655b3665 gnu: Remove libpng-1.2.
9c83be6d09 gnu: Remove rapicorn.
f7f51c8aa5 gnu: Remove beast.
64d7097f72 gnu: Remove python2-linecache2.
403c9a8bd6 gnu: Remove python2-traceback2.
f26e596977 gnu: Remove python2-unittest2.
8edc2ca792 gnu: Remove python2-sortedcontainers.
280160e6fe gnu: Remove python2-funcsigs.
9864dd74e6 gnu: Remove python2-functools32.
8bea025529 gnu: Remove python2-hypothesis.
2500d57fe8 gnu: Remove python2-mock.
8dcbf523e8 gnu: Remove python2-pysqlite.
ad11abe73a gnu: Remove fraggenescan.
001dcfe351 gnu: Remove python2-olefile.
f313590b9c gnu: Remove python2-pillow.
46c19049ce gnu: Remove python2-seaborn.
c94cc00653 gnu: Remove python2-iso8601.
cec9ad5412 gnu: Remove python2-pytz.
9923879424 gnu: Remove python2-pretend.
0f3106740f gnu: Remove python2-idna.
60999d1cec gnu: Remove python2-backport-ssl-match-hostname.
f90fcfa33d gnu: Remove python2-scandir.
067338674a gnu: Remove python2-ipaddress.
ecde6fb0f3 gnu: Remove python2-asn1crypto.
acc9331f64 gnu: Remove python2-cryptography-vectors.
d6e92d91e4 gnu: Remove python2-cffi.
80cd6bd92b gnu: Remove python2-coverage.
34632df3ad gnu: Remove python2-dateutil.
4288a209a0 gnu: Remove python2-contextlib2.
a9352dfd8c gnu: Remove python2-typing.
4553ce8c44 gnu: Remove python2-pathlib2.
f31fe6b464 gnu: Remove python2-cryptography.
8c271b7b36 gnu: Remove python2-flaky.
1b11565908 gnu: Remove python2-backports-functools-lru-cache.
806dee732c gnu: Remove python2-pysocks.
15f7284ca1 gnu: Remove python2-importlib-resources.
37e6c0cce1 gnu: Remove python2-configparser.
ff7906505e gnu: Remove python2-unidecode.
2e1f0db2ef gnu: Remove python2-pyopenssl.
5a553edb4b gnu: Remove python2-certifi.
45bb3af633 gnu: Remove python2-zipp.
1762727626 gnu: Remove python2-packaging-bootstrap.
e0d0dda357 gnu: Remove python2-freezegun.
01fbe51039 gnu: Remove python2-wxpython.
c4eecc10bb gnu: Remove python2-sphinxcontrib-websupport.
3c2fce40af gnu: Remove python2-sphinx-alabaster-theme.
80e4e36445 gnu: Remove python2-pyicu.
d63d7f941a gnu: Remove python2-importlib-metadata.
7736e3b727 gnu: Remove python2-atomicwrites.
1fa434063f gnu: Remove python2-soupsieve.
7e6555826e gnu: Remove python2-pylev.
4ea894581c gnu: Remove python2-simplejson.
c2c6b933bc gnu: Remove python2-pyaml.
803f6252e4 gnu: Remove python2-levenshtein.
2f5ca3eb6f gnu: Remove python2-babel.
fbe609158c gnu: Remove python2-imagesize.
3624fd07d4 gnu: Remove python2-chardet.
1fe6e8fe45 gnu: Remove python2-markupsafe.
1484188321 gnu: Remove python2-urllib3.
e4acbdffcb gnu: Remove python2-webencodings.
315b565c1e gnu: Remove python2-pastel.
8ce7494431 gnu: Remove python2-vobject.
0dc76a6463 gnu: Remove python2-twodict.
1f82af14b5 gnu: Remove python2-jinja2.
df863c18f5 gnu: Remove python2-diff-match-patch.
64c7814b47 gnu: Remove python2-urwid.
a37c26a173 gnu: Remove python2-backpack.
bc30e08839 gnu: Remove python2-packaging.
08216338a6 gnu: Remove python2-snowballstemmer.
eb77c6aa62 gnu: Remove python2-funcsigs-bootstrap.
56e84700e2 gnu: Remove python2-clikit.
32b1f9f190 gnu: Remove python2-beautifulsoup4.
fa9c9305a2 gnu: Remove python2-decorator.
1b34fff0e4 gnu: Remove python2-docopt.
b9a8dd6a5e gnu: Remove python2-bottle.
6870c2c22c gnu: Remove python2-requests.
7387002a45 gnu: Remove python2-zinnia.
76ed5d930b gnu: Remove python2-pycairo.
4dbde1c79e gnu: Remove python2-pluggy.
1c3fd8dc58 gnu: Remove python2-pytest.
f5181cd9dd gnu: Remove python2-pygobject.
7de0fa0bf1 gnu: Remove python2-pytest-runner.
3bf7abf5c4 gnu: Remove python2-pygtk.
0de757c111 gnu: Remove python2-backports-shutil-get-terminal-size.
7b18c40c97 gnu: Remove python2-pytest-mock.
bf82b2d2b4 gnu: Remove python2-rsvg.
6e4216fc7d gnu: Remove python2-pyatspi.
61b3e8003d gnu: Remove python2-pyxb.
bbae772573 gnu: Remove python2-i3-py.
dcaf7e7863 gnu: Remove wicd.
5d9078ef44 gnu: Remove python2-clf.
438b69938c gnu: Remove python2-feedparser.
fe774910b8 gnu: Remove youtube-dl-gui.
b07e43af56 gnu: Remove python2-pyrfc3339.
34ecd62ffa gnu: Remove python2-isodate.
6b02974ca2 gnu: Remove python2-pympler.
7989cbef9c gnu: Remove python2-pyflakes.
6ca5bcd99a gnu: Remove python2-subprocess32.
5997ecf134 gnu: Remove python2-translate-toolkit.
80ccd9406b gnu: Remove python2-docutils.
e5b4610145 gnu: Remove python2-sphinx.
06371aeb43 gnu: Remove python2-pytidylib.
8dcee4401d gnu: Remove python2-cysignals.
5dbab763b7 gnu: Remove python2-mistune.
53ce857612 gnu: Remove python2-future.
84d29f5bd5 gnu: Remove python2-cycler.
1ec4616c70 gnu: Remove python2-pyserial.
c6de820ab3 gnu: Remove python2-pycodestyle.
471cd3ab77 gnu: Remove python2-networkx.
a1ecd5f3fd gnu: Remove python2-mccabe.
92a359cd03 gnu: Remove python2-entrypoints.
ae8525131f gnu: Remove python2-cleo.
a1837bbc5b gnu: Remove python2-pycurl.
547655d72a gnu: Remove python2-cookies.
3d56bc898e gnu: Remove python2-kiwisolver.
9c79ba6464 gnu: Remove python2-ufolib.
261d26ea8a gnu: Remove python2-pysam.
c569c9895c gnu: Remove python2-numpydoc.
7eed57d9e0 gnu: Remove python2-scipy.
1118d39165 gnu: Remove python2-numpy.
d765777d4e gnu: Remove python2-matplotlib.
d5f544598f gnu: Remove find-circ.
adc1dc15a6 gnu: Remove gess.
e91b324871 gnu: Remove python2-defcon.
da79dec945 gnu: Remove python2-tzdata.
16c6fdfa1a gnu: Remove python2-aniso8601.
a50e78ec58 gnu: Remove python2-parsedatetime.
7c06fdedc6 gnu: Remove python2-monotonic.
0051d9b2cd gnu: Remove virtaal.
9258a0a2ee gnu: Remove python2-blessings.
62cbc46235 gnu: Remove python2-pyte.
97acfa7206 gnu: Remove rawdog.
fead5f7252 gnu: Remove python2-patsy.
c33e4da036 gnu: Remove python2-pyscard.
aa6ab586cf gnu: Remove python2-cypari2.
16ac68f1c4 gnu: Remove python2-gmpy2.
7acd7ada4e gnu: Remove python2-rdflib.
8262a244dc gnu: Remove chirp.
fddda51f43 gnu: Remove python2-pyasn1.
dcc0702941 gnu: Remove python2-virtualenv.
663e194e2d gnu: Remove python2-flake8.
875d1a66af gnu: Remove python2-ptyprocess.
d3e5661c2b gnu: Remove python2-parse-type.
0b88c9720f gnu: Remove python2-mechanize.
82f170711b gnu: Remove python2-pyld.
a4929d9495 gnu: Remove python2-ukpostcodeparser.
3ce6550ede gnu: Remove python2-setuptools-scm-git-archive.
a9c4ad1637 gnu: Remove python2-socksipy-branch.
17192751eb gnu: Remove python2-regex.
36eea9f897 gnu: Remove python2-pep8.
d1b90db505 gnu: Remove python2-stemming.
5c69f9d194 gnu: Remove python2-semantic-version.
f445ed77d2 gnu: Remove python2-jsonpointer.
ba59323223 gnu: Remove python2-rfc3987.
85b19734d5 gnu: Remove python2-jdcal.
c200cdf877 gnu: Remove python2-m2r.
9d6d4a1fca gnu: Remove python2-et-xmlfile.
b9e6e00ad1 gnu: Remove python2-futures.
6ebc61778f gnu: Remove python2-pylzma.
8088fa0189 gnu: Remove python2-pbkdf2.
5c790ab974 gnu: Remove python2-pkgconfig.
2912c4297f gnu: Remove python2-attrs.
dc8984aac3 gnu: Remove python2-sure.
e8ff9509e7 gnu: Remove python2-pyrsistent.
416cc40464 gnu: Remove python2-waf.
5b6fd755c1 gnu: Remove python2-singledispatch.
bc6c264914 gnu: Remove python2-backports-abc.
247bd93004 gnu: Remove python2-requests-file.
c740e44a73 gnu: Remove python2-astor.
63110d1f6d gnu: Remove python2-lazy-object-proxy.
de0acf8e51 gnu: Remove python2-pyro.
f4d214abd7 gnu: Remove python2-responses.
c161efe491 gnu: Remove python2-zope-event.
548903c2b8 gnu: Remove python2-zope-testing.
0d7302780c gnu: Remove python2-wheel.
0132ce22ea gnu: Remove python2-graphviz.
c4c4c2c774 gnu: Remove python2-schema-0.5.
cd82e23024 gnu: Remove python2-fuzzywuzzy.
69e8da0241 gnu: Remove python2-setproctitle.
555cd16979 gnu: Remove python2-validate-email.
ba50df59c1 gnu: Remove python2-openpyxl.
80285ef189 gnu: Remove python2-whoosh.
0a5e5f7f90 gnu: Remove python2-pathlib.
6cfb2451bd gnu: Remove python2-rst.linker.
ae6096c2be gnu: Remove python2-q.
689ea9b457 gnu: Remove python2-pep517.
b7858bd77f gnu: Remove python2-constantly.
b286582702 gnu: Remove python2-clyent.
d2361bbc73 gnu: Remove python2-urwidtrees.
489a753b3a gnu: Remove python2-djvulibre.
f691c13d28 gnu: Remove python2-tempdir.
dda27125ae gnu: Remove python2-psutil.
bebf7935e3 gnu: Remove python2-pyroute2.
5917a0d87b gnu: Remove python2-elib.intl.
1caa5d5df2 gnu: Remove python2-flake8-polyfill.
1c0b8fde14 gnu: Remove python2-colorama.
edf4c3ab86 gnu: Remove python2-h5py.
d89911b541 gnu: Remove python2-xlrd.
ff75af2610 gnu: Remove python2-pyasn1-modules.
5024a01bed gnu: Remove python2-wrapt.
d660d7a561 gnu: Remove python2-fusepy.
e07ce824e5 gnu: Remove python2-magic.
a8336e8053 gnu: Remove python2-dogtail.
e31daeeef5 gnu: Remove python2-couleur.
306af6875c gnu: Remove python2-pexpect.
894b3546c3 gnu: Remove python2-mando.
0c5c031364 gnu: Remove python2-automat.
547c808547 gnu: Remove python2-scientific.
663b289abd gnu: Remove python2-execnet.
7fda55a6f3 gnu: Remove python2-inflection.
977a54d99b gnu: Remove python2-extras.
7b71ebe60a gnu: Remove python2-vcversioner.
5f0ea45200 gnu: Remove python2-parso.
d91f2e393e gnu: Remove python2-pydiff.
1fb7ee6230 gnu: Remove python2-notify2.
3706840387 gnu: Remove python2-tldextract.
d5d0e02ecd gnu: Remove python2-zope-interface.
8ab9897aaf gnu: Remove python2-tornado.
4cb4e47cc6 gnu: Remove python2-cloudpickle.
b877de12cf gnu: Remove python2-cram.
e63aa0378f gnu: Remove python2-joblib.
58e536051c gnu: Remove python2-element-tree.
11b7317def gnu: Remove python2-msgpack.
a6a7d69ed0 gnu: Remove python2-pyinotify.
6446484ef9 gnu: Remove python2-netifaces.
a36725b07a gnu: Remove python2-zope-exceptions.
353f8c7216 gnu: Remove python2-pytest-xdist.
6e52123694 gnu: Remove python2-jsonpatch-0.4.
2043b73458 gnu: Remove python2-markdown.
cb9b05a3cd gnu: Remove python2-tabulate.
847fa6a696 gnu: Remove python2-qrcode.
1e2306d142 gnu: Remove python2-pysnptools.
54e940d11b gnu: Remove python2-xlib.
9fab3993cf gnu: Remove python2-zope-testrunner.
0fad2d8270 gnu: Remove python-prompt-toolkit-1.
1a47c8edc6 gnu: Remove python2-ansi2html.
3aeddf97b9 gnu: Remove python2-jsonpatch.
ae1403dc6a gnu: Remove python2-zope-i18nmessageid.
9afb1f234e gnu: Remove python2-locket.
69d58bc8da gnu: Remove ptpython-2.
d1437878f0 gnu: Remove python2-pyclipper.
7628c781f8 gnu: Remove python2-zope-schema.
d2bc61548e gnu: Remove python2-dnspython-1.16.
2ad8e4d453 gnu: Remove python2-simplegeneric.
61f873bdab gnu: Remove python2-texttable.
757d5194c4 gnu: Remove python2-numexpr.
3c5b74af40 gnu: Remove python2-flex.
6f9b6ee0d6 gnu: Remove python2-consul.
14a5fdc8e3 gnu: Remove python2-humanfriendly.
079becb01e gnu: Remove python2-autopep8.
16aab9f97f gnu: Remove python2-ipaddr.
a3000d4945 gnu: Remove python2-feedgenerator.
fea80b7e10 gnu: Remove python2-rfc3986.
5cd02f2a98 gnu: Remove python2-dirsync.
d5aec1d24d gnu: Remove python2-booleanoperations.
7503292d2b gnu: Remove python2-termcolor.
e767b757a9 gnu: Remove python2-blinker.
d17bf9f3c0 gnu: Remove python2-ruamel.ordereddict.
98d62cda0e gnu: Remove python2-cheetah.
de42cb1a65 gnu: Remove python2-binaryornot.
593a04d83e gnu: Remove python2-mpmath.
acb3ddb360 gnu: Remove python2-misaka.
2df28c0856 gnu: Remove python2-yapf.
21509da83e gnu: Remove python2-objgraph.
443d909903 gnu: Remove python2-zope-proxy.
31d2f59ed4 gnu: Remove python2-protobuf.
93fe32872d gnu: Remove python2-pygame-sdl2.
e3eecc9742 gnu: Remove python2-coverage-test-runner.
08411715ae gnu: Remove python2-mimeparse.
469218b346 gnu: Remove python2-radon.
c59da2d209 gnu: Remove python2-waitress.
fa19546dd9 gnu: Remove python2-steadymark.
a4608a9489 gnu: Remove python2-incremental.
ffa2a9417a gnu: Remove python2-serpent.
a6d61ddf75 gnu: Remove python2-rply.
a815383182 gnu: Remove python2-pystache.
f2fd5cc450 gnu: Remove python2-ttystatus.
c7b8175490 gnu: Remove python2-bz2file.
19c75c9b58 gnu: Remove python2-pybugz.
548a92ee66 gnu: Remove python2-sympy.
38e3d5961d gnu: Remove python2-drmaa.
fdde60b919 gnu: Remove python2-capturer.
87ace55ef5 gnu: Remove python2-pyev.
c1eff66145 gnu: Remove python2-xcffib.
75bd672b8d gnu: Remove python2-blosc.
f553b3c6e3 gnu: Remove python2-whatever.
74c59eb2f8 gnu: Remove python2-grako.
8c8e68f675 gnu: Remove python2-rsa.
e6aa61418b gnu: Remove python2-schematics.
65f2188722 gnu: Remove python2-distutils-extra.
57fca50855 gnu: Remove python2-pyjwt.
9ca945e642 gnu: Remove python2-email-validator.
36b6db8933 gnu: Remove python2-botocore.
b6e4b66792 gnu: Remove python2-zeroconf.
2dbccae9fb gnu: Remove python2-xdo.
2cfcd3c578 gnu: Remove python2-ua-parser.
27d6ca7878 gnu: Remove python2-schedule.
4f5abbc131 gnu: Remove python2-pip.
37f1f89d67 gnu: Remove python2-args.
54869cbbb5 gnu: Remove python2-schema.
0a021ec867 gnu: Remove python2-gyp.
a4b602f175 gnu: Remove python2-reparser.
780c66e0be gnu: Remove python2-pynamecheap.
a01aedb4be gnu: Remove python2-random2.
ea21109821 gnu: Remove python2-zope-location.
530a679d41 gnu: Remove python2-zope-component.
fb19209ca8 gnu: Remove python2-httplib2.
a7bae566a5 gnu: Remove python2-ecdsa.
b13af7a6f6 gnu: Remove python2-ecpy.
28f6d1495d gnu: Remove python2-axolotl.
26dcf1be7f gnu: Remove python2-pypdf.
34f7b9d499 gnu: Remove python2-notmuch.
78717e2d24 gnu: Remove python2-hidapi.
d9222a85d8 gnu: Remove python2-pygame.
e92b2f58d0 gnu: Remove python2-mnemonic.
7f5a85ce20 gnu: Remove python2-efl.
1b967adc02 gnu: Remove python2-sqlalchemy.
eace5792b0 gnu: Remove python2-nosexcover.
aee0e7eb46 gnu: Remove python2-pyliblo.
f98d97d9c5 gnu: Remove python2-isort.
b3cfb9cfe3 gnu: Remove python2-smmap.
e96af7b46c gnu: Remove python2-tblib.
aa8680d7bd gnu: Remove python2-isoweek.
ed2c0b2e0a gnu: Remove python2-translitcodec.
9e5ca4f1eb gnu: Remove python2-jsonrpclib.
d05901a589 gnu: Remove python2-prettytable.
09cdcfab32 gnu: Remove python2-ratelimiter.
dff4f9e51a gnu: Remove python2-user-agents.
f2b1a12232 gnu: Remove python2-pycountry.
a22d3d25bb gnu: Remove python2-munch.
27b00d2d28 gnu: Remove python2-jsonrpclib-pelix.
355072190c gnu: Remove python2-file.
e7b5a2af46 gnu: Remove python2-quex.
3d9b2dca45 gnu: Remove python2-xopen.
b00ae9e7b1 gnu: Remove python2-libarchive-c.
ff9e15e3fc gnu: Remove python2-anyjson.
52d82e6f75 gnu: Remove python2-tracing.
2773ca9fd2 gnu: Remove python2-phonenumbers.
bea19c9a87 gnu: Remove python2-funcy.
b21a273b70 gnu: Remove python2-glob2.
b1f861a0c3 gnu: Remove python2-verboselogs.
8b08ef2ea2 gnu: Remove python2-configobj.
106b67796a gnu: Remove python2-semver.
1debe9fe82 gnu: Remove python2-miniboa.
2d9da493b3 gnu: Remove python2-pycosat.
ff448814d0 gnu: Remove python2-validictory.
77bb2be1f6 gnu: Remove python2-invoke.
0e274cf763 gnu: Remove python2-text-unidecode.
ca05a6c22c gnu: Remove python2-cliapp.
f8d6db4502 gnu: Remove python2-unicodecsv.
59d062bfe3 gnu: Remove python2-shedskin.
c216fc6ba3 gnu: Remove python2-dns-lexicon.
5c7ebf7fc7 gnu: Remove python2-kitchen.
721d95ff49 gnu: Remove python2-editor.
7ca19cface gnu: Remove python2-prompt-toolkit.
d344fdc290 gnu: Remove python2-kazoo.
7d258c6981 gnu: Remove python2-kivy.
77257f2a74 gnu: Remove python2-netaddr.
f7e1a06ddc gnu: Remove python2-quex-0.67.3.
838704a47d gnu: Remove python2-polib.
290ad4b6bd gnu: Remove python2-mako.
264da3790b gnu: Remove python2-colorspacious.
c9d6eaabcf gnu: Remove python2-parallel.
4a1d5918df gnu: Remove python2-rencode.
063881eced gnu: Remove python2-argparse.
8d53653424 gnu: Remove python2-activepapers.
cb4c0ea0b5 gnu: Remove python2-exif-read.
e4935b8c6a gnu: Remove python2-clint.
02e2e04cb9 gnu: Remove python2-s3cmd.
12569076dd gnu: Remove python2-mmtk.
c9e2fd5b3e gnu: Remove python2-pkginfo.
23c9c2a74a gnu: Remove python2-argcomplete.
0384b1e82e gnu: Remove python2-uniseg.
562476c327 gnu: Remove python2-enum.
99dd772457 gnu: Remove python2-straight-plugin.
953a085294 gnu: Remove python2-pythondialog.
b875716b3c gnu: Remove python2-coloredlogs.
29c60dfaad gnu: Remove python2-ipython-genutils.
a8f2c5e817 gnu: Remove python2-readlike.
9fcf5afb67 gnu: Remove python2-webob.
e845d85e69 gnu: Remove python2-genshi.
a200aa172f gnu: Remove python2-pastedeploy.
54761511ad gnu: Remove python2-betamax.
9db97ac435 gnu: Remove python2-rauth.
40e6d84c5a gnu: Remove python2-oauthlib.
65cb021ed3 gnu: Remove python2-zope-security.
4f31755f27 gnu: Remove python2-sockjs-tornado.
823555a61d gnu: Remove python2-zope-configuration.
7d88ac3f31 gnu: Remove python2-oauth2client.
104d21799e gnu: Remove python2-weave.
474e41fae4 gnu: Remove python2-pycryptodome.
72f6e59733 gnu: Remove python2-m2crypto.
8eac4da487 gnu: Remove python2-josepy.
fe753ddf29 gnu: Remove python2-slowaes.
9e17354b18 gnu: Remove python2-pyaes.
51bbe994b2 gnu: Remove python2-axolotl-curve25519.
bdbc36d22a gnu: Remove python2-pycrypto.
e9cd4c3903 gnu: Remove python2-ed25519.
48354884a4 gnu: Remove python2-service-identity.
282a9133da gnu: Remove python2-lzo.
e2f2e1f2ed gnu: Remove python2-lzstring.
92ccb4d101 gnu: Remove python2-lz4.
ae53f46b94 gnu: Remove pulseaudio-dlna.
91256e8d29 gnu: Remove python2-reportlab.
1bb067118d gnu: Remove python2-pypdf2.
ba9396c5ec gnu: Remove patches.
fdeeb29e2e gnu: Remove sala.
3614d66a60 gnu: Remove python2-ipy.
02f6e7fabd gnu: Remove non-mixer.
63cd2d28ac gnu: Remove non-timeline.
12931a06b9 gnu: Remove gtklick.
76403b12a1 gnu: Remove mloop.
c8aba3b427 gnu: Remove python2-pyechonest.
e341dcc48a gnu: Remove python2-musicbrainzngs.
6a6c536274 gnu: Remove python2-mailmanclient.
206f5f55b2 gnu: Remove python2-autograd.
b6f3b6de5b gnu: Remove python2-pyusb.
f59f0db1c7 gnu: Remove python2-tegaki-recognize.
10cc5b675c gnu: Remove key-mon.
6e80afbb78 gnu: Remove python2-iso639.
b3aab7e062 gnu: Remove python2-iso3166.
4a20625521 gnu: Remove h-client.
0f52156c98 gnu: Remove python2-pydot.
f0f8e3df7d gnu: Remove python2-pygpgme.
35e63dac70 gnu: Remove python2-gpg.
cecaeb71aa gnu: Remove slingshot.
9056be1072 gnu: Remove python2-tmx.
1ac1fe6ff3 gnu: Remove python2-keepkey.
3d54ac2b84 gnu: Remove python2-ledgerblue.
fc8ecfd0ec gnu: Remove python2-stdnum.
b86265820e gnu: Remove lekha.
0ff52e8a7c gnu: Remove python2-capstone.
1e89fe6dff gnu: Remove childsplay.
e9a2d241c2 gnu: Remove omnitux.
9e7633b05e gnu: Remove djvusmooth.
780266d848 gnu: Remove python2-pickleshare.
8d6e092451 gnu: Remove python2-pyodbc.
2e5d3087e3 gnu: Remove python2-pytest-warnings.
2082f3f7f5 gnu: Remove python2-parameterized.
1a95cc0a18 gnu: Remove python2-fastlmm.
84c47b7a87 gnu: Remove python2-pytest-cache.
450bca6344 gnu: Remove python2-statsmodels.
7e08c0cf5a gnu: Remove python2-html5lib.
fc40b6866d gnu: Remove python2-pandas.
ade2e25693 gnu: Remove python2-scikit-learn.
ce20daedd6 gnu: Remove python2-pytest-pep8.
97bbd7e67a gnu: Remove python2-hiredis.
f46e9f57ae gnu: Remove python2-pymysql.
67b8ee33b4 gnu: Remove python2-pyodbc-c.
eff6e94cfa gnu: Remove python2-py2neo.
5a85672855 gnu: Remove python2-apsw.
ff2b01b305 gnu: Remove python2-ccm.
04b4f6911e gnu: Remove python2-peewee.
bcd6aa0c4f gnu: Remove python2-trollius-redis.
a7c0a6ada4 gnu: Remove python2-redis.
e8652c133a gnu: Remove python2-neo4j-driver.
22376e54a7 gnu: Remove nmoldyn.
320fa3b6ae gnu: Remove domainfinder.
79564ce466 gnu: Remove python2-nose-randomly.
cb85ec6cf7 gnu: Remove python2-pytest-subtesthack.
3d19416bae gnu: Remove python2-pytest-flakes.
d6d985e10f gnu: Remove python2-cov-core.
f6be631855 gnu: Remove python2-discover.
e36938bf5f gnu: Remove python2-flexmock.
2c676370fc gnu: Remove python2-minimock.
cc5b285fce gnu: Remove python2-rednose.
13431202b6 gnu: Remove python2-python-paramunittest.
5686661805 gnu: Remove python2-pytest-capturelog.
ad35f9e3d8 gnu: Remove python2-nose2.
e5767535ba gnu: Remove python2-testlib.
28b0879dad gnu: Remove python2-pytest-catchlog.
e16c3dda0b gnu: Remove python2-nose-timer.
c131a4f3a4 gnu: Remove transmission-remote-cli.
f2c070f884 gnu: Remove pyicoteo.
abf2eb21b5 gnu: Remove python2-pbcore.
e28f2833c4 gnu: Remove python2-pyfaidx.
94e927587b gnu: Remove python2-screed.
8a3b681360 gnu: Remove miso.
d68dc6f805 gnu: Remove python2-warpedlmm.
f0c3e6760d gnu: Remove poretools.
61f237a4b7 gnu: Remove python2-dendropy.
280d9877ea gnu: Remove bamm.
e0a729ebe5 gnu: Remove python2-pybedtools.
1e1965e94f gnu: Remove python2-htseq.
64eb020449 gnu: Remove pepr.
d8f6bda140 gnu: Remove python2-pybigwig.
f41e722f3d gnu: Remove ribodiff.
8e32122e9d gnu: Remove grit.
a3d615f991 gnu: Remove python2-fastalite.
3cfa5d6287 gnu: Remove python2-pyaudio.
0e40c71a00 gnu: Remove raul-devel.
f1d120fa20 gnu: Remove raul.
c315248b2e gnu: Remove ingen.
d5053fcb06 gnu: Remove python2-pyalsaaudio.
df9c864103 gnu: Remove graphios.
d7c9ef847e gnu: Remove python2-langkit.
c7bb48b8e7 gnu: Remove python-pytest-runner-2.
--8<---------------cut here---------------end--------------->8---

Most of the removal were automated using a script [0], but each package
removed had their upstream status considered (using last commit or
existing patches for Python 3 compatibility) and quite a few were saved
that way.

The script was executed with the current directory in a Guix checkout via:

$ ./pre-inst-env ~/src/guix-api-examples/purge-python2-packages.scm

--8<---------------cut here---------------start------------->8---
It currently reports:

Skipping package 'python2-biopython' with 2 dependents...
Skipping package 'python2-six' with 47 dependents...
Skipping package 'python2-pycparser' with 2 dependents...
Skipping package 'scons-python2' with 14 dependents...

Python 2 purge complete.
4 packages were kept due to having dependents:
Packages                Dependencies
python2-six             47
scons-python2           14
python2-pycparser       2
python2-biopython       2
--8<---------------cut here---------------end--------------->8---

The above dependencies are kept because some current packages still
depend on them, notably qtwebengine, for example.  Some Python 2
packages had more that 500 dependencies before the purge, as a
comparison basis.

That's it!  If there are no concerns I'll push the branch in a day or
two, as it's been in review for 2 weeks and has been fully built by the
CI [1] already.

Thanks!

Maxim

[0] https://git.sr.ht/~apteryx/guix-api-examples/tree/main/item/purge-python2-packages.scm
[1] https://ci.guix.gnu.org/jobset/purge-python2-packages


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Merging the purge-python2-packages branch
  2022-05-30 13:25 Merging the purge-python2-packages branch Maxim Cournoyer
@ 2022-05-30 15:18 ` zimoun
  2022-05-30 15:32   ` Maxim Cournoyer
  0 siblings, 1 reply; 13+ messages in thread
From: zimoun @ 2022-05-30 15:18 UTC (permalink / raw)
  To: Maxim Cournoyer, guix-devel

Hi Maxim,

Cool!  That’s a nice removal. :-)

On lun., 30 mai 2022 at 09:25, Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote:

> Most of the removal were automated using a script [0], but each package
> removed had their upstream status considered (using last commit or
> existing patches for Python 3 compatibility) and quite a few were saved
> that way.

These packages perfectly build.

--8<---------------cut here---------------start------------->8---
bamm             /gnu/store/17hs9c60isdk8sfkpi0280xzc0gkyxn1-bamm-1.7.3
childsplay       /gnu/store/1gjbfx4s30r074fl1nhr5m8srsxvmavf-childsplay-3.4
chirp            /gnu/store/piwqmj7y6b1b3p0sk9vxwzd3fn68nz00-chirp-20220118
djvusmooth       /gnu/store/y1djnpg169mm51381ylrjxdrxa8la3xa-djvusmooth-0.3
find-circ        /gnu/store/i1vbr24h858irfwlnldjb2brsrl7j168-find-circ-1.2-1.8655dca
fraggenescan     /gnu/store/h211d2xqsf1dcqhm9b9mp4dl463hslxn-fraggenescan-1.30
gnome-doc-utils  /gnu/store/z6kwlmqyrfrpmvh75sz109krlk5jk9i3-gnome-doc-utils-0.20.10
graphios         /gnu/store/38fk6qkqvcjl7q63j8iasqb4igr715jf-graphios-2.0.3
gtklick          /gnu/store/zdh104pc78camqk96dy23yp61xq0695h-gtklick-0.6.4
h-client         /gnu/store/z8cg927pfl318ds0aifx7s9q4mxkvzgl-h-client-0.0a0-138
ingen            /gnu/store/xhxg7q3g5zffx8qpkcnz8h4wp6jwqg9r-ingen-0.0.0-2.cc4a4db33
key-mon          /gnu/store/y6fq6plq1v2myl8nszhp06c9xr8bcfli-key-mon-1.17
lekha            /gnu/store/akcbq03r9n6ap6p781c18n5xllid5y8s-lekha-0.2.1
mloop            /gnu/store/v94mbqhji8ag0v12v00zq9nd5b6lgirq-mloop-0.0.1-0.adebff9
non-mixer        /gnu/store/cmm8drl9isnmcgrzlsv9mrqrvknwchfm-non-mixer-1.9.5-4.5ae43bb
non-timeline     /gnu/store/kazn7qihs8q3b4qmi6md7y0dk5ivhv7s-non-timeline-1.9.5-4.5ae43bb
omnitux          /gnu/store/qbpsz7zaxdpaicmdxvp6s086yqplh4ks-omnitux-1.2.1
patches          /gnu/store/5qvzzri85wiph03kcpknvg0kpnwj528g-patches-0.0-1.ef1b8a7
pyicoteo         /gnu/store/vcrdrgzvgfbv28k9qj291jx8r31m7l1j-pyicoteo-2.0.7
raul             /gnu/store/6l5960xcmdggfkrsnnll5pb72knj2dga-raul-0.8.9-1.4db870b2b
rawdog           /gnu/store/vbw20xafk84p34y56bgjcbhnz2fvshnm-rawdog-2.23
sala             /gnu/store/c5s2ig87xq4ld7fvx0z1adk8hjgvqkds-sala-1.3
slingshot        /gnu/store/ck765xq1izagvb14bvj6vkaarlam88c0-slingshot-0.9
wicd             /gnu/store/rmg0f4qx7ac3w148cxigmj9xkdzzwa6d-wicd-1.7.4
youtube-dl-gui   /gnu/store/lgf9xbfi7rp91kbajbxirbndssfgfwvw-youtube-dl-gui-0.4
--8<---------------cut here---------------end--------------->8---

Therefore, I would not remove them; I have not checked which python2-
dependencies they are using.


Cheers,
simon


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Merging the purge-python2-packages branch
  2022-05-30 15:18 ` zimoun
@ 2022-05-30 15:32   ` Maxim Cournoyer
  2022-05-30 16:49     ` zimoun
  0 siblings, 1 reply; 13+ messages in thread
From: Maxim Cournoyer @ 2022-05-30 15:32 UTC (permalink / raw)
  To: zimoun; +Cc: guix-devel

Hi Simon,

zimoun <zimon.toutoune@gmail.com> writes:

> Hi Maxim,
>
> Cool!  That’s a nice removal. :-)
>
> On lun., 30 mai 2022 at 09:25, Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote:
>
>> Most of the removal were automated using a script [0], but each package
>> removed had their upstream status considered (using last commit or
>> existing patches for Python 3 compatibility) and quite a few were saved
>> that way.
>
> These packages perfectly build.

On Python 2, that is :-).

This effort is an attempt to reduce our dependencies on Python 2 as much
as possible, so that we can hopefully remove Python 2 from our tree
before 2030 comes ;-).

> bamm             /gnu/store/17hs9c60isdk8sfkpi0280xzc0gkyxn1-bamm-1.7.3
> childsplay       /gnu/store/1gjbfx4s30r074fl1nhr5m8srsxvmavf-childsplay-3.4
> chirp            /gnu/store/piwqmj7y6b1b3p0sk9vxwzd3fn68nz00-chirp-20220118
> djvusmooth       /gnu/store/y1djnpg169mm51381ylrjxdrxa8la3xa-djvusmooth-0.3
> find-circ        /gnu/store/i1vbr24h858irfwlnldjb2brsrl7j168-find-circ-1.2-1.8655dca
> fraggenescan     /gnu/store/h211d2xqsf1dcqhm9b9mp4dl463hslxn-fraggenescan-1.30
> gnome-doc-utils  /gnu/store/z6kwlmqyrfrpmvh75sz109krlk5jk9i3-gnome-doc-utils-0.20.10
> graphios         /gnu/store/38fk6qkqvcjl7q63j8iasqb4igr715jf-graphios-2.0.3
> gtklick          /gnu/store/zdh104pc78camqk96dy23yp61xq0695h-gtklick-0.6.4
> h-client         /gnu/store/z8cg927pfl318ds0aifx7s9q4mxkvzgl-h-client-0.0a0-138
> ingen            /gnu/store/xhxg7q3g5zffx8qpkcnz8h4wp6jwqg9r-ingen-0.0.0-2.cc4a4db33
> key-mon          /gnu/store/y6fq6plq1v2myl8nszhp06c9xr8bcfli-key-mon-1.17
> lekha            /gnu/store/akcbq03r9n6ap6p781c18n5xllid5y8s-lekha-0.2.1
> mloop            /gnu/store/v94mbqhji8ag0v12v00zq9nd5b6lgirq-mloop-0.0.1-0.adebff9
> non-mixer        /gnu/store/cmm8drl9isnmcgrzlsv9mrqrvknwchfm-non-mixer-1.9.5-4.5ae43bb
> non-timeline     /gnu/store/kazn7qihs8q3b4qmi6md7y0dk5ivhv7s-non-timeline-1.9.5-4.5ae43bb
> omnitux          /gnu/store/qbpsz7zaxdpaicmdxvp6s086yqplh4ks-omnitux-1.2.1
> patches          /gnu/store/5qvzzri85wiph03kcpknvg0kpnwj528g-patches-0.0-1.ef1b8a7
> pyicoteo         /gnu/store/vcrdrgzvgfbv28k9qj291jx8r31m7l1j-pyicoteo-2.0.7
> raul             /gnu/store/6l5960xcmdggfkrsnnll5pb72knj2dga-raul-0.8.9-1.4db870b2b
> rawdog           /gnu/store/vbw20xafk84p34y56bgjcbhnz2fvshnm-rawdog-2.23
> sala             /gnu/store/c5s2ig87xq4ld7fvx0z1adk8hjgvqkds-sala-1.3
> slingshot        /gnu/store/ck765xq1izagvb14bvj6vkaarlam88c0-slingshot-0.9
> wicd             /gnu/store/rmg0f4qx7ac3w148cxigmj9xkdzzwa6d-wicd-1.7.4
> youtube-dl-gui   /gnu/store/lgf9xbfi7rp91kbajbxirbndssfgfwvw-youtube-dl-gui-0.4
>
> Therefore, I would not remove them; I have not checked which python2-
> dependencies they are using.

If something is valuable up there, I'd suggest interested parties
contribute them to the Guix-Past channel.

What do you think?

Maxim


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Merging the purge-python2-packages branch
  2022-05-30 15:32   ` Maxim Cournoyer
@ 2022-05-30 16:49     ` zimoun
  2022-05-31  7:39       ` Reza Housseini
  2022-05-31 19:07       ` Maxim Cournoyer
  0 siblings, 2 replies; 13+ messages in thread
From: zimoun @ 2022-05-30 16:49 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: guix-devel

Hi Maxim,

On lun., 30 mai 2022 at 11:32, Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote:
> zimoun <zimon.toutoune@gmail.com> writes:
>> On lun., 30 mai 2022 at 09:25, Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote:
>>
>>> Most of the removal were automated using a script [0], but each package
>>> removed had their upstream status considered (using last commit or
>>> existing patches for Python 3 compatibility) and quite a few were saved
>>> that way.
>>
>> These packages perfectly build.
>
> On Python 2, that is :-).

Yeah. :-)  Another point of view:

        Well, me, personally, I continue to do most of my research using
        Python 2 because I cannot afford to port everything to Python
        3. And since I do only number crunching, meaning nothing with
        security implications, I am not particularly worried.

        [...]

        Once Python 2 lives in a largely isolated package sub-universe,
        I don't see much harm keeping it in Guix for now. If security
        issues become apparent, we might have to do something more
        drastic.

        <https://yhetil.org/guix/m1a78p5tgf.fsf@fastmail.net>


And if you filter by ’python2-’ from the dashboard,

    <http://ci.guix.gnu.org/eval/359297/dashboard>
    
many are broken but many are still fine.

BTW, ’python2-biopython’ is broken in the branch
’purge-python2-packages’ and still there [1].

1: <http://ci.guix.gnu.org/build/827139/details>


> This effort is an attempt to reduce our dependencies on Python 2 as much
> as possible, so that we can hopefully remove Python 2 from our tree
> before 2030 comes ;-).

I agree and I am advocating since 2019-10-31 [2] for an explicit
plan. :-) However, my understanding of this plan after several
discussions is: remove the python2- variants once they are broken.

It appears to me surprising: we do not provide a schedule for the
removals, then bang purge.

2: <https://yhetil.org/guix/CAJ3okZ33HsXxgVgK3XyVHvYUfDUrbcwBnOn7FC6=3AG_YvAUbQ@mail.gmail.com>


Well, as a hobbyist, I am fine with such purge.  As a scientific
practitioner using Guix at work, it is more annoying…

>> bamm             /gnu/store/17hs9c60isdk8sfkpi0280xzc0gkyxn1-bamm-1.7.3

[...]

>> Therefore, I would not remove them; I have not checked which python2-
>> dependencies they are using.
>
> If something is valuable up there, I'd suggest interested parties
> contribute them to the Guix-Past channel.

…for instance, I use time to time the package ’bamm’.  Because inferiors
and time-machine, the removal of ’bamm’ is not a big deal per se but I
need some time to adapt some scripts, etc.

Other said, I am fine with the purge and I volunteer to help in
transferring from master to guix-past but we need a schedule,
communicate on the purge and more importantly say when it will
happen. :-) (maybe not a purge 2-3 days after an announcement on
guix-devel following 2 weeks in a branch ;-))


Cheers,
simon

PS: Great script, BTW. :-)




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Merging the purge-python2-packages branch
  2022-05-30 16:49     ` zimoun
@ 2022-05-31  7:39       ` Reza Housseini
  2022-05-31 19:07       ` Maxim Cournoyer
  1 sibling, 0 replies; 13+ messages in thread
From: Reza Housseini @ 2022-05-31  7:39 UTC (permalink / raw)
  To: guix-devel


[-- Attachment #1.1.1: Type: text/plain, Size: 1319 bytes --]

On 5/30/22 18:49, zimoun wrote:
> 
>          Well, me, personally, I continue to do most of my research using
>          Python 2 because I cannot afford to port everything to Python
>          3. And since I do only number crunching, meaning nothing with
>          security implications, I am not particularly worried.
> 
>          [...]
> 
>          Once Python 2 lives in a largely isolated package sub-universe,
>          I don't see much harm keeping it in Guix for now. If security
>          issues become apparent, we might have to do something more
>          drastic.

I think time-machine is the tool to use here, and as Maxime suggested, 
if you really need to keep maintaining a python2 package than guix-past 
is the perfect place to do it (porting to python3 makes probably still 
more sense than maintaining an outdated python package).

> 
> It appears to me surprising: we do not provide a schedule for the
> removals, then bang purge.
> 

I don't see the problem, python 2 was sunsetting in 2020(!) [1] after a 
prolongation from 2015, so it should not come as a surprise.

Cheers,
Reza


[1] https://www.python.org/doc/sunset-python-2/

-- 
Reza Housseini

This message is signed with my GnuPG key:

     C0F3 0812 9AF2 80F4 0830 C2C1 C375 C6AF 0512 5C52

[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 15557 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Merging the purge-python2-packages branch
  2022-05-30 16:49     ` zimoun
  2022-05-31  7:39       ` Reza Housseini
@ 2022-05-31 19:07       ` Maxim Cournoyer
  2022-05-31 20:54         ` zimoun
  1 sibling, 1 reply; 13+ messages in thread
From: Maxim Cournoyer @ 2022-05-31 19:07 UTC (permalink / raw)
  To: zimoun; +Cc: guix-devel

Hi Simon,

zimoun <zimon.toutoune@gmail.com> writes:

[...]

> BTW, ’python2-biopython’ is broken in the branch
> ’purge-python2-packages’ and still there [1].
>
> 1: <http://ci.guix.gnu.org/build/827139/details>

Thanks.  It's now gone along pplacer-scripts and pplacer, which were
using it as an input.

>> This effort is an attempt to reduce our dependencies on Python 2 as much
>> as possible, so that we can hopefully remove Python 2 from our tree
>> before 2030 comes ;-).
>
> I agree and I am advocating since 2019-10-31 [2] for an explicit
> plan. :-) However, my understanding of this plan after several
> discussions is: remove the python2- variants once they are broken.
>
> It appears to me surprising: we do not provide a schedule for the
> removals, then bang purge.

I think we already had reached consensus that Python 2 packages needed
to go, but the benefit/effort ratio was rather low, so the more
practical alternative to a purge was removing them gradually.  The
ability to use a script [0] to automate a good part of it is what
convinced me otherwise.  Getting entangled in trying to preserve Python
2 packages that few still use when bumping Python packages is another
pain point that made me want to expedite the move.

[0]  https://git.sr.ht/~apteryx/guix-api-examples/tree/main/item/purge-python2-packages.scm


> 2: <https://yhetil.org/guix/CAJ3okZ33HsXxgVgK3XyVHvYUfDUrbcwBnOn7FC6=3AG_YvAUbQ@mail.gmail.com>
>
>
> Well, as a hobbyist, I am fine with such purge.  As a scientific
> practitioner using Guix at work, it is more annoying…

Agreed.  My understanding is that scientists making use of Guix already
use a variety of Guix channels, so I'd assume the now missing bits can
be fitted in Guix-Past or a suitable place without causing too much of a
change to their workflow.

[...]

> Other said, I am fine with the purge and I volunteer to help in
> transferring from master to guix-past but we need a schedule,
> communicate on the purge and more importantly say when it will
> happen. :-) (maybe not a purge 2-3 days after an announcement on
> guix-devel following 2 weeks in a branch ;-))

To be clear, the whole patch set was submitted for review more than 2
weeks ago to guix-patches, and some people have at least looked at it
and suggested using forks or other means to save some packages, which
was done.  If it breaks something, users can stay on their current
commit, use inferiors, or start integrating the missing bits into their
channel.

So, I'll go ahead with the merge and we can go from there.  In the
future, I'll try to remember to send a guix-devel message around the
time the patches hit guix-patches :-).

Thanks for sharing your input,

Maxim


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Merging the purge-python2-packages branch
  2022-05-31 19:07       ` Maxim Cournoyer
@ 2022-05-31 20:54         ` zimoun
  2022-06-01 16:21           ` Ludovic Courtès
  0 siblings, 1 reply; 13+ messages in thread
From: zimoun @ 2022-05-31 20:54 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: guix-devel

Hi Maxim,

Thanks for this janitor work. :-)


On Tue, 31 May 2022 at 15:07, Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote:

>> Well, as a hobbyist, I am fine with such purge.  As a scientific
>> practitioner using Guix at work, it is more annoying…
>
> Agreed.  My understanding is that scientists making use of Guix already
> use a variety of Guix channels, so I'd assume the now missing bits can
> be fitted in Guix-Past or a suitable place without causing too much of a
> change to their workflow.

This assumption about scientists is not rooted, IMHO.  What I can say is
that, in my lab, some people are still using python2- variants as ’bamm’
for example.  They are not packager and they have other fishes to fry;
they use Guix to have the things done, they are not hobbyists who like
tweaking their computational environment. :-)

If I do not transfer myself the packages or explain them how to reach
these packages (git log, find the commit, etc. because yes, some people
are still installing python2- variants for some specific tasks), then
they will probably have again another bad experience with Guix.

And no, 15 days is not enough time to move 602 packages (minus the
broken ones ;-)) from master to another channel as guix-past.

Some workflow will be broken, for sure.  Bah it is an habits when using
Guix, sadly. :-)


> So, I'll go ahead with the merge and we can go from there.  In the
> future, I'll try to remember to send a guix-devel message around the
> time the patches hit guix-patches :-).

Again, I totally agree with the purge.  But I disagree with the process.

Somehow, it is another data point showing it is hard to smoothly work in
production with Guix – some flavors are moving too fast for my taste [1].

Anyway!  The merge will be a double “darwinism” experience. ;-) Only the
most motivated* users with a broken workflow will accept such breakage.
Only the most relevant python2- variant packages will survive
elsewhere. :-)

*darwinism meaning here “selection”
*motivated by other unique Guix features

1: <https://yhetil.org/guix/86mtv29erk.fsf@gmail.com>


Cheers,
simon




^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Merging the purge-python2-packages branch
  2022-05-31 20:54         ` zimoun
@ 2022-06-01 16:21           ` Ludovic Courtès
  2022-06-01 19:51             ` zimoun
  0 siblings, 1 reply; 13+ messages in thread
From: Ludovic Courtès @ 2022-06-01 16:21 UTC (permalink / raw)
  To: zimoun; +Cc: Maxim Cournoyer, guix-devel

Hi,

zimoun <zimon.toutoune@gmail.com> skribis:

> On Tue, 31 May 2022 at 15:07, Maxim Cournoyer <maxim.cournoyer@gmail.com> wrote:
>
>>> Well, as a hobbyist, I am fine with such purge.  As a scientific
>>> practitioner using Guix at work, it is more annoying…
>>
>> Agreed.  My understanding is that scientists making use of Guix already
>> use a variety of Guix channels, so I'd assume the now missing bits can
>> be fitted in Guix-Past or a suitable place without causing too much of a
>> change to their workflow.
>
> This assumption about scientists is not rooted, IMHO.  What I can say is
> that, in my lab, some people are still using python2- variants as ’bamm’
> for example.  They are not packager and they have other fishes to fry;
> they use Guix to have the things done, they are not hobbyists who like
> tweaking their computational environment. :-)

I’m sure you’re right.

The question boils down to: how can we maintain a general-purpose
package collection?

It’s great that you’re voicing the concerns of the scientific community.
At the end of the day though, someone has to maintain all this code.
We’re removing packages from Guix proper, letting interested users
either pin their software environment or maintain those packages in a
channel of their own.  In the latter case, the maintenance burden is
transferred.

The transition can be difficult; surely, some user out there will
discover all of a sudden that their favorite package disappeared.  As
engineers who support scientific users, you and I (and others) can help
smooth that by pasting package definitions that we know are still used
into Guix-Past or some other channels.

In the end, it can have a good side effect: getting scientists aware of,
and ideally involved in, the maintenance of their own infrastructure.
Maybe you have an argument to recruit an new engineer on your team?  :-)

Ludo’.


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Merging the purge-python2-packages branch
  2022-06-01 16:21           ` Ludovic Courtès
@ 2022-06-01 19:51             ` zimoun
  2022-06-01 20:30               ` Maxime Devos
  2022-06-02 14:04               ` Ludovic Courtès
  0 siblings, 2 replies; 13+ messages in thread
From: zimoun @ 2022-06-01 19:51 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Maxim Cournoyer, guix-devel

Hi,

On Wed, 01 Jun 2022 at 18:21, Ludovic Courtès <ludo@gnu.org> wrote:

> The question boils down to: how can we maintain a general-purpose
> package collection?

I agree and I never said that we have to maintain packages EOL since 2
years.

As I pointed, many packages of these set are not broken… yet.

Any user of Guix, scientist or not, can be surprised that their
perfectly working packages are suddenly removed without a period of
grace.  Yes, these packages could have been removed before today since
they are EOL since 2 years.  It does not change my concern.

What is the emergency in the maintenance burden that we cannot publicly
announce the purge and wait a grace* period?  For the broken packages, I
understand.  I am sorry but I am still missing for the perfectly working
packages.

Again, I agree with the purge, I disagree with the process.

*grace period: it could have been short as couple of weeks.


> It’s great that you’re voicing the concerns of the scientific community.
> At the end of the day though, someone has to maintain all this code.
> We’re removing packages from Guix proper, letting interested users
> either pin their software environment or maintain those packages in a
> channel of their own.  In the latter case, the maintenance burden is
> transferred.

My concern is mainly about the process, not the purge.  As you can read
in the Git log, I have removed many broken Python 2 packages.  And as
you can also read in the mailing list archive, I have been concerned by
this topic and I tried to propose (many times) a plan for a smooth
transition because package removals.

Maybe I am wrong but I see a difference in a transition plan between
collectively maintain all this code for 2 years and remove many working
packages without a public announce.

I agree with the purge and it is nice that it happens.  But I am
surprised by the abrupt process.  A grace period could have smoothed the
transition for the few interested users, if any. :-)

Maybe my ideal world is wrong, but to me, the collective process would
have somehow been on Guix side: patches, branch and CI, announce on
guix-devel, announce on info-guix and publish a blog post (because the
script is unique, awesome and really worth), then done.  In my ideal
world, we were at the announce on guix-devel step.  Hence my surprise.


> The transition can be difficult; surely, some user out there will
> discover all of a sudden that their favorite package disappeared.  As
> engineers who support scientific users, you and I (and others) can help
> smooth that by pasting package definitions that we know are still used
> into Guix-Past or some other channels.

It is a bit more than pasting; whatever. :-)

It is really interesting: so much care about “guix environment” to avoid
any breakage of any workflow vs a massive purge without even an announce
on guix-devel: be aware, many Python 2 will be dropped on <date>.
Anyway.

As I said, I am surprised.  But the world is not exploding. :-) Come on,
it is Python 2 EOL since 2 years!

Even, I am very grateful that this boring janitor task of purging is
almost done.  Many thanks to Maxim for the hard and not fun work!

The script and various tools around are really great materials exposing
how Guix is powerful.  Awesome and thanks!


> In the end, it can have a good side effect: getting scientists aware of,
> and ideally involved in, the maintenance of their own infrastructure.
> Maybe you have an argument to recruit an new engineer on your team?  :-)

Too much optimism? :-)

To be honest, I get two kind of feedback:

 1. from scientists end-user, a) they do not have the packages they need
 when these packages are easily available elsewhere, b) many tiny
 annoyances which do not make daily usage smooth compared to others;

 2. from “sysadmin”, Guix is not enough stable and not ready for production.

Both are not technical but are most about perception. I will not drift
off topic. ;-)

About “my team”, do you mean recruit myself?  Even, I am probably the
only potential recruit in my complete Institute. ;-)


Bah yeah optimism!  I am surprised and surprised are often fun! :-)


Cheers,
simon


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Merging the purge-python2-packages branch
  2022-06-01 19:51             ` zimoun
@ 2022-06-01 20:30               ` Maxime Devos
  2022-06-02  7:25                 ` zimoun
  2022-06-02 14:04               ` Ludovic Courtès
  1 sibling, 1 reply; 13+ messages in thread
From: Maxime Devos @ 2022-06-01 20:30 UTC (permalink / raw)
  To: zimoun, Ludovic Courtès; +Cc: Maxim Cournoyer, guix-devel

[-- Attachment #1: Type: text/plain, Size: 1772 bytes --]

zimoun schreef op wo 01-06-2022 om 21:51 [+0200]:
> Any user of Guix, scientist or not, can be surprised that their
> perfectly working packages are suddenly removed without a period of
> grace.  Yes, these packages could have been removed before today since
> they are EOL since 2 years.  It does not change my concern.
> 
> What is the emergency in the maintenance burden that we cannot publicly
> announce the purge and wait a grace* period?  For the broken packages, I
> understand.  I am sorry but I am still missing for the perfectly working
> packages.
> [...]
> *grace period: it could have been short as couple of weeks.

The grace period has been started back in 2008 and ended in 2015.
I don't know the original location where this has been publicly
announced, but there is [0]:

> (from [0])
> Sunsetting Python 2
> [...]
> We did not want to hurt the people using Python 2. So, in 2008, we
> announced that we would sunset Python 2 in 2015,

This is a 5 year grace period, which is already a lot of weeks.
Futhermore, this has even been extended for five additional years:

> (from [0])
> and asked people to upgrade before then. Some did, but many did not.
> So, in 2014, we extended that sunset till 2020

So we're at a ten-year grace period.  And some distros have informally
extended the grace period a bit longer to some limited degree.

That said, I suppose it would have been better to also repeat the
message about the grace period on the blog, channel news and info-guix
(and maybe on IRC too, why not) as you seem to suggest, for people that
follow distro news but not upstream news, given the large impact (many
python2 packages)?

[0]: https://www.python.org/doc/sunset-python-2/

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Merging the purge-python2-packages branch
  2022-06-01 20:30               ` Maxime Devos
@ 2022-06-02  7:25                 ` zimoun
  2022-06-02  9:36                   ` Maxime Devos
  0 siblings, 1 reply; 13+ messages in thread
From: zimoun @ 2022-06-02  7:25 UTC (permalink / raw)
  To: Maxime Devos, Ludovic Courtès; +Cc: Maxim Cournoyer, guix-devel

On Wed, 01 Jun 2022 at 22:30, Maxime Devos <maximedevos@telenet.be> wrote:

>> (from [0])
>> Sunsetting Python 2
>> [...]
>> We did not want to hurt the people using Python 2. So, in 2008, we
>> announced that we would sunset Python 2 in 2015,
>
> This is a 5 year grace period, which is already a lot of weeks.
> Futhermore, this has even been extended for five additional years:

Following this argument, the question is therefore: why Python 2
packages had been included in Guix in the first place since most
inclusions had already been post this grace period? :-)


> That said, I suppose it would have been better to also repeat the
> message about the grace period on the blog, channel news and info-guix
> (and maybe on IRC too, why not) as you seem to suggest, for people that
> follow distro news but not upstream news, given the large impact (many
> python2 packages)?

I personally do not follow all the upstream code that I run.  I trust
the distro for that.  I guess most people follow distro news for most of
the things they basically run and install from their disto.  I would be
interested to know how many people who use pandoc also follow GHC
development, who use unison and also follow OCaml, who use VLC and
follow GCC, etc. Who used ’wicd’ and also followed Python.

Well, it is off-topic. :-)

To be honest, I am also surprised by the answers trying to justify what
appears to me a breakage of what a distro means.  Maybe my feelings are
wrong, from my point of view, Guix is currently at a crossroad: people
outside the hobbyist’s circle are starting to run Guix in production, or
at least they are starting to think about it.  By doing sudden
transition, we appear abrupt as a distro and the message between the
lines is «Guix is not reliable as a distro».  All such big transition is
difficult whatever the distro [1,2,3].  The aim of a distro is to smooth
user transition, IMHO, which means communicate explicitly for preparing.

Do not take me wrong, I am not making a case for this Python 2 purge.

Now, many Python 2 is gone from Guix.  Despite my concerns, I am really
happy by this achievement and I am very grateful to Maxim for making it
happen.  For having done some janitor tasks in Guix, I know how tedious
this job can be and I am thankful for the heavy and not-fun work that
Maxim did.

In short, I have an opinion for the path at this crossroad and using
this Python 2 purge as example, I am trying to gently express it.


Cheers,
simon

1: <https://wiki.debian.org/Python/2Removal>
2: <https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3>
3: <https://www.gentoo.org/support/news-items/2020-09-28-python-2-7-cleanup.html>


^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Merging the purge-python2-packages branch
  2022-06-02  7:25                 ` zimoun
@ 2022-06-02  9:36                   ` Maxime Devos
  0 siblings, 0 replies; 13+ messages in thread
From: Maxime Devos @ 2022-06-02  9:36 UTC (permalink / raw)
  To: zimoun, Ludovic Courtès; +Cc: Maxim Cournoyer, guix-devel

[-- Attachment #1: Type: text/plain, Size: 1771 bytes --]

zimoun schreef op do 02-06-2022 om 09:25 [+0200]:
> On Wed, 01 Jun 2022 at 22:30, Maxime Devos <maximedevos@telenet.be> wrote:
> 
> > > (from [0])
> > > Sunsetting Python 2
> > > [...]
> > > We did not want to hurt the people using Python 2. So, in 2008, we
> > > announced that we would sunset Python 2 in 2015,
> > 
> > This is a 5 year grace period, which is already a lot of weeks.
> > Futhermore, this has even been extended for five additional years:
> 
> Following this argument, the question is therefore: why Python 2
> packages had been included in Guix in the first place since most
> inclusions had already been post this grace period? :-)

I didn't know that.  I guess we should have said back then ‘no adding
new python2 packages because of the grace period, only updates’ and
announced and documented the policy? (assuming this argument)

> I personally do not follow all the upstream code that I run.  I trust
> the distro for that.  I guess most people follow distro news for most
> of the things they basically run and install from their disto. [...]
> By doing sudden transition, we appear abrupt as a distro and the
> message between the lines is «Guix is not reliable as a distro».  All
> such big transition is difficult whatever the distro [1,2,3].  The
> aim of a distro is to smooth user transition, IMHO, which means
> communicate explicitly for preparing.

I agree that it is a sudden transition for a user that does not follow
upstream news and that it only is a smooth transition for people in the
know.  It's a bit a matter of perspective I guess?  Agreed with more
explicit communication.  And maybe Guix could have done more, e.g. by
helping upstream with porting to python3.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Merging the purge-python2-packages branch
  2022-06-01 19:51             ` zimoun
  2022-06-01 20:30               ` Maxime Devos
@ 2022-06-02 14:04               ` Ludovic Courtès
  1 sibling, 0 replies; 13+ messages in thread
From: Ludovic Courtès @ 2022-06-02 14:04 UTC (permalink / raw)
  To: zimoun; +Cc: Maxim Cournoyer, guix-devel

Hello!

zimoun <zimon.toutoune@gmail.com> skribis:

> Again, I agree with the purge, I disagree with the process.

OK, understood.

> Maybe my ideal world is wrong, but to me, the collective process would
> have somehow been on Guix side: patches, branch and CI, announce on
> guix-devel, announce on info-guix and publish a blog post (because the
> script is unique, awesome and really worth), then done.  In my ideal
> world, we were at the announce on guix-devel step.  Hence my surprise.

Yeah.  The patch series had been on issues.guix for two weeks, but
that’s not enough for people to notice; I agree that an announcement at
least on guix-devel, followed by some time to adjust, would have allowed
for a smoother transition.

> It is really interesting: so much care about “guix environment” to avoid
> any breakage of any workflow vs a massive purge without even an announce
> on guix-devel: be aware, many Python 2 will be dropped on <date>.

‘guix environment’ and Python 2 are two different beasts, but you’re
right that the difference in how we handled these two transitions is
striking.

> It is a bit more than pasting; whatever. :-)

Heh, of course, and you’re right to a much larger extent than I thought:
Ricardo and I have been trying to rescue python2-{scipy,numpy} in
Guix-Past and it’s much more difficult than I expected.

>> In the end, it can have a good side effect: getting scientists aware of,
>> and ideally involved in, the maintenance of their own infrastructure.
>> Maybe you have an argument to recruit an new engineer on your team?  :-)
>
> Too much optimism? :-)
>
> To be honest, I get two kind of feedback:
>
>  1. from scientists end-user, a) they do not have the packages they need
>  when these packages are easily available elsewhere, b) many tiny
>  annoyances which do not make daily usage smooth compared to others;
>
>  2. from “sysadmin”, Guix is not enough stable and not ready for production.
>
> Both are not technical but are most about perception. I will not drift
> off topic. ;-)

Yup, I hear that, and I agree that every such annoyance plays against
the project (inaction would also play against it though, only in a more
diffuse way.)

> About “my team”, do you mean recruit myself?  Even, I am probably the
> only potential recruit in my complete Institute. ;-)

What I meant is that scientists cannot always be freeriders, to put it
bluntly.  If we’re providing valuable infrastructure to them, it makes
sense to invest in it—as opposed to identifying as “end users”.

Thanks,
Ludo’.



^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2022-06-02 14:05 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-30 13:25 Merging the purge-python2-packages branch Maxim Cournoyer
2022-05-30 15:18 ` zimoun
2022-05-30 15:32   ` Maxim Cournoyer
2022-05-30 16:49     ` zimoun
2022-05-31  7:39       ` Reza Housseini
2022-05-31 19:07       ` Maxim Cournoyer
2022-05-31 20:54         ` zimoun
2022-06-01 16:21           ` Ludovic Courtès
2022-06-01 19:51             ` zimoun
2022-06-01 20:30               ` Maxime Devos
2022-06-02  7:25                 ` zimoun
2022-06-02  9:36                   ` Maxime Devos
2022-06-02 14:04               ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).