IRC channel logs

2019-02-08.log

back to list of logs

<bavier>efraim: python-sh fails its check phase on master: "test_cd_homedir (__main__.FunctionalTests) ... ERROR"
<tune>still not sure why mpd gets quieter if I open a [paused] video in mpv... very annoying
<tune>sometimes I wanna open a video to watch in a bit and let it build up a cache while listening to music but then the music gets a lot quieter
<Swedneck>hmm yeah, editing guix directly is definitely too advanced for me
<Swedneck>just reading 7.1 and 7.2 is making me confused and frustrated
<pkill-9[m]>swedneck which part is confusing you?
<Swedneck>well first off: where is `./pre-inst-env`?
<Swedneck>it's not in the guix source i downloaded
<pkill-9[m]>that gets generated by ./configure
<pkill-9[m]>the short guide is this: clone the guix source, cd into it, run 'guix environment guix', then run './configure --localstatedir=/var && make', then make changes to the source, and when you want to test them, run 'make' again, and run './pre-inst-env guix ...' to run the guix command using the guix you just modified
<Swedneck>that is so much simpler and less headache inducing
<pkill-9[m]>the second 'make' isnt strictly neccessary i dont think, but im not sure
<pkill-9[m]>yeah i found that part of the guide a little convoluted as a newcomer
<Swedneck>btw how does guix deal with identical packages in multiple channels?
<pkill-9[m]>it prioritises custom ones, not sure about conflicting custom ones though
<pkill-9[m]>actaully, it prioritises higher veraion
<pkill-9[m]>version*
<Swedneck>well i'm talking about identical
<pkill-9[m]>it prioritises custom ones when identical
<Swedneck>alright
<Swedneck>```
<Swedneck>checking for guile2... /usr/bin/guile2
<Swedneck>configure: error: found development files for Guile 2.2, but /usr/bin/guile2 has effective version 2.0
<pkill-9[m]>oh i tjought you were on guixsd
<Swedneck>nah, fedora 29
<Swedneck>sadly too dependant on proprietary stuff to be able to use guixsd
<pkill-9[m]>try running 'guix environment --pure guix', that will unset all env variables including path, so it should use guix environment guile instead
<pkill-9[m]>nice jfred
<Swedneck>you know what i should probably make fish show when i'm in guix environment, and then go to bed
<Swedneck>because it's 1:42 here
<pkill-9[m]>i should go to bed as well, its 00.43 here
<Swedneck> https://gateway.swedneck.xyz/ipfs/QmSN9S1C9M5S3YRqzMUbboZbLZqd4gfK7g1KSSqxUVKf28/2019-02-08_02-00-23.png
<Swedneck>:D
<reepca>has there been work on a gnunet service yet?
<bavier>wow, testing 'refresh -l' packages and seeing a lot of unrelated build failures
***slyfox_ is now known as slyfox
<civodul>Hello Guix!
<reepca>o/
<reepca>anyone else had luck with getting gnunet working?
<efraim>I'm taking notes on manually building guix's dependencies, some of them can't find GUILE_TOOLS
<civodul>reepca: not recently!
<civodul>efraim: hmm weird, GUILE_TOOLS is an old M4 macro that used to be in guile.m4 (part of Guile)
<civodul>which one is that?
<cbaines>Does anyone know much about working with patch files and Git? I've got a patch file that applies with git apply, but git am says "Patch is empty." and I can't work out why...
<efraim>civodul: I'll have to check when I get home, I also might not have m4 installed
<civodul>cbaines: "git am" wants the metadata header i guess
<cbaines>civodul, hmm, maybe
<cbaines>I've tried using git mailinfo manually, and that does produce a patch file. But when strace'ing git am, I can see it writes an empty file, and then fails.
<civodul>cbaines: "git am" seems to be quite picky about what you give it, i did see similarly weird behavior before
***rekado_ is now known as rekado
<rekado>bug #22010 is now fixed on core-updates.
<wingo> https://twitter.com/mattmight/status/1093011188781326343
<civodul>rekado: neat!
<civodul>wingo: heh fun, nice that you told him about PiGx
<civodul>wait, @webyrd is the Byrd of the Reasoned Schemers and co?
<civodul>and he knows Pjotr?
<civodul>it's a small world
<roptat>hi guix!
<pkill-9[m]>hello there guix
<rekado>mbakke: can we close https://issues.guix.info/issue/30756 ?
<civodul>janneke: everybody is writing POSIX shells :-) https://fosdem.org/2019/schedule/event/ada_shell/
<civodul>that could also be an application of Gash, who knows!
<civodul>esp. with a compiler front-end...
<civodul>a JIT'ted shell, that would be sweat
<notnotdan`>i just want a bash compatible shell that has behaviour like fish D:
*civodul wrote "sweat" instead of "sweet"... Freudian slip?
<janneke>civodul: sweat! ;-)
<civodul>:-)
<janneke>notnotdan`: then...use fish, that should be perfect?
*janneke is pretty ignorant about shells other than bash
<sirgazil>Hi, could anyone remind me how to close a bug by email?
<rekado>sirgazil: send email to 12345-done@debbugs.gnu.org
<sirgazil>rekado: Thank you :)
<raghavgururajan>Elon_Satoshi: Sorry for the delay. Yes, you can modify libreboot's grub payload so that you do not have to use command line every time. Steps can be found here at
<raghavgururajan>Elon_Satoshi: at https://libreboot.org/docs/gnulinux/grub_cbfs.html
<raghavgururajan>Elon_Satoshi: I am writing a guide to install guixsd with full disk encryption on devices with libreboot. I can send it to you in few days.
<notnotdan`>janneke: i do use it, but unfortunately it is not 100% comptaibly with bash syntax
<notnotdan`>and that's fine, i am sure they had their reasons to diverge. i dont know much about unix shells either
<janneke>notnotdan`: ah, i see
<dustyweb>guix manifest makes me sometimes question our decision to put packages in larger modules rather than having them be split into separate files
<dustyweb>every now and then I do a guix pull and then upgrade based on my manifest
<dustyweb>and things have moved around
<dustyweb>it's not too much work but it's a bit of work to figure out where things moved
<janneke>dannym: i have taken up my gcc-4 bootstrap work and trying to skip gcc-2.95.3
<dustyweb>hi janneke :)
<dannym>janneke: Nice!
<pkill-9[m]>in 'guix system search ...' what's the difference between 'name' and 'shepherdnames'?
<janneke>dannym: not sure at what timeframe this will work, but it's looking good atm
<janneke>this could change our (your :-) strategy wrt arm4/avm7 somewhat, right -- make things easier?
<janneke>dustyweb: hi!
<rekado>dustyweb: I suppose you could use specification->package to turn package names to package values.
<dannym>janneke: Yes, ARM support *vastly* improved in compilers newer than 2.95. 2.95 had all kinds of funny miscompilations
<dannym>janneke: For example there's an endless loop in gcc when you enable optimization
<dannym>janneke: Also, they have a bug in the displacement calculation for "-fPIC"
<janneke>dannym: OK, I'll keep you posted! It would be great if we could skip gcc v2 (and v3)
<dustyweb>rekado: hm that's an interesting idea
<rekado>dustyweb: we’ve got the same problem for channels and I’m considering the use of package specification strings instead of variable names for my own channels.
<dustyweb>rekado: testing with my profile... I'm trying to compile the manifest file now that I switched it to that and it's taking quite a while :)
<dustyweb>I wonder if there's a cache or if tthis is searching through all packages each time
<rekado>there’s a cache
<rekado>… but I’m not finding it.
<bgardner>Good morning Guix; I'm working on adding a new package to guix and getting a couple puzzling messages. I'm accustomed to gnu build system, but this package uses "scons-build-system" so I'm groping a bit. First, "patch-shebang" is throwing lots of warnings about "warning: no binary for interpreter 'python' found in $PATH", but 'which python' shows the correct value (But I am inside "guix environment guix", not sure how that changes
<bgardner>things)
<notnotdan`>bgardner: hm maybe you need to add python to your environment?
<bgardner>Second, "starting phase 'build'" throws: "scons: Reading SConscript files ..." "TypeError: a bytes-like object is required, not 'str'"
<bgardner>As I said, scons is new to me - any pointers?
<bgardner>notnotdan`: More than installing it? I did add it to my config.scm and it works okay, "python --version" returns 2.7
<rekado>bgardner: that’s on my list to fix
<rekado>bgardner: scons needs patching.
<bgardner>rekado: Okay, so maybe table this for now and come back to it?
<rekado>this is bug 34236
<rekado>the same thing I did in commit ad34338d1 should be done for another file in scons.
<bgardner>rekado: Awesome, thank you I'll go subscribe to it
<civodul>pkill-9[m]: "shepherdnames" is the name of the corresponding Shepherd service(s), i.e., those you'd pass to "herd start" etc.
<JnR>I was actually looking for a GUI channel to find a way to stop breaking my OS from the package clutter but I looked Guix up and it sounds like it keeps the system organized
<JnR>Is this true?
<JnR>I always lose track of the packages I download and they wind up corrupting my OS every time
<JnR>Especially the window managers
<JnR>Possibly even a way to design a foundation in my system? Or maybe it's for porn idk
<mbakke>rekado: I wouldn't close #30756 until we understand the problem better.
<mbakke>There will surely be many similar issues after the switch to GCC7.
<JnR>No flipping way I just configured my Arm device with Qemu and it supports both. What a channel wow
<pkill-9[m]>JnR: yes i find guix infinitely less cluttered of packages
<JnR>pkill-9[m] I'm still very confused exactly how their system is so much better
<JnR>The site is very vague
<pkill-9[m]>JnR: i find it less cluttered because you never need to install package dependencies, only the packages you want to use at runtime
<JnR>Do you have the full install or did you install on top of your system?
<pkill-9[m]>i have the full install
<pkill-9[m]>sinc eyou don't need to install package dependencies, you odn't need to worry that removing a package will break some other package
<JnR>pkill-9[m] Well honestly do you ever get frustrated over alot of missing packages?
<pkill-9[m]>so you can just see what you have installed with 'guix package -I' and remove what you don't use directly, e.g. in the shell or as a GUI application
<JnR>That sounds like exactly what I was looking for. As long as the same content is there
<roptat>JnR, we don't have that many packages compared to other distros, but it's quite easy to contribute more packages
<pkill-9[m]>JnR: I don't, but I learnt how to write my own package definitions for missing things, ofcourse it depends what you use so you'll want to check that everything you want is packaged in guix
<roptat>I have everything I need for daily use, but it could be different for you
<roptat>but I'm cheating: I contributed what was missing for me :p
<pkill-9[m]>JnR: to add to what roptat says, although there are less packages compared to other distros, there are a lot of major packages like blender, inkscape, icecat (firefox quantum de-branded), lmms, krita, obs
<JnR>I actually sometimes compulsively download stupid packages that sound really cool! Then never use them and their 200 dependencies
<pkill-9[m]>those aren't CLI applications, but since they're more complex i think it's a good showcase of what kinda packages guix does have, even if it does have less packages
<roptat>in that case, I find guix environment very useful: it doesn't clutter your profile and it disappears as soon as you exit the subshell
<JnR>I really like that. I've been compiling sources lately anyway to try to keep better track of where my applications are going
<roptat>like, if I need gimp for something, which I usually don't, I'd do "guix environment --ad-hoc gimp -- gimp", and as soon as I quit gimp, it's not available anymore (well, it'll be collected the next time you run guix gc, but it's kept around in the mean time in case you need it once more)
<JnR>I'm going to try the binary install out on my fresh install of my Raspberry Pi test environment
<JnR>Wait you mean it actually leaves the system?
<JnR>Or you're deleting it
<JnR>Or you're holding it temorarily ookkkkk
<JnR>Very new concept to me
<roptat>guix environment will create an environment where the packages are available, but it's not kept as a gc root, so it can be collected anytime once you leave the environment
<roptat>it doesn't add anything to your profile, so you can keep it clean
<roptat>if you need to use that temporary environment again though, guix will not have to re-download everything if it wasn't garbage-collected
<JnR>Can you place an expiration on an environment instead? Maybe for like a temporary project?
<JnR>Like a week for instance
<roptat>I don't think so
<roptat>but in that case, you can create a separate profile with the packages for your project, separate from your main profile
<roptat>it won't be garbage collected until you decide you don't need that profile anymore
<JnR>Its standalone version is onlt 190MB? Holy cow
<roptat>I have two lists of the same size in guile, and I want to apply a procedure on each pair of elements. How can I do that?
<bavier>roptat: the 'zip' procedure from (srfi srfi-1) might do what you need
<roptat>ha, thanks!
<bavier>roptat: or even a map over both lists, depending on the signature of your procedure
<bavier>e.g. (map (lambda (a b) (+ a b)) '(1 2 3) '(4 5 6))
<roptat>oh, I didn't know it's possible
<roptat>that's exactly what I wanted :)
<bavier>:)
<demotri>Is gnu.org down for everyone?
<pkill-9[m]>apparently yes https://downforeveryoneorjustme.com/gnu.org
<amz3>Hello, I read many things about gexps but I still don't understand their purpose or "raison d'etre". Why we can not just use 'eval'
<demotri>pkill-9[m]: Thanks. Then I need to look up the manual from info. Usually I prefer the browser.
<amz3>?
<rekado>demotri: you can also visit https://guix.info
<rekado>there’s a copy of the manual (all three languages too)
<demotri>rekado: Right, thanks :-)
<Swedneck>pkill-9: you were helping me through https://www.gnu.org/software/guix/manual/en/html_node/Building-from-Git.html#Building-from-Git yesterday, right?
<Swedneck>hope i don't have the wrong person
<pkill-9[m]>yeah swedneck
<pkill-9[m]>at midnight lol
<pkill-9[m]>solving problems is addicting
<Swedneck>heh
<Swedneck>wanna continue?
<pkill-9[m]>ok
<apteryx>demotri: I used to be like you, until I learned how to use info. Now I don't want to use something else to read manuals.
<apteryx>so you might want to spend some time learning it :-)
<demotri>apteryx: :-) I'm fine with man-pages, but info is yet another thing. I know I should give it another chance :-)
<demotri>apteryx: OK, OK :-)
<apteryx>you can view manpages in info, too
<apteryx>info >> manpages ;-0[
<apteryx>;-)
<bavier>rekado: more releases from gnome to go on wip-gnome-upgrades
<roptat>so I've tried to build the disk image for aarch64 with the binfmt. Everything built fine, except for the last package (disk-image): qemu-system-aarch64: -nographic: No machine specified, and there is no default
<roptat>Use -machine help to list supported machines
<roptat>I ran guix system disk-image --system=aarch64-linux gnu/system/install.scm
<Swedneck>pkill-9: sorry got caught up in synapse stuff
<Swedneck>where'd we leave off?
<pkill-9[m]>you wanted to know how to work on guix code?
<Swedneck>just packages
<Swedneck>i know how to write simple package definitions now, so i just want to learn to apply them to guix and submit patches
<pkill-9[m]>ok, the rest of it is simple, you just put the code into the relevant module, and check that it builds with ./pre-inst-env, and run ./pre-inst-env guix lint also
<Swedneck>do i need to worry about keeping the git repo up to date with upstream?
<pkill-9[m]>as long as it's fairly up to date, the patch will still work even if it was made with a different commit of guix
<Swedneck>alright so maybe i should run a `git pull` before editing it
<pkill-9[m]>i recommend working on a branch, then when you want to submit the patch, commit the change to the branch and run `git format-patch -1`, which generates a patch of the latest commit, and then submit that
<apteryx>do we still have to return #t for phases?
<apteryx>I keep wondering why we still do this and when we can stop ;-)
<pkill-9[m]>the patch is output as a file in the wokring directory called 001-something-something-something.patch (or .diff, can't remember)
<pkill-9[m]>which you can attach to the email
<apteryx>pkill-9[m]: the '-1' is superfluous in "git format-patch -1" ;-)
<Swedneck>alright so for each new package i make a new brach (probably named after the package), work on that, generate the patch, and send it?
<pkill-9[m]>ah ok apteryx
<pkill-9[m]>yeah swedneck
<pkill-9[m]>make sure it branches off the master branch, just incase
<Swedneck>yeah
<Swedneck>how does package updates without `guix pull` work?
<pkill-9[m]>inside the git checkout of guix?
<Swedneck>no in normal usage
<Swedneck>`guix package -u` i think?
<Swedneck>also is gnu.org down for anyone else?
<pkill-9[m]>yes it's down for everyone
<pkill-9[m]>and yes, that upgrades packages if there are any upgrades to them or their dependencies
<pkill-9[m]>the latter is why it will 'upgrade' a package to the same version - it's actually upgrading it's dependencies
<pkill-9[m]>but you would run `guix pull` first to get the new package definitions
<Swedneck>ah, so it won't know of available updates until i run `guix pull`
<pkill-9[m]>yeah
<pkill-9[m]>`guix pull` is basically equivalent to `apt-get update`
<Swedneck>for some reason i thought `guix package -u` could circumvent that
<pkill-9[m]>and `guix package -u` is basically equivalent to `apt-get upgrade`
<Swedneck>and i understand there are 2 methods for handling updates? `guix package` which is more traditional, and doing stuff with manifests?
<pkill-9[m]>yeah
<pkill-9[m]>hmm i need to make a wrapper script that saves the manifest of the profile when i add/remove a package
<Swedneck>would be nice to somewhat merge the two
<Swedneck>does guix come with substitute sources configured by default?
<jackhill>Swedneck: yes, it looks like ci.guix.info is the default: https://git.savannah.gnu.org/cgit/guix.git/tree/guix/store.scm#n728
<jackhill>I found that by looking at the arguments of my running guix-daemon, and saw that --substitute-urls https://ci.guix.info were arguments, and then looking in the source for ci.guix.info
<jackhill>there are probably other ways to find that information as well.
<Swedneck>nice
<rekado>apteryx: we still do. All phases should return #T.
<jackhill>note that in addition to haveing the substitute-urls argument to the daemon the key for the substitute server must be in /etc/guix/acl
<rekado>apteryx: we can stop once all phases return #T ;)
<rekado>bavier: oh no! Even more GNOME…
<rekado>I’ll need some help from Clément or Mathieu to let Cuirass build the GNOME branches.
<rekado>amz3: you may find the links here helpful: https://guix.info/blog/2017/back-from-gpce/
<rekado>there are slides and the paper on code staging
<apteryx>rekado: I thought the grand scheme of things was to convert from a return-status based error control to a exception based error control? In this scenario, if no phase raised an exception, then it implicitly means a pass.
<apteryx>I think I remember now what Mark had said about it: until every phase everywhere have been migrated to use exceptions, we must return #t to ensure that those old fashion phases still do pass... or something along that.
<apteryx>I guess when every system*/system calls have been converted to invoke, this goal will have been achieved
<rekado>correct
<amz3>tx
<rekado>civodul: hey, do you remember the SQL magic needed to have Cuirass build another branch?
<rekado>I’d very much like to build the GNOME things because I can’t keep on maintaining the branches.
<civodul>rekado: sure!
<civodul>well, it's in the history of the 'sqlite3' CLI on berlin :-)
<civodul>lemme see
<civodul>(are we merging 'staging' yet?)
<civodul>rekado: something like this:
<civodul>insert into specifications values('wip-ci-inferior', '("wip-ci-inferior")', '()', 'wip-ci-inferior','build-aux/cuirass/gnu-system.scm', 'cuirass-jobs', '((systems "x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux"))');
<g_bor>hello people!
<civodul>hello g_bor!
<g_bor>I keep forgetting which are the github urls, that change.
<demotri>Hi g_bor!
<civodul>hey demotri!
<g_bor>hello!
<demotri>g_bor I also forget that.
<rekado>civodul: thanks! I’ll add this to my notes.
<rekado>demotri, g_bor It’s those /archive/1.2.3.tar.gz URLs.
<raghavgururajan>Hello Guix!
<g_bor>does ok, thanks.
<g_bor>so /FRRouting/frr/archive/frr-6.0.2.tar.gz is not ok. I will go with a git-fetch then.
<raghavgururajan>If someone wants to do a blog post at guix.info, what is the procedure?
<demotri>rekado: And in contrast, how do the stable look alike?
<rekado>raghavgururajan: you would send a draft in markdown format to guix-blog@gnu.org; but it might be better to discuss the topic first
<rekado>demotri: here’s one that’s fine (string-append "https://github.com/BIMSBbioinfo/rcas-web/releases/download/v" version "/rcas-web-" version ".tar.gz")
<rekado>that’s an uploaded tarball
<demotri>rekado: Ah, thanks. You released an hour ago :-)
<civodul>'guix lint' detects the "wrong" GitHub URLs now
<demotri>Puh, the most confusing thing is this: In both cases, you can click the tab "Releases", in both cases they show the autogenerated files and only if someone manually uploaded (again) the source code, it is extra shown with a box icon in front.
<demotri>lsl88: Hola :-)
<demotri>civodul: Thanks for the hint, that linter works: gnu/packages/java.scm:2271:12: javacc@7.0.3: the source URI should not be an autogenerated tarball
<demotri>Hi read on the list but forgot about it.
<amz3>I assume you prefer to update upstream to use python3 ?