IRC channel logs

2022-06-02.log

back to list of logs

<civodul>Guix-Past didn't survive the Python 2 purge: https://guix.bordeaux.inria.fr/jobset/guix-past
<civodul>we need numpy/scipy/pillow
<zimoun>civodul: ah, I thought it was a simple copy/paste as you answered me. :-p
<civodul>it is, did i suggest otherwise? :-)
<civodul>mind you, i don't deny it's annoying
<zimoun>no it is not just copy/paste of ’python2-’ because python2- packages are inheriting from Python and the source can mismatch.
<zimoun>it is a piece of work. :-) Whatever the grace period.
<zimoun>civodul: The build farm is down, right? No error message?
<civodul>zimoun: guix.bordeaux.inria.fr is up
<civodul>do you see something wrong?
*rekado just bought “Assimil Französisch ohne Mühe”…
<rekado>I can help with guix-past
<rekado>the merge caught me by surprise; I saw zimoun’s emails about this and thought it would be delayed for a little while longer…
<rekado>zimoun: we need the whole closure of numpy/scipy/pillow, right?
<zimoun>civodul: ah, for instance https://guix.bordeaux.inria.fr/eval/3422013 is failed but no log, what do I miss?
<zimoun>rekado: I do not know exactly. The purge is ~600 commits.
<zimoun>rekado: oh you are planning to learn French. :-)
<rekado>zimoun: I want to be able to attend the Café Guix!
<rekado>and there will be a direct high speed train connection from Berlin to Paris by the end of 2023. Gotta be prepared.
<zimoun>héhé !
<civodul>zimoun: indeed, not sure what went wrong with that evaluation
<zimoun>it is the same for all
<civodul>those i see at https://guix.bordeaux.inria.fr/jobset/guix-past have a log though
<rekado>I’ll start with python2-numpy
<civodul>when clickin on the red cross
<civodul>rekado: danke shön!
*civodul should plan for 2023 too
<zimoun>oh, indeed. Hum, Cuirass is sometime confusing. :-)
<zimoun>rekado: <unknown-location>: warning: possibly unbound variable `python2-pillow' `python2-numpy' `python2-scipy' `python2-matplotlib'
<zimoun>therefore the closure of python2-numpy seems a good start. :-)
<rekado>ugh, python2-pytest has lots of inputs…
<rekado>can I not use package-with-python2 outside of the module defining the Python 3 variant?
<zimoun>I have never tried. Does it not work?
<rekado>I don’t get a useful error message.
<rekado>I started (past packages python-xyz)
<rekado>when I add guix-past to GUIX_PACKAGE_PATH and try to build the package that uses package-with-python2 I only get this error: guix build: error: python2-funcsigs: unknown package
<rekado>(that’s the package I defined)
<rekado>it works when it’s not used in a top-level definition
<zimoun>I do not know… too much Guile magic to me. :-)
<rekado>anyway….
<rekado>what really makes this a little more annoying than it already is: we’ve lost all the python2-variant properties, so all that automatic rewriting is more difficult now.
<rekado>I’m beginning to think that maybe this sudden purge was … not a good idea. Perhaps.
<zimoun>(civodul, do not read, I rant ;- )) Submission 15 days ago. Announce on the 30th, purge on the 31th. I am still missing in which frame this timeline could appear a good idea.
<rekado>yeah.
<rekado>especially considering the long drawn-out discussions in the past about a slow timeline to remove Python 2 stuff (whenever things are broken and cannot be fixed
<rekado>)
<rekado>the biggest problem I have now is that package-with-python2 won’t work, because we lost all the python2-variant information.
<rekado>I can work around this by setting up a table with replacements and writing a custom package-with-python2 that checks that table (instead of the property).
<rekado>but I would have preferred not to do this in a rush.
<civodul>bah :-/
<civodul>oh the python2-variant properties were removed from packages in Guix proper, right?
<civodul>well yeah
<civodul>ok
<civodul>i hadn't thought about it, it definitely makes things more difficult
<civodul>source code on DNA my friends! https://www.cnrs.fr/en/launch-exploratory-priority-research-programme-and-equipment-data-storage-dna
<zimoun>I disconnect because I am going to heavily rant… Have a nice day.
<rekado>:-/
<rekado>I can understand the frustration very well
<civodul>yeah
<civodul>were you able to recover part of the scipy closure?
<civodul>i can give a hand at some point
<rekado>nope, I’m still working on dependencies of pytest
<civodul>ok
<rekado>this is what I have so far: https://elephly.net/paste/1654161774.scm.html
<civodul>actually when i replied on guix-devel yesterday i didn't know this was already merged
<civodul>ok
<civodul>rekado: would you like me to continue from there while you take a break?
<rekado>sounds good. Here’s my latest version with an attempt to provide an alternative to python2-variant: https://elephly.net/paste/1654162339.scm.html
<rekado>I guess it would also need to actually check python2-variant if it exists
<rekado>for those packages that still use it.
<civodul>right
*civodul grabs the code
<civodul>let's face it: it's a bit of a nightmare
<civodul>zimoun was right
<rekado>how’s it going?
<rekado>should I continue?
<civodul>yeah if you don't mind; let me clean things up a bit
<civodul> https://web.fdn.fr/~lcourtes/pastebin/past-python2-packages.html
<civodul>i didn't make much progress :-/
<civodul>that made me think "guix import guix" could be useful
<rekado>okay, I’ll continue
<rekado>got a weird cycle somewhere
<rekado>hmm, in some cases we’re recording things in the hash table *after* we’re looking for them.
<rekado>bah
<civodul>oh?
<civodul>we could move the hash-set! call before the definition
<rekado>we delay the value, though, so we can’t access package-name
<rekado>this can all be fixed, of course
<rekado>currently I’m back to my manual match table… :D
<rekado>almost got python2-importlib-metadata
<rekado>still a long way to go from there to pytest
<rekado>ugh, this is really not enjoyable
<civodul>i didn't have a clear "algorithm" as to how to do things
<civodul>we only want to copy python2- definitions that are more than mere transformations, right?
<rekado>yes
<civodul>what if we could do "guix import guix -C COMMIT python2-pytest", and that would give us the actual package, free of 'inherit' & co.?
<civodul>is that really silly?
<rekado>I didn’t even know about “guix import guix”. That’s … amazing.
<civodul>it doesn't exist yet
<rekado>oh
<civodul>but if the idea makes sense, we could make it happen
<rekado>this is what I’ve got now: https://elephly.net/paste/1654174202.scm.html
<rekado>quite tedious
<civodul>crazy that it's so much work
<rekado>so much inheritance
<rekado>I’m taking a break. https://elephly.net/paste/1654177493.scm.html
<rekado>got python2-pytest (without tests)
<rekado>going on to python2-cython now
<rekado>got some weird renaming thing going on: /gnu/store/…-python2-python2-importlib-metadata-bootstrap-1.5.0.drv ¯\_(ツ)_/¯
<rekado>got numpy: https://elephly.net/paste/1654192169.scm.html
<rekado>now … next step is to clean this up and get rid of that manual %python2-replacement table
<rekado>pushed
<rekado>working on python2-matplotlib next
<rekado>nope, need pillow first
<zimoun>hi! Quick question: how do you managne your keyrings for signing the commits on 2 machines?
<rekado>I only sign on my laptop
<rekado>I’ve been meaning to move my keys to a Yubikey but I never got around to it, then the pandemic hit, and now I only have access to my laptop anyway, so there’s no need to change.
<zimoun>I see. I use my desktop at office and my laptop otherwise.
<zimoun>Is it possible to sign a commit afterward?
<rekado>yes
<rekado>I never tried long enough to figure out how to mass sign commits that you’ve authored earlier, though
<rekado>I know you can sign on rebase, for example
<rekado>there’s probably a ref script you can run to sign (= recreate) a bunch of commits that you’ve made elsewhere.
<rekado>FYI: just packaged python2-matplotlib and python2-pillow
<zimoun>heroic effort! Kudos for 2023 so ;-)
<zimoun>thanks for the explanations. I am giving a look.
<zimoun>rekado: how do you sign a patch that you apply?
<rekado>in my gitconfig it says “[user]\nsigningkey = 0x197A5888235FACAC” and “[commit]\ngpgsign = true”, so whatever I apply will be signed with my key.
<zimoun>thanks, and do you use “git am -s” to also add the Sign-Off part?
<civodul>rekado: woow, congrats & thanks a lot 🙏🏻
*civodul .oO( emoji support in Emacs 28 is wonderful )
<civodul>👍
<civodul>🐍☹
*zimoun is pasting elsewhere to see the civodul's emoji :-)
<rekado>is that with emojify-insert-emoji? Or are you using something else?
<rekado>zimoun: no, I usually have to amend patches anyway, so I do “c -s a” in magit (commit, sign, amend)
<zimoun>thanks
<zimoun>I am just discovering than C-c C-s in COMMIT_EDITMSG does the job. Wow, Magit is so great :-)
<civodul>M-x emojify-insert-emoji
<civodul>but the new thing with 28 is that it displays them nicely out of the box
<rekado>oh yes, surprised me