IRC channel logs

2024-01-10.log

back to list of logs

<podiki>mange: thanks!
<lechner>graywolf / try what more than 15 times, please?
<graywolf>mumi command line tool allows sending a patch series in one go, it waits for the processing of the firs and sends the rest to the bug address.
<graywolf>It retries 15 times, with 1 minute sleep while waiting for the first mail to be processed
<graywolf>In my 2 tries it never happened in time, so I had to send the 2nd+ patches manually using git send-email
<graywolf>Should have been clearer
<lechner>graywolf / with some luck that will work a lot better in the near future
<ulfvonbelow>how would I go about adding an extra read-write partition to my installer flash drive? fdisk says: The device contains 'iso9660' signature and it will be removed by a write command. See fdisk(8) man page and --wipe option for more details.
<lechner>ulfvonbelow / does it have a partition table?
<ulfvonbelow>dunno, I just dd'ed the result of ./pre-inst-env guix system image -t iso9660 gnu/system/install.scm onto /dev/sdc
<Kabouik>sheperd is using 100% of one of my cores, how can I check what is happening?
<Kabouik>shepherd*
<Kabouik>Hum, any ideas what is happening? https://0x0.st/HIBf.txt Tor is not even installed (not listed in `guix package -I`).
<Kabouik>Could it be related to enabling tor services during the initial Guix install, without really knowing what this would imply? (I thought it would just install the package and possibly preconfigure stuff to ease its use, but not automatically run anything without prompting the user)
<snape>Kabouik: enabling a service doesn't install the corresponding package
<mange>Kabouik: are you installing a Guix system? And do you have tor listed as a system service?
<snape>no, and no
<snape>oops ignore my reply
<snape>Kabouik, so if you just want the package installed, you do "guix install tor", if you want the service to run as a daemon, you install it as a service
<Kabouik>No my system is already installed snape, and tor is not installed in my user profile, however I may have enabled "tor service" during the Guix system install. I seem to remember there is such an option at the same step when one can enable sshd too. I just thought "Why not, maybe I'll need it one day and I won't know how to set it up in Guix so let's do it now". And now, I just noticed that one of my cores was at 100% usage, and that those guile
<Kabouik>process were responsible. This is the first time I see those symptoms, and it happened right after boot. Seeing torrc running and using cpu while it never happened was actually concerning since I didn't run anything manually for that.
<snape>well, so I think you can just edit your config.scm, remove the tor service and run "reconfigure" again
<snape>(and restart)
<Kabouik>Thanks. But what does the service does unattended that it may most of the time not be noticeable and then suddenly it's using one of my cores without me doing anything? Am I contributing to the tor network?
<ieure>Kabouik, According to the manual's entry for tor-service-type, it runs the tor daemon. I don't know if that means you're running a router node, you'd need to know more about tor than I do to answer that.
<Kabouik>I don't really know what this implies either and couldn't find it in the doc either, but that would be interesting to elaborate in the manual. When my CPU core was at 100% (a few tens of minutes), my network traffic didn't noticeably increase.
<ieure>Yeah, no idea. Only time I've used Tor is when I worked for a place that routed all traffic out an AWS box, which some things absolutely refused to serve from, since a ton of bad traffic comes from cloud providers. So I used Tor Browser for a few sites.
<ulfvonbelow>there are sites that trust AWS less than tor exit nodes?
<ieure>Yes.
<ulfvonbelow>that's rather impressive
<ulfvonbelow>I suppose it's probably easier to conduct ddos attacks over the clearnet
<wdkrnls>Deaer Guix, how do I use gpg on guix? I tried to encrypt a file symmetrically and it complained about the pinentry.
<sneek>wdkrnls, you have 1 message!
<sneek>wdkrnls, apteryx says: perhaps you could use pandoc
<wdkrnls>It said it wasn't available.
<apteryx>what kind of markdown?
<mange>wdkrnls: Are you using Guix Home? The manual talks about configuring it in (guix) GNU Privacy Guard. If not, I think you can set the pinentry program in ~/.gnupg/gpg-agent.conf.
<wdkrnls>mange: No, I am not. However, I am betting my problem has something to do with gpg-agent, so thanks for the tip.
<wdkrnls>apteryx: I was using pandoc. Well, r-rmarkdown was using pandoc. I figured out that I just needed to add a bunch of extra texlive packages to my manifest for it to work: texlive-xcolor texlive-fancyvrb texlive-framed texlive-selnolig texlive-xurl texlive-bookmark texlive-hyperref texlive-collection-xetex texlive-collection-latexrecommended texlive-collection-basic
<mange>You should be able to make it work by installing one of the pinentry variants (e.g. guix install pinentry-gtk2) then putting a line like "pinentry-program pinentry-gtk2" (without the quotes, I'm not sure if it needs to be an absolute path) in ~/.gnupg/gpg-agent.conf (creating it if necessary).
<mange>Sorry, apparently the line would just be "pinentry-program pinentry". That feels like it might even be the default, so maybe just installing pinentry-gtk2 would be enough.
<wdkrnls>Hmm... I tried to start it with: gpg-agent --pinentry-program pinentry
<wdkrnls>However, actually calling gpg still didn't work.
<ieure>wdkrnls, Are you using a hardware token?
<wdkrnls>nope
<ieure>wdkrnls, Alright. This is the relevant part of my home config: https://paste.debian.net/1303589/
<peanuts>"debian Pastezone" https://paste.debian.net/1303589
<ieure>gpg works for me, I am using a hardware token, but I didn't paste that stuff.
<ieure>Sub whatever pinentry you want to use in there.
<wdkrnls>I remember in the past it worked for me as well.
<ieure>Well, if it's in the relatively recent past, you can `guix home list-generations' and `guix home switch-generation' to go back to the working setup.
<ieure>That's one of the very nice things about Guix.
<alepzi>hey, when's the next new cool guix feature?
<ieure>Weeks ago, it's in the patch queue, ha
<ieure>If someone needs an idea for a Guix feature: every build step should work like building a Docker image, accumulating a layer for each step. So if you change, say, the location files get installed at the very end of the build, it doesn't take an hour performing a needless compile.
<ieure>That's a thing I'd get a tremendous amount of value from.
<alepzi>ieure: i haven't used docker. what do you mean accumulating a "layer" for each step?
<ieure>alepzi, Dockerfiles consist of some number of commands, the sum of which result in an image, which you can then run inside a container. When it starts to execute a step, it mounts an overlayfs on top of the result of the previous build step, and the results of that step are a layer.
<ieure>alepzi, If you change a step halfway through your Dockerfile, it runs immediately, using the layer of the last unchanged command.
<alepzi>and all of these intermediate layers are stored for each dockerfile?
<ieure>I don't know the exact implementation details, but at least for a while, yes.
<alepzi>what granularity is each command layer? like every little thing that configures a system?
<ieure>The granularity is "arbitrary shell command."
<ieure>So if you're building software, you might do `RUN ./configure', then `RUN make', then `RUN make install'.
<alepzi>is a layer all of the files and dirs that would be added to a default state?
<ieure>It starts from either a clean slate (nothing at all) or some other image (like debian:bookworm-latest).
<alepzi>could you diff each command to see what changes it makes?
<ieure>I don't know of a way to do that, it should be possible, I'm not sure tooling exists for it.
<ieure>But in the build exa
<ieure>ugh
<alepzi>i'm surprised guix doesn't already work like that
<alepzi>what do you think about guix syntax for system config?
<ieure>But in the build example, if you then decide you want to install somewhere else, you can edit the last command to be `RUN make install PREFIX=/opt' (or whatever). And because the previous commands didn't change, they don't execute again. It takes the layer resulting from the `RUN make' command, then runs the new `make install' on it.
<alepzi>so it's fast to update images
<ieure>Whereas, with Guix, I'm sitting here with a scorching laptop recompiling a whole-ass web browser because I changed the build step that creates the .desktop file, which takes less than one second to run.
<alepzi>using each layer as a cache
<ieure>Yes.
<alepzi>i wonder if it's because guix is declarative whereas it sounds like dockerfile is imperative?
<alepzi>so order matters to docker but not to guix?
<ieure>The build steps in Guix packages are imperative, and order absolutely matters.
<alepzi>what about system config? the operating-system thing
<ieure>That's orthogonal to what I'm talking about.
<alepzi>ya i was jc
<alepzi>well ya sounds like guix should do way more caching like docker
<alepzi>do you like the guix syntax for configuration? it's kinda foreign to me. scheme. with all the ()
<ieure>I've been hacking lisps for nearly 20 years, the syntax doesn't faze me at all.
<alepzi>what're a couple downsides to lisp syntax?
<ieure>none lol
<alepzi>especially for a config file format
<alepzi>because like yaml sucks
<ieure>Yeah it does
<alepzi>ok so if kubernetes config file standardized on scheme like guix has, would it be clearly better?
<ieure>People seem to have a visceral reaction to sexps, which I don't really understand. The two keys to Lisps are, first, it's just like a function call, except the paren is in a different place foo(bar, baz) -> (foo bar baz). Same number of parens.
<ieure>And the second is that *everything* in Lisps looks like a function call.
<ieure>Never used k8s, it's 100x more complicated than anything I care about. I don't think you can just say "sexps good" and so we should use it, there are other considerations. Since I don't know what the k8s configs are doing, I have no idea if sexps are a good fit.
<ieure>I'd say, probably not. They're a good fit for Lisps, and I know k8s doesn't use one.
<alepzi>ever used ansible?
<ieure>Yes, it's horrible.
<ieure>A big thing motivating me to get Guix daily-driveable is the declarative configs, which are indescribably less shit than trying to wrangle Debian + Ansible to set it all up.
<alepzi>ya
<alepzi>so would ansible be better if it was sexps and not yaml?
<ieure>No.
<alepzi>not at all?
<ieure>Not even a little.
<alepzi>ah
<alepzi>what's your main gripe then?
<ieure>If I had to pick a single thing about Ansible to gripe about, it'd be that it enforces statelessness between commands at the expense of performance. Everything opens a new SSH connection and runs a command and closes it, instead of opening one, running everything, then closing it.
<ieure>Secondary gripe is that a lot of the roles in ansible-galaxy are extremely half-assed and are more or less "works on my laptop" state.
<alepzi>ya
<ieure>Tertiary gripe is that it's extremely easy to leave stale state laying around and there's no facility at all for helping with that.
<alepzi>like files?
<ieure>Yes.
<alepzi>ya
<alepzi>you gonna use guix as a server?
<ieure>Maybe eventually.
<ieure>For example, Debian bookworm added a non-free-firmware section to their repos, I added that to the Ansible thing that manages repos, that added a new line to my sources.list file(s), but didn't remove the old one. Now apt gripes about multiple sources with overlap. oops
<alepzi>i wonder how good it is as a server, like running a web server, postgres, stuff like that
<alepzi>ah ya
<alepzi>ansible sucks for that
<ieure>Yes, it's awful.
<ieure>I will say: It's clears the unbelievably low bar of "better than Puppet." A friend who used (and worked for) Chef likes it better than Chef as well. But "better than very bad" is not an endorsement.
<ieure>What I'm not sure Guix has a great story for is *remotely* managing stuff. It has `guix deploy', but it seems kind of half-baked to me.
<alepzi>how so?
<ieure>Go read the section in the manual for it.
<ieure>I haven't tried to use it, this is just an impression.
<ieure>It seems like it needs much more manual setup than Ansible.
<ieure>But 95% of what I use Ansible for is manging whatever I'm logged into, so Guix solves 95% of my problem. And since I set up my own channel, I have most of my configs in there and can relatively easily pull those into the system or home config. That's pretty nice.
<alepzi>ya
<alepzi>tbh i think guix should be way easier to manage than anything with ansible
<ieure>Like: I want gpg/gpg-agent on anything I physically interact with. So that stuff's in the (atomized system) module in my channel, and I pull that into the system config and add those services and hey presto. Don't have to duplicate code between machine setups.
<ieure>Yes. For the usecase of managing the local machine, Guix is already tremendously better than Ansible.
<alepzi>you have your config, you have the server running guix, you shit the config file to the server and its daemon integrates it. no need for imperative commands 1 at a time against the server like ansible does
<ieure>For remote, I'm not yet convinced. But I can also just ssh into the machine and pull and reconfigure, which isn't all that bad.
<alepzi>ya
<alepzi>but we gotta get guix caching more sophisticated like you said
<alepzi>maybe open a feature request and put out the details on how docker does it better with layers
<mange>The main advantage of "guix deploy" over "log in and pull+reconfigure" is that the builds happen on my machine instead. So when I "guix deploy" it does all the expensive work on my local machine, then can transfer the results to the (much slower) remote machine.
<ieure>That's definitely nice, though it's definitely not always the case for me.
<mange>As in, sometimes the remote machine is faster? If you change build-locally? in the machine configuration then you can get it to build on the remote machine instead.
<ieure>Mm, yeah. Sometimes I update from my desktop, which is faster. Others, from a laptop, which is not.
<ieure>Guess I need a substitute server.
<mange>You could also define build-locally? as a computed value that looks at hostname to decide what to do. Or even look at processors/memory to decide. Or even compare local and remote to choose where to build. That's the curse of having your configuration in Guile - too much power.
<lilyp>add some machine learning to it, that'll help :)
<sneek>Yey! efraim is back :)
<sneek>Welcome back janneke
<efraim>sneek: botsnack
<sneek>:)
<villageidiot>I'm finally getting around to using Guix Home and am having trouble setting up pipewire. Guile is complaining that `home-pipewire-service-type` from (gnu home services sound) is unbound, even after (use-modules (gnu home services sound)). I'm not sure if I'm crazy or stupid (or both).
<ulfvonbelow>hmm, my i686-linux customized installer image seems to be having trouble finding its root partition... it kernel panics and then says "not syncing: VFS: Unable to mount root fs on unknown-block(0,0)"
<ulfvonbelow>putting the flash drive back into my main computer, lsblk -o +UUID shows no UUIDs at all
<ulfvonbelow>which according to /boot/grub/grub.cfg is what it's supposed to be using to find the root partition
<ulfvonbelow>ah, never mind, apparently lsblk silently fails to populate those columns if it doesn't have permission to access the devices directly
<ulfvonbelow>hm, seems the uuid on the partition matches what's in grub.cfg
<ulfvonbelow>er, actually, are the uuid grub uses to find the root filesystem and the uuid it passes as 'root=<uuid>' on the linux command line supposed to be the same?
<ulfvonbelow>grub's looking for 1970-01-01-19-33-31-83, but then seems to be telling linux to look for 31393730-3031-3031-3139-333333313833... those aren't even the same size!
<ulfvonbelow>actually seems like it might be a problem with the initrd?
<ulfvonbelow>in which case it would probably be related to some offtopic modifications
<apoorv569>What to put in case of a default value of empty string? `#f`?
<apoorv569>I am writing a guix home service and I wanna have a default field of a value to be of type string but empty, in the `(define-configuration` block I mean.
<iyzsong>apoorv569: likely '(default "")'
<yelninei>hi, how do I read system logs? something like the adm group does not seem to exist and opening them with sudo is not nice
<apoorv569>iyzsong: So just empty quotes `""`
<efraim>apoorv569: yep
<apoorv569>OK.
<apoorv569>If I wanna choose between home-xdg-configuration-service-type and home-files-service-type based on if user set xdg-flavor? to #t or #f how do I do that?
<apoorv569>I saw the zsh code, but I can read it (still learning lisp)..
<apoorv569>can't*
<apoorv569>I see that it has these 2 things that check if xdg-flavor is set to true or false, https://0x0.st/HIuK.txt
<apoorv569>But then it calls other stuff like https://0x0.st/HIuP.txt
<rekado>is someone working on removing the time bomb from icedtea?
<efraim>good news! I manged to replicate the failure I got while building rust-bootstrap on ppc64le on x86_64, so now I can try to fix it more easily
<apoorv569>Is this correct way to do it? https://0x0.st/HIuf.txt
<apoorv569>There is an extra `zsh/` in the add-git-xdg-configuration from copy pasting stuff..
<apoorv569>removed it..
<apoorv569> https://0x0.st/HIuV.txt
<apoorv569>I feel like there can just be one function that checks it because the if condition is same for both..
<ulfvonbelow>you know, I'm finding that the kernel panic vomit is particularly unhelpful in that it prevents me from seeing what was output immediately before it, since it takes up the whole screen
<vixus>Can I install a package from a local checkout of the guix repository to my regular user profile?
<ulfvonbelow>like, who thought it would be a good idea to flood the screen with a kernel backtrace and register dump when the "Attempted to kill init!" error condition is encountered?
<efraim>vixus: yes, using the same ./pre-inst-env as everything else from the local checkout
<apoorv569>Yea, its same https://0x0.st/HIuW.txt
<vixus>efraim: ah, does that work because of the ./configure --localstatedir=/var --sysconfdir=/etc I ran previously?
<efraim>yes, basically
<rekado>ulfvonbelow: on systems that are potentially so broken that the kernel panics (such as development boards) people usually have a serial interface to read the whole backtrace.
<efraim>when I'm testing new system services or other things I expect to blow up spectacularly I normally try them out in a VM
<rekado>and when I use a VM with qemu I use “-monitor stdio” to get the console log printed
<ulfvonbelow>so my live usb custom-installer thingy apparently has no trouble getting grub to run, and it makes it past the initrd stage and into the boot script, but on trying to load (gnu build activation) in the activation phase it blows up, complaining about an unbound 'and-line' variable. (I know this because I painstakingly followed each step manually in the gnu.repl). Apparently on that flash drive, (gnu build activation) contains a huge
<ulfvonbelow>chunk of zero bytes.
<ulfvonbelow>but when I plug the flash drive back into my main system, mount it, and inspect that exact file, it's perfectly fine
<ulfvonbelow>what sorcery is this
<ulfvonbelow>is this one of those things where old laptops can't give enough current to power a modern flash drive or something?
<Kabouik>Hum, sr.ht seems to be down
<vixus>ok so I have a branch for updating godot, but that also required an update to a whole bunch of vulkan packages. guix refresh --list-dependent suggests 4000+ dependents for these... I suppose it's best to submit the vulkan update as a separate patch?
<ulfvonbelow>I imagine if I try booting the image in qemu it'll work just fine, I've got it building right now
<apoorv569>Why am I getting this error? the field is of type integer.. https://0x0.st/HIu6.txt
<apoorv569> https://0x0.st/HIuI.txt
<ulfvonbelow>I might legitimately try burning it on to a dvd
<apoorv569> https://0x0.st/HIul.txt
<apoorv569>I'm generating config like this BTW, https://0x0.st/HIuU.txt
<efraim>cbaines: patches.guix-patches,cbaines.net certificate expired
<ulfvonbelow>yep, sure enough, it's working in qemu... but when I try it on the laptop using a dvd I just burned, it still fails, but now it's going slowly enough that I can see it first complain about a bad swap entry (???) and then complain about there being no variable named "and-line"
<cbaines>thanks efraim, I've restarted nginx
<Kolev>I'm having trouble with audio. https://lists.gnu.org/archive/html/help-guix/2023-11/msg00052.html
<peanuts>"chromebook-ucm-conf" https://lists.gnu.org/archive/html/help-guix/2023-11/msg00052.html
<civodul>the Java time bomb actually affects ‘master’
<civodul>but we have patches! https://issues.guix.gnu.org/68333
<peanuts>"Time bomb in icedtea/openjdk" https://issues.guix.gnu.org/68333
<jackhill>ACTION hums Dana Lyons's "Timebomb"
<alepzi->what's a time bomb?
<rekado>alepzi-: an error that only happens at some future point
<jackhill>alepzi-: in this case, the build outcome depends on the systems clock. If it's too far in the future from when the software was written, it fails to build. It can happen for a number of reasons such as cheding certificate validity in a test for instance.
<rekado>civodul: I’d change that patch by saving and reusing the match, but aside from that it looks fine to me.
<civodul>rekado: i proposed a slightly different patch here: https://issues.guix.gnu.org/68333#5
<peanuts>"Time bomb in icedtea/openjdk" https://issues.guix.gnu.org/68333#5
<rekado>civodul: perfect, this looks good to me!
<civodul>awesome
<civodul>i’ll push it once i’ve confirmed everything actually builds
<civodul>i wonder if a similar time bombs is present in more recent versions though
<civodul>looks like icedtea@2 builds sequentially, even though it invokes “make -j32” here
<panosalevro>hey all, im trying home config for the first time. i installed some packages via `guix home reconfigure` and i can see they are in ~/.guix-home/profile/bin. im logged in as my user but i cant run any of the installed packages. what am i missing?
<rekado>that time bomb also broke packages in guix-science
<rekado>panosalevro: you’re missing environment variables.
<rekado>they are all defined in ~/.guix-home/profile/etc/profile
<panosalevro>rekado: thanks, i forgot about that. why doesn't this happen automatically?
<panosalevro>why not source it by default?
<ieure>panosalevro, It is sourced by default.
<rekado>panosalevro: perhaps you need home-bash-service-type
<ieure>In ~/.profile
<ieure>If, yes, you have home-bash-service-type.
<panosalevro>oh, i dont. that explains it
<ieure>You might also be missing that you need to log out/back in or re-source things after a home reconfigure. Programs run by the shell can't change the shell's environment, which means home reconfigure can't update your environment variables.
<panosalevro>got it
<adanska>Hi Guix! I'm just packaging a CL program "lem", and I'm trying to understand how the asdf-build-system works. It says in the docs it looks at for every asd file in the source tree for definitions, but this doesnt seem the case for me. it seems to only look at the top level asd files "lem.asd" and "lem-tests.asd". is this the desired behaviour>
<adanska>*?
<adanska>im going to bed now, so sneek me!
<civodul>icedtea@3 built!
<gabber>i am trying to convert a LaTeX .tex file with a minimalist guix manifest (https://termbin.com/o9la) but i run into: "Package babel Error: You haven't defined the language 'nil' yet." the relevant line in the .tex file is: \usepackage[english]{babel}
<gabber>i have tried a couple of options for that package but i'm unable to get a nicely hyphenated output on my pdf
<Kabouik>I know there are many sourcehut users here. Did anyone managed to reach it today? It's been down since this morning it seems.
<Kabouik>Alright: https://status.sr.ht/
<peanuts>"sr.ht status" https://status.sr.ht
<apteryx>icedtea-2.6.13 is broken on master, right?
<apteryx>I can't build adb
<gabber>huh, turns out texlive-hyphen-base package is needed for that shouldn't it be a dependency for texlive-babel[-LANG] ?
<apteryx>civodul: was that icedtea@3 fix you mentioned reported to that icedtea@2 not building, or completely different?
<civodul>apteryx: yes, it’s the exact same thing, although the files were renamed between IcedTea 7 and IcedTea 8
<civodul> https://git.savannah.gnu.org/cgit/guix.git/commit/?id=5c0f77f4241c9beac0c82deae946bfdc70b49ff0
<peanuts>"guix.git - GNU Guix and GNU Guix System" https://git.savannah.gnu.org/cgit/guix.git/commit/?id=5c0f77f4241c9beac0c82deae946bfdc70b49ff0
<apteryx>civodul: OK! So it's now resolved on master?
<civodul>apteryx: yes!
<civodul>turns out the regression was introduced ‘mesa-updates’, but maybe it went unnoticed because the time bomb had not exploded yet
<civodul>ACTION .oO( We should find a more peaceful metaphor for this phenomenon )
<podiki>i don't remember making any java changes on mesa-updates, but it is true time did pass
<podiki>try as I might, I could not stop that
<apoorv569>did something break in recent commits.. dmenu is not showing any programs from home profile
<apoorv569>but i can launch them from terminal
<civodul>podiki: yeah, it’s the kind of thing we can’t anticipate
<podiki>time catches us all, or something like that :)
<podiki>ACTION is excited to get some hardware today to make a guix server
<civodul>neat!
<civodul>build farm or just service some other things?
<podiki>would there be interest in a blog post about it? developing a system config with guix and using vm testing, basic setup?
<podiki>home server
<podiki>my Pi is tired it seems (it is on Arch too, and the lack of atomic updates is hurting me)
<podiki>so I'll be using combo of shepherd services (nginx, postgres, etc.) and then docker for what we don't have yet; then turn my guix sights on: updating and service for matrix synapse, pi hole if possible?, others
<ssouth>podiki: What hardware did you settle on?
<apoorv569>same on another system.. can't even guix pull
<apoorv569>this other was find yesterday i just turned it on..
<apoorv569>other system*
<podiki>ssouth: picked up a used HP ProDesk 600 G3; basically those little pc business use everywhere, older but ~$75 with tax and shipping for some decent specs (8 gig ram, i5 7500t, 256gb ssd)
<ssouth>podiki: Nice. I love those small form-factor PCs.
<ssouth>That'll be plenty powerful too.
<podiki>yeah, glad I heard about them, good to reuse hardware, nice price, low power (this idles < 10W i think?)
<podiki>and then I guess I can repurpose the pi4 to experiment with guix on arm?
<Guest14>I did a guix pull and got /home/cm/.cache/guix/checkouts/l74zueb3lgylhgxnuzx3d5fzraztxvzu2s4466wlqqvmz7hdct3a/news.txt:12:1: error: invalid channel news entry
<Guest14>I guess "New `--max-layers=N' option for the `guix pack' command" has some errors
<civodul>ouch
<civodul>“make check-channel-news” says it’s ok
<podiki>.... news.txt sounds like another channel
<podiki>....that i may have messed up....
<podiki>ACTION scurries away to check
<Guest14>or " Declarative offloading on Guix System and childhurds" could be the case as well
<civodul>ah yes, it could be in another channel
<Guest14>podiki: Ah okay.  I have 5 channels but only guix has new news entry.  In that case it probably is some other channel
<podiki>i just added one to another channel, checking with a pull now
<apoorv569>what is happening.. i switched back to very old gen for both home and system but still same
<Guest14>Okay I checked.  It is the news from nonguix.  My bad.
<rekado>civodul: we’ve got this problem also in openjdk.
<rekado>Here’s an example: https://guix.bordeaux.inria.fr/build/443723/log
<apoorv569>why is dmenu not showing any programs
<peanuts>"Build log of build #443723" https://guix.bordeaux.inria.fr/build/443723/log
<rekado>“Error: time is more than 10 years from present: 1388527200000”
<podiki>Guest14: feel free to chat in that channel's channel, but i'm investigating, sorry about that!
<apoorv569>this problem is happening both system running guix
<civodul>crap
<civodul>Guest14: no problem!
<civodul>i guess we should somehow generalize “make check-channel-news” so nonguix & others can use it too
<podiki>i was just about to ask how to use that :) but let me see what i can do with a quick modification of build-aux/check-channel-news.scm
<civodul>:-)
<civodul>we could eventually turn it into ‘guix pull --check-news=news.txt’ or something
<podiki>i think just some path changes to fit the channel is all that is needed here, and then just running the script with guile
<podiki>which just tells me the entry is invalid... but would have worked if i had just done this earlier
<podiki>good to know!
<cmiller>I wanted to upgrade Godot to the latest version but it requires newer version of the Vulkan SDK. I know that there is a mesa branch. Is that with Vulkan?
<podiki>we could do vulkan on mesa-updates, but next branches to be merged i'm guessing are gnome updates? maybe core-updates?
<Kabouik> https://0x0.st/HI1v.png what is missing to make screensharing work with Guix + Wayland? I wanted to use the web client instead but then I have this issue that it can only share a Chromium tab, not a screen, unless I use pipewire + wireplumber, but then I lose audio… So I installed the standalne Zoom client and I get this error.
<podiki>for mesa I was going to wait until probably 24.0.1 of mesa (next big stable release)
<Kabouik>(I'm not the organizer, I didn't choose Zoom).
<cmiller>podiki: Ah good to know. So I basically need to wait? I don't want to touch it, I am not familiar with it and it will require rebuilding tons of other packages probably
<podiki>Kabouik: zoom client is not a guix package, so please ask in the other channel/report there (i have to fix a news entry first though)
<Kabouik>Oh right sorry, I forgot podiki, my bad.
<apoorv569>are my messages not going through?
<podiki>cmiller: well you can prepare the patches and make sure things build locally at least, and then we can see what branch can take them
<podiki>godot update needs newer vulkan?
<podiki>apoorv569: i see your messages, but personally can't repond yet
<cmiller>podiki: It requires a newer glsl which means bumping that vulkan sdk variable
<cmiller>Also, is that QA thing now still a thing or is it stopped? I sent a patch a week ago and it is still not processed.
<podiki>apoorv569: if you were having a guix pull problem (due to another channel) it should be fixed now, testing it myself
<apoorv569>podiki no its not that.. i just cant pull in general and none of the programs installed via guix appear in dmenu
<apoorv569>very strange
<apoorv569>both systems have same problem
<apoorv569>switching to older gen doesn't fix this either
<podiki>yes, pull was broken from another channel, i think i fixed that; as for dmenu, that reads from XDG_DATA_DIRS i believe, so likely an environmental issue; logging out and in again after switching gen is probably needed
<apteryx>lfam: I find ffplay much faster than mpv on my dated hardware, strange. I saw your old report.
<lfam>ACTION looks
<lfam>Can you link to the report?
<apteryx> https://issues.guix.gnu.org/39703
<peanuts>"MPV chooses the slow AV1 decoder" https://issues.guix.gnu.org/39703
<apteryx>seems some opengl legacy code in mpv got removed, which may explain why ffplay performs much better
<lfam>I see
<apteryx>it expects modern, well bahaving GPU drivers
<apteryx>not what my 17 year old card provides with nouveau, I presume ;-)
<lfam>I figure that, by now, the question of choosing the efficient decoder has been handled upstream. AV1 is used widely now
<lfam>I doubt a 17 year old computer could play AV1
<lfam>Is it working for you?
<lfam>I don't have the x230 anymore (x260 now) and it all works fine with mpv + AV1
<apteryx>actually I'm just testing playing my webcame at /dev/video0
<apteryx>and was surprised to find mpv was laggy, compared to ffplay which is snappy
<snape>Hi, is there a way to have access to the latest irc logs like https://logs.guix.gnu.org/guix/latest.log?
<lfam>Oh, interesting apteryx
<snape>that would be useful
<cmiller>Laggy is probably software rendering. Are you sure mpv runs with hardware acceleration? mpv tells what it uses
<podiki>apteryx: know much about catch2? commit 45d07a0b01c30d18a537c47efce79192b8c8d178 fails on i686 on one test
<peanuts>"guix.git - GNU Guix and GNU Guix System" https://git.savannah.gnu.org/cgit/guix.git/commit/?id=45d07a0b01c30d18a537c47efce79192b8c8d178
<snape>also, isn't this "peanuts" bot a bit spammy?
<peanuts>snape: Hi, for comments please contact my maintainers at https://codeberg.org/lechner/irc-helper-bot
<lfam>apteryx: You could press 'i' during mpv playback to get some stats, not sure if they are germane to your issue
<snape>repeating all the links is a bit useless
<cmiller>snape: Yes, same opinion. Though it gives links if you mention a issue case like #68371 which is kinda nice
<peanuts>"[PATCH] gnu: Add r-jaspar2020." https://issues.guix.gnu.org/68371
<lfam>Just need to tune it a bit
<snape>we could limit it to things inf the #xxxxx form
<lfam>The issue number thing is nice
<snape>agreed
<lfam>Even the link to the commit ID could be more useful. Like, what if it used the short version of the savannah URL and also the commit title
<lfam>There's room for improvement
<lfam>But you'd want a timeout so it doesn't repeat itself rapidly
<cmiller>lfam: What is the short version of savannah?
<lfam>I'm not sure how to construct a link to a commit, but <git.sv.gnu.org> does go somewhere
<cmiller>Ah interesting. Was not aware about that.
<lfam>And, the Savannah team is fairly responsive to bite-sized feature requests, in case we needed an adjustment made here
<lfam>They hang out on #savannah
<lfam>Anyways, I think the bot is helpful, but we could improve it to be even more helpful :)
<snape>yep, good night!
<cmiller>lechner: Above is some feedback regarding your IRC helper bot. You may want to be aware of it.
<yelninei>hi, how do I read system logs in a nice way? something like the adm group does not seem to exist and opening them with sudo is not nice
<lfam>yelninei: I think that logging on Guix System has some room for improvement
<cmiller>If I am on gen 7, now I switch to gen 5 and create a new gen 6, does that mean gen 7 is trashed since it is a different branch?
<apoorv569>podiki: i didn't change any env var especially not on the pc i just turned it on
<apoorv569>also after change gen I reboot pc 2 times
<podiki>sneek: later ask apteryx the catch2 update (from telephony branch?) broke on i686, one test fails
<sneek>Okay.
<apoorv569>pc was working fine yesterday
<lfam>Say I have a "raw" origin as a package input, for example: https://paste.debian.net/1303670/
<peanuts>"debian Pastezone" https://paste.debian.net/1303670
<lfam>Is there a way to refer to this in the "new Guix style" using G-expressions?
<podiki>lfam: you can use something like search-input-file
<podiki>here's one I did recently 5a6b1a55869c488c0da15b4a7a8176d616ec92f8
<peanuts>"guix.git - GNU Guix and GNU Guix System" https://git.savannah.gnu.org/cgit/guix.git/commit/?id=5a6b1a55869c488c0da15b4a7a8176d616ec92f8
<lfam>Or rather, I mean is there a way to write the list of inputs in the new style? The G-expression reference does work, once you realize that there is both #$this-package-input and #$this-package-native-input
<lfam>ACTION looks
<podiki>yeah, just use (origin ...)
<lfam>I see
<lfam>Also, are we still supposed to end custom build phases with #t ?
<podiki>but may be that you still need old style for some things, i've seen that too where I think there was no good way (i guess if you can't use search-input-file?)
<podiki>no, no more trailing #t needed
<lfam>Yeah, using search-input-file isn't exactly what I want here
<podiki>right, so if you can't get the path you need maybe you can't use gexp?
<podiki>or somehow rather than bare origin need a package definition in there so you can refer by name?
<lfam>I'm building a package for something that doesn't have a build system and doesn't use best practices, so there's some tricky stuff like this: <https://paste.debian.net/1303674/>
<peanuts>"debian Pastezone" https://paste.debian.net/1303674
<rekado>lfam: in cases like this you cannot avoid giving the thing a label
<lfam>It wants to download and process some zip files at build time, so I have to provide them separately and arrange for them to be unzipped into the build directory, then processed
<podiki>or else make them packages that don't have a build, just as source only?
<rekado>we’ve discussed this some time ago, because lots of CRAN packages need extra inputs that are just a single file.
<rekado>the conclusion was that it would be nice to have a variant of search-input-file.
<lfam>Yeah
<podiki>sneek: later tell apteryx I tried to disable the test in test/CMakeLists.txt but it has some baseline to compare to (number of tests or something?) so i'm not sure
<sneek>Got it.
<podiki>ACTION late lunches, catch you all later!
<lfam>C ya
<rekado>apteryx: I see that there’s a tag “base-for-issue-62196” in our git repo. Has this been pushed on purpose?
<apteryx>nope
<sneek>apteryx, you have 2 messages!
<sneek>apteryx, podiki says: the catch2 update (from telephony branch?) broke on i686, one test fails
<sneek>apteryx, podiki says: I tried to disable the test in test/CMakeLists.txt but it has some baseline to compare to (number of tests or something?) so i'm not sure
<apteryx>it can be safgely deleted
<apteryx>podiki: oh! I missed that
<apteryx>lfam: seems like the discrepancy between ffmpeg and mpv was mostly due to latency; using 'mvp --profile=low-latency' makes it closer to ffplay
<apteryx>rekado: re the tag, it's a mistake, it can be deleted
<luishgh>hi guix, has anyone here been able to install citar with guix recently? it seems there is an error with its autoloads
<luishgh> https://github.com/emacs-citar/citar/issues/814
<peanuts>"Installing citar with guix: "Symbol's value as variable is void: citar-indicator-create" ? Issue #814 ? emacs-citar/citar ? GitHub" https://github.com/emacs-citar/citar/issues/814
<loopback___>how to assemble an archive containing only the bootstrap seeds and the source code to compile a base system?
<loopback___>or can I get one somewhere?
<podiki>apteryx: any idea on fix for catch2 on i686? not as simple as just disabling test, and not sure why the test fails now either
<graywolf>Hi, could someone with a commit bit take a look at 67722? I would like to re-enable test_ssl for libtorrent-rasterbar.
<rekado>I’m claiming the openjdk time bomb; testing right now
<apteryx>podiki: I'll try taking a look later
<civodul>rekado: awesome, thanks!
<rekado>ACTION pushed patch for 9, now testing 10
<rekado>I’ve got a little cuirass question. I’ve been working on wip-python-science for some time. On the first evaluation I could see how many new failures there are, so I fixed these failures as best I could over the course of several commits. Now it looks like this: https://ci.guix.gnu.org/jobset/wip-python-science
<peanuts>"wip-python-science" https://ci.guix.gnu.org/jobset/wip-python-science
<rekado>but now I can’t easily tell how the build state compares to the master branch
<rekado>is there a way to compare the failures in two jobsets?
<rekado>or do I need to fetch the dashboards of both jobsets and hack a comparison myself?
<civodul>rekado: unfortunately no, Cuirass can’t compare jobsets; that’s something the Data Service can do though
<civodul>but https://data.guix.gnu.org/repository/1/branch/wip-python-science says it doesn’t know about it
<podiki>yay new hardware arrived, powers on, boots, guix installer complains about some firmware but things seem to work
<podiki>now i yank out the ssd and will just do everything on my desktop, good ol' guix system init style
<apteryx>I'd be nice to have a table stating how many builds each architecture is holding up
<apteryx>also perhaps a way to filter the build machines by architecture
<podiki>rather than squinting at a tiny font on my monitor and figuring out how to shuffle files (with one physical keyboard, though some laptops around...this is just easier)
<podiki>QA would show that for branches with request to merge, when that was caught up
<podiki>was very handy. bordeaux seems to be the one that does well on non-x86; aarch64 had more coverage than x86_64 on berlin
<podiki>agree, was very handy for managing these branches
<rekado>openjdk 12 to 21 still need to be fixed
<rekado>any takers?
<civodul>rekado: ouch, similar fix again?
<civodul>i could give it a try tomorrow if nobody beats me
<rekado>I haven’t checked if they *all* suffer from this problem, but they do need to be checked.
<rekado>I fixed 9, 10, and 11.
<civodul>ok
<ascetic>Hi, folks!
<ascetic>Is anyone using `maven-build-system`? I'm trying to package a codebase which contains multiple projects (thus multiple pom files), and trying to find a way to tell build system where to search for pom.xml IIUC, there is no way to do so, and mentioned in docs #:pom-file argument not there anymore - I didn't find it in current sources of Guix. Any idea?
<rekado>openjdk9 built on ci; waiting for 10.
<rekado>on i686 the build of 9 segfaults when linking
<ieure>ascetic, It's been a while since I hacked on a multimodule Maven project, but don't the commands at the top-level get applied to all the modules? So if you're in the root and do `mvn uberjar' (or w/e), it does that in every module, so you end up with module/whatever/target/target-uberjar-x.y.z.jar?
<ieure>In other words, don't you just need to use the pom.xml at the top of the repo?
<ascetic>ieure: it is, *iif* project is properly described, has top-level pom with sub-projects defined as dependent POMs. This is not the case, unfortunately. On the other hand, seems like building "separate" project is fairly straight-forward. There is just no way to tell build system where to look.
<ieure>ascetic, Oh, so it's more like... multiple independent Maven projects stuck in the same repo?
<ascetic>Yep
<ieure>That is, indeed, unfortunate.
<ascetic>I suppose there will be inter-dependencies of them, but again - at this moment I'm only hoping to build just some of them.
<ascetic> https://paste.sr.ht/~anthony_s/b4091d7bb015bbc275bdf8871c036ae32a167b73
<peanuts>"packages.scm ? paste.sr.ht" https://paste.sr.ht/~anthony_s/b4091d7bb015bbc275bdf8871c036ae32a167b73
<mange>Can you chdir into the jans-auth-server directory so the rest of the build happens there?
<ascetic>Wow! Let's try@
<ascetic>Wow! Let's try!
<ieure>Yeah, was just about to suggest this. Add a build step that cd's into the module you want to build. And have multiple package definitions for each thing that use the same source.
<ascetic> https://paste.sr.ht/~anthony_s/c7c7fada949bff05f1a343821c7dfe080ad51843
<peanuts>"iam.scm ? paste.sr.ht" https://paste.sr.ht/~anthony_s/c7c7fada949bff05f1a343821c7dfe080ad51843
<ascetic>Now I'm getting:
<ascetic>I believe I've messed up with `library` syntax and passing arguments to build system...
<ascetic>z0gbmx0w0049an8v7i7p0fzl66cnd4w7-jans-auth-server-1.0.21-builder:1:18718: Unknown # object: "#<"
<ieure>ascetic, I think your lambda needs to be a gexp
<ieure>#~(lambda _ (chdir #$name))))))
<ascetic>I've tried `#(list ...)` whole list of args to be gexp, but I'm always messing up with this...
<podiki>oh boy, when you see guix system init finish with "bootloader successfully installed on /boot/efi" you quickly check your /boot/efi even though this was targetted to a different disk
<podiki>(it did the right thing of course, just seeing the same name gave me pause
<podiki>)
<mange>ascetic: I think you need something more like (arguments (list #:phases #~(modify-phases %standard-phases (add-after 'unpack 'chdir (lambda _ (chdir #$name))))))
<ascetic>This is what exactly always be not clear for me: which part should be gexp, and which not, and where.. (Just random remark, nevermind)
<mange>Yeah. TBH, I have no idea either. I just looked in the git repo for examples. :P
<rekado>any expression containing #$whatever needs to be inside an expression introduced with #~
<ascetic>mange: Yaay! It worked!
<ascetic>Thanks everyone!
<rekado>aside from that the value of the “arguments” field is meant to be *data* that’s passed to the build side.
<ascetic>Then, goes the funniest part: providing inputs for target package...
<ascetic>mange: I'm permanently keep guix project opened in $EDITOR, and trying hard to find aproppreate example whenever I'm writing packages, or the like. And trying to resort to IRC only in degenerative cases like this:
<ascetic>$ rg -t lisp '\(build-system maven-build-system\)'
<ascetic>gnu/packages/java.scm
<ascetic>5565: (build-system maven-build-system)
<ascetic>rekado: good heuristic
<ascetic>Now, thanks again folks - Guix is BEST!11 ^_^ and I'm going to "fix" rest of the package...
<podiki>did all the partitioning, etc., did guix system init....but now can't unmount my disk to put it in the "new" computer
<podiki>lsof shows nothing using the disk
<ascetic>podiki: last time installing guix (on VPS), did a mistake during process, and tried to re-start installation (meaning that need to unmount & re-partition again) - and stuck with the same: can't find process holding mount point busy
<podiki>in this case i'm on a guix machine already, just trying to guix system init the disk for the new machine
<freakingpenguin>Hey all. When reconfiguring home a catch2 derivation fails to build, but I can build the package in isolation. The derivations have different checksums but same catch2 versions. Sound familiar to anyone?
<freakingpenguin>Error matches the i686 failure on Curaiss but I'm on x86_64.
<freakingpenguin> https://ci.guix.gnu.org/build/3220178/details
<peanuts>"Build 3220178" https://ci.guix.gnu.org/build/3220178/details
<podiki>ah i forgot these were btrfs subvols mounted as well, had to umount everything
<podiki>freakingpenguin: maybe try again if it is a flaky test?
<freakingpenguin>podiki: Thanks. I tried on a couple of machines, same issue. Looks like it somehow fails to run the tests.