IRC channel logs

2025-05-15.log

back to list of logs

<omentic>hey all -- totally new to guix. how long would i expect `guix shell guile-next` to run? i'm a little worried guix is not using substitutions properly
<omentic>in particular, guix seemed to download a bunch of .tar.gz.drvs but now it seems to be building them. this seems very slow and possibly avoidable
<ieure>omentic, Are you using Guix System, or on a foreign distro?
<ieure>omentic, You can use `guix weather package-spec' to see whether substitutes are available.
<omentic>ieure: a foreign distro -- guix on arch with a single guixbuild user
<ieure>omentic, You have to configure it for substitutes. See https://guix.gnu.org/manual/devel/en/html_node/Getting-Substitutes-from-Other-Servers.html
<omentic>ieure: i've added in bordeaux and ci through the flag and reloaded the daemon. guix weather guile-next says it's got 100% substitutes available... but guix shell guile-next seems to still be building things
<trannus_aran>anyone familiar with guix packaging a cmake project? I have one mostly set, but it complains about not being able to determine the INSTALL_PREFIX from /tmp/<pkg-name>/build
<ieure>omentic, Did you authorize them?
<omentic>ieure: i did not. do you know where i can find the signing key of either server?
<ieure>omentic, Does the manual say? If not, it'll be in the Guix source somewhere. Sorry, have an incident happening now :(
<omentic>nw! manual does not say. will check source
<omentic>though, the manual suggests that these servers should be configured and authorized by default. maybe i should be reading the 1.4.0 version.
<ieure>omentic, You almost never want to read the 1.4.0 version.
<omentic>good to know. also, does look like they say they're disabled by default on foreign distributions, yeah -- missed that
<omentic>oh nice! the manual does say. was in a previous section
<omentic>very speedy now :D
<omentic>and i think i will reference the single-page manual from now on, lol
<trannus_aran>okay, I read up a bunch on how the build-systems modules work under the hood
<trannus_aran>but I still don't know how to get cmake-build-system to actually call `cmake ..` in a different directory than <pkg-root>/build
<trannus_aran>anyone got any ideas? Ultimately it's probably gonna be some `(lambda* (#:key ??? #:allow-other-keys) ???)` that I pass to `modify-phases`, replacing `'configure`
<trannus_aran>but what exactly I'm pulling out in that context is clear as mud. Is the "build" dir the source?
<trannus_aran>basically all that needs to happen is instead of calling `cmake ..` in ./build/, I need to `mkdir <system-arch>/<pkg-name> && cd <dir we just made> && cmake ../..`
<omentic>why might guix on a foreign distro be unable to find a package? specifically i'm looking for guile-hoot
<omentic>thinking this is something to do with it not updating its own repos but i've run guix pull both with/without sudo + reloaded the daemon
<hako>omentic: 'which guix' are you using? The most up-to-date one should be ~/.config/guix/current/bin/guix.
<omentic>hako: ah thanks! i checked out /usr/bin/guix and saw it was a script so thought it was loading the new version. yeah, that's where the updated one went, thanks (and now pulling down guile hoot is working)
<omentic>hm, i should really sit down and redo this arch packaging from scratch
<civodul>Hello Guix!
<futurile>morning civodul, morning all
<flypaper-ultimat>trannus_aran: how about adding a phase before the build phase or after the unpack phase that does (let ((dir (format #f "~a/~a" #$%current-target-system #$name))) (mkdir-p dir) (chdir-p d))
<ruther>note that cmake-build-system uses out-of-source? #t by default, meaning that the configure phase cds out of the source, to ../build (relative to source).
<futurile>how do I get substitute* to show me what it's matching? it returns #t, but I'm having not luck getting what it's matching out
<cbaines>futurile, can you diff the file before and after?
<cbaines>I'm also not sure the return value means anything
<futurile>cbaines: according to the definition of substitute* it will actually give me the match. But I cannot get it working for the life of me: (substitute* "t/spamc_x_e.t" (("/bin/echo" all) "LALALALA")) <-- returns #t, but I can't seem to get the _all_ part
<futurile>I tried (begin (substitute* "t/spamc_x_e.t" (("/bin/echo" all) "LALALALA")) (format #f "Substitute match: ~s\n" all)) - but it says unbound variable which kinda makes sense, but now I'm confused
<futurile>I'm in the repl (guix repl), and I can see it's working
<cbaines>all won't be in scope then
<futurile>how do I get it in scope?
<futurile>I might have to go and have a lie down, my brains broken today
<cbaines>something like this https://paste.debian.net/plain/1374776
<cbaines>so for your example, it would look like: (substitute* "t/spamc_x_e.t" (("/bin/echo" all) (format #f "Substitute match: ~s\n" all) "LALALALA"))
<futurile>cbaines: ah got it. It's "body is evaluated for each match-var" part. Thanks - seriously been trying to figure that out for 45 misn
<untrusem>so do i need udev rules to use fastboot in guix? any help would be appreciated
<untrusem>it is saying no permission but adb is working fine
<fsantin-rolv>Hi, I'm trying to run guix shell hello -- hello after installing Guix on a separate volume mounted at /gnu. I get this error:
<fsantin-rolv>"""guix shell: error: creating directory `/gnu/store/.links': Read-only file system"""
<fsantin-rolv>The daemon is running, I moved /var/guix and /etc/guix under /gnu, created symlinks back, and replaced placeholders in the systemd service file.
<fsantin-rolv>The /gnu volume is mounted from an EBS volume at /dev/nvme1n1, and I’ve remounted it read-write. The idea is to have a snapshot for further usages within AWS.
<fsantin-rolv>Any idea what could be misconfigured?
<attila_lendvai_>fsantin-rolv, guix uses the /gnu/store as a patch for the read-only package dirs. your /gnu may interfere with that. i doubt this has ever been tested...
<attila_lendvai_>s/patch/path/
<untrusem>ok I can install the android-udev-rules package
<futurile>fsantin-rolv: what owns /gnu - for me it's root guixbuild
<futurile>fsantin-rolv: sorry root:root /gnu, then root:guixbuild for /gnu/store
<fsantin-rolv>futurile
<fsantin-rolv>ls -ld /gnu
<fsantin-rolv>ls -ld /gnu/store
<fsantin-rolv>drwxr-xr-x. 6 guix-daemon guix-daemon 4096 May 14 13:07 /gnu
<fsantin-rolv>drwxrwxr-t. 82 guix-daemon guix-daemon 12288 Jan  1  1970 /gnu/store
<fsantin-rolv>the remounting must not be working in my situation
<efraim>fsantin-rolv: if you need to post multiple lines please use a paste service like paste.debian.net
<fsantin-rolv>efraim I see, sorry, I am a noob
<efraim>not a problem, that's why the bot silenced you for a short bit :)
<efraim>I'm unimpressed with the screen-5.0.1 tarball. I'll probably use the git checkout to bump it
<sleepylkw>Is the new codeberg repo ready to be used for guix pull? Im having some issues with savannah
<sham1>I've been using it for a month now. Works fine
<sleepylkw>okay sweet ty
<sleepylkw>How do i go about switching to it?
<sleepylkw>oh nvm i found it
<fsantin-rolv>Let me articulate better what I am doing: I'm trying to create a reusable EC2 instance setup with GNU Guix installed on a dedicated 100GB EBS volume, so that I can snapshot it and reuse that snapshot across future EC2 instances in AWS.
<fsantin-rolv>To do so I launched a fresh EC2 instance (t3.medium) using CDK. Attached a 100GB EBS volume (mounted at /gnu).
<fsantin-rolv>Used the official Guix install script (guix-install.sh) with the latest auto-built binary tarball from Guix CI.
<fsantin-rolv>Guix installed successfully, and I confirmed guix --version works.
<fsantin-rolv>Then though I moved:
<fsantin-rolv>I created symlinks back:
<fsantin-rolv>I had to fix the broken guix-daemon.service (which had @storedir@ placeholders), replacing them with real paths:
<fsantin-rolv>When I tried guix shell hello --hello
<fsantin-rolv>I got:
<fsantin-rolv>guix shell: error: creating directory /gnu/store/.links': Read-only file system
<fsantin-rolv>guix-daemon is running
<fsantin-rolv>…but when I tried:
<fsantin-rolv>sudo chown root:guixbuild /gnu/store
<fsantin-rolv>I had "chown: invalid group: ‘root:guixbuild’"
<fsantin-rolv>my knowledge of Guix is at user level, so I may not be completely aware of what I am doing. Any help is appreciated. Thanks
<fsantin-rolv>PS! remounting must not be working in my situation
<fsantin-rolv>I see, made again the same mistake...
<attila_lendvai>is this only me? "guix home: error: eudev-removable-devices-polling.patch: patch not found"
<ieure>attila_lendvai, Did you just pull? I reconfigured last night and had no problems.
<attila_lendvai>ieure, yep, just pulled
<attila_lendvai>i don't think there's anything related in my config
<identity>attila_lendvai: there were some commits related to udev polling recently, though they did not cause any problems for me either
<identity>attila_lendvai: what commit are you on (check with `guix describe`)?
<attila_lendvai>i think it's this one: guix home: error: eudev-removable-devices-polling.patch: patch not found
<attila_lendvai>sorry, i mean this: https://git.savannah.gnu.org/cgit/guix.git/commit/?id=f882e365e1b2e9383ee03c81b4ab87951ad3b7f7
<attila_lendvai>it adds a (patches ...), but not the patch file
<attila_lendvai>ACTION wrote an email to lfam
<ekaitz>hi! can someone remind me how to configure the guix-mirror as the primary guix-pull url?
<attila_lendvai>err, wait, it's been reverted. let me pull again...
<attila_lendvai>ekaitz, you can use this: url = https://codeberg.org/guix/guix-mirror.git
<ekaitz>attila_lendvai: yes, that in the guix pull --url but can I configure it forever in the config.scm?
<attila_lendvai>err, nm, i need to slow down... you need to edit ~/.config/guix/channels.scm
<attila_lendvai>i also have this for guix: (url "https://codeberg.org/guix/guix-mirror.git")
<ekaitz>attila_lendvai: you overwrite the %default-channels, right?
<z572>attila_lendvai: I think it was accidentally left over during the rebase.
<attila_lendvai>...and of course the guix-mirror repo is lagging behind hours, and doesn't have the revert patch yet.
<identity>ekaitz: (info "(guix) Specifying Additional Channels") without consing onto %default-channels
<attila_lendvai>ekaitz, not sure. very early on i added channels, so i have that channels.scm since forever
<ekaitz>oh wait! i pulled and we just updated it to use codeberg? great!
<attila_lendvai>ekaitz, not sure. very early on i added channels, so i have that channels.scm since forever
<ieure>I switched my stuff over to the Codeberg mirror weeks ago, because Savannah was down so much.
<attila_lendvai>ACTION has failed to slow down, sorry...
<attila_lendvai>ACTION keeps pressing [up enter] due to the savannah 502...
<ekaitz>attila_lendvai: :)
<ieure>attila_lendvai, I like a `!! RET'.
<ieure>attila_lendvai, Or a `!?pull'
<ieure>Bash ! expansion is an arcane footgun I seek to master.
<aldum>put it in a while loop :V
<hako>FYI savannah has mirror too https://https.git.savannah.gnu.org//git/guix.git
<look>so, I need to unload a kernel module right before kexec rebooting (but after all graphical sessions have stopped), preferably with a shepherd/guix service, any suggestions?
<hako>look: a shepherd service that requires 'user-processes', does nothing on start and unloads module on stop?
<trannus_aran>flypaper-ultimat: haha, so I *did* manage to get the cmake lib to build last night https://gist.github.com/Pinjontall94/099de2a4ea7e446cc48b78bd8b7fa014
<trannus_aran>But now I can't seem to get the app that relies on it to find said library ;/ https://gist.github.com/Pinjontall94/972ae6c33f1011c238b52d2ecf77447b
<flypaper-ultimat> trannus_aran: you can change the (invoke "mkdir" "-p" ...) to the guix procedure (mkdir-p ....).
<flypaper-ultimat>trannus_aran: well you will need to add as an input right?
<flypaper-ultimat>so add #:use-modules (gnu packages s3fh) to your hercules define-module block, and add s3fh after automake (or anywhere in that)
<trannus_aran>Yeah, what's odd is I tried that! Even after installing in my guix store, it complains that gnu packages s3fh isn't a module it can find
<trannus_aran>(did that to put it in the inputs section, ofc)
<flypaper-ultimat>try for ease just putting in both in the same file
<trannus_aran>flypaper-ultimat: I even did that! But then it would only build hercules and not bother with building s3fh?
<trannus_aran>Tried changing s3fh to a propagated-input, no dice, same issue
<trannus_aran>(and in desperation, a native-input, same deal)
<flypaper-ultimat>if you already built that definition s3fh before, than guix wont build it again, because in the store
<flypaper-ultimat>are you working directly in the guix tree or in different files?
<look>hako: your suggestion worked, thanks!
<ekaitz>cbaines: Re: Improve guix-daemon by new C++ features -> weren't you rewriting the daemon in guile? what's the status of that?
<ekaitz>attila_lendvai: I also have the eudev-removable-devices-polling.patch error, did you fix it since your latest message?
<ekaitz>attila_lendvai: oh pulled and it works now
<RavenJoad>I opened 77448 about a month ago. I would appreciate any feedback on it. I would like it to merge before the Codeberg migration. I have a more up-to-date version (one which already had minor feedback given) here: https://github.com/KarlJoad/guix/blob/souffle/gnu/packages/datalog.scm
<tusharhero> https://blog.codeberg.org/new-storage-limits-on-codeberg-what-you-need-to-know.html
<ruther>well at least users will use the agit workflow more instead of forking :P
<tusharhero>I am not sure about this agit thing
<tusharhero>wasn't one of the purpose making it easier?
<ruther>agit is definitely easier than mailing workflow. You just git push refs/for/master
<tusharhero>but it seems harder than the typical git forge workflow
<ruther>my codeberg is currently 1.4 GiB :( (but probably mostly taken by qmk)
<ruther>tusharhero: imo agit workflow is easier than typical git forge workflow as you don't have to fork and add multiple remotes to rebase etc. (though that can currently be solved by the web ui as well)
<ruther>just one command to push it
<tusharhero>ruther: mine is 251 MB
<ruther>I use codeberg just as a mirror anyway, so I don't really care thankfully.
<tusharhero>but it shows me 251 MiB / Unlimited
<ruther>yeah, I suppose they haven't activated it yet
<futurile>ruther: do you have a helper script or anything for the agit flow, I saw Simon suggested something in the GCD but haven't looked at it
<ruther>futurile: I don't, I actually haven't used it yet at all! But I saw there is git-repo command extension that can be installed and it looked quite nice, giving you commands to browse contributions, contributions etc.
<ruther>See here https://git-repo.info/en/2020/03/agit-flow-and-git-repo/
<tusharhero>I hope they integrate it into Magit.
<ruther>though looking into it more it seems this git-repo project has been abandonded?
<tusharhero>or maybe its already integrated
<futurile>looks like they stopped publishing, looks cool though
<trannus_aran>flypaper-ultimat: working in different guix.scm files if that's what you mean--I'm not editing the guix tree directly, no
<identity>(info "(guix) Desktop Services") says "The desktop environments in Guix use the Xorg display server by default. If you’d like to use […] Wayland, you need to enable Wayland support in GDM."; this is incorrect, as gdm-configuration's 'wayland?' field is set to #true by default, and GNOME defaults to a Wayland session without any manual intervention
<trannus_aran>flypaper-ultimat: hmmm, yeah, even with s3fh removed (ty for that, I missed that detail that it wouldn't rebuild) it's still not building the dependency and just barreling through the hercules gnu build
<ekaitz>oh shit our poetry is broken :(
<ekaitz>@python-team I guess?
<cbaines>ekaitz, I ended up trying to keep the QA stuff going rather than working on the Guile guix-daemon, so I haven't managed to return to it since sending some patches a while ago
<cbaines>I do hope to get back to it, but I've also got some stuff I want to finish off around the bordeaux build farm
<ekaitz>cbaines: oh! being busy sucks. It was a pretty exciting thing to work on
<ekaitz>hopefully you can get back to it
<SorET>Hi, a channel could depend on a guile package? I want to use some procedures from guile-lib in my custom channel.
<ekaitz>SorET: you mean (use-modules (the package i need)) ?
<SorET>ekaitz, yes.
<SorET>I know that I can use them inside a gexp using with-extension procedure, but I need to use them outside a gexp.
<ekaitz>i might be misunderstanding you but just use-modules in the outside?
<SorET>Uhm... but I a fresh install that could cause an error, no?
<ekaitz>yeah i see