IRC channel logs


back to list of logs

<nckx>jonsger: Which command?
<jonsger>nckx: wget -O /dev/null
<nckx>jonsger: I get high speeds (10-20 MiB/s) that drop down to 2.5MiB/s.
<nckx>Opposite TCP™.
<jonsger>nckx: I also see a drop 8MB/s -> 1.5MB/s
<Blackbeard>Is anyone here using privoxy ?
<nckx>Berlin itself is pushing ~3 MiB/s to the 'net with some rare bursts up to 8.
<nckx>So it's not that everyone's testing at once.
<nckx>In fact it looks like only one person is.
<jonsger>nckx: thats me with my 2 test machines :P
<nckx>Contabo? Nice.
<nckx>It does seem like *every* user gets ~3 MiB/s, though.
<jonsger>nckx: not nice but cheap :)
<nckx>It's not varying much on my end but Berlin is sending ~3 … then ~6 … then ~12 … almost like it's an (unintentional) per-connection limit.
<nckx>jonsger: Oh I know, I rent a 6-‘core’/16 GiB ‘RAM’ machine from them for ridiculous amounts of nothing.
<nckx>Not great but certainly not bad.
<jonsger>nckx: thats what I have. The best thing is the amount of storage. Strato has something similiar in terms of pricing
<nckx>I forgot about the storage. Never heard of Strato, will take a look.
<rekado_>talking to guix publish directly on it’s instantaneous; probably expected.
<nckx>And talking to nginx on ci.?
<nckx>jonsger: Thank you very much for that link, I hadn't found any other provider that made the same trade-offs (for a single-user everything-server these things are *great*) so totally bookmarked.
<rekado_>252 MB/s when talking to localhost
<rekado_>hmm, started guix publish on port 873 and made it listen to but I can’t talk to it.
<rekado_>oh well
<rekado_>tomorrow more
*rekado_ —> zzzZ again
<nckx>Good night.
<nckx>zzzZ better this time.
<rekado_>oh, there was another --listen option
<rekado_>works now
<rekado_>but download speed is still poor
<rekado_>how’s this for y’all? wget -O /dev/null
<rndd>hi everyone! what does mean "exception syntax-error (value package) (value "missing field initializers " when i'm trying to pack custom script on my channel?
<reepca>so I spy a note in (gnu build linux-container) that says it shouldn't pull in (guix config), but I kinda need that in order to know where to find the helper program to use in eval-with-container... what do?
<nckx>rekado_: ~3.5 MiB/s in DE, ~2 in BE.
<nckx>Avg 3.3/1.9 :-/
<rekado_>so maybe we should crank up the buffer size again and see what happens
<rekado_>will try that tomorrow unless someone does it before me
*rekado_ —> zz really zz
<nckx>I'm almost sure that I've tried every possible nginx buffer setting already on my boxes (which have similar issuse).
<rekado_>that’s socket buffer options in Guile, not nginx, though
<nckx>That's a promising avenue.
*nckx hasn't been following the discussion here.
<rekado_>feel free to tweak that
<nckx>rekado_: I might, but seeing ~some constant outgoing traffic I'm hesitant to restart nginx. Does reloading it through Shep work yet?
<nckx>It's probably mostly IRC folks ‘testing’ but since guix throws a tantrum when upstream disconnects it's not a nice thing to do.
<nckx>Anyway, never mind, get thee to bed.
<nckx>s/nginx/guix publish/ grr.
*nckx back to tending to their own sick build farm.
<leoprikler>why would you farm sick builds instead of healthy ones? smh
<cbaines>nckx, would it be possible to fetch narinfo's from your build farm? That might be interesting when trying to determine if a package builds reproducibly.
<nckx>I mean ‘sick farm’ as in ‘it has tinted windows & flames painted on the side’.
<nckx>It's also, unfortunately, down.
<leoprikler>Make sure it takes its meds.
<nckx>cbaines: What about bayfront?
<nckx>Medicine is an apt metaphor for having a USB drive shoved up your rear port.
*nckx AFK to do so now.
<cbaines>nckx, bayfront is quite low on space, and I'm not sure substitute availability is that great. I think the situation can be improved, the most impactful change might be to just build master, rather than trying to build staging and core-updates as well
<cbaines>I'm also working on building packages myself, and serving up substitutes, mostly to test the Guix Build Coordinator I've been working on, but also to provide another source of narinfos to compare with bayfront + berlin
<cbaines>The more data the better though
<ryanprior>I'm packaging a compiler (v language) which really wants to have "cc" available and has that hard coded in a number of places. I've been patching things to say "gcc" Instead but upstream is recommending that I put a symlink from cc to gcc on my PATH instead. Is that a good idea?
<leoprikler>It's certainly doable inside a build-system but pretty much a pain otherwise
<nckx>ryanprior: It's not a… great sign of things to come, but it's an acceptable fix since you're basically doing the same thing as CC= differently. No need for a symlink: (setenv "PATH" (string-append (getenv …)))
<nckx>Gerp. Read over the ‘cc’ literal.
<nckx>A symlink in /tmp it is. Hope you like long showers and shame.
<ryanprior>Okay yeah I was like ?
<nckx>Sorry I'm distracted by GRUB.
<ryanprior>If you think it's that shameful maybe it won't get accepted upstream? Anybody else have better ideas?
<leoprikler>but now that it was mentioned, can you use $CC?
<nckx>…OTOH how great is it that our bootloader has better tab-completion than our 40-MiB initrd…
<ryanprior>I wish there were something like `python-wrapper` that would make cc=gcc
<nckx>I read ‘hard coded’ as ‘no’.
<ryanprior>I do set CC and that works in some places but in others it doesn't use the env
<nckx>ryanprior: substitute*?
<leoprikler>ahh, you mean for building the compiler itself
<leoprikler>yep, substitute* all the way
<leoprikler>don't worry, we Guix love to substitute*
<nckx>That would be the canonical method & accepted in patches too.
<nckx>Yeah, that ☝
<ryanprior>nckx: yeah I tried it with substitute* but I'm breaking something and upstream is like "yeah better to use a symlink than patch the build system"
<nckx>As I said: a super great sign of things to come 😒
<leoprikler>"My father used this build system and his father did before that, and his father's father..."
<nckx>ryanprior: By the way, if a symlink in /tmp is the least evil way to build this, it will certainly be accepted upstream. I did not mean to imply otherwise.
<reepca>"this IS your grandpa's build system"
<jonsger>is there a way to use wildcards in file names of substitutes?
<nckx>I've merged many a patch while pinching my nose, such is the nature of packaging.
<nckx>jonsger: It accepts a list, so find-file.
<nckx>& better to do it in Scheme than re-inventing wild-cards.
<leoprikler>hmm, as much as I like Scheme regexp, sometimes I'd like to have find-file/glob
<ryanprior>While I'm already asking questions related to this package: the v compiler bootstraps itself from (15k lines of pretty readable) c source code generated by a previous v compiler.
<ryanprior>The original (golang) source code of the compiler is lost to the sands of time, as upstream did not develop an interest until recently in archiving such things.
<ryanprior>Can I build a bootstrap package from generated c source code?
<ryanprior>Also I wrote 15k lines but it's actually 15k bytes
<nckx>leoprikler: Seriously? Hm. De gustibus et regegum I guess.
<leoprikler>"15k bytes of pretty readable generated code?"
<nckx>Now that *is* frowned upon here.
<ryanprior>I mean by generated source code standards it looks pretty good imho, I've spot checked a few places in the source file to scan for things like blobs or giant obfuscated strings & don't see any such.
<leoprikler>I said sometimes ;)
<leoprikler>Especially if you have .*\\.suffix
<rndd>does anyone know what is "field initializers" in guix package manager?
<leoprikler>(record-type (field-initializer field-value))
<leoprikler>where record-type is e.g. package or operating-system
<leoprikler>actually it's not really the "type", but it's the syntax sugar we're using as constructors
<nckx>ryanprior: Some have made the case that we should differentiate between ‘unreadable’ and ‘auditable’ generated code, implying that the latter is good enough to be accepted in Guix. Not convinced, but it's an argument you could try to defend.
<nckx>If the original has been lost it's either that or no V in Guix.
<ZombieChicken>heh. Whoever wrote the guix-install script never ran a Gentoo system.
<nckx>ZombieChicken: But certainly not recently 😉 What breaks?
<leoprikler>I guess USE flags ;)
<nckx>Guix is Gentoo 2.0.
<nckx>Where we're going, we don't need USE flags.
<leoprikler>Too sad we can't `guix time-machine` back into when ebuilds were still accepted in our source tree :(
<ZombieChicken>nckx: update-rc.d doesn't exist. rc-update $SERVICE default is needed to add it to the default runlevel. After that, I usually start things manually, so I'm not 100% sure what the command after that would be. It might be more portable to simply say "After the install is done, please start the script"
<ZombieChicken>or just dump support for sysv-init, and point to the proper files and let the user handle it. Not sure what would be needed for, say, Void Linux
<leoprikler>the thing is, update-rc.d is the name used by larger distros, such as debian variants
<nckx>Let me peek at, which I do not in fact know by heart.
<ZombieChicken>leoprikler: Exactly. Once your out of systemd territory, one can't be entirely sure what's up.
<leoprikler>nono, I mean SysV days
<nckx>ZombieChicken: So really the root bug is that we're detecting Gentoo as INIT_SYS=sysv-init when it's fake^Wnot sysv, right?
<nckx>We should just add INIT_SYS=openrc.
<ZombieChicken>nckx: More-or-less
<nckx>Well, we, ideally (here it comes) someone™ using Gentoo 😊
<leoprikler>Not me, I transitioned my Gentoo machine this spring.
<ZombieChicken>Just drop sysv support and let nonsystemd/nonupstart users do things theirself
<ZombieChicken>and just assume users of other distros can figure things out
<nckx>That's a valid suggestion but I don't think it's the obviously right thing to do. Or rather, there is a very small subset of users who want to use the magick-me-some-Guix script but care about nobody touching their init.
<ryanprior>nckx: my understanding is the language is pretty new & didn't start checking code into scm until mid-2019, by which time the language was already self-bootstrapping.
<nckx>Installing Guix by hand is very doable. The script is there to do it for you, so it should do as much as possible. But this is absolutely a bug, sure.
<leoprikler>Let's write a self-bootstrapping compiler without versioning, what could go wrong?
<ryanprior>leoprikler: indeed X.X
<ZombieChicken>nckx: The reason isn't not touching init, but accepting that there are more than 2 inits and that handling all possible cases is likely going to cause odd bugs when given an odd setup.
<ryanprior>In many other ways the creator is very disciplined, I was disappointed to see so little care for the provenance of the system.
<nckx>And I don't see why SysVinit users would be more knowledgeable. 's Certainly not my experience.
<nckx>ZombieChicken: Right.
<rekado_>I wouldn’t mind having a cc-wrapper package that does to gcc-toolchain what python-wrapper does to python
<nckx>It's certainly whack-a-mole.
<ryanprior>What package is gcc in? gcc-toolchain seems huge, do I need all that?
<rekado_>gcc is just the compiler, but you also need binutils and the ld-wrapper
<ZombieChicken>I thought gcc was a compiler collection
<rekado_>I’m a bit worried about our (over-)reliance on substitute*
<nckx>ryanprior: It being so new is extra sad. ‘Oh, we lost the original 5-bit paper tapes long ago, circa 2019.’
<rekado_>in Guix gcc is just one or two compilers dependent on the page variant
<ZombieChicken>rekado_: what does substitute* do again?
<rekado_>it substitutes text
<rekado_>in files
<nckx>ZombieChicken: It's like sed.
<nckx>In Scheme.
<leoprikler>rekado_: Don't worry, this is perfectly fine. We have abstracted it into some other functions at vital places ;)
<rekado_>I don’t like that it does regex by default and that we use it when actually patches would be better
<ryanprior>rekado_: agreed on both points
<rekado_>I personally avoid patches sometimes just because I don’t want to add them to the repository
<nckx>ZombieChicken: Would you be willing to open a bug report about this? You can suggest ripping out sysvinit mangling if you want 😉
<rekado_>substitute* does not fail when a substitution fails
<rekado_>so you might end up not substituting anything
<nckx>That's it's main problem.
<rekado_>and that could be bad
<ZombieChicken>nckx: where would said bug report have to go? Right now, probably not; I don't want to sign up to Yet ANother website, and sending email is currently borked on my system for reasons I'm unsure of
<ryanprior>I think it would be neat if a substitute-type function could implicitly create a patch which would be part of the package metadata somehow.
<nckx>It's your lucky day!
<nckx>ZombieChicken: bug-guix at the, no signup required or even desired.
<nckx>And there's a Web interface!
<nckx>I think!
<nckx>I said that before double-checking with rekado_!
<rekado_>if you can’t send email at all, then I’m afraid you’ll have to wait for the web interface to gain an extra feature
<nckx>But I'm pretty sure!
<rekado_>it allows commenting but not opening new issues … yet
<rekado_>the mechanism would be exactly the same, though
<nckx>Orly. OK.
<ryanprior>Does the web interface send emails out when people comment, or only add it to the thread in the web interface?
<nckx>So I could open a bug and ZombieChicken could comment thru Webs?
<rekado_>it’s just something I haven’t done yet, because I couldn’t decide where to put the “New issue” button
<nckx>ZombieChicken: That sound good?
<ZombieChicken>nckx: ^
<ZombieChicken>just give me a link when it's setup
<nckx>Re: Isn't the real problem just that it calls rc-foo without checking whether it actually exists, instead checking for random stuff in /etc.
<nckx>Will do.
<nckx>I guess we'll find out if bug-guix has a minimal word count filter.
<leoprikler>I just had a totally weird idea.
<ZombieChicken> /requires/ JS to post. Bah
<leoprikler>Well, you can manually write the POST request if you prefer
<rekado_>ZombieChicken: it shouldn’t
<rekado_>we aren’t even loading any JS
<ZombieChicken>rekado_: I just had an error when trying to post
<ZombieChicken>trying again with cookie and JS enabled
<rekado_>yes, you can get errors, but this doesn’t mean you need JS
<rekado_>you only need a cookie
<jonsger>rekado_: sort-tables.js
<rekado_>no JS, though
<rekado_>you don’t need that to post
<rekado_>it’s completely optional
<jonsger>it's 0B big
<rekado_>sort-table.js is bigger than 0B
<rekado_>it’s 299 lines long
<rekado_>I’m sure you can’t compress that to 0B ;)
<rekado_>ZombieChicken: you need a cookie because that’s a tiny anti-spam check
<rekado_>we sign the issue number and place it in a cookie, then validate it on submission
<rekado_>I thought people would appreciate that they don’t have identify stop signs to comment
<ZombieChicken>Hmm. It says it accepted the post, but I'm not seeing it...
<nckx>I think most people just close sites that still use Google captchas.
<nckx>I know I do.
<leoprikler>What if we used git/quilt/<insert VCS here> to record all the changes made during the build after 'unpack as an optional debug option (like -K, but harder)
<nckx>ZombieChicken: It has arrived.
<nckx>The bugtracker is mail-first, the Web interface just pulls from that (and not even directly unless that's changed) so it's actually the slower path.
<leoprikler>I'm waiting for the day, when Google shows us variants of the trolley problem as captchas..
<rekado>give it some time
<rekado>I saw it in the logs
<rekado>so it has already been sent to debbugs
<rekado>now we need to wait for debbugs to process it, and then for us to sync the debbugs message logs
<rekado>we can’t do that locally because isn’t debbugs.
<rekado>one of the design goals of mumi was to be a mediocre mail of the design goals of mumi was to be a mediocre mail interface.
<rekado>I see your comment now.
<ZombieChicken>I closed it once I was told it was there
<rekado>yeah, that’s fine
<nckx>leoprikler: ‘Which of your loved ones & relatives displayed here have demonstrated ungood thought? Please select at least 2.’
<rekado>I’m not saying that *you* have to wait for it before you can close the tab
<rekado>once it tells you that it’s been successful you can go your merry way and let the machine do its thing
<rekado>I think it’s not too bad to do this all in about a minute
<rekado>after all this is email and non-local and all that
<leoprikler>I should not be laughing at this so hard.
<nckx>rekado: I agree, but maybe some feedback explaining that to Web users?
<ZombieChicken>rekado: Just a violation of expectations these days is all
<ZombieChicken>especially for us who don't trust computers
<ZombieChicken>hmm. guix-daemon script doesn't work on Gentoo. "./guix-daemon: line 32: daemonize: command not found
<ZombieChicken>trying to get the guix-daemon script to run. That was the error
<nckx>But it's a one-line Guile script.
<nckx>Or should be.
<rekado>I’d be happy to accept a patch that changes this message to something that sets the right expectations:;a=blob;f=mumi/web/controller.scm;h=efa5c747a4e2db919cd17165233867009c1aee32;hb=HEAD#l102
<nckx>Never mind.
<ZombieChicken>The expectation is to see the post practically instantly after upload. If it has to go through a few systems to get to the page, then as long as that is mentioned, it's fine
<pkill9>how do I get the package version in a phase?
<pkill9>a build phase*
*rekado is annoyed to see “warning: SQLite database is busy” so often on
<rekado>pkill9: ,version ?
<rekado>pkill9: you don’t technically get it in the phase at all. You have it on the host-side and inject it as a literal value in the generated code that runs on the build side.
<pkill9>thanks, that worked
<nckx>ZombieChicken: I looked at the repo & it's the init.d/guix-daemon (so not ‘the’ daemon) that's printing that, I guess we just don't support Gentoo at all.
<nckx>And Gentoo doesn't support us.
<nckx>You can run the daemon manually from a terminal: sudo guix-daemon --build-users-group=guixbuild --substitute-urls="…" --max-jobs=… --cores=…
<nckx>and obviously write that in your own init script too.
<ZombieChicken>Yeah. I'm currently doing things by hand to make sure it's working, then I'm going to see about writing a new initscript
<ZombieChicken>On the up side, if you're going to ignore a userbase, Gentoo is probably the one to ignore
***catonano_ is now known as catonano
<nckx>Oh, I can think of another.
<nckx>Speaking of which someone just added Guix to ‘Linux distributions without systemd’ on Wikipedia. Ugh.
<ZombieChicken>why is that a problem?
<ZombieChicken>nckx: let me guess, the other is Slackware?
*rekado thinks it’s devuan
<nckx>ZombieChicken: Haha no :D
<ZombieChicken>never heard of devuan
<pkill9>what and where is the helper function that creates a desktop file?
<rekado>pkill9: is there one at all?
<nckx>Hint: there is only one ‘Linux distributions without x’ category. And that's all I want to say about it. I f—ing love Slackware, it was my first love.
<pkill9>rekado: yes, i found it in guix/build/utils: make-desktop-entry-file
<rekado>oh, neat
<nckx>I think most actualy packages still use (format …), but neat indeed!
<luis->Hi everyone. I came to this channel a few days ago to say hi. I've recently install guix.
<nckx>Hullo luis-.
<rekado>FWIW I get 105MB/s when downloading from on a cluster node. Same data centre but different network.
<luis->nckx: Happy to be here :)
*nckx AFK but bids you welcome!
<pkill9>hi luis-
<pkill9>welcome to the dark-- I mean guix, side
<rekado>luis-: did you install Guix System or Guix on top of another distribution
<luis->pkill9: haha
<luis->rekado: I installed guix system. It's not on top of anything else.
<ZombieChicken>anyone know how Guix is coming along for the PBP?
<luis->rekado: the guixsd OS.
<mroh>nckx: yggdrasil
<reepca>nckx: wait, wikipedia doesn't even have a 'Linux distributions without nonfree software' category?
<ZombieChicken>reepca: systemd doesn't classify as free software?
<reepca>huh? I was referring to him saying "there is only one 'Linux distributions withou x' category". That would imply that there wasn't a category for libre distributions, as they are "without nonfree software".
<reepca>I'm not qualified to comment on whether it does or doesn't classify as free software
<ZombieChicken>Hmm. Is there a way to prevent certain software from being installed in a guix system?
<reepca>at the risk of sounding cheeky, "not installing it"?
<dissoc3>could also turn off the system
<ZombieChicken>reepca: That doesn't really work for a dependency, does it?
<rekado>ZombieChicken: you would need custom packages then that don’t include certain inputs.
<reepca>I guess if you're worried about transitive dependencies ("this pulls in WHAT?"), you could inspect the reference graph
<reepca>although the reference graph isn't actually available until it's built... hm...
<reepca>but you could definitely inspect the input graph
<ZombieChicken>Yeah. I was hoping for something like package.mask, where you could say "Under no circustances install this", then I know I'd have to write/patch my own packages to get around that kind of thing
<reepca>that seems doable. Scheme procedures could totally inspect the graph of packages and notify you if it ever finds a certain package.
<ZombieChicken>so, for instance, "guix install icecat" with a mask/ban on 'pulseaudio' would give an error "unable to install due to pulseaudio dependency"
<cantstanya>forcing exclusion of dependencies like that sounds like a bad idea when dealing with binary packages.
<ZombieChicken>cantstanya: It would require one to fall back to building it locally
<ZombieChicken>which, iirc, guix can do
<reepca>'guix graph --type=package --path icecat pulseaudio' will exit with 1 if no path exists, otherwise will exit with 0.
<rekado>the thing with pulseaudio is that it’s often a required input to build an optional runtime feature
<rekado>so the program is capable of using pulseaudio but doesn’t necessarily do so
<cantstanya>but can't someone just rewrite the recipe to build the package and just rebuild it then?
<cantstanya>but can't someone just rewrite the recipe to build the package, excluding the dependency, and just build it then?
<cantstanya>so why would such an interface be needed?
<ZombieChicken>If one doesn't want a package installed, it's entirely possible it could slip in as a dep somewhere in a possibly massive dep tree
<cantstanya>unless the UI is something like: run command to fetch package, something checks if it and all deps require certain dep, then automatically build local recipe instead if remote package will pull anything that has dep on unwanted dep, then checking for unwanted dep like that seems frivolous compared to just manually rewriting things to build without unwanted dep.
<cantstanya>emphasis on automatically.
<rekado>you can do this with manifests today
<rekado>not only the checking but also the automatic recursive rewriting
<cantstanya>oh that's cool
<rekado>but it’s likely going to fail, because you may need to pass extra configure flags to build without certain packages
<rekado>and this cannot be generalized
<rekado>some packages, for example, will build just fine without libxml2 but they default to aborting when it isn’t available
<gignomai>hey guys, hope all is well. i'm hitting this issue w/ the guix installer and am wondering if i could get some help in finding where i could download the latest build of the installer that's mentioned here
<rekado>the way to disable certain features differs not only across build systems but may differ from package to package
<cantstanya>yeah and some things require explicit disabling of dependency at build time when it's not available.
<apteryx>gignomai: hello! s/guys/people/ is better form here :-)
<cantstanya>that's understandable and approaches for this are tough.
<cantstanya>portage does a lot of manual hard coded stuff (for lack of a better word) to get USE it working for such edge cases.
<rekado>aborting the install and reporting the “bad” package should be rather simple, though. Manifests can do almost anything.
<cantstanya>So it sounds like there would be a fair amount of cases where manual intervention is needed with how things work atm.
<ZombieChicken>which is why I suggested just aborting, annoucing the unwanted package as a dep, and let the user handle it
<rekado>cantstanya: this has been discussed on guix-devel:
<apteryx>gignomai: unless I misread, the image is not yet available from a URL, but a patch is proposed to make this possible.
<cantstanya>rekado: hmm so can manifests handle what ZombieChicken suggests at least? check if package requires dep in the dep tree/chain, then exit with an error that it'll be pulled if the current installation request is processed (for lack of better phrasing)?
<apteryx>if you have access to a 2nd computer where Guix is available, you could generate such image following the procedure detailed in the Guix info manual.
<cantstanya>seems like a yes based on what you previously said
<gignomai>apteryx: thank you!
<cantstanya>if so, that's a very much appreciated solution and already plenty useful in its own right.
<ZombieChicken>Hmm. "guix install icecat" apparently pulled in some packages, but they aren't shown in ~/.config/guix/bin/
<ZombieChicken>er, .../current/bin
<apteryx>gignomai: you are welcome!
<apteryx>ZombieChicken: only binaries of propagated dependencies would
<luis->question - when I had fresh installed guix hibernation did not work out of the box (ie when I close my laptop). Did others experience the same thing? If so how did you resolve it?
<reepca>ZombieChicken: that profile is sorta reserved for guix - it's what gets updated by 'guix pull'. Packages installed with 'guix package -i ...' or 'guix install ...' end up in ~/.guix-profile
<apteryx>luis-: if you mean suspend (sleep to RAM), it seems to work on all of my laptops. But then, they are all Intel based.
<ZombieChicken>Got it. Thanks
<leon>Hello there!
<luis->apteryx: Yes, suspend is what I meant. I'll investigate further.
<leon>My system is Debian 10, I installed the Guix package manager, and I always get this error message, although everything still works:
<leon>guile: warning: failed to install locale
<luis->leon: hi!
<ZombieChicken>leon: Have you run through this page?
<leon>Does anybody know how I can fix it?
<leon>No, I haven't. I'll go through all of it and come back to say if it fixed it, thanks!
<ZombieChicken>I'm doing a similar install and that seems to have helped
<rekado>something like this might work:
<rekado>ZombieChicken, cantstanya
<rekado>adjust block-list and candidates as needed
<PotentialUser-72>Hi, One element I have not yet seen in GuixSD is encryption of configuration data - e.g. SSH keys etc.
<cantstanya>rekado: cool, interesting thanks.
<PotentialUser-72>I'm used to somthing like Chef vault and Hashicorp Vault.
<rekado>PotentialUser-72: the configuration file does not by itself handle secrets
<PotentialUser-72>rekado: are their established workarounds/workflows?
<marusich>Hello, Guix!
<rekado>if you only need to get a secret at reconfiguration time you can shell out to a tool that fetches the secret
<ornxka> this link doesnt work for me
<ornxka>does it work for you guys?
<rekado>the big problem with runtime secrets is that /gnu/store is readable by all
<rekado>so if you use a fancy tool to get a password, for example, and you embed the result in the configuration file then you end up with a plain text password in the store
<rekado> works for me
<ornxka>thats odd.. i got SIGTRAP in chromium
<ornxka>lol its trying to actually render it...
<PotentialUser-72>rekado: Agreed. the chef and hashicorp workflows ( vault) are around encrypted data. Not easy to get right. But in my xeperience they nailed it.
<ornxka>yeah i think the content type is messed up on the site
<PotentialUser-72>redako: So the workflow id the inverse of what you describe. Encrypted data in the config file, or file it retrieves. Tooling then decrpyts that and uses it.
<marusich>Does anyone know what the situation with POWER9 is with Guix these days? I'm going to look into it a bit, but I haven't checked the email lists recently.
<marusich>Last I heard, it was being worked on but bootstrap binaries weren't ready yet?
<PotentialUser-72>redako: This is how you can manage long lived SSH keys as one example.
<rekado>AFAIK there’s a working port, but the author is worried about submitting it for review.
<marusich>Do you recall who that was?
<rekado>marusich: I think it was dftxbs3e_
<badair>If I have an x86_64 system, how do I install 32-bit packages?
<rekado>PotentialUser-72: there’s been a recent discussion of this on guix-devel:
<rekado>badair: with “guix build --system=i686-linux the-package”
<rekado>I think “guix package” still misses a “--system” option, which is a shame
<badair>That's what I was trying.
<PotentialUser-72>rekado: Thanks for the heads-up.
<rekado>you can do “guix package -i $(guix build …)”
<marusich>dftxbs3e_, I'm interested in maybe helping out with the POWER9 port, but I am a little behind on reading the emails. I'm going to check the email lists, but if you have any recent information, I'd love to know. Feel free to email me at or message me here.
<rekado>badair: but really, I think “guix package” should just gain a “--system” option.
<badair>That would be nice.
<rekado>badair: actually, this seems like a pretty easy thing to add.
<rekado>if you want to do this yourself I can help; otherwise it would be nice if you could send an email to to bug us with a wishlist request for this feature :)
<badair>rekado: Actually I was trying "guix install --system".
*rekado —> zzZZZ ?
<ryanprior>I'm getting to the point where I want to try symlinking cc -> gcc to run this package's tests. The link would not be needed in the build output.
<wxie>hi, I wonder why the video has no play button under guix?
<ryanprior>Is it uglier to skip running tests or to add that symlink? And if the symlink is the way to go, how do I do it?
<raingloom>ryanprior: why not just substitute* in the tests?
<PotentialUser-72>redako: Thanks again - just to clarify for anyone reading the archives. The colcusion of the discussion was that this is something Guix needs to worry about....
<ryanprior>Right now I'm trying to link `(which "gcc")` to `tmp/bin/cc` but it's telling me "In procedure link: Invalid cross-device link"
<badair>rekado: Thanks, I will consider this.
<reepca>ryanprior: you want "symlink", not "link"
<ryanprior>raingloom: there's a test runner that has `cc` hard-coded into it. I've asked upstream and they have no way to specify another option than cc.
<ryanprior>reepca: that sounds promising, trying it now
<raingloom>ryanprior: that's what substitute* is for. it searches for occurences of "cc" and replaces it. other packages do the same for tests. i saw it in one of the python ones.
<ryanprior>raingloom: I don't feel comfortable using regex to make replacements in a binary X.X
<reepca>oh man, they hard-coded it in *compiled* code?
<reepca>could you do the substitute before it gets compiled?
<ryanprior>Yes I tried that, but the upstream devs bristled at the idea of patching their source and I'm trying not to burn goodwill =D
<raingloom>which package is this?
<ryanprior>v compiler
<raingloom>ahh. v-lang. that... explains things.
<luis->supending is not working on my fresh guixsd install (when I close my laptop lid it doesn't go to sleep). Any troubleshooting ideas?
<ryanprior>what does it explain?
<raingloom>the project doesn't exactly have the best track record. it's um. i wouldn't say it was run very wisely. it has gotten better, but a lot of people got upset when they realized the main dev's promises didn't come true.
<PotentialUser-72>The Guix docs describe the nix package service. Anyone know of a blog or some such describing how to actually get it to work ? DDG is returning nthing useful.
<ryanprior>raingloom: yeah definitely a lot of chaotic vibes there!
<raingloom>PotentialUser-72: add (service nix-service-type) to your services in your operating system config, install the nix package in your user profile, add some channels, and run source /run/current-system/profile/etc/profile.d/ to activate it in the current shell.
<raingloom>that's roughly how i remember doing it. but i don't use it a lot.
<raingloom>i'm pretty sure most info was in the info page for Guix.
<PotentialUser-72>raingloom: Thanks. I think I was missing the profile.d/ step...
<raingloom>yup, i missed that for a while too. resulted in a lot of headscratching.
<PotentialUser-72>raingloom: At least now I'm getting a different error - that counts as progress.
<raingloom>did you start the service after reconfigure?
<PotentialUser-72>raingloom: Ah no. That would be done how...
<raingloom>PotentialUser-72: sudo herd start nix-daemon (you can figure out the service name by looking for "nix" in the output of `sudo herd status`. or there is probably some more official way, but that's how i do it when i can't remember a service name.)
<PotentialUser-72>raingloom: That will explain why shepherd was confused ;)
<PotentialUser-72>raingloom: Back to complaining that bash is not such file or directory. But I know now about herd!
<raingloom>PotentialUser-72: huh. what's the error message?
<PotentialUser-72>raingloom: on another computer so this is the gist:
<PotentialUser-72>nix-channel --update
<PotentialUser-72>While setting up the build environment: executing '/gnu/store/....-bash-..../bin/bash' no such file or directory.
<PotentialUser-72>Of course it exists :)
<pkill9>raingloom: what project is that?
<pkill9>oh, v-lang
<raingloom>PotentialUser-72: well, it seems i can't run it anymore either, so something probably changed. as i said, i don't use nix much.
<PotentialUser-72>raingloom: Thanks for investigating - I'll park it for now until I see a howto.
<xelxebar>Man, my first package is getting no love.
<apteryx>xelxebar: which package is this?
<xelxebar>apteryx: To be fair though, the recommendations from the the first round of review kind of blew it up into a whole set of patches...
<apteryx>Apr 23rd, that's not too old :-)
<xelxebar>Also, asking me to build the pdf doc directly ends up requiring texlive-amsfonts which seems to be broken in texlive-unions at the moment.
<xelxebar>apteryx: Really? It's common for stuff to sit around for a month with no feedback?
<apteryx>xelxebar: I wouldn't say common, but yeah, unfortunately it can take some time.
<xelxebar>Fair enough.
<xelxebar>First package and required quite a tour de force, so I guess I'm feeling a bit impatient :p
<apteryx>If you feel like an active review process is stopped (while you have done everything that was requested, feel free to try a polite bump)
<xelxebar>Thanks. Will try that.
<xelxebar>When doing a system reconfigure, how does one tell which services are "not automatically restarted"?
<apteryx>none are automatically restarted
<xelxebar>Haha. Simple enough. Then what's with the post-reconfigure message about manually starting services that are "not automatically started"?
<raghavgururajan>Hello Guix!
<raghavgururajan>How are environment variables set in Guix System?
<raghavgururajan>In other words, when I execute `env` in terminal, I get bunch of env vars. How did they set in first place? During package installation? During system reconfigure?
<elais>in bash_profile
<raghavgururajan>elais, I mean not manually. How do they get automatically set?
<apteryx>xelxebar: I think those are the services which were already running
<apteryx>new services are started upon a reconfigure (no problem here)
<ryanprior>What do you import to get package-name?
<ryanprior>and what the heck is a hidden package
<kolyad>Is down?
<apteryx>ryanprior: a package with the hidden property set (this is done so that packages that could easily confuse users are not displayed in the search results)
<apteryx>kolyad: it's timing out here as well
<ryanprior>apteryx: okay, makes sense.
<ryanprior>I've got an experiment I'm working on to create wrappers for c compilers if you want "cc" in your build environment. You can see it here:
<ryanprior>It doesn't work. I get an error like: (symlink "/gnu/store/2naisc5dl8925dqglg4fp92ii9si81qn-?" ?) In procedure symlink: No such file or directory
<ryanprior>If anybody wants to play with it and give me hints where I might be screwing up, I would appreciate a second set of eyes. I don't know where I'm going wrong.
*apteryx tempted to look but at 1 am the bed is calling
<ryanprior>later =D
<rekado> does not time out for me
<rekado>but is currently not responding
*rekado kicks it
<rekado>hmm, the server is up, but I can’t connect
<rekado>I wonder if … oh
<rekado>I know
<rekado>it’s firewall maintenance time
<rekado>IT announced that there might be a short downtime around this hour
<rekado>should be done soon
<rekado>they say between 6am and 9am
<rekado>it’s 7:48 now
<rekado>the sites are back up, but I can’t guarantee that it’ll stay this way
<raghavgururajan>Does this apply to as well?
<rekado>well, that wouldn’t have been my response :)
<rekado>hope they won’t be down for the remaining 1 hour of the maintenance window
<emys>hi I did submit a patch on saturday and so far haven't really received a response / feedback.
<emys>what is the working mode on the list, can I assume someone will have a look at it eventually or is it expected that I inquire after a certain time?
<emys>The patch is I guess a bit large, adding a bunch of dependencies so I can see that potentially its a bit large for review (
<rekado>emys: it happens that patches are sometimes not reviewed in time
<rekado>emys: I see that your second patch adds more than one package.
<rekado>Could you please split it up into multiple patches, one for each added package?
<emys>rekado, since they all depend on each other I don't think that would make matters a lot easier because then maintainers would have to make sure they merge them all in order.
<rekado>Please also use the conventional commit message format: * gnu/packages/python-web.scm (the-package): New variable.
<emys>that is I can certainly split it up
<rekado>yes, we usually apply patches in order
<emys>ah, k
<rekado>thank you for the contributions!
<cbaines>also, it can be useful to avoid adding package definitions to the end of the file, as that can reduce the possibility of merge conflicts
<rekado>and sorry that nobody has been able to comment on your patches so far
<emys>rekado, I think I followed the commit message format, or is there a discrepancy I don't see?
<rekado>emys: another thing is the indentation of the text in the description
<rekado>please don’t indent inside of a string
<rekado>emys: the format is actually almost fine; it’s just that we don’t write “Added <version>.”, but “New variable.” when variables are added.
<rekado>one more thing: python-plaster-pastedeploy splits the synopsis string. Please keep it on one line.
<rekado>same for python-hupper
<rekado>you also don’t need to specify (native-inputs `()) or (propagated-inputs `())
<rekado>that’s the default value anyway, so you can just remove them completely
<rekado>the description of python-translationstring should be a complete sentence (and not start with “A”)
<rekado>most important is to split the patches, though
<rekado>I could do all these other things when applying the patches, though it would be best if you did it when you’re splitting them anyway
<emys>yeah, I can do these
<rekado>feel free to ping me once you’re done and I’ll apply them right away
<rekado>looks like the websites are back for good
<kamil_>Hello! I've enabled ntpd, and I'm receiving messages in my virtual terminal session. Setting log-level to 3 with a kernel parameter doesn't do anything. How can I get rid of these?
<cbaines>maybe the service has the option to log to a file or syslog
<cbaines>otherwise you can change the shepherd service to log to a file
<boeg>are savannah still having problems?
<boeg>seems a bit slow at least
<kamil_>cbaines, I configured openntd, and it did the trick.
<cbaines>that sounds good :)
<xelxebar>How/where is guix calculating the output hashes in store prefixes?
<xelxebar>Is it essentially a sha1 for the tar of the output hierarchy?
<emys>rekado, just to be on the same side, multiple patches in one thread, or multiple threads for each patch?
<cbaines>emys, sending multiple patches at once is fine (and if they're releated, that's better)
<cbaines>but only add one package per patch
<emys>so that means I send the first patch to the patches list, wait for debbugs reply, then send in the rest to the debuggs address ??
<cbaines>emys, yep :)
<bhartrihari>Hello, I'm on GuixSD. I reformatted my home partition, which changed its UUID. Now I'm not able to login, and I can't even just update /etc/fstab since the config gets reverted at startup. What are my options? Would it be possible to chroot into the system and reconfigure it using config.scm?
<cbaines>xelxebar, I think the relevant code is here output-path, and store-path which it calls
<cbaines>xelxebar, that's used from add-output-paths in (guix derivations)
<xelxebar>cbaines: Perfect! Thanks.
<emys>rekado, submitted
<emys>cbaines, rekado thanks for guiding me through the process.
<rekado>emys: excellent, I’m going to apply them in a moment
<rekado>by the way, you could have just sent them as a reply to your previous patches
<emys>aha, I read that I needed to explicitly send follow-up patches to the debuggs address
<kamil_>Is there a way to postpone the minigetty login screen so that elogind gets to load? My first login always fails due to it not being initialized quick enough.
<emys>rekado, so I could have used `git send-email --thread`?
<rekado>emys: no, I mean you could sent your new patches to instead of opening a new issue.
<rekado>but that’s fine. I’ll just close the old one.
<rekado>emys: I just pushed your patches but I noticed that we forgot something. We should add a copyright line for you at the top of python-web.scm.
<kamil_>another one because I'm in hurry today: what's the one-liner to find a location of a package in /gnu/store?
<mbakke>kamil_: guix build package?
<kamil_>Really? This whole time it was the command? haha..
<mbakke>nckx: I'm having a déjà vu:
<cclss>This process is taking up too much CPU on my server, how should I find its errors,
<cclss>My server is kvm running Guix System
<ArneBab>Can I set the guix daemon to run with lower priority (nice)?
<rekado>ArneBab: according to build process inherit the nice value from guix-daemon.
<ArneBab>how can I pass it to guix daemon?
<ArneBab>(they must inherit the nice from guix daemon — without sudo it cannot lower its nice value — but I did not find the setting for the daemon)
<ArneBab>(besides: thank you for answering!)
<lprndn>Hello guix!
<ArneBab>hello lprndn
<efraim>be aware that there are some packages which will fail to build if they start at a lower nice level
<ArneBab>yikes, why that?
<efraim>I forget the package, at least one tests with the 'nice' command, and it can't change the level to what it wants
<efraim>not very often, but certainly annoying to troubleshoot
<ArneBab>yes …
<ArneBab>do you remember whether the nice value was more than 1? in that case, setting the guix daemon to nice 1 would still be safe.
<efraim>I think it tried 3, don't remember if it tried 0
<ArneBab>For me 1 would be enough to stop the daemon from competing with my work environment
<efraim>it's certainly worth a try
<ArneBab>Is there a setting for config.scm?
<rekado>no, guix-configuration does not have a field for setting a nice value
<rekado>nor does it allow you to overwrite the command
<efraim>you could try renice
<raghavgururajan>Hello Guix!
<raghavgururajan>efraim, Thanks so much for the blog post regarding user-level services.
<efraim>raghavgururajan: Thanks :) I'm planning on writing more in the future with it.
<raghavgururajan>efraim, I want to set XDG_DIRS env var for shepherd. How do I permanently set it? That is, preserved across reboots.
<efraim>I assume you mean for shepherd and not as part of a service it's running
<raghavgururajan>I am wondering how other env vars are usually set in guix system. I get bunch of env vars from `env` command. How did they got set in the first place?
<raghavgururajan>Yes for shepherd. Not for the service its running.
<efraim>I start mine by hand. I assume it inherits whatever are the environment variables there are at start
<efraim>I suppose you could create a desktop entry for it and place that in ~/.config/autostart and that should get started by most window managers
<efraim>Ideally I'd like to see shepherd's init.scm expanded so that it'll read not just commands but config settings
<bricewge>Hey Guix!
<efraim>I don't actually know if it's possible to set environment variables in a .desktop file
<bricewge>raghavgururajan: The environment variable seems to come from session-environment-service-type, it sets /etc/environment which is applied by PAM
<bricewge>efraim: I'll write a patch for libblockdev to use the reference of the filesystem utilities
<raghavgururajan>efraim, So you are using ~/.config/shepherd/shepherd.sock, instead of, $XDG_FOO_DIR/shepherd/shepherd.sock?
<efraim>bricewge: thanks
<raghavgururajan>bricewge, Thank you!
<efraim>raghavgururajan: ~/.config/shepherd/shepherd.sock doesn't work, shepherd needs the directory to be chmod 700
<efraim>on my Guix System machines I let it start wherever, which I believe is somewhere in $XDG_RUNTIME_DIR
<raghavgururajan>efraim, so how did you work around the /uid/NNN error, upon manually starting shepherd in guix system as user?
<efraim>right now I'm working on a solution for systemd machines
<raghavgururajan>Ah I see. Did you also set XDG_RUNTIME_DIR manually? That is what I am looking for to set.
<mbakke>what are ways to make Texinfo surround text in double quotes, like 'foo is a "mbakke simulator" that makes loud complaints about the smallest issues'
<raghavgururajan>That's awesome.
<efraim>I think on my main machine sddm or enlightenment sets XDG_RUNTIME_DIR so it works there
<efraim>my kids' machine is using slim and they're logged in but I've run shepherd right after reboot there
<efraim>so maybe something in my .bashrc makes it work magically?
<ArneBab>rekado/efraim: then I’ll fake it with a cron-job. Thank you!
<raghavgururajan>efraim, Here it is mentioned that xdg-dirs are set by pam_systemd.
<raghavgururajan>Ah, I use SLiM+dwm setup. I do not have that env var set.
<efraim>raghavgururajan: right. I think using loginctl enable-linger $USER will take care of it, and then I can start shepherd with a user systemd service
<efraim>perhaps it comes from /etc/bashrc or /etc/profile
<efraim>for now I'm going with "I have no idea" why XDG_RUNTIME_DIR is set on my machines
<efraim>I'd suggest checking 'env | grep -i xdg' and then sourcing /etc/profile and then checking again
<raghavgururajan>I suspect elogind-service-type
<raghavgururajan>efraim, I'll try to figure it out. One last thing, do you have %desktop-services on all your machines?
<efraim>I do. elogind-service-type is a good guess.
<boeg>does guix have something like journalctl so I can see what is going on?
<ArneBab>(define renice-guix-daemon-job #~(job "@reboot" "sleep 300; pgrep guix-daemon | xargs renice -n 1"))
<raghavgururajan>logind in systemd suppose to set /run/user/NNN. So in Guix System, I assume elogind does that.
*raghavgururajan tries
<efraim>I'm pretty sure there's no @reboot in mcron
<mbakke>boeg: /var/log/messages might have some information for you
<ArneBab>efraim: arg, thank you!
<ArneBab>boeg: I would look into /var/log/* and sudo dmesg
<efraim>you could make it a one-shot service and have it start with (sleep 300)
<boeg>mbakke, ArneBab: thansk
<rekado>raghavgururajan: you can trace them by looking at /proc/PID/environ
<rekado>cat /proc/1/environ | tr '\0' '\n'
<rekado>and then go from there
***dftxbs3e_ is now known as dftxbs3e
<raghavgururajan>rekado Thanks!
<dftxbs3e>marusich, that's awesome! well the first step would be getting a development environment up. Do you have QEMU/KVM? You'll need to install gentoo ppc64 big endian
<efraim>is OSOUL still handing out VMs?
<dftxbs3e>efraim, of course
***daniela_ is now known as danjelalura
<raghavgururajan>efraim, It worked \o/
<ArneBab>efraim: do you have an example for such a one-shot service?
<raghavgururajan>efraim: In your blog post, I think $XDG_CONFIG_DIR should be replaced by $XDG_CONFIG_HOME. They are different paths.
***danielalura is now known as danjelalura
<alextee[m]>mbakke: is that patch you mentioned in the fonts bug report merged in some branch i can try?
<mbakke>alextee: nope
<mbakke>hm, I guess downloading the raw message for 'git am' purposes is difficult
<mbakke>alextee: I suppose you're not subscribed to guix-devel ?
<alextee[m]>i guess the easiest way to try it is to just add those packages in my channel and bump their version, that would cause the whole gtk to be rebuilt
<alextee[m]>mbakke: no
<alextee[m]> * i guess the easiest way to try it is to just add those packages in my channel and bump their version, that would cause the whole gtk stack to be rebuilt
<mbakke>alextee: that would not really test the graft I sent though
<alextee[m]>i can wait a few days for this to get merged somewhere i guess
<alextee[m]>if this can be merged in a temporary branch or something that would be awesome, i could just do guix pull --branch to test
***danielalura is now known as danjelalura
<mbakke>alextee: sent! should show up in the archive shortly
<alextee[m]>👍️ thanks!
<mbakke>alextee: you can download the patch, apply it with 'git am < patch.txt', and then 'guix pull --url=/your/local/checkout' (in case you did not know) :-)
<alextee[m]>oh didnt know you could pull locally, nice
<alextee[m]>trying now
*mbakke goes AFK for a while but will check the channel later, let me know if it works :-)
<alextee[m]>i'm trying to cross-build using mxe ( and it fails here:
<alextee[m]> /gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/include/bits/errno.h:26:11: fatal error: linux/errno.h: No such file or directory
<alextee[m]>26 | # include <linux/errno.h>
<alextee[m]>is this a bug?
<alextee[m]>oh i see it in the linux-libre-headers package
<lprndn>ryanprior: are you here?
<apteryx>is there a way to validate an addition to etc/news.scm?
<nckx>Morning Guix.
<nckx>apteryx: I commit locally, pull locally, if nothing blows up I push.
<nckx>Translations need to be copyrighted? Crap.
<apteryx>I'd think so! copyright covers any original text
<apteryx>looks like I've received the advice seconds too late, ah!
*apteryx needs to fix news.scm ASAP
*apteryx guix pulls locally...
<apteryx>nckx: good morning, by the way :-)
<apteryx>I'm not quite sure what I did wrong here, except that missing closing parens, but it still breaks on guix pull... err.
<apteryx>ah, another closing brace
<apteryx>paredit-mode must have failed me or something
<apteryx>phew... fixed
<mroh>good morning guix!
<apteryx>good morning!
<ryanprior>lprndn I'm around, just getting started with the day :) how's it going
<raghavgururajan>nckx: Can I ping you here to for my doubts regarding the project?
<efraim>is there a way as a user to mount a tmpfs?
<civodul>hey ho!
<civodul>rekado: what was the outcome of the 'guix publish' endeavor?
<civodul>efraim: nope
<efraim>I suppose I could script around it with shepherd if necessary
<efraim>I was looking at this:
<civodul>ah, for that you could use call-with-container and all that
<civodul>so you could definitely run user services in containers
<civodul>assuming unprivileged user namespaces are supported
<rekado>civodul: I ended up writing the network people again.
<rekado>civodul: from within the MDC network speed is excellent
<lprndn>ryanprior: hey! a good start is important. If you want to look, I rebased on your branch and pushed my own pantheon branch here:
<rekado>for connections from the outside, though, i.e. those that cross over the firewall, connection speed appears to be throttled to 2MB/s
<rekado>so my guess is QoS or something silly like that.
<lprndn>there is quite some work left but it a start
<rekado>re user services: shouldn’t it be possbile to run system services on foreign distributions?
<rekado>as long as user namespaces are available?
<ryanprior>Thank you I will look at it today!
<rekado>civodul: increasing the buffer size beyond 128k seems to have no effect at all
<mothacehe>janneke: just sent you an email, I managed to make a Hurd disk-image bootable, without using vm-image!
<sneek>Welcome back mothacehe, you have 1 message!
<sneek>mothacehe, janneke says: i added some stuff for the hurd, see, but see no result of it...still the same reboot!
<rekado>I also found something annoying: connections to another server on the same subnet are rather fast
<efraim>I was looking a bit smaller than guix services, at shepherd services
<civodul>rekado: but going from 12k to 128k helped, right?
<civodul>from the outside, there's still a problem, but at least you fixed the nginx-to-publish link i guess?
<rekado>yes, going to 128k made localhost connections instantaneous and connections within the MDC network fast
<rekado>so guix publish seems to be fixed now
<civodul>right, so at least nginx cache misses should be now almost as fast as cache hits seen from the outside
<mbakke>alextee: were you able to try the patch?
<rekado>with 12k localhost connections were at 1-2MB/s
<alextee[m]>mbakke: still upgrading.. my internet is very slow
<rekado>civodul: could you try this one please: wget -O /dev/null
<mbakke>oh, OK :-)
<rekado>this is the same subnet, but a CentOS server with only a 1G NIC
<rekado>it’s also locked off by the firewall, but performance in my tests was noticeably faster
<civodul>rekado: 45-50 MB/s
<civodul>sehr gut!
<rekado>it’s a bit frustrating because the firewall is beyond my reach, but this gives me hope that there might just be some misconfiguration that could be corrected by the networking team
<civodul>did you try to expose publish directly on berlin, for test purposes?
<civodul>so we could rule out a possible nginx misconfiguration
<guixy>Hey guix
<guixy>What is the difference between a package's native-search-paths vs its search-paths?
<rekado>civodul: yes, at you can talk to “guix publish” directly. No change.
<rekado>(that’s the variant with a larger socket buffer)
<rekado>our nginx config is fine
<rekado>I also compared sysctl keys between that CentOS server and berlin, but all settings on berlin are more generous
<rekado>i.e. higher TCP memory limits, larger number of maximum connections, larger buffers, etc
<rekado>…and since connections on this side of the firewall are all fast I don’t think it’s likely that something is misconfigured there.
<rekado>I also checked the NIC settings with ethtool, but again nothing obvious.
<rekado>we could probably eek out a bit more performance with jumbo frames, but that other server also doesn’t have them
<rekado>so the most likely culprit is my old nemesis
<civodul>what do you mean?
<civodul>bigger frames would be nice, that's another socket option?
<civodul>perhaps things like TCP_QUICKACK and whatnot too
<rekado>we can configure this on the NIC, but we would have to make sure that all switch ports on the route also have jumbo frames configured
<rekado>it’s recommended for 10G cards
<rekado>but that’s not the problem here
<rekado>we don’t get even 1G from the outside
<civodul>so the "something" around firewall is causing troubles, right?
<rekado>when I trace my path to I see just one server ahead of the target
<rekado>that’s the firewall.
<rekado>(I mean one server on the MDC network before berlin)
<rekado>what I couldn’t test yet is whether *all* protocols are affected
<rekado>is SSH affected, for example?
<rekado>someone with SSH access to berlin and good connectivity could try to use the notoriously slow SCP; see if you get above 2MB/s
*civodul tries: cat /dev/zero | guix environment --ad-hoc pv -- pv | ssh berlin 'cat >/dev/null'
<civodul>15-20 MiB/s
<civodul>in that direction
<civodul>now with: ssh berlin 'cat /dev/zero' | guix environment --ad-hoc pv -- pv >/dev/null
<civodul>1-2 MiB/s
<rekado>was zur Hoelle?
<civodul>was ist das?
<rekado>ich weiss nicht
<jonsger>rekado: I have 33MB/s to bimsbstatic from contabo
<civodul>/dev/zero throughput must be throttled
<jonsger>thats good so it's not a peering issue :)
*rekado found the optimist
<rekado>civodul: could you try downloading any of the big files like /var/www/.well-known/foo (full of zeros)
<civodul>over SSH?
<civodul>it starts fast and immediately drops
<civodul>it's at ~2MB/s now
<civodul>"scp berlin:/var/www/.well-known/foo /tmp/zeros"
<rekado>okay, fast upload, slow download
*civodul notes that we've been making progress!
<rekado>I’m sending an update to my ticket
<rekado>I just hope someone enabled QoS somewhere
<civodul>go figure
<civodul>maybe it's a big black box from Cisco
<civodul>or a chain thereof
<rekado>today in the morning hours they did a “firmware” upgrade
<rekado>I had the faint hope it would magically improve things
<rekado>I just hope there is someone who actually understands that thing.
<rekado>I wish I could just … bypass it.
<civodul>you're the one who's optimistic :-)
<rekado>I don’t recognize myself any more!
<apteryx>had to restart ssh-daemon remotely before I could login after a 'guix system reconfigure'
<apteryx>otherwise I'd get 'connection closed'
<civodul>apteryx: your first reconfigure since core-updates?
<apteryx>luckily I still had an SSH connection open
<apteryx>yes, it's exactly this. PAM related.
<apteryx>also, for some reason, on that machine, 'guix pull --news' only shows new/updated packages rather than news entries
<apteryx>although I guix pull'd very recently (it's on commit 12df6684b983507b2a73e14f45d28a71cddfb3b1).
<nckx>raghavgururajan: Er, sure, I'm still not online much but my scarce free time goes Guixwards. ‘Doubts about the project’ sounds serious.
<mbakke>nckx: can you look into ?
<nckx>Of course.
<nckx>To quote Raghav: cool!
<nckx>This ‘I have no functioning in-brain memory’ thing isn't a shtick, I really don't.
<raghavgururajan>nckx: Thanks!
<janneke>mothacehe: great! I only made one small discovery; I'll have a look at your mail first!
<guixy>I tried looking in the documentation. It lists native-search-paths just above search-paths and says nothing to distinguish them.
<leoprikler>IIRC native-search-paths should also be honoured if the package is used as an input, but idk
<apteryx>hmm: guix/ui.scm:1936:12: In procedure run-guix-command: In procedure =: Wrong type argument in position 1: #f
<apteryx>(while attempting a 'guix package -m ...' on latest master)
<apteryx>perhaps I must restart guix-daemon
<apteryx>I just 'guix system reconfigure'd the system as well
<efraim>can I mix one-shot and respawn on shepherd services?
<efraim>I'm assuming no
<leoprikler>okay nope, search-paths won't work
<apteryx>guixy: IIRC native-search-paths is used as the default value of search-paths if unspecified, which makes them pretty much alike but native-search-paths would also cause the values to be expanded in the builder container
<apteryx>it'd be nice to have their effect and intended uses better documented
*apteryx issued 'sudo herd restart guix-daemon' and now the 'guix package -m ...' commands seems to proceed without errors
<leoprikler>Actually, search-paths is borked
<guixy>I'm asking because minetest recently stopped defining MINETEST_SUBGAME_PATH in a profile's etc/profile
<leoprikler>okay, that's a bug
<janneke>mothacehe: you really cracked it, beautiful; i took the liberty of pinging civodul harder by adding a cc
<leoprikler>but it's still listed as native-search-path oo
<leoprikler>or at least in my guix it is
<guixy>When I make a profile in /tmp it's in there, but when I add it to my default profile it's not there...
<leoprikler>so you mean "guix environment --ad-hoc minetest" works, but "guix package -i minetest" doesn't?
<leoprikler>i.e. `grep MINETEST_SUBGAME_PATH ~/.guix-profile/etc/profile` returns nothing?
<guixy>When I entered that environment and typed "compgen -v | grep -i mine" it output nothing an hour ago.
<guixy>Now it's fine...
<guixy>Maybe I did something wrong?
<leoprikler>idk relying on compgen seems weird
<leoprikler>env | grep MINE would at least show you just the environment variables
<guixy>It's working now. The only thing I did between when it did not work and when it started working was run `guix gc`
<guixy>I guess that fixed it.
<mothacehe>janneke: thank you :) I pushed four patches on your branch, that should be ready for master. Now, I need to integrate the Grub sorcery, this will take some times I guess.
<guixy>I spent quite some time working on fixing the games that wouldn't build.
<guixy>Then they broke when I merged upstream with my own repository.
<nckx>That happens.
<guixy>I think that's funny. I patch freedink so it works, then it starts complaining about how automake is the wrong version.
<guixy>Is this a common problem with a known solution?
<janneke>mothacehe: beautiful!
<nckx>Freedink? Oh, I noticed that same error y'day but haven't looked at it yet.
<guixy>Before that error showed up, freedink had a problem with SDL. I made a patch and sent it upstream, but also included it in my repo.
<guixy>Or at least I thought I sent it upstream...
<nckx>I get the automake errors without (or before the need for) any SDL patches.
<guixy>That's just how autotools works.
<guixy>The SDL error only happens during make.
<guixy>make doesn't happen because automake is the wrong version.
<nckx>I know. I read ‘Before that error showed up’ differently. Shorterly.
<nckx>Have you tried what that error suggests & rebootstrapping?
<guixy>I'll give that a shot.
<dftxbs3e>marusich, when you're here please either ping me in private or here - I can guide you through setting up a development environment
<alextee[m]>i like how unzip inherits from zip
<alextee[m]>and the only thing inherited is this (inputs `(("bzip2" ,bzip2)))
<nckx>guixy: Seems to work fine if I add (add-after 'unpack 'force-bootstrap (lambda _ (delete-file "aclocal.m4") #t)), it's configuring now.
<guixy>Cool. I'll add that
<nckx>Then 'build insists on configuring again, so that needs to be fixed (probably an env var or other flag you can set), the fails with a hard-coded ‘/bin/sh’ that's not found.
<nckx>So you're not out of the woods yet but so far all pretty standard stuff. Good luck!
<rekado>the gnu-build-system sets NOCONFIGURE since the core-updates merge
<rekado>so it shouldn’t configure automatically
<civodul>apteryx: re --news, it only shows entries with a matching commit, maybe double-check that?
<nckx>rekado: Isn't NOCONFIGURE conventionally for autogen-style things?
<nckx>This is make during the build phase.
<nckx>Not an over-eager ./bootstrap.
<janneke>mothacehe: the kernel crash seems to be just about the missing extra/hurd-directive bits that i sent you; this is really great!
*janneke has been hammering on this qemu-image cross build for 4wk, i think
<rekado>nckx: oh, sorry, didn’t pay enough attention.
<janneke>we made quite some progress and fixed a couple of nice bugs...
<nckx>Oh np at all.
*rekado updates guile-aws
<rekado>oh, but first: lightdm service!
*janneke -> fetch+prepare some dinner
<rekado>I love Guile’s compiler tower
<civodul>janneke: bah, i'm sorry that "it should be just a matter of..." turned out to be more of a nightmare!
<rekado>adding ECS support to guile-aws is a matter of 10 seconds: add the JSON file that specifies the API, add it to the list of JSON “source” files, compile it to a working DSL.
<civodul>sounds nice!
<jonsger>rekado: and then you can start to become a poor person :P
<rekado>nah, I’ll bill my department’s cost centre ;)
<nckx>civodul: I also see fast downloads that immediately drop spectacularly. I don't know what that means but it means something. Something's artificial.
<guixy>I have quite a few patches to send to guix, but I probably won't be able to organize them until August.
<bhartrihari>Hello, how can I reconfigure a GuixSD install from outside the system? Would it be fine if follow the manual installation guide and use guix init with my existing config?
<bhartrihari>I have a config.scm and I want to reconfigure an GuixSD system using it, but I can't log into the installation. (The new config fixes this).
<nckx>bhartrihari: Be extremely careful but running ‘guix system init’ from the installer on a mounted, existing system will work, yes. It will only touch /mnt/gnu and /mnt/var/guix (which I tend to delete for neatness' sake in such cases).
<nckx>Is that what you mean?
<leoprikler>can you log in to an older configuration?
<leoprikler>If so, using that older configuration as a base would be preferrable
<bhartrihari>I accidentally changed the UUID of a partition. And now I can't login.
<bhartrihari>I need to update the uuid via the reconfigure step.
<bhartrihari>Yes, I have the old config.scm
<leoprikler>Can you not go into grub?
<bhartrihari>I can.
<leoprikler>then pick any configuration but the last one from the menu
<leoprikler>those won't have the wrong UUID
<bhartrihari>But the UUID in old configurations is still the same, I changed it to something else.
<nckx>They will all have the wrong UUID.
<guixy>You changed the UUID of the disk?
<guixy>Or the UUID in the config?
<bhartrihari>The /home partition.
<leoprikler>disk, apparently
<bhartrihari>Editing /etc/fstab doesn't work either.
<nckx>No, Guix doesn't use fstab at all.
<bhartrihari>I tried to chroot earlier.
<nckx>That should work.
<bhartrihari>But maybe guix init is a better option?
<nckx>What went wrong while chrooting?
<bhartrihari>Yeah. Somehow it doesn't pull package definitions from other channels.
<nckx>‘pull’ is a super-loaded word here, best to avoid it if you're not talking about ‘guix pull’.
<nckx>Otherwise it will get confusing fast.
<bhartrihari>Let me try it again and get specific errors. Thanks.
<nckx>bhartrihari: If you call /chroot/home/you/.config/guix/current/guix system init it really should use all your custom channels.
<nckx>Don't pull in that degraded state. It's not worth it and complicates things badly.
<nckx>The problem is spinning all your plates just right so you're also running a chrooted guix-daemon (so not the one started by the installer; stop that one) and it truly believes that /chroot/gnu is /gnu.
<nckx>I've done this before but I honestly can't walk anyone through it remotely, too many things to remember, sorry :-/
<efraim>bah, calling run-job directly from a shepherd service doesn't seem to work for me
<nckx>This is why ‘guix system init’ is easier, even if it probably will bork up your gcroots. That's not permanent, though, and should take care of itself when you reinstall your user's packages before the next GC.
<bhartrihari>You said that guix init would only touch /mnt/gnu and /mnt/var/guix. Would that update the UUID for the mount point?
<nckx>If you correct it in your system configuration, yes.
<nckx>If you need custom channels you can add a ~/.config/guix/channels.scm in the installer and pull, it's ‘just’ a Guix System.
<nckx>Don't forget to mount /boot[/efi…] like you would during a regular installation.
<bhartrihari>But then custom channels don't work. Maybe I should give up on them for now.
<nckx>That's what I don't understand. Why not?
<nckx>I always use custom channels in the installer 😛
<janneke>civodul: yeah...well in the mean time the hurd processes got cleaned up quite a bit, we have a beautiful disk-image creator and we fixed some long standing bugs
<bhartrihari>Sorry, I misread.
<janneke>it might all have been a lot easier, if gnumach would boot off grub-efi, or if we had a bios that supported that, or ...
<apteryx>civodul: re guix pull --news the commit ID seems valid
<apteryx>let me know if it works for you when you next guix pull (there should be an entry for the Btrfs submodule support)
<nckx>apteryx: Worked for me.
<nckx>I didn't know I was testing or I would have paid more attention but I say a news message about btrfs subvols.
<nckx>Or did you mean French specifically?
<apteryx>nckx: nope, just seeing the message is good!
<nckx>I definitely did.
<apteryx>I saw it when I pulled locally, but on another machine which guix pulled, it wasn't shown.
<apteryx>that machine was upgraded from a really dated Guix though (end of February)
<apteryx>perhaps that's why
<apteryx>I guess the 'guix' that ran 'guix pull' was tool old
<nckx>Possible. The pulling Guixes were about a day old.
<bricewge>I'm stuck working an a new kernel-configuration-service-type.
<bricewge>I want to set kernel-arguments from a service.
<bricewge>Is it possible? The only way I managed to come with is to write an essential-service that set the parameters but it looks like to be a can of worms...
<bricewge>Any guidance on how to do something like this?
<bricewge>The current patchset already create 2 of those essential-serivce, am I missing a pattern here or what?
<luis->Hello everyone. I am happily continuing my guixsd voyage. I didn't install any window manager with guix. rn I trying to set up xorg with emacs as the wm. As I was reading the manual on system configuration I see that xorg is a user-service module in config.scm.
<luis->I installed xorg as a user via `guix install xorg-server`. Is a matter of preference whether it should be installed system wide or by an individual user? Or is it something that I should add to config.scm? I installed guixsd so that it doesn't have any window managers.
<nikita`> the image generation somewhat broke, fonts are boxes.. inb case it's not reported
<civodul>if anyone would like to work for Software Heritage:
<bricewge>nikita`: Thanks. It is known and the patch will soon be applied
<vagrantc>civodul: gnu guix is listed as a VCS :)
<alextee[m]>mbakke: that patch still doesn't work
<mbakke>alextee: OK, thanks for testing. You tried to 'guix pack' something, right?
<alextee[m]>yeah this: guix pack -RR -S /opt/zrythm/bin=bin -L . zrythm-next
<alextee[m]>from my channel here
<alextee[m]>then copy it to an archlinux vm and untar, opt/zrythm/bin/zrythm_launch
<mbakke>alextee: can you try to 'strace' the packed application and see what fonts it tries to load?
<alextee[m]>just updated that
<ryanprior>I started an experiment yesterday to try providing packages for c compilers that let you invoke them as "cc" if that's desirable in your build environment. Code is here:
<ryanprior>It doesn't work & after much debugging and repl mashing I'm at a loss as to why. If anybody with greater Guile expertise can take a look I would appreciate a second perspective!
<mbakke>alextee: weird, looks like it still tries to use 'gs-fonts' despite the graft!
<alextee[m]>maybe i didnt upgrade properly? I did: `guix pull --url=/home/alex/Documents/git/guix ` after applying the patch there, then `guix upgrade` and then tried the pack
<mbakke>alextee: did you apply the patch with 'git apply', or 'git am'?
<reepca`>ryanprior: that symlink call symlinks /gnu/store/...-wrapper/bin/cc to /gnu/store/...-wrapper/bin/gcc
<reepca`>doesn't cause an error at symlink-creation time or anything, because dangling symlinks are allowed
*mbakke emerges from a very deep ruby packaging rabbit hole
<reepca`>but it looks like at no point does /gnu/store/...-wrapper/bin/gcc get created
<ryanprior>reepca`: It was my hope that by inheriting from `gcc` that would already exist 😵
<reepca`>for it to already exist you'd have to inherit the entire build phase, sources, etc, and just slap this on in an extra phase
<alextee[m]>mbakke: git am, i can see it in the log too:
<reepca`>(which would duplicate a lot of work)
<mbakke>civodul: Aw, I hoped they were looking for engineers for their storage backend. Do you know if they use Ceph or something else? :-)
*alextee[m] uploaded an image: Screenshot from 2020-05-20 18-48-58.png (93KB) < >
<reepca`>the key point is it does already exist, in the package you're using as a propagated-input
<ryanprior>reepca`: okay, right, so I should link to that.
<reepca`>ryanprior: indeed!
<ryanprior>Are my posts tacking extra garbage on the beginning?
<reepca`>er, which posts?
<mbakke>alextee: right, I guess 'guix pack' misses grafts because they produce a compressed tarball which makes any references invisible
<mbakke>ryanprior: riot has issues with ` in usernames ...
<ryanprior>reepca`: when I reply to you my IRC client (Riot, using Matrix bridge) shows a bunch of garbage that looks like Markdown link formatting at the beginning of the post.
<ryanprior>It honestly doesn't bother me as long as it's not spamming that to the channel. I was just kinda alarmed.
<mbakke>looks OK in the log though, just not in Riot :P
<ryanprior>Okay that's fine with me.
<reepca`>yeah, my internet's flaky, so ERC often tries to reconnect with a "backup" username.
<boeg>is there a service to start gpg-agent services? Google hasn't been helpful for some reason
<mbakke>boeg: if you add 'use-agent' to ~/.config/gnupg/gpg.conf, it will start automatically on the first 'gpg' invokation
<boeg>mbakke: oh, cool!
<boeg>mbakke: but with that, you cannot get the ssh-agent emulation from gnupg, right?
<mbakke>boeg: I don't think so, as it needs to already run for the SSH socket to be created -- you can probably just call 'gpg-agent' directly from one of your startup scripts instead
<boeg>mbakke: yes, thanks
<ryanprior>reepca`: I got it working now...hype
<sirmacik>hey guix, how can I catch and gracefully handle SIGTERM in guile scirpt?
<reepca`>sirmacik: see 7.2.8 "Signals" of the guile manual
<reepca`>particularly 'sigaction'
<apteryx>boeg: I use a user Shepherd service for gpg-agent
<apteryx>because I use gpg-agent as my ssh-agent, and for this use case it is better to be always on (IIRC).
<boeg>apteryx: can you share it?
<sirmacik>reepca`: just what I needed, thank you!
<apteryx>boeg: sure, here's a paste of the two files:
<apteryx>Perhaps we should put this kind of user Shepherd services example in the Guix Cookbook
<boeg>apteryx: maybe a good idea yes
<boeg>and thanks, ill try it out
<apteryx>to start the user Shepherd services' you just run 'shepherd' from your .xsession or the like
<reepca`>over in #lisp they've got a bot for posting links to specified clhs sections
<boeg>apteryx: `exec shepherd` or just `shepherd` ?
<reepca`>maybe we could teach sneek a few new tricks
<apteryx>boeg: I only call 'shepherd'
<boeg>apteryx: thanks
<raingloom>so, ugh, i'm having some amdgpu troubles. anyone has any tips?
<raingloom>gdm doesn't start and i don't even get a login prompt unless i add nomodeset to the kernel parameters
<drakonis>oh yeah
<drakonis>that doesnt work because of linux-libre
<drakonis>because it doesnt load the firmware that amdgpu requires
<apteryx>raingloom: no much tip other than to complain to AMD that their "free" drivers are basically useless without the firmware blobs.
<reepca`>my experience of "getting amdgpu working" involved buying some old nvidia cards :-/
<drakonis>if you're good enough with scheme, you can get around that
<reepca`>that being said, it was possible to drive a single monitor with VESA drivers and no acceleration IIRC
<drakonis>just build your own kernel
<raingloom>i tried the nonguix channel, which is supposed to have the blobs, but that doesn't work either.
<drakonis>have you read the readme
<raingloom>my other card is an nvidia and nouveau always crashes
<drakonis>dont punish people for buying new hardware
<drakonis>raingloom: is it a 1000 or 2000 series card?
<drakonis>these dont like nouveau without binaries
<reepca`>hmm, nouveau doesn't really "crash" for me per se, though it does tend to hang
<raingloom>MSI GTX 650 if i remember correctly. the AMD one is ASUS R9 270.
<raingloom>well, Blender crashes with it
<drakonis>that's old enough to not have issues with nouveau
<drakonis>keplers run well with nouveau
<drakonis>though it is hurt by the lack of nouveau firmware
<raingloom>it definitely has issues, sadly. can't even render anything in Blender without Blender freezing or crashing. but at least the viewport works.... until it crashes. :/
<drakonis>i have a 960 gtx and it works decently well, thankfully
<nckx>This has gone back on track but please don't point people to proprietary crap here. That includes where to find it.
<drakonis>yes yes
<apteryx>raingloom: perhaps the issue is with our build of Blender rather than Nouveau? Is the desktop running fine otherwise?
<raingloom>ah. looks like i was missing a firmware package from the system config.
<apteryx>Other 3D apps (such as games in Guix) render OK?
<raingloom>apteryx: not sure. i only use my desktop PC for Blender. i could try some games i guess, but i'd rather not have to switch cards again.
<nckx>So… is there any ‘modern’ graphics card that can be used with free software?
<drakonis>my current gpu works but it cannot reclock
<nckx>*used to the fullest.
<nckx>My bad.
<drakonis>so its running at minimum speed
<drakonis>so no
<nckx>Well that's horrible.
<drakonis>maybe when intel ships their new gpu?
<drakonis>they're fairly decent at this
<drakonis>at running hardware at degraded state instead of being outright nonfunctional
<drakonis>nvidia without firmware is barely usable
<drakonis>it starts spinning up at the slightest load
<nckx>Plenty of stuff using the venerable i915 driver still ‘needs’ firmware (this may be obvious to some but it was a disappointment to me), but at least it all works, I think.
<jonsger>drakonis: I wouldn't bet to much on Intel. AFAIK they starting to require more firmware on their newest systems
<drakonis>hm i see
*nckx goes to get the flamethrower.
<raingloom>i heard rumors of a RISC-V GPU, but idk if that'll be open or even have the features necessary for 3D work.
<jonsger>raingloom: thats nothing for the next 3 years
<drakonis>you have to implement the graphical apis required for such work
<sirmacik>I'm working on running cron daemon and my biggest trouble is in creating crontabs for every user, so that while being setup service enumerates system users and creates /var/cron/tabs/user files with user:user ownership
<sirmacik>how can I do that?
<sirmacik>it'd be easy in config.scm but needs to be done while guix installs package/daemon
<reepca`>agh... apparently calling unshare with CLONE_NEWPID makes it impossible to create new threads in that process. Thanks, linux.
<mbakke>alextee: I'm not able to reproduce the 'guix pack' issue, when testing it locally with './pre-inst-env guix pack -RR -S /opt/zrythm/bin=bin zrythm' and running the unpacked executable I don't see the 'non-grafted' fontconfig (/gnu/store/bf2jmcvrq5qbbnwv8mzxglrkaj2v7232-fontconfig-2.13.1) anywhere
<alextee[m]>mbakke: did you run it on a foreign distro?
<mbakke>well no, but I don't think it matters, I'm just looking at the trace
<mbakke>I noticed in your trace that it was using the non-grafted fontconfig, not sure how that happened
<alextee[m]>hmm weird
<mbakke>alextee: after unpacking, do you have gnu/store/yykjxzsw9yrhbdwm0v45cxp2fnyjzn6f-fontconfig-2.13.1 ?
<mbakke>or gnu/store/bf2jmcvrq5qbbnwv8mzxglrkaj2v7232-fontconfig-2.13.1 ?
<alextee[m]>mbakke: gnu/store/bf2jmcvrq5qbbnwv8mzxglrkaj2v7232-fontconfig-2.13.1
<mbakke>right, that means the graft was not picked up
<mbakke>can you check with 'guix describe' that the commit matches the one you got after 'git am' ?
<alextee[m]>mbakke: it doesn't match
<alextee[m]>git rev-parse HEAD tells me 4ed8a1db9514885ba09585d8c3bb5ee0dd83c893, but guix describe says 70d1e9714c2a3f2041731f79c7c9ab05a045752d
<alextee[m]>is this wrong? `guix pull --url=/home/alex/Documents/git/guix`
<mbakke>that explains it :-)
*alextee[m] sent a long message: < >
<mbakke>hmm, apparently --url was ineffective?
<mbakke>alextee: you should see `Updating channel 'guix' from Git repository at '/home/alex/Documents/git/guix'...` when it works
<mbakke>though if you have `./pre-inst-env` configured, just use that instead of going through the 'guix pull' machinery
<alextee[m]>yeah it says: Updating channel 'guix' from Git repository at '/home/alex/Documents/git/guix'... it said that before too
<alextee[m]>it shows the commit though now, i dont remember before
<alextee[m]>guix /home/alex/Documents/git/guix 4ed8a1d
<mbakke>oh, that's promising
<alextee[m]>let me re-run guix describe when it finishes
<mbakke>awesome, and try to run 'guix pack' again if the commit is correct :-)
<ryanprior>So thanks to reepca` advice I was able to fix wrap-cc, and I've created wrappers for all the c compilers in guix. (I think I got 'em all.) Still a mystery though: the gcc wrapper (and /only/ the gcc wrapper) doesn't work. Take a look here:
<ryanprior>Also I tried to DRY my code a little with a macro but couldn't get it working, if anybody can help explain how this macro ought to work that would be cool. My Guile is still poor as you can see, I'm reading lots of docs and examples but can't find something like this.
<nckx>apteryx: Weird! Your fix-up commit added a ‘)’ too many but… Guile didn't care.
<nckx>I guess a lower-tech answer to your previous question could've been ‘grep -o '(' etc/news.scm | wc -l; grep -o ')' etc/news.scm | wc -l’ & make sure they're the same, because Guile is becoming sentient.
<reepca`>ryanprior: yeah, computed names is one of those things you can't really do with syntax-rules. You'd have to switch to using syntax-case.
<reepca`>also, note that currently your wrappers are inheriting the hidden property from the things they wrap, so for example "guix build gcc-wrapper" wouldn't find them
<reepca`>that might be fine anyway, since either these should only be used as inputs to packages or they should be wrapping gcc-toolchain instead
<reepca`>also note that currently the wrapper packages require the same inputs as the things they are wrapping, which probably isn't desirable - all they actually need is the package being wrapped.
<mbakke>alextee: were you able to test the new fontconfig?
<alextee[m]>mbakke: guix upgrade is still running lol
<mbakke>alextee: you can run the 'guix pack' command in parallel though :-)
<kamil_>Hey! I'm trying to build a wlroots package from the master branch of its git repository, and it requires meson-0.54.2 not found in our repository. I've built meson-0.54.2 with 'guix build meson --with-sources=', and now to build wlroots using this version I appended '--with-input=meson=meson@0.54.2' to 'guix build wlroots --with-source=wlroots@git=./wlroots
<kamil_>(I git cloned the repo)', but it's telling me that 'meson-0.54.2' is not installed. What am I doing wrong?
<alextee[m]>mbakke: it works!!
<mbakke>alextee: awesome, thanks a lot for testing!
*alextee[m] uploaded an image: Screenshot from 2020-05-20 22-11-33.png (127KB) < >
<mbakke>yay :-)
<alextee[m]>hmm missing the dseg font in the meters
<alextee[m]>that's an input to the package
<alextee[m]>also the general font should be cantarell i think
<alextee[m]>does this only have a basic font usable? mbakke: it seems fonts other than the basic one arent loaded
<mbakke>alextee: indeed, that was always the case: the difference is that the basic font is "font-dejavu" instead of "gs-fonts" since the latter is no longer recognized by GTK+
<alextee[m]>mbakke: is there a way to enable extra fonts then?
<mbakke>alextee: you could use the same approach as that graft, just with a 'font-union' of the fonts that you want to bundle :-/
<mbakke>terrible hack I know
<mbakke>kamil_: for '--with-input' to work, the new Meson must be defined in your local Guix repository
<alextee[m]>mbakke: thanks! well, i dont really mind having to do that. so i should make a "myfontpack" package and list it there instead of font-dejavu right?
<alextee[m]>and have the fonts i want as propagated inputs?
<mbakke>alextee: you'll need a "myfontpack" variable that computes to a single output containing all the fonts you want (just propagating won't work), and then pass that to the grafted fontconfig
<kamil_>mbakke, how do I get to define a package in a local Guix repository if it is already to be found in /gnu/store??
<kamil_>Whoops, one extra redundant question mark. Sorry!
<alextee[m]>mbakke: nice! i'll try later - not sure i understand 100% but i'll ask if i need help
<mbakke>kamil_: Guix doesn't know how to find things in your store unless you have a derivation that evaluates to that thing. When you used '--with-sources=<new-meson>' earlier, Guix computed a custom Meson derivation on the fly.
<alextee[m]>also another issue i have is with loading external plugins. they need some libs that are only present in the distro (like freetype) and dlopen () fails. a dirty hack is passing LD_LIBRARY_PATH but it seems it doesnt work well everywhere. is there a nice way to accomplish loading external plugins with their dependent .so's?
<alextee[m]>just addding /usr/lib64:/usr/lib somewhere would work on 90% of distros, but im not sure where to specify this
<mbakke>alextee: Guix uses RUNPATHs heavily to cope with that, but I'm not too familiar with how that works with 'guix pack'.
<mbakke>alextee: probably you just need to link the executable with -Wl,-rpath=(string-append (assoc-ref inputs "freetype") "/lib")
<mbakke>though the 'validate-runpaths' phase should have complained if you had any loose references
<jonsger>why do I need to build /gnu/store/bydyl62p3lwjhdrd65w2mizpqndlr16c-guix-1.1.0-4.bdc801e.drv? it doesn't even appear on cuirass with this hash
<alextee[m]>mbakke: oh i could try linking with -Wl,-rpath=/usr/lib then. will that also replace the runtime paths that the pack looks in? ideally i want it to look there first
<alextee[m]>i mean i want it to look wherever the pack is already looking for libs (inside gnu/store), and then if not found, look in /usr/lib
<mbakke>alextee: Ideally all libs would already be available, it's one of the big selling points of Guix that everything uses exact versions of all dependencies :-)
<mbakke>alextee: the ld wrapper will not even allow adding /usr/lib on RUNPATH unless you set a special variable ;-)
<kamil_>mbakke, Oh, that makes sense. Well. Where do I start?
<alextee[m]>yeah that doesnt work with external plugins though
<alextee[m]>i see
<alextee[m]>i guess i could add a few plugins that guix has in the pack, that would add a few dependencies a lot of plugins use. and then maybe i can load the rest in an external process or something
<mbakke>alextee: right, external plugins, hmm. Well you could experiment with that linker flag and $GUIX_LD_WRAPPER_ALLOW_IMPURITIES.
<mbakke>kamil_: the contributing section of the manual describes how to get started with hacking on Guix:
<alextee[m]>mbakke: cool, thanks!
<mbakke>if you don't intend to upstream your changes, you can keep them in a channel instead
<civodul>alextee[m], mbakke: external plugins as in ".so files not built with Guix" are unlikely to work though
<civodul>typically dlopening them would fail because they're linked against a different libc
<alextee[m]>hmm so loading in an external process (with carla maybe) is probably the only option
<alextee[m]>it seems to work for some plugins that don't have a UI, so i guess try with dlopen normally and then load in an external process if it fails
<kamil_>That's looks hella complicated to manage own channel for a single package only to test out newer release of other package.
<reepca`>civodul: so right now I'm on plan G of eval-with-container :-/
<civodul>kamil_: for that i'd recommend --with-source or --with-branch
<civodul>reepca`: ah!
<civodul>sounds good i guess? :-)
<civodul>certainly better than plan F, which itself was an improvement over plan E
<reepca`>I managed to get a working unshare-guile program, but then I found out that unshare(CLONE_NEWPID) didn't do what I thought it did - it just makes it so that the next process it spawns is PID 1 in that namespace, it doesn't make itself PID 1 in the new namespace...
<reepca`>it also prevents the calling process from ever spawning threads
<alextee[m]><civodul "typically dlopening them would f"> would static linking solve this?
<kamil_>civodul, the problem is that I need to build a dependency of a package that I also need to build
<civodul>reepca`: oh, just saw your message
<reepca`>plan G is now to exploit CLONE_PARENT so that we can spawn a child that uses clone to create a sibling of itself
<civodul>i'm not paying enough attention to email :-)
<nckx>Bah, 52c463a9, what is going *on* with me… ☹
<jonsger>nckx: nice way to get some updates in :)
<nckx>[PATCH] Have ‘guix pull’ protect against nckx's upgrade attacks