IRC channel logs

2023-09-25.log

back to list of logs

<mirai>wut
<mirai>did something change with guix or guile?
<mirai>I'm getting “web/client.scm:84:6: Throw to key `gnutls-not-available' with args `("(gnutls) module not available")'” for a program-file that was previously working
<mirai>ah, gnutls no longer has guile bindings
<jaeme>How would one build all the packages specified in scheme file?
<apteryx>you can return them in a list at the bottom of such file
<jaeme>I see
<jaeme>I'm using a manifest file right now
<jaeme>Seems to be the easiest way
<jaeme>Rust just has ungodly long build times
<sneek>Yey! janneke is back!!
<avalos>Okay, it's gonna take a while to learn how to use this new system.
<avalos>I did manage to get KDE running, albeit with some minor issues.
<avalos>Such as, display scale always resetting to 100% every login.
<avalos>Installed apps not showing until the next login, and many apparently not showing at all.
<avalos>I can't set display brightness either. :(
<f1refly>Good Morning. I just tried to guix reconfigure my system, but it raidvsed that there's no match for some git object, seemingly while inspecting the guix repository in the store. Heres the log: https://paste.rs/Bwhzu.txt. Any ideas what the problem might be?
<avalos>I installed the Syncthing home service, but I can't access the web UI using `localhost:8384`.
<avalos>What's the port supposed to be?
<civodul>Hello Guix!
<civodul>avalos: hi! it should be the port Syncthing uses by default
<civodul>not sure which one that is
<civodul>you can check with ‘netstat -tupla | grep LISTEN’ or similar to find out which ports are opened
<civodul>we should specify the port number in the doc though
<minima>hi, the docs recommend to run `make authenticate' after every `git pull' of the guix repo; hm... but if a corrupt version of the repo is received, i guess the Makefile could have been tampered with too?
<minima>shouldn't one rely on a tool/script that's installed in the system already?
<minima>is this what `guix authenticate' is for?
<minima>( https://guix.gnu.org/manual/devel/en/html_node/Building-from-Git.html )
<minima>i suppose there's always the option to double-check the Makefile before running `make authenticate', but maybe this is something that the docs might mention?
<jpoiret>minima: yes, you should use guix authenticate to authenticate the repo
<jpoiret>make authenticate is for committers, to check that their local tree is properly signed before pushing
<minima>jpoiret: oh super, thanks for confirming that; so the way things are worded in the docs at the minute might be a bit misleading?
<jpoiret>seems so, you're not the first person to ask
<minima>i'm talking of "Note: You are advised to run make authenticate after every git pull invocation. This ensures you keep receiving valid changes to the repository."
<rekado>I just noticed that https://10years.guix.gnu.org/video/let-s-translate-guix-together-/ contains *two* talks in the same video
<civodul>rekado: oops! not sure how to fix this, i have long forgotten about the process (which was mostly handled by olasd)
<Altadil>Hi, is guix system reconfigure broken on the latest guix ? I just guix pull-ed and can’t run it anymore (other commands seems to still work). I get a "Git error: object not found - no match for id (be5bec47f7942a5e4d2a30eadd9a6fa4c715e88b)"
<cbaines>f1refly, Altadil, what does guix describe say?
<cbaines>looks like there's been some code changes recently in guix/git.scm but I'm hoping the latest version works...
<Altadil>cbaines: https://paste.debian.net/1293032/
<cbaines>right, I guess something is broken
<cbaines>this commit confuses me at least https://git.savannah.gnu.org/cgit/guix.git/commit/?id=6d33c1f8061e86d63ab5c9ec75df9c58130c7264
<cbaines>the comment being removed says "don't use resolve-reference", but the commit introduces a use of it
<f1refly>cbaines: http://ix.io/4GRi
<f1refly>if things are broken from the system side its way better than me being bad at configuring in my view :)
<civodul>cbaines: in case it can be of any help, this was discussed here: https://issues.guix.gnu.org/65352
<civodul>Altadil: what command gives you “object not found”?
<cbaines>I've reproduced the error locally, I'll try reverting and see if that helps
<ArneBab>Howto update a package on GNU Guix: https://www.draketo.de/software/package-guix
<civodul>cbaines: how can it be reproduced?
<cbaines>(with-repository (getcwd) repo ((@@ (guix git) reference-available?) repo '(commit . "be5bec47f7942a5e4d2a30eadd9a6fa4c715e888")))
<cbaines>where the commit doesn't exist
<cbaines>currently you get an exception: Git error: object not found - no match for id (be5bec47f7942a5e4d2a30eadd9a6fa4c715e888)
<civodul>ah it throws instead of returning #f?
<rekado>ArneBab: the URL https://www.draketo.de/software/package-guix.pdf goes to “Zitier keine Nazis”
<cbaines>yeah, but when you revert 6d33c1f8061e86d63ab5c9ec75df9c58130c7264 it behaves as expected I guess and returns #f
<cbaines>reconfiguring seems to be working for me, so maybe this problem only occurs when reconfiguring when you have additional channels
<Altadil>civodul: sudo guix system reconfigure /etc/config.scm
<civodul>cbaines: oh i see: 6d33c1f8061e86d63ab5c9ec75df9c58130c7264 removed ‘false-if-git-not-found’ around the ‘commit-lookup’ call
<civodul>also short commits are no longer handled
<civodul>we discussed it though
<civodul>hmm this is confusing
<cbaines>ah, I'd assumed that false-if-git-not-found meant if git wasn't found
<avalenn>how can I add some Guile module to use in a new build phase ?
<avalenn>(I tried to mix modify-phases with with-imported-modules but I must do it badly because it does not work.)
<cbaines>civodul, adding ‘false-if-git-not-found’ around ‘commit-lookup’ does seem to help
<civodul>cbaines: yes; just sent a reply to https://issues.guix.gnu.org/65352
<ArneBab>rekado: oh — thank you! I forgot to generate the PDF.
<civodul>cbaines: i’m sorry i guess i messed up this review
<civodul>ArneBab: i think you might want to mention ‘guix refresh’ (which works in many/most cases) and ‘guix edit’ (to locate the package)
<cbaines>civodul, no worries, the thread looks a bit arduous
<minima>ArneBab: thanks for the howto! personally, that'll come in handy! may i ask if `guix shell -D guix -- guix shell gperf texinfo gettext perl -- ...' is the same as `guix shell gperf texinfo gettext perl -D guix -- ...'?
<rekado>it’s not the same. The former opens two nested shells, whereas the latter opens one subshell only
<rekado>I’d prefer the latter.
<minima>yeah, i was wondering if the double-shell invocation was for some technical or rather stylistic reason
<blablabla>hi, what is the point of having a separate "gui" output?
<blablabla>and is there some guideline on what should go there?
<zimoun>civodul, cbaines: I pushed false-if-git-not-found around ’commit-lookup’
<civodul>zimoun: yay, thanks!
<zimoun>for the short commit ID, I do not understand what you are asking civodul.
<zimoun>Sorry for not noticing this mistake about false-if-git-not-found earlier.
<civodul>np, i overlooked it as well
<blablabla>more specifically: should a web interface go to the default output or to the gui output
<zimoun>on the side “guix pull” and “guix time-machine”, the short commit ID handling is consistent. You said: « <civodul> also short commits are no longer handled [11:28] » But they are via tag-or-commit. And if something provides (commit . "abc123") then the match falls into _ and reference-available? returns #f which trigger remote-fetch.
<zimoun>So I do not understand what you are asking about short commit ID.
<blablabla>well rtfm https://guix.gnu.org/manual/en/guix.html#Packages-with-Multiple-Outputs
<civodul>zimoun: previously, (commit . "1234") would be optimized as well, via ‘object-lookup-prefix’; this is no longer the case
<civodul>maybe that’s acceptable because in practice we only ever seen (tag-or-commit . "1234")
<zimoun>it is via ’resolve-reference’, no?
<ArneBab>minima: the latter looks better — I did not know that it actually works ☺
<zimoun>civodul: resolve-reference uses an heuristic to then run 'commit or 'tag. If the heuristic applies the path 'commit then ’object-lookup-prefix’ is conditionally uses for short commit ID, no?
<minima>ArneBab: i suppose this partly boils down to personal preferences, but yeah, the latter might be a bit more compact
<zimoun>civodul: how the case (commit . "1234") could arise? It cannot using “guix pull” and “guix time-machine”. So it is only possible via internals.
<zimoun>To be clear, (commit . "1234") is not handled by ’reference-available?’ and returns #f.
<zimoun>But that case could not be possible since the introduction of 'tag-or-commit. If internals are still using it, they need to be converted to (tag-or-commit . "1234") in order to be consistent with the rest, IMHO.
<blablabla>how can i build a specific output with 'guix build -f' ?
<blablabla>ok it builds everything mb
<zimoun>cbaines, false-if-git-not-found does not mean “Git was not found”, I assumed the same hence some confusion although the code was just above ;-) but it means Git returned GIT_ENOTFOUND which signals “Requested object could not be found“.
<ArneBab>zimoun: maybe it could be renamed to false-if-git-reports-not-found ?
<ArneBab>minima: I now added a footnote that this can be done in a single call.
<ArneBab>civodul: I added refresh and edit.
<ArneBab>minima, civodul: thank you both!
<minima>ty ArneBab!!
<PotentialUser-91>Hello Guix. Are you aware, that packages.guix.gnu.org does not work for lookups anymore?
<ArneBab>rekado: the pdf now works, too. Thank you!
<blablabla>how do i delete store elements installed with 'guix install'?
<ArneBab>blablabla: do you mean after you removed the package again?
<PotentialUser-91>"It seems that the Data Service is not accepting requests or it is taking too long to respond. You should try again, maybe it was just a blip."
<PotentialUser-91>blablabla run "guix gc" from time to time
<blablabla>ArneBab: 'guix build glib', 'guix install /gnu/store/...-glib-2.72.3-doc', how do i remove this "doc" output?
<blablabla>well yeah guix gc will work i guess, thx
<blablabla>thought there would be some associated 'guix remove' that works
<ArneBab>blablabla: ah, guix build is not install. For install you only get the doc if you `guix install glib:doc`
<blablabla>'guix build' lists output, then i install one of them with 'guix install'
<ArneBab>blablabla: I didn’t know that worked ☺
<blablabla>which actually works (the 'doc' output gets installed).  but i can't remove it as i would have been able if i had done "guix install glib:doc"
<blablabla>this is actually useless because i can do "guix install glib:doc" indeed
<blablabla>but where it's useful is if i build the package from a file with 'guix build -f'
<zimoun>ArneBab: well, false-if-git-not-found is part of the exposed public API. So changing the name means some boring work that is probably not worth.
<cbaines>PotentialUser-91, I've restarted data.guix.gnu.org and that seems to have helped
<blablabla> https://xkcd.com/1495/
<blablabla>also guix gc doesn't work because a profile was created
<blablabla>i would need to remove the profile manually
<PotentialUser-91>cbaines: Thank you
<PotentialUser-91>blablabla: I see
<mirai>IMO the changes from commit 305794762cbb57d252d5305b69a18cec6528baef are NEWS-worthy
<mirai>given the implication that was explained further in 3186a52e11aa1172c2dbdfe855127c9586f2b3b9
<mirai>rationale: it affects program-file scripts that happen to use (web client) and HTTPS
<mirai>I found this out when my certbot setup failed to renew the certificates <https://paste.centos.org/view/4c938777>
<PotentialUser-91>Can I specify from which channel a package should be installed? I have two versions of python-furo, but only the guix main channel version is installed. I want to install the version from my own channel (also for packages that depend on that)
<rekado>PotentialUser-91: the easiest way to do this is to rename it and then use package transformations to replace ‘python-furo’ with ‘my-python-furo’
<rekado>in a manifest you can access your package variant by variable name, so the package name does not need to change
<civodul>see also the ‘-e’ flag at https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-package.html
<mirai>#:use-module ((the-channel packages something) #:prefix the-channel:)
<mirai>the-channel:python-furo
<mirai>note: #:prefix whatever-I-want is equally valid, its not specific
<rekado>or (@ (the-channel packages whatever) python-furo)
<PotentialUser-91>I knew that there must be a way. I did not read much about package transformations, but will do now. Thank you all
<Rovanion>Where can I find the checksums of the iso's?
<Rovanion>Running gpg on the signature doesn't help, I think, because I do not have the public key on my system.
<civodul>Rovanion: hi! did you follow the instructions at https://guix.gnu.org/manual/en/html_node/USB-Stick-and-DVD-Installation.html ?
<civodul>in particular on how to fetch the gpg key
<Rovanion>My brain glossed over when the command failed.
<bozo16>(boot installation iso image) Guix kernel image is somewhere in the dir tree. Any easy way to find the image?
<ekaitz>hi how do you manage vim plugins using Guix? can you point me to a tutorial or something?
<ekaitz>i tried to `guix shell vim vim-paredit` and `:h paredit` did't work
<ekaitz>efraim: ^^ ?
<ekaitz>is it just automagic?
<ekaitz>oh it works but it has no help!
<civodul>rekado: hey! what are you thoughts on https://issues.guix.gnu.org/65860 ?
<civodul>in particular, i wonder whether we can treat avr like a ‘normal’ target
<civodul>meaning an entry in (guix platforms …) and everything handled via cross-base.scm
<bozo16>why circular dependencies are so hard to find?
<bozo16>civodul
<ekaitz>civodul: I found a weird error with arm-none-eabi-toolchain the other day, the gcc that it generates can't find the libc includes properly if in a shell, is it related?
<ekaitz> https://lists.gnu.org/archive/html/help-guix/2023-09/msg00025.html
<ekaitz>that's the error
<yetanothertest>Hello. This is a test. I'm connected using openssl(1) s_client. Does it work?
<apteryx>civodul, rekado: good timing, I was about to merge that series
<apteryx>I have a 21 something commits qmk firmware related series that builds on it that i'd like to send for review
<apteryx>(also: hello :-))
<apteryx>rekado: you seem to have applied nice optimizations to teams.scm; I just had one question when looking at it, which was could it have instead used (guix memoization) for memoizing the read calls.
<apteryx>ekaitz: I don't think that's related, although if you use arm-none-eabi-toolchain you'd be impacted since that's no longer possible with the series
<ekaitz>apteryx: and what should I use instead?
<apteryx>not because it doesn't have value, but because it makes the (gnu packages avr) module impossible to import without introducing cyclic modules
<apteryx>it's replaced by a make-avr-toolchain and friends procedures that you can use in a manifest
<ekaitz>ooh ok
<ekaitz>and will still fail to find the includes in the libc?
<apteryx>and in an upcoming series this is augmented with a #:xgcc argument that allows you fine tuning which GCC to use as the base package.
<ekaitz>because it's a pretty wild thing, I do have the CROSS_* family of variables set
<apteryx>so you can have an AVR toolchain based on GCC 8, required by QMK say
<ekaitz>apteryx: so that's the same we have with (cross-gcc ...) and family
<apteryx>yes, the same idea
<ekaitz>that's awesome
<ekaitz>i'm still wondering how it doesn't manage to find stdlib.h though... I hope that's fixed with the patch series
<apteryx>did you try in a pure environment?
<apteryx>I don't think that series will change anything regarding that; it's all about delaying evaluation of the toolchain packages
<ekaitz>let me try!
<phf>Has there been any work done in Elixir to allow for a command equivalent to ~guix install python-numpy python -- python3 -c "import numpy"~ to be executed?
<ekaitz>apteryx: same error in a --pure environment
<ekaitz>:(
<graywolf>Out of curiosity, is there a reason home-inputrc-configuration is available ony for, well, home? I cannot find a service to produce /etc/inputrc...
<graywolf>only*
<rekado>apteryx: do you mean the changes to committer.scm?
<rekado>civodul: I never saw AVR as a serious platform, to be honest, because it is so very limited. At least my targets are all so small that I can’t see any use in a generic target for anything more than a vanishingly small subset of packages.
<jonsger>graywolf: that would be nice :)
<civodul>rekado: still, maybe we could still make it a ‘proper’ cross-base.scm platform, similar to MinGW, instead of special-casing it?
<rekado>civodul: yes, I don’t object. I just never occurred to me.
<apteryx>rekado: oh, probably committer.scm, yes
<rekado>apteryx: okay, in that case: yes, read-original-file* could be removed with the use of (guix memoization)
<apteryx>I think it already depends on (guix ...), right? Which is a bit odd as it means it needs to run in a ./pre-inst-env environment
<apteryx>on foreign distributions not having a Guix in their Guile load path at least
<rekado>yes, introduced in 50c2dcd1c977f98681a4e457b2bcf09d96588eee so that it can read gexp package definitions.
<apteryx>I see!
<apteryx>about the bug#65860 series turning the avr toolchain packages into procedures, do you have an opinion about it? otherwise I'd like to merge it today.
<apteryx>rekado: ^
<PotentialUser-43>Hello. I have a package, that I want to split into the base package and an additional data package. The base package contains code and some data. The data package should contain big size data. How can the base package find the location of big size data when installed?
<superkamiguru>So I have a configuration that I used to be able to produce a working qemu vm with. Here is the file-system and bootloader section of the config that used to work. https://paste.debian.net/1293066/
<superkamiguru>Now, this no longer boots, and the only way I can get it to produce a bootable image is removing the efi file-system declaration and set the root fs to vda1, though this causes partition resizing issues when modifying the vm. Does anyone potentially have some feedback on how I am going about/a better way to approach generating a qemu vm?
<Altadil>PotentialUser-43: I’m no expert, but I think you need to use gexps (https://guix.gnu.org/en/manual/devel/en/html_node/G_002dExpressions.html) for that.
<PotentialUser-43>Altadil: Maybe it is already too late here, but looking at that hurts my brain ;)
<Altadil>PotentialUser-43: it does, yes, that’s basically where a I am currently, in my "understanding Guix" journey, and that’s quite a big step :)
<SusanTheNerd>I think I found the issues with why I couldn't boot
<SusanTheNerd>idk how to fix it however
<SusanTheNerd> https://paste.debian.net/1293068
<SusanTheNerd>So the issue is that without manually loading insmod lvm, insmod luks, insmod crytodisk and running cryptmount (hd0,gpt2) I can't boot without getting an error of device /gnu/store not found
<jackhill>hmmm, just commeted on a CC=gcc in a review. I wonder if we could add that to guix lint.
<jackhill>also, if anyone has feedback on what I wrote in https://issues.guix.gnu.org/66193#1 I'd love to hear it. Some things I find difficult in writing a review (as a non-committer) are setting the right tone (I'm trying to be helpful and not give a laundry list of todos!) and pointing on things that could be improved (which file should the package go in, description wordsmithing in this one) but for which I
<jackhill>don't authoratatively know the answer.
<janneke>jackhill: mast probably, PREFIX should be #$output, and DESTDIR empty
<rekado>apteryx: no opinion, but I also don’t have time to form one. Best not to wait for my opinion :)
<avalos>Is there a fix for this yet? https://issues.guix.gnu.org/issue/35594
<avalos>I'm using Wayland, so it's not very comfortable to login/logout every time I install a graphical package.
<avalos>s/Wayland/GNOME Wayland/
<PotentialUser-47>hello there, I am trying to use the "sha256" field of the "origin" function to check a file, I therefore need to compute a base32 sha256 of the file I need to download.
<PotentialUser-47>I am looking at other channel-s as reference on how to do this, I have found one however my result does not match their~s.
<PotentialUser-47>I think I do not understand the different formats at play here well enough,
<PotentialUser-47>It is said that the sha256 outputs eight 32 bit words, the string output by gnu~s "sha256sum" is 64 characters long so i understand that tool to output
<PotentialUser-47>So the output has 256 bit-s of information, gnu~s "sha256sum" outputs 64 characters, this would mean that each character encoded 4 bit-s of information
<PotentialUser-47>whoops sorry, meant a newline, message was not complete
<PotentialUser-47>I am having trouble computing a base32 sha256 of a file a, please may somebody help me achieve this?
<janneke>PotentialUser-47: use guix download <tarball-url>, or guix hash foo.tar.gz
<PotentialUser-47>thanks just figured it out
<PotentialUser-47>a forum of nix users helped me :D
<janneke>(y)
<janneke>love it :)
<ngraves>Is the Blue Oak License tolerated in Guix ? It claims / wants to replace MIT / BSD licenses, but isn't marked FSF Free on https://spdx.org/licenses/
<gnucode>ngraves: what software do you want to use with that license?
<antipode>sneek: later tell jackhill: about CC=gcc: that hypothetical linter stopped being hypothetical a month ago: https://issues.guix.gnu.org/65426! Though perhaps CC=gcc was used in a place the new linter can't detect yet.
<sneek>Will do.
<ngraves>gnucode I'm trying to pacakge some node packages, and it seems used on some major node packages (tap for instance).
<antipode>sneek: later tell jackhill: Also, that DESTDIR and PREFIX need to be swapped (see: staged installations)
<sneek>Okay.
<antipode>Does anyone have an idea on how this PREFIX / DESTDIR confusion started existing? It seems a weird thing to be commonly done wrong.
<antipode>Like it's not that people do DESTDIR instead of PREFIX (which is still wrong, but more subtly so and sometimes the distinction doesn't matter), but instead they swap DESTDIR with PREFIX.
<antipode>It's not an Autotools-specific and GNU-specific thing, it's even shared with BSD https://people.freebsd.org/~rodrigc/doc/data/doc/en_US.ISO8859-1/books/porters-handbook/porting-prefix.html
<antipode>Sounds like a simple candidate for a new linter ...
<rekado>I think the output of ‘guix system image --help’ is pretty cluttered
<rekado>that’s because it shows the help for ‘guix system’
<rekado>and then many of the options are all conditional, e.g. --volatile for 'image', make the root file system volatile
<rekado>or -N, --network for 'container', allow containers to access the network
<antipode>sneek: later tell lilyp: I read your p.s. about the state of antioxidation. AFAICT the latest work is <https://issues.guix.gnu.org/64904>, but the actual patches don't appear to have been sent.
<sneek>Will do.
<rekado>but I really just want to see those that are relevant for ‘guix system image’, not ‘guix system vm’
<antipode>rekado: idea: maybe separate "guix system --help" from "guix system image --help" from "guix system vm --help"?
<ngraves>gnucode It seems that the FSF has not enquired into this license yet, but it respects the four freedoms. It really is a simplified Expat / BSD license. I will package with this license, but please let me know if I should send an email to the FSF before that.
<rekado>antipode: yes, that would be good
<rekado>ISTR that we have similar problems with other big sub-commands with multiple actions
<rekado>it’s rather overwhelming
<antipode>Maybe, more concretely: move all option info that is not universal to all subcommands, to the subcommands. Or, somewhat different, move info that's specific to a subcommand to the subcommand.
<antipode>I don't know if that would be sufficient but it should help at least a little I think.
<gnucode>ngraves: It might be a good idea to email them sure. I'm not really on the guix leadership btw. I would send a patch and see what they say.
<avalos>How do I install `libgcc_s.so.1`?
<avalos>I'm ldd-ing a package and it says «not found».
<apteryx>guix install gcc-toolchain
<avalos>I have it installed.
<apteryx>hm; then I'm not sure
<avalos>It's even in the store, but ldd can't find it, and attempting to run the binary results in `No such file or directory`.
<antipode>Is this for a software you (1) compiled yourself (e.g. ./configure && make), (2) installed through Guix (e.g. guix shell, guix install, ...), (3) you downloaded a pre-compiled binary and are trying to make it run on Guix?
<antipode>Methods to fix whatever the problem is depend on whether it is (1), (2) or (3).
<avalos>It is (3).
<avalos>Everything else is linked correctly, except libgcc_s.so.1
<antipode>I'm not very familiar with the specifics but it's stuff like patchelf and LD_LIBRARY_PATH you need to look into. Though if everything else is linked correctly, perhaps you did that already.
<antipode>Alternatively, if you have access to the sources (and it's not a dependency mess like Gradle or something), you can compile it on Guix which likely would avoid the libgcc_s.so.1 issue. Often, but certainly not always, compilation is relatively straightforward.
<antipode>sneek: later tell minima: There's a report and patches about the ‘make authenticate’ thing and its documentation at https://issues.guix.gnu.org/57910#1
<sneek>Got it.
<PotentialUser-43>Hello. When certain_package_checkout.drv is build, does guix clone the complete history of the package repo or only the last state?