IRC channel logs

2023-07-12.log

back to list of logs

<takev[m]>Is there a way to read a package and write out the package definition?
<takev[m]>I would like to take a package name, and write it to a file.
<zacchae[m]>takev: "guix edit <package", then write to file maybe?
<takev[m]>Huh! I did not know that returned the package definition.
<takev[m]>Thanks!
<takev[m]>Been trying to get the package in a guile script.
<dominicm>Has anyone not been able to use `guix repl' lately? On my most recent couple of pulls, running it gives me the following error:
<dominicm>`...-guile-wrapper/bin/guile: symbol lookup error: ...-glibc-2.33/lib/libpthread.so.0: undefined symbol: __libc_pthread_init, version GLIBC_PRIVATE'
<dominicm>I confirmed that rolling back fixed the issue, and verifying my store didn't bring up anything, so it seems to be a genuine packaging issue but I don't see an existing bug report
<mirai>do a guix pull and a system reconfigure + upgrade
<cmack>Hello, I'm trying my hand at writing and building a package but I've discovered it has its own custom fork of swig from 3.x days. And it's not a git submodule but it is in a git forge... Is there a way to handle this within the "main" package I'm writing or is it recommended to have its own entry?
<cmack>Or, does anyone know of a package that deals with the same problem?
<RavenJoad>cmack: If the dependency is not part of the code you are trying to package, I think it may be easier to create a secondary package that just installs its source in the output (copy-build-system will help). Then just use that first package's output as an input to the real package.
<cmack>RavenJoad: ok thanks. I'll research/experiment with that
<zacchae[m]>the guix image dowrload link on guix.gnu.org points to https://ci.guix.gnu.org/download/810, which is giving: "502 Bad Gateway"
<zacchae[m]>(for latest x86_64)
<zacchae[m]>Stable downloads fine
<lfam>Trying to build linux-libre 6.4 on bordeaux for aarch64, it fails with this weird error
<lfam>"truncate: Invalid number: 'arch/arm64/boot/vmlinux.bin'"
<lfam> https://bordeaux.guix.gnu.org/build/722fb052-e029-43d1-b4d8-e607897673fa/log
<lfam>Any ideas?
<ulfvonbe`>when I try opening /var/log/messages in emacs over tramp it produces a buffer that just says "gzip: stdin: unexpected end of file". What's up with that?
<ulfvonbe`>uhhh never mind, just realized I wasn't combining ssh with sudo
<rekado>sneek: later tell lfam right above that error is “hexdump: No such file or directory”. Could it be that it tries to extract a number using hexdump, fails to do so, so there’s an empty variable somewhere, and so it passes the wrong arguments to “truncate”, so that the file name is in the position where a number would be expected?
<sneek>Got it.
<rekado>sneek later tell lfam truncate would be called with “-s SIZE FILENAME”, so my guess is that SIZE is the empty string due to an earlier error.
<sneek>Will do.
<PotentialUser-33>How would one change the screen resolution of GDM login screen?
<PotentialUser-33>To change the GDM screen resolution in another distro I would '# cp ~/.config/monitors.xml /var/lib/gdm/.config/' but I wonder how I would do the same using the config.scm file.
<cbaines>PotentialUser-33, I guess that approach should work with Guix as well, I don't think there's a way to do this yet via the service configuration (but one could probably be added)
<efraim>you might need to make a service though, /var/lib/gdm is mounted as tmpfs to work around other problems we've run into
<efraim>or even just a special-file-service (or whatever its called)
<efraim> https://guix.gnu.org/en/manual/devel/en/html_node/Base-Services.html#index-extra_002dspecial_002dfile
<efraim>could it be configured with xorg-configuration? https://guix.gnu.org/en/manual/devel/en/html_node/X-Window.html#index-gdm_002dservice_002dtype
<wingo>love 2 apply grafts
<shtwzrd[m]>I'm trying to connect to a guix-daemon running on my host from inside a guix vm but i'm having trouble. I have guix-daemon invoked like: guix-daemon --build-users-group=guixbuild and end up with unix socket at /var/guix/daemon-socket/socket, so i try passing that socket thru to the vm as a chardevice, and then set GUIX_DAEMON_SOCKET inside the vm to /dev/virtio-ports/guix-daemon-socket which is bound to my chardev pointed at host's
<shtwzrd[m]>daemon-socket
<shtwzrd[m]>but guix build guix inside the vm fails with 'error: failed to connect to '/dev/virtio-ports/guix-daemon-socket': Connection refused'
<shtwzrd[m]>doesn't matter if i prefix with 'file://' or 'unix://' either. any ideas what i'm doing wrong?
<shtwzrd[m]>this trick with the virtualserialport in qemu works fine when i test with basic socat on both ends, so I think it has something to do with how guix operates with the socket but I don't know much about this
<bdju>mirai: thank you for the recommendation, I didn't know about licensecheck. it says it's the expat license. cool tool!
<ngz>sneek: later tell cbaines I think "tex-team-next" has a good substitute coverage now. It is probably a good time for merging it.
<sneek>Okay.
<cbaines>o/
<sneek>Welcome back cbaines, you have 1 message!
<sneek>cbaines, ngz says: I think "tex-team-next" has a good substitute coverage now. It is probably a good time for merging it.
<cbaines>ngz, sure, I don't know of any problems at least
<ngz>cbaines: I'm a bit surprised by the relative low numbers for i686, but I don't think it is related to the branch itself.
<cbaines>on the bordeaux side at least, that's just because of low build farm capacity
<cbaines>it's low anyway for i686-linux and x86_64-linux, but only 2 of the usually 3 machines are online at the moment
<bdju>running guix upgrades now and I'll probably boot into a liveusb thing to try to fsck my drive soon and see if that fixes my database corruption issue that was stopping `guix gc` from working. been putting it off since I have a fear of rebooting. but I have some free time right now so it wouldn't be the worst time to break my computer.
<Guest28>How would I include patches in my own channel?
<rekado>Guest28: place them in the channel’s root directory.
<graywolf>Does boot-parameters version require a version bump even if I am just adding a new field with default value?
<civodul>graywolf: no, check out read-boot-parameters
<civodul>basically there are a few mandatory fields and the rest is optional
<graywolf>Ah, that looks useful, thanks. Albeit I am starting to be afraid a bit, this whole area of guix is more complex than I expected. Well, at least I learn something :)
<Guest28>rekado: ah thanks
<mirai>how can I write system tests but for channels? (or a standalone git repository with only system tests)
<RavenJoad>mirai: You should be able to just use the Guix's Scheme code for writing tests with (use-modules ...), but I think you will have to write the glue code to make the tests run when you call "make check" in your channel.
<RavenJoad>It appears that even mentioning (services ...) in an operating-system record causes %base-services to be added, even when inheriting. (services (inherit %base-system)) causes shepherd-root, profile, boot, and co. to appear twice. What is the way to handle this?
<Guest28>qtwebkit is deprecated, if I use time-machine, could I still get substitutes for it?
<graywolf>RavenJoad: (services (modify-services %base-services ...)) https://guix.gnu.org/manual/devel/en/html_node/Service-Reference.html#index-modify_002dservices-1
<graywolf>Example of use: https://guix.gnu.org/manual/devel/en/html_node/Using-the-Configuration-System.html#System-Services
<RavenJoad>graywolf: I saw those, but modify-services seems to be only for changing or deleting services already in the list. I just want to add more services.
<graywolf>RavenJoad: Then just use append or cons*, is in the very first example here: https://guix.gnu.org/manual/devel/en/html_node/Using-the-Configuration-System.html
<ulfvonbe`>it would be nice if modify-services could match on service-type name, so that simple-services can be removed (for example, the network-manager-applet from %desktop-services)
<RavenJoad>graywolf: That is what I am doing, and I end up with 2 sets of %base-services. (services (append (list ...) (operating-system-services %base-system))) causes behavior. I can pastebin the configs too and the output service list, if that will help.
<graywolf>Please do paste :)
<RavenJoad>Base: https://paste.debian.net/1285718/ Desktop: https://paste.debian.net/1285719/ Output: https://paste.debian.net/1285720/. The output service list is slightly formatted to highlight the duplications.
<ulfvonbe`>RavenJoad: operating-system-services isn't the field accessor for the field specified by (services ...), that's operating-system-user-services IIRC
<graywolf>Right, now when you say it, I recall I hit the exact same issue (using -services instead of -user-services) when I started with Guix :D
<RavenJoad>Ahh... Interesting. The REPL seems happy with it, so I now build away. I will come back with an update soon. Thanks!
<ulfvonbe`>strictly speaking, it violates the usual naming convention
<RavenJoad>That was why I missed it. Personally, I would swap the names of the procedures to line up with convention, but that is just me.
<RavenJoad>The system build worked! Thanks for all your help!
<ulfvonbe`>yeah, but that would 1. require that every configuration in existence switch from (services ...) to (user-services ...) and 2. flood this room with so many questions about the difference between guix services, essential services, user services, user-account-service-type, the users field, per-user shepherd services, shepherd services, etc.
<ulfvonbe`>really the more complete field name would be 'user-specified-services'
<RavenJoad>Fair enough.
<mirai>RavenJoad: those aren't base-services I think
<mirai>they're essential-services
<mirai>its a field of operating-system record type
<RavenJoad>mirai: I realized that when I was pastebin-ed the service list.
<PotentialUser-78>Good day. Need to know where I can find the SHA sums for the ISOs provided on https://alpha.gnu.org and/or https://ftp.gnu.org(?)
<mfg[m]>I'm running ,build <package> in a guix repl because it throws a gexp input error and i wanted to find out what exactly caused that. I thought the repl would drop into the debugger, but it doesn't. How do i get more info as to where exactly that error is coming from?
<graywolf>mfg[m]: maybe ,bt ?
<graywolf>Not sure
<mfg[m]>nice try, but `Nothing to debug.'
<juliana[m]>i haven't yet found a more reliable way to debug g-expressions than just kinda, lookin' at 'em and poking bits here and there to see what happens. but the blog post on playing with them may help you find a better workflow: https://guix.gnu.org/en/blog/2023/dissecting-guix-part-3-g-expressions/
<mfg[m]>Hm, i see. Hopefully the post enlightens me :P
<mfg[m]>thanks for the tip
<juliana[m]>np wish i had better ones lol
<elevenkb>I wonder what the best way to get a specific old version of a package is? I can ~git blame~ my way through to finding it, but isn't there an automated way to do this?
<podiki[m]>Kabelo M'sobomvu Moiloa: in guix? there's guix time-machine, or yes, search the git log for <package name>: update for instance, as we use a strict changelog format making this easy
<podiki[m]>some packages do have older versions besides the latest, e.g. guix show <package name> will have multiple entries
<Guest28>rekado: I see a lot of r package updates from you.  I guess you do this all automatically with some script.  How do you know it requires more than just a version bump?
<rekado>Guest28: I wish it was *fully* automatic, but it’s not
<rekado>I’m using “guix refresh -t cran -u” and “guix refresh -t bioconductor -u”, and then I work through the diff and fix things.
<rekado>once it all builds on my machine I push to r-updates and let ci.guix.gnu.org show me if there is any more breakage
<rekado>“guix refresh -t cran -u” uses the CRAN importer (available through “guix import cran”) to detect any input changes.
<rekado>the “-u” updates the file with the detected changes
<rekado>it can’t do everything and it makes mistakes (some of which we can mitigate with the “properties” field), but it’s certainly better than doing all of it manually.
<rekado>this works not just for R packages, but in principle for all packages that have an updater/importer.
<rekado>the R importers are very reliable, so the updater can do a pretty good job
<rekado>improving the other importers would greatly simplify updating.
<civodul>rekado: what are the common fixups that need to be done manually now?
<rekado>one common thing is bundled javascript
<rekado>the importer will add esbuild to the native inputs when it detects JavaScript files, but it can’t do the replacement
<rekado>it will also remove the named origins that I’m adding to the native inputs for each JavaScript replacement
<rekado>there is no updater property to tell the updater to not touch an input at all
<rekado>it rebuilds the native-inputs field as a list of package variables, but that’s no good when I want to use named origins
<rekado>another is to update the properties to improve conditions for the next round
<civodul>ah yes, JavaScript
<civodul>are non-standard inputs, like named origins, common in R packages?
<rekado>there are between 30 and 40 R packages that need JavaScript processing.
<zamfofex>Hello, everyone! (Sorry for interrupting.) What is currently blocking 63527 and 63641? I’d love to be able to help whichever way I might be able to!
<rekado>it’s not a big percentage of all our R packages, but whenever it’s necessary it usually takes a lot of time
<rekado>(r-dt is probably the worst)
<civodul>i can imagine
<RavenJoad>Does local-file's file-path argument disallow using files in a subdirectory? I want to do (local-file "thing" "dir/thing"), but Guix returns invalid "/" character in name "dir/thing".
<civodul>zamfofex: hi! we've been discussing about it on IRC and i think j​poiret plans to take care of it soonish
<zamfofex>RavenJoad: I think you have your argument order reversed.
<civodul>per our last discussion there were minor issues to fix but otherwise it's ready to go, at least for the initial part
<civodul>i'm also looking forward to it!
<RavenJoad>zamfofex: Ah, yes. It is different than plain-file. Thanks!
<zamfofex>civodul: I see! Thank you for letting me know! 🎉 I’d love to start more actively trying to use Guix on the Hurd, and hopefully fixing build issues for packages I want to use. 🙂
<civodul>yup that'd be great :-)
<Guest28>Can I use substitute* to replace a specific line to fix path for a .desktop file?
<nckx2>Guest28: Yes, you can replace ^KeyName=. * with KeyName=foo or so.
<nckx2>Oh, KeyName=foo\n --. * matches the trailing newline for fun.
<Guest28>Thanks