IRC channel logs

2023-02-27.log

back to list of logs

<flatwhatson>hello :) could somebody please review my scheme48-prescheme package? https://issues.guix.gnu.org/61404
<lechner>nckx / noboom, although the error message could be nicer https://srfis.io/srfi-420-a-cool-new-srfi-inspired-by-srfi-69
<fresas-con-nata>Exception: #<&compound-exception components: (#<&external-error> #<&irritants irritants: (-2)> #<&exception-with-kind-and-args kind: getaddrinfo-error args: (-2)>)> https://srfis.io/srfi-420-a-cool-new-srfi-inspired-by-srfi-69
<fresas-con-nata>"SRFI 69: Basic hash tables" https://srfi.schemers.org/srfi-69/srfi-69.html
<lechner>nckx / all the other issues were also fixed: #5555 #5555 #5555 #5555, plus i got in touch with the Mailman folks
<fresas-con-nata>"23.1.92; mail-archive-file-name not working" https://issues.guix.gnu.org/5555
<mirai>lechner: chapters?
<mitchell>How do I get guix to evaluate a gexp from the geiser repl?
<lechner>mirai / SICP
<mirai>oh, lol
<mirai>I haven't read past the first one yet
<mirai>can't give recommendations
<mirai>but given the memes, it looks instructive
<lechner>mirai / you and i are too busy programming!
<lechner>great work, by the way
<lechner>mitchell / we lounge a lot. please feel free repost your question after a reasonable amount of time. unfortunately i do not have an answer for you, but others will
<mitchell>I feel my answer lies in the monad repl but I really do not understand monads enough to use it
<mirai>lechner: thanks
<bjc>mitchell: gexps are evaluated with ‘lower-object’ inside the store monad. i think there are convenience routines for this now, but i can't remember them
<bjc>lowering an object creates a derivation, which can be built with ‘build-derivations’
<mitchell>How does that relate to ~gexp->derivation~?
<mitchell>I can run that outside of the store monad
<apoorv569[m]>@mfg Yes I think I am using %desktop-services.
<bjc>it's been a while since i looked at it, but as i recall, gexp->derivation is a low-level routine for arbitrary gexps that gets used by higher level stuff like ‘computed-file’
<apoorv569[m]>Well I am defining a variable named my-desktop-services which modifies the %desktop-services and configures guix-service-type, elogind-service-type and udev-service-type
<apoorv569[m]>Then I add all the services to my-desktop-services
<vagrantc>heh. finally updated a system with the shiny new progress bars. nice. :)
<bjc>and while you can call these procedures, i believe they return procedures themselves, which can only be used by the store monad to actually create the derivation
<mitchell>That's the part that trips me up I suppose. Monads are tough to wrap my head around
<bjc>you can basically ignore it as a concept, and just remember that this stuff has to be run in a store context
<mitchell>Well the documentation says that every procedure run in the store repl needs to return a monadic value
<mitchell>which i do not understand practically what that means
<bjc>guix only has the store monad (there's also state, but i don't think that's used), so all monadic values have to be run through the store. iirc the docs are pretty good at saying what returns a monadic value
<mitchell>So store items are monadic because they rely on the contents of the store. When I want guix to evaluate something and place it in the store it needs to be a monad because it modifies state?
<bjc>but it's worth remembering that the store is there to sequence events as you compose them, but nothing actually happens until you run it, with either ‘build-derivations’ or ‘built-derivations’
<bjc>i have some sample code from when i was trying to figure out an issue with geiser's repl output, which uses the store monad here: http://ix.io/4pka
<mitchell>I see. More like a list of lambdas that either all run and succeed or all fail
<bjc>ignore the output-port stuff. the mlet/mbegin should still work, though
<mitchell>like a recusive cons
<mitchell>you pass it around until everyone added what they want and then run it as a single action
<bjc>it's not necessarily transactional just because it's a monad, since a monad can break in the middle. i think guix adds some extra logic to the monad fail state to ensure transactionality though, yes
<bjc>the monad is there for easy composition of actions, though. so that part is correct
<mitchell>I thought the magic of functional programming (with monads) was that there was no observable state
<bjc>the state is observable inside the monad
<mitchell>so if something fails doesn't that imply a clean up?
<bjc>it does not
<mitchell>then how do you hide the state?
<bjc>it's effectively just procedure arguments, so it's hidden the same way
<mitchell>I guess if you cast into the memory management aspect you could say the underlying memory could still be mutated but the sematics of the program are not aware of that
<bjc>the monad machinery is responsible for inspecting state and deciding how to handle it, and that will vary based on the monad. it's not generic
<lechner>mitchell / in your work as an embedded engineer have you ever encountered the other GUIX? https://www.youtube.com/watch?v=8rKS_t7Z9Vw
<fresas-con-nata>"Demo: I built a display driver for an embedded device with Azure RTOS GUIX - YouTube" https://www.youtube.com/watch?v=8rKS_t7Z9Vw
<bjc>so guix can have machinery for a derivation building, which keeps track of what's been built, so that if it fails at some point, things can be rolled back, even if the individual derivations are only capable of signalling whether or not the've succeeded
<mitchell>lechner: The M*rosoft one? Only while googling for the GNU one
<bjc>although, tbh, i think guix just leaves all the garbage around, and is transactional just by way of not updating the profile and its generation symlink
<bjc>ACTION → essen
<mitchell>Mostly people I know go bare metal or FreeRTOS
<mitchell>I'm a trail blazer using zephyr
<lechner>mitchell / i know! i just read up on it but Zephyr seems to more event-driven and better for low-power applications. Plus, it's supported by a larger number of vendors rather than owned by one
<lechner>is there a guide somewhere how i may try to build an image for my router, preferably using Guix? i have u-boot already and would prefer to keep it
<mitchell> https://github.com/paperclip4465/guix-embedded-example I am working on a blog post showcasing guix for embedded projects
<fresas-con-nata>"GitHub - paperclip4465/guix-embedded-example: Example project showcasing GNU Guix for meta project management" https://github.com/paperclip4465/guix-embedded-example
<mitchell>the firmware should be buildable by all
<mitchell>i'm working on the service definitions now
<mirai>lechner: guix as a router?
<mitchell>mirai: why not?
<mirai>mitchell: That'd be a good thing
<mitchell>I think it can be done
<mirai>but compared to say, openwrt, we're quite away from there
<lechner>mirai / i realize it's ambitious, but i bought two identical routers with plenty of headroom (512 MB flash, 1 GB and USB) and would open one like a can of sardines
<mirai>as in service definitions and packages
<mitchell>I think a big step in that direction would be packaging a smaller libc to accomodate lower end hardware
<lechner>mitchell / Would arm-zephyr-eabi also cover Qualcomm Atheros Krait, which is two Cortex-A15
<lechner>i have usb drives
<mirai>idk if we'd see something like luc
<mirai>luci
<lechner>i don't need luci. i need a config.scm
<mirai>at best we're going to have a dashboard and a GUI-to-SCM
<mirai>It's 100% doable sure
<apteryx>nckx: answering your question about "what do you use that needs NAT", I think it's the dnsmasq-powered "Share your Internet" feature or similar
<mirai>but there's lots of work to get there
<mirai>talking about a plain x86_64 router
<lechner>why so negative? i thought your bad day was on friday
<mitchell>lechner: Not in it's current state. Right now it is compile with `--with-multilib-list=rmprofile` which includes only the cortex-m and cortex-r
<mitchell>it's probably only a configure flag away though if you know which one
<mirai>lechner: I'm not being negative here lol
<lechner>i have had openwrt on it for two years or so
<mirai>it's just that I kinda thought about it too before
<lechner>let's do it together
<apteryx>datefudge doesn't seem to help with the openssl certs expiring in April 2022 (openssl 1.1.1l)
<mirai>and the list of deps/service-definitions to write was... not small
<mirai>eventually we'll get there sure
<apteryx>e.g, datefudge "2022-05-01 00:00" make test TESTS=test_ssl_new VERBOSE=1 still fails with # 140520156960576:error:14094415:SSL routines:ssl3_read_bytes:sslv3 alert certificate expired:ssl/record/rec_layer_s3.c:1543:SSL alert number 45
<apteryx>well, replace that date by something like 2021-06-24 and it still fails
<mirai>lechner: I've yet to write a series of long-reads (i.e. drafts) to guix-devel concerning about services, file-systems, etc.
<lechner>can't wait
<haugh>ACTION uploaded an image: (238KiB) < https://libera.ems.host/_matrix/media/v3/download/matrix.org/bDFfzJvusapTgalhgWWcqbxh/_20230226_202427.JPG >
<haugh>Hello friends.
<haugh>Happy install to a new system, hangs on boot. Any pointers? Any required info?
<oriansj>haugh: hangs where and did you do encrypted volume and what is your system configuration?
<haugh>oriansj, did the bridge send my photo? the screenshot is the hung screen; can't switch tty, can't do anything but force shutdown with power button. yes LUKS, absolutely minimal system configuration. Have tried a few different configs, same result. No DE, no xorg, no wireless, etc.
<oriansj>ok, you are at a luks prompt. just type in your luks password and hit enter
<haugh>already entered both
<oriansj>haugh: and your configuration?
<haugh>it's the auto-generated config with no additional services
<haugh>it's not hung in the sense that the TTY is waiting; the cursor has stopped blinking and the system is completely nonresponsive
<oriansj>hmmm; I haven't played with that but perhaps my sample configuration: https://git.sr.ht/~oriansj/System_setup/tree/main/item/files/guix-config.scm and my install procedure might help: https://git.sr.ht/~oriansj/System_setup/tree/main/item/install%20guixsd.txt
<fresas-con-nata>"~oriansj/System_setup: files/guix-config.scm - sourcehut git" https://git.sr.ht/~oriansj/System_setup/tree/main/item/files/guix-config.scm
<fresas-con-nata>"~oriansj/System_setup: install guixsd.txt - sourcehut git" https://git.sr.ht/~oriansj/System_setup/tree/main/item/install%20guixsd.txt
<haugh>Appreciate the data. This is unresolved and I will continue to be receptive and polite to any and all assistance, thanks everyone :)
<oriansj>as it is very minimal and explicit as possible (nothing implicit if I can do so)
<apteryx>ACTION tries faketime instead of datefudge
<apteryx>does the fail2ban service really work on guix?
<apteryx>doesn't seem to stop SSH brute force attacks from 185.225.74.46 in its default configuration for sshd (the one in the manual example)
<apteryx>why does adding libfaketime to openssl@1.1.1l cause a cycle?
<apteryx>a module cycle it seems
<apteryx>hm, or not. I put a libfaketime-minimal right above openssl-1.1 and it still cycles
<apteryx>I don't get it
<apteryx>ah! maybe the git-minimal used by the git-fetch origin requires openssl as an input
<apteryx>thus the cycle
<apteryx>git-fetch of libfaketime
<vagrantc>apteryx: i've mostly been exposed to faketime and curious about the differences with datefudge
<apteryx>it seems more complete
<apteryx>openssl didn't mind datefudge, but with faketime it seems to be tricked
<apteryx>perhaps its gmtime call
<apteryx>datefudge only fudges 3 calls
<irajane>hello
<irajane>is there any meta package for compiling stuff (something like build-essential in ubuntu)
<irajane>?
<apteryx>gcc-toolchain
<winter>why does `guix build --check` not rebuild a package? https://paste.debian.net/1272263/
<fresas-con-nata>"debian Pastezone" https://paste.debian.net/1272263
<apteryx>it's not as wide as build-essential though
<winter>ah, i assume i'm getting the grafted version
<winter>so `--check --no-grafts` is what I want
<winter>yup
<apteryx>yep, the cycle was through git-fetch
<apteryx>ACTION throws the towel on this effort
<winter>what are you trying to do, apteryx?
<winter>are build system arguments like `imported-modules` or `modules` documented anywhere? i see documentation for `with-imported-modules`, as well as ones like `phases`, but not `imported-modules` or `modules` (see https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/python-crypto.scm#n938)
<fresas-con-nata>"python-crypto.scm\packages\gnu - guix.git - GNU Guix and GNU Guix System" https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/python-crypto.scm#n938
<lechner>winter / your best bet may be to look in the Guix source tree for examples
<winter>that's what i'm doing lechner :)
<winter>maybe it's worth writing documentation for, hm. will need to look into it some more. seems like it's conventional to be adapted by all build systems, but notably can be forgotten (see 9e4d8c75183c226d0cba2de3b40e6a9e603ae43b)
<winter>note to self: actually do the git send-email dance next time i need to submit a cover letter, ugh. thought it would handle it with the in-reply-to header but guess i should have actually thought about it. sorry to whoever triages 61833 and 61834 :(
<winter>not a good first impression i assume 😓
<lechner>winter / you can amend the bugs via email, and there is no shame in doing so in any event---but especially not with the strange patch submission system we have
<winter>lechner: no, the issue was that i accidentally submitted 2 bugs for 1 patch
<lechner>no sweat. should we close one/
<winter>because i didn't send the cover letter and then the patch to the #@ address as the manual says
<winter>uhh i do want a response to the cover letter, so i'll keep both open until someone triages it, then they'll close borh
<winter>*both
<winter>in the future i'll make sure to not do that, and it'll be much easier since i'll get an issue number immediately
<lechner>we could merge them, but i think in this case it's better to submit your patch to the cover letter and close the one that has only the patch
<winter>sure thing. i won't be able to do that for at least 18 hours or so, though
<winter>so maybe the best course of action in this case is to just let it be?
<lechner>#61833 #61834
<fresas-con-nata>"[PATCH] gnu: fish: Update to 3.6.0." https://issues.guix.gnu.org/61833
<fresas-con-nata>"[PATCH] gnu: fish: Update to 3.6.0." https://issues.guix.gnu.org/61834
<lechner>winter / #61833 is an unrelated 'guix style' question. it's been asked many times before (including by me). the answer is to mark the region in Emacs instead and hit TAB. may i please close that bug?
<fresas-con-nata>"[PATCH] gnu: fish: Update to 3.6.0." https://issues.guix.gnu.org/61833
<winter>lechner: what do you mean, isn't guix style supposed to achieve the same thing?
<lilyp>sadly no
<lilyp>lechner, winter: the proper way to deal with improperly split bugs is to instruct debbugs to merge them
<lechner>not in this case
<lechner>the 33 bug is unrelated
<lilyp>I will treat it as a cover letter, because that's what winter said
<winter>It was intended to be a cover letter, yes.
<lechner>you don't think it's inconsequential to the diff?
<zacchae[m]>Trying to make a system service to spawn a login tmux, but inside the tmux, guix home fails to start because /run/users/1000 doesn't exist
<winter>ah just saw your response, thanks lilyp -- that's unfortunate. maybe a manual revision is in order, to at least dissuade its use for formatting (as opposed to rewriting input styles or phase modifications)
<zacchae[m]>Any idea how to force the creation of /run/users/1000? All the things that come up in search are systemd specific
<lilyp>there are no formal requirements w.r.t. what can go in a cover letter
<lilyp>zacchae[m]: check if it exists and create it in an activation/bash_profile hook?
<lilyp>it needs to be early enough for guix home to work
<lilyp>gtg cheers
<zacchae[m]>Hmm. It doesn't need the contents, just the director? (current contents are on-first-login and shepherd)
<apoorv569[m]>mfg: I can't find anything called `dconf-service-type` in the documentation.
<zacchae[m]>Wow, even su -l doesn't do the job. Cant believe I lost that working config...
<apoorv569[m]>Hmm.. I just noticed something. I have a keybind in DWM to "restart" it without quitting the session.
<apoorv569[m]>Restarting it sets the correct color for DWM as well.
<apoorv569[m]>That is strange why are colors not applied on login?
<apoorv569[m]>My build of DWM works fine I have it installed on another machine which does not run Guix.
<rdrg109_>[Q] My system have 92 generations, I have rolled back to the 74th generation. I want to delete the 75, 76, ..., 91, 92 generations. I have searched on the Internet, but only find information on deleting previous generations.
<rdrg109_>My system has 92 generations*
<rdrg109_>^ Solved! => $ guix package --delete-generations=75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92 <= Now I have another question. Is it possible to simply that command in order to avoid having to write a sequence of numbers (a suitable task for computers)?
<unwox>rdrg109_: "--delete-generations=75.." should work
<unmatched-paren>hello guix
<apoorv569[m]>I think I have figured out the passmenu problem as well it specifies dmenu as one of its inputs so it installs it own dmenu
<apoorv569[m]>and doesn't use mine.
<mfg[m]>apoorv569: I grepped the Guix source and there was a variable called dconf-service-type. It may be that this isn't supposed to be used directly, but I haven't looked that close 😅
<apoorv569[m]>I see.
<apoorv569[m]>What to install for rustfmt and rustdoc ? Also would like to know if there is any rust dev here what else do you install for rust development?
<rdrg109_>unwox: Thanks, that worked! :)
<mfg[m]>when guix searching for rust you can also see the outputs. rust:rustfmt is one output of the rust package, but only up to a specific version afaik this is the one you are supposed to use in Guix
<mfg[m]>So not the newest rust, but the newest that has the rustfmt output. But I don't use rust myself.
<bumble[m]>hello unmatched-paren and unwox humble thank you. your config files have been incredibly useful for me to reference
<apoorv569[m]>mfg: I see. So I have to use which latest version has output for rust:rustfmt.
<mfg[m]>apoorv569: yeah, I don't know which version that is, I'd have to look it up.
<mfg[m]>Maybe 1.62
<apoorv569[m]>guix search rust shows that rust 1.60 has rustfmt as outputs.
<mfg[m]>Hm, then 1.60
<apoorv569[m]>How to specify the version to install so it doesn't install the version without rustfmt?
<apoorv569[m]>I use manifest files
<michaelll>apoorv569[m]: If you want to customize Rust components, you might want to rely on `rustup` to install Rust, rather than any package manager
<michaelll>`rustfmt` is just one of its component, and you can list/add/remove it, docs are in https://rust-lang.github.io/rustup/concepts/components.html
<fresas-con-nata>"Components - The rustup book" https://rust-lang.github.io/rustup/concepts/components.html
<apoorv569[m]>Yea thats what I used to use. But there is no rustup package available.
<michaelll>apoorv569[m]: Run `curl -L sh.rustup.rs | bash` to install `rustup`
<zacchae[m]>lilyp: solution was a shepherd service with make-forkexec-constructor: tmux new-session -d "su [user] -l"
<michaelll>it is not installed by package manager, you can find more useful information on rustup.rs
<zacchae[m]>^ and for anyone else that wants a headless machine to launch guix home on startup
<daviwil>hey Guix! I just pulled latest Guix and for some reason `specification->package` can no longer seem to resolve "glib:bin" to the "bin" output of the "glib" package, I receive this error: "error: glib:bin: unknown package"
<daviwil>When I run `(specification->package "glib:bin")` in the guix repl, the error causes the REPL to exit immediately
<daviwil> https://0x0.st/Hzr8.txt
<apoorv569[m]><michaelll> "apoorv569: Run `curl -L sh...." <- it works on guix?
<mfg[m]>Rustup doesn't directly work on guix
<mfg[m]>You need to be in a guix shell --emulate-fhs --container afaik
<mfg[m]>But then you also need to add all other packages you want to use to that environment otherwise it's going to be pretty empty 😅
<mfg[m]>Because rustup from rustup.rs expects the dynamic-loader to be under /lib and this doesn't exist on guix. So just running it would result in a No such file or directory iguess
<apoorv569[m]>Yea. thats what I tried the first time. But I though maybe just install rust packages like cargo and all directly instead.
<apoorv569[m]>michaelll: Did you get it working like that?
<michaelll>apoorv569[m]: not really actually, mfg[m] makes a good point about that
<mfg[m]>apoorv569: If all you need in that environment is rust via rustup you can use this: guix shell -N -F -C coreutils zsh curl nss-certs grep gcc:lib
<mfg[m]>You don't need zsh though, this is just because i use it
<mfg[m]>and also run it to install your rust components
<mfg[m]>inside that environemnt you can install rustup just fine
<mfg[m]>If this is the correct way to use rust on guix? i have no clue
<michaelll>agreed :) `guix shell` is a good thing to try
<apoorv569[m]>but those components also will only work inside that container right?
<michaelll>definitely
<mfg[m]>yes
<mfg[m]>let me just try to build some random rust project from github
<apoorv569[m]>its not a bad idea. But initially I have to remember to change to that container to do rust development.
<mfg[m]>Ah yeah, you only also must add zlib
<apoorv569[m]>I should alias the command to rust-shell or somrthing
<mfg[m]>apoorv569: that sounds like a good idea
<apoorv569[m]>depending on the project you also might need cmake make and all
<mfg[m]>you can also put a guix.scm inside the root of your project and load that when you want to develop
<mfg[m]>yeah true
<apoorv569[m]>mfg: `guix.scm` ? How does that work? I didn't know about this.
<mfg[m]>I also never used it, but i have seen this in some projects
<mfg[m]>DOn't know any rust projects that use this though.
<mfg[m]>Maybe i can find a project using this
<michaelll>If those advices from mfg[m] do not fit your need(it is almostly comprehensive), your best next try would be: use QEMU to do a full OS virtualization, those which are more friendly for Rust components installation, like Debian or Fedora. That way, you can use Guix as usual and writing Rust on it :)
<mfg[m]>Interesting rust also needs gcc-toolchain, because it's apparently using cc as the linker ...
<mfg[m]>maybe the project i'm trying to build is strange shrug
<mfg[m]>True, that's always a possibility
<mfg[m]>AN example of a guix.scm: https://github.com/vcflib/vcflib/blob/master/guix.scm
<fresas-con-nata>"vcflib/guix.scm at master · vcflib/vcflib · GitHub" https://github.com/vcflib/vcflib/blob/master/guix.scm
<mfg[m]>this blog post may also be of help: https://guix.gnu.org/en/blog/2021/from-guix-environment-to-guix-shell/
<apoorv569[m]>mfg[m]: Yes alot of rust libs also need make and cmake to compile like the starship prompt
<apoorv569[m]>if you install it via cargo
<mfg[m]>I see
<apoorv569[m]>michaelll: That is a option but that defeats the purpose of using Guix and learning new tools.
<apoorv569[m]>How does guix shell guix environment differ?
<mfg[m]>i think guix environment is the old one and you practically always want to use guix shell nowadays
<mfg[m]>other than that they are pretty similar
<apoorv569[m]>I see.
<apoorv569[m]>BTW that guix.scm you shared.. looks like installing/returning a package?
<mfg[m]>yes
<apoorv569[m]>But it doesn't setup any shell to use or anything like that.
<mfg[m]>There is a comment at the top that states which guix shell command you should execute for exactly that project to get a shell
<apoorv569[m]>Ah! is it like installing a package inside the container?
<mfg[m]>guix shell -C -D -f guix.scm sets up a containerized shell containing all development dependencies of the package that guix.scm evaluates to.
<mfg[m]>So yes, it's like installing all packages necessary to develop the project inside that container
<apoorv569[m]>But how does having  guix.scm file differs than just plain running the command from terminal? The ability to install a custom package?
<apoorv569[m]>that can be done from terminal as well
<mfg[m]>Convenience iguess
<mfg[m]>you could of course just write a long shell alias for your projects and use that; with the correct command it may not make difference in the end
<lain_>I believe the difference is that the guix.scm file is intended to be used to create a container in which *only* the programs and files described can be accessed, which makes it much easier for developers to define and keep track of all inputs used to compile their program
<mfg[m]>but if someone wants to contribute it's way faster to type guix shell -C -D -f guix.scm :D
<mfg[m]>lain_ you can certainly drop the -C then you don't have a container anymore, but a regular subshell. If you don't specify --pure this subshell will even inherit the env
<lain_>mfg maybe it's if you were using 2 different versions of the same package for different projects and wanted to keep them explicitly separate too
<mfg[m]>What i didn't know but read in the blog post is that you can even drop the -f guix.scm as guix shell will use a file with that name per default (if the directory is allowed in $HOME/.config/guix/shell-authorized-directories -- you don't want to eval arbitrary code)
<mfg[m]>this is really nice actually :D
<mfg[m]>lain_ i don't understand what you mean by that. AFAIK guix.scm can;t evaluate to more than one package, so i don't see how you can define two different versions of the same package that way.
<mfg[m]>pretty sure you can spawn multiple different environments with package transformations applied tho
<lain_>mfg I was referring to containers in general
<mfg[m]>lain_ Ah ok, i see.
<mfg[m]>if i read your message again it starts to make sense. I just didn't get it the frist time :(
<lain_>lol it was my fault
<cnx>how to use guix for incremental development/compilation?
<cnx>I mean after droping into a manifest's shell equivalent to guix shell -D, then run the phases manually
<haugh>Howdy folks. Having trouble with bootloader (I assume). error: failed to get canonical path of '/boot/efi'. http://ix.io/4plu
<haugh>Oh I should mention this is running from an installer ISO mounted separately.
<civodul>Hello Guix!
<sneek>civodul, you have 1 message!
<sneek>civodul, flatwhatson says: The libgc package uses the --disable-munmap configure flag as a workaround for this bug. That should be removed so libgc will actually release some memory. Testing locally, a libgc-8.2.2 build without --disable-munmap does pass test-out-of-memory, horay! Here's my hacked-up guile/guix.scm to reproduce that: https://paste.debian.net/1272261/
<fresas-con-nata>"debian Pastezone" https://paste.debian.net/1272261
<apoorv569[m]>Hmm.. Interesting.
<civodul>flatwhatson: excellent, thanks for testing!
<civodul>i guess i'll try that in Guix core-updates then
<civodul>that sounds like a welcome improvement
<nckx>daviwil: I don't think that has ever been expected to work (there's a ...+output variant for this; I won't bring up whether it should be the default). The REPL dying is, I think, new, though. Could you file a bug? Else I'll, but I might forget.
<nckx>civodul: I'm half-way through Josselin's video. Thanks for the recommendation.
<civodul>nckx: yw! i really enjoyed it, i think it has everything
<civodul>argh, timeouts at https://ci.guix.gnu.org/jobset/core-updates
<fresas-con-nata>"core-updates" https://ci.guix.gnu.org/jobset/core-updates
<civodul>ACTION runs "guix build ...-profile.drv" on berlin
<cbaines>civodul, in relation to the openmpi change that happened a few days ago, I think there are some fixes required for the related packages
<cbaines>looking at the failures that are cropping up on qa.guix.gnu.org, there are issues with java-openmpi, openmpi-c++ and openmpi-thread-multiple
<civodul>cbaines: d'oh, lemme see
<cbaines>civodul, I've managed to get a working java-openmpi locally now, so I can probably push fixes for these
<civodul>this is embarrassing
<civodul>cbaines: yes, i see there are three instances of "inherit openmpi"
<civodul>each one needs to be changed to gexps
<civodul>i wonder how i managed to miss that
<civodul>plus, i'm not following best practices :-/
<cbaines>civodul, I've pushed what's hopefully a fix now
<cbaines>at least this particular problem will go away when more/all packages use the new style
<cbaines>I wonder if it would be helpful to try to raise these issues earlier though, as currently you can compute the derivation fine, but the builder is never going to work
<cbaines>maybe it would be worth trying to spot that the builder is broken at the time the derivation is computed
<daviwil>nckx: Thanks! `specification->package+output` fixes the issue for me, I was using `specification->package` incorrectly in my Guix Home config, a recent commit must have fixed the "bug" that enabled me to get away with it for over a year :) I'll file a bug later when I have a chance
<futurile1>Morning all
<lain_>Morning :)
<flatwhatson>would somebody mind reviewing my scheme48-prescheme package please? https://issues.guix.gnu.org/61404
<fresas-con-nata>"[PATCH] gnu: Add scheme48-prescheme." https://issues.guix.gnu.org/61404
<flatwhatson>not sure if i should've CC'd a maintainer group for that?
<ellysone[m]>hi guix
<mfg[m]>Can i add additional packages when running guix shell -f guix.scm? guix shell -f guix.scm package doesn't seem to work
<civodul>cbaines: maybe we could prevent invalid serializations in the first place
<civodul>serializing a thing that doesn't have a read syntax
<civodul>flatwhatson: hey! i don't think there's a team for (gnu packages scheme), but i can take a look later today
<civodul>apparently https://qa.guix.gnu.org/issue/61404 is happy so that should be fast
<fresas-con-nata>"Issue 61404 Guix Quality Assurance" https://qa.guix.gnu.org/issue/61404
<flatwhatson>civodul: thanks!
<mroh>Love, Peace & Guix! Good Morning!
<civodul>hey hey! moin mroh! :-)
<lain_>can anyone else connect to https://hydra.gnu.org/ ?
<fresas-con-nata>Exception: #<&compound-exception components: (#<&error> #<&origin origin: host-mismatch> #<&message message: #<x509-certificate 7fcda24437c0>> #<&irritants irritants: "hydra.gnu.org"> #<&exception-with-kind-and-args kind: tls-certificate-error args: (host-mismatch #<x509-certificate 7fcda24437c0> "hydra.gnu.org")>)> https://hydra.gnu.org
<civodul>lain_: hydra.gnu.org was superseded by ci.guix.gnu.org several years ago
<lain_>civodul Thank you
<GuixAdmirer96>Has anyone heard of Aurae? https://aurae.io/ It has some pretty interesting ideas I think. What do some of the geeks here think? Have you seen the FOSDEM talk? :)
<fresas-con-nata>"Aurae Runtime" https://aurae.io
<civodul>GuixAdmirer96: hi! hadn't heard of it before, but seeing "PID 1" and "distributed" on the same page makes me thing of Shepherd + Goblins!
<civodul>*think
<civodul>uh, slides are .pptx
<GuixAdmirer96>civodul: I recently found out about Goblins and spent some time reading and watching videos about it :) I love it
<florhizome[m]>can we upgrade to libgudev-237 on core-updates? It will be needed for iio-sensor proxy
<apteryx>winter: I was trying to run the openssl test suite via datefudge or libfaketime, so that its certs would never expire on us
<apteryx>it doesn't seems easy to convince openssl to be tricked
<rdrg109_>[Q] What's the fastest and simplest package definition that you can think of? I'm asking this because I'm a newbie Guix user and I want to experiment with the => $ guix --package <= command and how it works in generation so I want my system to create generaations on the fly
<civodul>apteryx: great that you persevered on #58650; i wonder why it doesn't work as expected
<fresas-con-nata>"OpenSSL 1.1.1n test failures due to expired certificates (time bomb)" https://issues.guix.gnu.org/58650
<ae_chep>rdrg109_: the hello-world package?
<apteryx>civodul: I wonder too! perhaps the gmtime call is not faked, I haven't reviewed libfaketime internals
<apteryx>datefudge only fakes 3 libc time calls
<bjc>rdrg109_: ‘guix build -f’ may be what you're looking for
<apoorv569[m]>I have this lightdm-service-type defined, it installs and configures fine, but the session list on top right shows empty even though I have multiple window managers installed. Am I doing something wrong?
<apoorv569[m]>Here is the lightdm-service-type definition https://0x0.st/Hzs3.txt
<apoorv569[m]>That %xorg-libinput-config is variable I define. Here it is https://0x0.st/HzsY.txt
<apoorv569[m]>ATM I am using slim instead it can find all window managers I have installed fine.
<winter>apteryx: where/when did you ever run into git-fetch cycles?
<winter>seems like that'd be unrelated
<winter>Upstream seems to have moved to give very large expiry dates on their test certs (100 years), so perhaps we can simply remove this test and hope the problem doesn't come back to haunt us... <-- Wouldn't removing the tests neutralize the issue, or am I misunderstanding what the test you're mentioning does? (Assuming the cert expiry is +100 years, it
<winter>should be passing.)
<civodul>ACTION found a pretty annoying regression: https://issues.guix.gnu.org/61841
<fresas-con-nata>"guix shell computes different package derivation than guix build" https://issues.guix.gnu.org/61841
<winter>that looks... fun
<winter>nondeterministic order in the patch list, somehow?
<civodul>no, something else i think
<civodul>it renders the thing kinda unusable in this particular case
<civodul>i mean, i won't build ungoogled-chromium :-)
<winter>wonder how such a thing even happens
<apoorv569[m]> https://notabug.org/cwebber/guile-gcrypt/src/master/guix.scm
<fresas-con-nata>"cwebber/guile-gcrypt: Guile bindings for [libgcrypt](https://gnupg.org/software/libgcrypt/index.html)! - NotABug.org: Free code hosting" https://notabug.org/cwebber/guile-gcrypt/src/master/guix.scm
<apoorv569[m]>This example of guix.scm makes sense. Seems like guix.scm is being used as a build definition file, like CMakeLists.txt or meson.build specific for guix users.
<apoorv569[m]>Now that I look at vcflib example it makes sense as well.
<apoorv569[m]>This is cool BTW.
<apoorv569[m]>Also if you authorise the directory you can just guix shell from the directory containing guix.scm and you will be dropped in the shellas defined inguix.scm` automatically.
<lechner>civodul / Hi, 'guix shell -f guix.scm' also does not always build when needed. it think it's unrelated but i confirmed it with nckx, who says it's due to caching
<apoorv569[m]>Like it throws error or something?
<lechner>Hi, was that meant foe me?
<apoorv569[m]>Yes.
<lechner>no error. it runs an old version!
<apteryx>winter: the git-fetch cycles were understood; it's when attempting to use libfaketime as an input to openssl
<apteryx>you need to fetch libfaketime from a tarball, not from git to avoid the cycle
<civodul>lechner: working on it...
<sepi>Is there a facility that would create MD raids, luks containers and filesystems from operating-system definitions? Or is this left out intentionally? I'm wondering how I would replicate my current system which uses all these mechanisms
<mirai>sepi: pretty sure no tools automatically do this from bare disks
<lechner>sepi / with all due respect, i thin that would be a big, and potientially dangerous, step
<mirai>you can use things like ansible
<mirai>but that is half of automation
<mirai>you still need to put in some manual effoirt
<mirai>effort*
<lechner>the idea is good
<lechner>i am just not sure i want it
<lechner>doesn't the installer do some of that?
<sepi>I agree, it definitely sounds scary and I'm not sure I would want it without the system asking me to confirm
<mirai>sure, but you still have to give some inputs
<apteryx>winter: yes for the future the issue seems less bad, but it'd still would have been nice to have warranty that it wouldn't reappear
<mirai>its not clairvoyant
<apteryx>winter: on the master branch for example, openssl 1.1.1l is grafted with 1.1.1t, but to get the grafted version, you still need to build 1.1.1l, which fails to build. So you can't build Guix from source anymore (you need a substitute) on master.
<sepi>providing a an operating-system definition to the installer could be a way to go. In that case the installer would somehow try to initialize the disks and filesystems based on the config provided
<apteryx>on core-updates the problematic test is already skipped
<mirai>sepi: at that point you're no longer using the installer, you're using the cli
<lechner>Hi, after a pull, i can't deploy anymore Throw to key `guile-ssh-error' with args `("write_to_channel_port" "Parent session is not connected" #<unknown channel (freed) 7f1e5e6e6ce0> #f)'.
<sepi>mirai: but the installer does things like formatting and fs creation while the cli doesnt
<sepi>I imagine the installer being pre-loaded with the definition provided. This would essentially make you say yes everywhere to replicate a system.
<sepi>just an idea
<mirai>I think the real request here is for a cli auto-formatter
<mirai>to have the format suggestion logic moved into its own module
<mirai>and have installer/cli-tool use it
<winter><apteryx> winter: on the master branch for example, openssl 1.1.1l is grafted with 1.1.1t, but to get the grafted version, you still need to build 1.1.1l, which fails to build. So you can't build Guix from source anymore (you need a substitute) on master. <-- ouch, that's a nasty side-effect. so you haven't been able to build Guix from source since
<winter><whatever date>?
<lechner>ACTION thinks anyone who formats that often should look for a better file system
<winter>ACTION tries to look up how often core-updates is merged
<winter>wew, 6 months
<civodul>ahem, a bit more
<sepi>mirai: I guess it's two different questions. One is about UI, the other about implementation. But anyways, good to know that I'll have to do this part myself and in case I want this functionality, I'll have to get my hands dirty :)
<mirai>lechner: Non-volatile infinite capacity disks are yet to be invented
<civodul>winter: between "infrequently" and "seldom"
<winter>that's a long time to not be able to build Guix from source, ow
<winter>(not that i'd be doing that any time soon, but still unfortunate)
<lechner>we are working on speeding that up, but you are right
<lechner>i have a few patches pending myself
<winter>i suppose in the meantime, people can just apply that patch from core-updates
<winter>as it wouldn't break anything else
<mirai>civodul: regarding the file-system 'title' subject, did this used to be a field from <file-system> record-type?
<mroh>lechner: I can confirm that deploy error. I had the same problem yesterday.
<lechner>mroh / did it go away, is it the same attila_lendvai has been having?
<lechner>i'll try to find it
<civodul>mirai: yes
<mirai>ok, I believe I just landed on the relevant commit, a5acc17a3c10a3779b5b8b1a2565ef130be77e51
<fresas-con-nata>"guix.git - GNU Guix and GNU Guix System" https://git.savannah.gnu.org/cgit/guix.git/commit/?id=a5acc17a3c10a3779b5b8b1a2565ef130be77e51
<mirai>that's interesting, as the field was outright removed
<mirai>so the API got broke there
<lechner>about that bot message, i checked with the cgit folk. modern versions serve the commit message in the HTML <title> tag
<mirai>s/got//
<mirai>civodul: good to know, thanks.
<mirai>ah, it didn't quite break the API, the constructor was changed to deal with it
<attila_lendvai>lechner, FYI, i just ran a guix deploy, and it went fine. still don't idea what it depends on, but i suspect it's some local ssh state
<lechner>attila_lendvai / okay, thanks for tuning in! ^ mroh
<mroh>ack. I'll try again, thx!
<lechner>mine is still failing
<lechner>mroh / actually, it transmits a bunch and get interrupted, but there is progress
<apteryx>how can I whitelist a site from the builtin tracking protection in IceCat?
<apteryx>I don't see the same UI as it used to have (or that Firefox still have)
<apteryx>I'm talking about the "Enhanced Tracking Protections" shield icon left of the URL bar
<lechner>apteryx / anything in the settings menu that says privacy and then enhanced tracking protection and then manage exceptions?
<apteryx>yes I see that one, but contrary to Firefox, it lacks the "Add Exception" button.
<apteryx>So I can only remove entries, not insert new ones.
<apteryx>I have a bank site that doesn't work without being on that list, so I can't access it from IceCat
<lechner>apteryx / is there a shield near your address bar (on the left here)?
<apteryx>none
<apteryx>(icecat)
<lechner>apteryx / are you in "strict" more?
<lechner>mode
<apteryx>I tried standard, but it won't help
<apteryx>oh, I wrote this in the past (3 years ago):
<apteryx> https://lists.gnu.org/archive/html/help-gnuzilla/2020-12/msg00003.html
<fresas-con-nata>"Re: Enhanced Tracking Protection shield button is gone" https://lists.gnu.org/archive/html/help-gnuzilla/2020-12/msg00003.html
<lechner>apteryx / in 'about:config' what are the values for pref.privacy.disable_button.tracking_protection_exceptions and pref.privacy.disable_button.cookie_exceptions please?
<apteryx>false for both
<attila_lendvai>civodul, could it be that guile-fibers is not in the path when shepherd service start GEXP's are compiled? if yes, what's a shepherd user to do?
<attila_lendvai>civodul, in general, i assume i should allow the dependencies to enter the module closure using my custom filter function, e.g. for guile-json... but i guess for fibers it should be the same version that shepherd was compiled with, no the one in my compile-time guile module path, right?
<attila_lendvai>s/no the one/as opposed to the one/
<lechner>mroh / my deploy just completed but it took half a dozen or so attempts
<attila_lendvai>civodul, and this might be related, although they are only warnings: ";;; Failed to autoload fork+exec-command in (shepherd service): no code for module (shepherd service)"
<civodul>attila_lendvai: yes, that's expected: that module purposefully autoloads (shepherd service)
<attila_lendvai>civodul, ok, that's good then. but what about fibers? (right now i'm looking for the spot in guix that compiles the shepherd start GEXPs)
<attila_lendvai>i've found scm->go in (gnu services shepherd), but it does include fibers in shepherd&co
<mirai>where/what should I start reading to understand how 'scheme macros' work?
<attila_lendvai>civodul, but it lacks a (module-use! env (resolve-interface '(fibers))). i'm not sure it's relevant, but adding it breaks compiling other stuff.
<mirai>in order to make sense how the sophisticated guix macromagic works
<attila_lendvai>mirai, if by that you mean GEXP's, then they are a parallel system to scheme macros
<mirai>attila_lendvai: more on the lines of define-record-type*, define-configuration, etc.
<mroh>lechner: yes. worked on the 4th attempt over here. It seems to send ~360MB on every try, starting with ~1,5GB...
<attila_lendvai>ACTION doesn't feel qualified to answer mirai's question
<lechner>mroh / yeah, it seems like a timeout to me
<apteryx>lechner: what does this pref.privacy.disable_button.tracking_protection_exceptions switch do?
<lechner>apteryx / hand on my heart: i do not know---but i can read
<lechner>apteryx / why not toggle it one time. maybe it shakes up something
<apteryx>I tried many things, and there doesn't seem to be a success recipe, but out of luck I've managed to get the site to work twice so far
<apteryx>(out of tens of attempts)
<lechner>apteryx / maybe some of the work-arounds here work for you, such as redirection https://bugzilla.mozilla.org/show_bug.cgi?id=1432644
<fresas-con-nata>"1432644 - Can't manually add exceptions to tracking protection list" https://bugzilla.mozilla.org/show_bug.cgi?id=1432644
<attila_lendvai>civodul, if i add (with-extensions (list (lookup-package-input shepherd "guile-fibers")) ...) around my service GEXP's, then i can make it compile with `guix system vm ...`, but i get "warning: call to primitive-fork while multiple threads are running;" and my code hangs somewhere. i'm not sure what i'm doing, and whether my expectations are valid... but i think that with-extensions shouldn't be needed.
<mirai>what's this thing about 'closure size' and how do I measure it
<AwesomeAdam54321>mirai: Closure size is the size of a package in question and all it's dependencies. It can be calculated using guix size
<apteryx>lechner: ah, I guess https://bugzilla.mozilla.org/show_bug.cgi?id=1785825 will help us
<fresas-con-nata>"1785825 - Allow adding ETP exceptions from about:preferences#privacy" https://bugzilla.mozilla.org/show_bug.cgi?id=1785825
<apteryx>it hasn't landed in ESR yet
<apteryx>(it's in the 109 version)
<civodul>attila_lendvai: sorry i can't look into it today, but if you leave a message ;-) on bug-guix or something, i'll get to it eventually
<civodul>speaking of which, i'm both amazed and frightened by the patch rate on guix-patches lately!
<attila_lendvai>civodul, i'll sleep on it also, and if i'm still stuck tomorrow, i'll try to create a reproducer
<sepi>Did I understand correctly that the wireguard service can both be used as "client" and as "server"?
<civodul>yay "guix shell ungoogled-chromium" is back \o/
<mroh>lechner: I guess, its because of 128a55ad9fc727a630207baaf78c37eb9b8b0657. tests are disabled on libssh and I think, we dont have a system-test for deploy, right?
<fresas-con-nata>"guix.git - GNU Guix and GNU Guix System" https://git.savannah.gnu.org/cgit/guix.git/commit/?id=128a55ad9fc727a630207baaf78c37eb9b8b0657
<bjc>lechner: it'd be nice for the bot to show the first line of a commit message when it expands the hash; the page title isn't informative
<nckx>> about that bot message, i checked with the cgit folk. modern versions serve the commit message in the HTML <title> tag
<nckx>Hullo (again), Guix.
<mroh>hey nckx !
<nckx>bjc: That was a quote from lech​ner above, not me. The ‘>’ alone probably wasn't very clear.
<apteryx>lechner: seems the true underlying issue is a 'Cross-Origin Request Blocked'
<apteryx>Is there anything I can do to get passed this as a user?
<apteryx>the full error is: Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://secure.tangerine.ca/web/Tangerine.html. (Reason: CORS request did not succeed). Status code: (null).
<apteryx>moving the conversation to #firefox, as it's off-topic here
<yewscion>Quick packaging question: If I define a new package as a variant, do I then need to redefine all packages that depend on that package so that they will build using the variant instead? Example: If package "foo" is dependent on package "bar", which is currently version 1.0.0, and I define a variant of the package that is version 2.0.0, will I then need to define a variant of foo that explicitly uses that input?
<lechner>apteryx / i'm not sure how broad the FF definition is, but going across origins can be an extremely risky thing for phishing and cross-scripting atttacks
<AwesomeAdam54321>yewscion: no, not unless you think it's useful
<lechner>bjc / the bot does not clone any repos and does not have access to that data
<yewscion>AwesomeAdam54321: If I don't, will the "foo" package default to the older version of "bar", or will it default to the newer one, or (hopefully) will it go off of the user's profile?
<bjc>lechner: that makes sense. unfortunate
<AwesomeAdam54321>yewscion: The "foo" package will refer to the bar variable, the default or whatever package you define to the variable bar
<AwesomeAdam54321>s/the default/probably the default/
<yewscion>AwesomeAdam54321: Copy, thant makes sense. Better to define a variant, then. Thanks!
<apteryx>lechner: the server simply fails answering, even when the CORS passes
<PotentialUser-34>Hi. Finally my Honeycomb Lx2 board arrived at my brothers shop. It will be assembled soon. micro usb access already works. Would be nice to have some guidance how to set up it as additional build machine for aarch64
<rekado>PotentialUser-34: the maintenance.git repo contains the Guix System configuration we use for our honeycombs
<rekado>it does not, unfortunately, contain more information about what to put on the microsd card to get it to boot up at all.
<rekado> https://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/hydra/deploy-honeycomb.scm
<fresas-con-nata>"deploy-honeycomb.scm\hydra - guix/maintenance.git - Articles, talks, and documents for Guix maintainers" https://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/hydra/deploy-honeycomb.scm
<apteryx>lechner: perhaps MTU problems
<tschilptschilp23>Have there been any changes to the derivation process? Pretty cool, I forgot to run 'guix weather' before checking, if ungoogled-chromium is available as a substitute, and my computer's RAM seems to be left in peace (other than a year ago)...
<tschilptschilp23>s|derivation|derivation build|
<PotentialUser-34>rekado: fresas-con-nata: Nice pointers. I will try them as soon as I have physical access to the machine.
<apoorv569[m]>lechner: but you said it does not always build. What did you mean by that?
<elevenkb>hey there where do containers started by `guix system container` get their root file system from?
<Kabouik>I was well inspired to run a guix package -u today before my meeting. 3h41 later, it's still 67% through building ungoogled-chromium. :<
<dthompson>elevenkb: the container root is a tmpfs
<elevenkb>thanks dthompson
<nckx>Damn it, just too late.
<nckx> https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/build/linux-container.scm#n100
<fresas-con-nata>"linux-container.scm\build\gnu - guix.git - GNU Guix and GNU Guix System" https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/build/linux-container.scm#n100
<dthompson>elevenkb: within it we mount various things depending on the container parameters.
<dthompson>been awhile since I looked at this code!
<dthompson>still quite proud of it after all these years
<nckx>You should be. I wish I had more use cases for it, I'd choose it over VMs every time.
<apteryx>civodul: re computed-file and %guile-for-build regression, oof!
<apteryx>that must explain the lack of a ungoogled-chromium substitutes for the last week or so
<elevenkb>ok, so if I want to persist the container `/home/` directory then I would have to do something like:
<elevenkb>`mkdir -p $HOME/home && guix system container --share=$HOME/home=/home <system.scm>`
<elevenkb>right?
<civodul>apteryx: it's worse: not all tools would compute the same derivation
<apteryx>it affected only packages making use of computed-file though?
<civodul>yes
<apteryx>OK. I wonder about Guix system services
<elevenkb>Eh, let me just try it!
<lechner>apoorv569[m] / please see here. i there is a little bit before and after that i'll try to find the beginning https://logs.guix.gnu.org/guix/2023-02-24.log#190032
<fresas-con-nata>"IRC channel logs" https://logs.guix.gnu.org/guix/2023-02-24.log#190032
<lechner>apoorv569[m] / here is the beginning https://logs.guix.gnu.org/guix/2023-02-24.log#182501 and here the end https://logs.guix.gnu.org/guix/2023-02-24.log#191302
<fresas-con-nata>"IRC channel logs" https://logs.guix.gnu.org/guix/2023-02-24.log#182501
<fresas-con-nata>"IRC channel logs" https://logs.guix.gnu.org/guix/2023-02-24.log#191302
<mirai>can this package https://issues.guix.gnu.org/60018 get a review? It's a dependency now for a package I'm updating
<fresas-con-nata>"[PATCH 1/5] gnu: Add libtraceevent." https://issues.guix.gnu.org/60018
<lechner>mirai / for your upcoming patch, the debbugs control server has 'blocked by'
<apteryx>is anyone using fail2ban with a sshd jail?
<Arjanhehim[m]>is there any recommended way to start home shepherd services at system boot without logging in?
<Arjanhehim[m]>at least without logging in manually
<winter>is it possible to replace/override a package tree-wide a la Nixpkgs overlays?
<winter>nothing in the manual stands out that would provide this functionality
<tschilptschilp23>Kabouik: 61% at 3.5h here ;)
<lechner>apteryx / i'd like to use fail2ban, too
<tschilptschilp23>my 4 threads full on, but only 40% of my 8GB RAM used until now...
<winter>do you have substitutes disabled tschilptschilp23, or did you just get unlucky with it not being patched?
<winter>s/patched/cached
<nckx>civodul: When you suggested #:autoloading (gnu system linux-boot), was that to handle the Hurd case here? https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/system.scm#n703
<fresas-con-nata>"system.scm\gnu - guix.git - GNU Guix and GNU Guix System" https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/system.scm#n703
<tschilptschilp23>winter: I have substitutes on, but they are not ready yet -- I typically check the critical packages' substitute status with guix weather, but forgot about it today...
<nckx>winter: There are no substitutes for it yet.
<nckx>Not ‘yet’ as in ‘it's building’, but as in for the past week or more
<tschilptschilp23>nckx: now you got me scared :)
<dthompson>elevenkb: sorry for the delay but yes, you'd need to share a directory from the host if you want to retain any data.
<elevenkb>thanks dthompson
<nckx>tschilptschilp23: Well, the issue I was referring to was (just) closed: https://issues.guix.gnu.org/61841#4
<fresas-con-nata>"guix shell computes different package derivation than guix build" https://issues.guix.gnu.org/61841#4
<nckx>Now, would the fix be picked up by Cuirass if it were the cause? It didn't appear to notice any u-c hash changes…
<nckx>*drv hash changes
<tschilptschilp23>nckx: thanks for the hint, this made me C-c C-c now. Actually a minute ago guix weather reported ungoogled-chromium as ready, but when I started my reconfigure, it wanted to build again. Pulling right now to see if changes have arrived, but speed's down at 26KiB/s (but that's been for a while now here). Let's see, maybe I can save some time anyway.
<tschilptschilp23>ACTION wonders if this was a good idea.
<acrow>Noticed, and this may be well known, that guix package -u fails if the profile contains a package that no longer exists. In my case it now fails for me bc I have pandoc:static in my profile.
<avocadoist>i keep wanting to use expressions to generate inputs for my flake. what am i missing concept-wise ? or is there a way to do that
<avocadoist>^ wait im in the wrong channel for that
<nckx>tschilptschilp23: Well, I didn't actually mean that you had to do anything, C-c or otherwise… Just that this problem wasn't unique to you.
<lechner>Perhaps fit for a Monday, please enjoy a song about a homeless person's fantasy of freedom. (The line about "the jerk who invented work" is a probably bit controversial.) https://www.youtube.com/watch?v=NgoMgs58VMc
<fresas-con-nata>"Big Rock Candy Mountain Vernon Dalhart with Lyrics - YouTube" https://www.youtube.com/watch?v=NgoMgs58VMc
<rdrg109_>ae_chep: Thanks! That's the one that I've been using, but it requires downloading something from the Internet, and I would rather downloads from external sources didn't occur.
<nckx>tschilptschilp23: I think the fact that Guix reports seeing a substitute but then doesn't actually download it is the symptom of this bug. If .drvs differ between code paths, that could happen. In fact most bets are off at that point.
<ae_chep>can a channel be served off of a filepath?
<ae_chep>rdrg109_: You could copy the sources to a local directory, and edit the file description so it's url-fetch method and the uri is the absolute path to where the pkg is
<lain_>hello guix
<nckx>lechner: My mother used to sing that to me when I was a wee insomniac nckx. I guess that explains things.
<nckx>Hi lain_.
<nckx>ae_chep: What's a filepath?
<nckx>You can use file:// if that's an answer.
<lechner>nckx / i'm glad you are getting some sleep these days
<ae_chep>nckx: the path to a file/directory. And that's a satisfactory answer, yes
<ieure>which xdg-autostate
<ieure>wow
<ieure>This isn't my shell at all.
<nckx>apteryx: I see congratulations on getting a Linux kernel patch merged are in order.
<vagrantc>ACTION claps
<lechner>nckx / apteryx / is there a link?
<nckx>Here's a wrong one: 1f050e904dd6f2955eecbd22031d912ccb2e7683
<nckx>Oh, the bot is now clever.
<lechner>it shouldn't be
<nckx>I was just browsing my checkout; no link.
<nckx>lechner: …or broken :(
<lechner>i noticed that earlier with winter's message
<nckx>I thought it might be trying its own generated link first, and stopping if it 404'd. (Which would be nice!)
<winter><nckx> Not ‘yet’ as in ‘it's building’, but as in for the past week or more <-- Why's that? Were they disabled? If I'm looking at Cuirass correctly, I don't see any queued (Chromium) builds.
<winter>Were they disabled?
<nckx>The ones I saw were cancelled.
<nckx>I don't know by whom (if human) or why.
<tschilptschilp23>I can confirm that with commit 29a278f65c3 the ungoogled-chromium substitute actually gets downloaded (although still at 25KiB/s)!
<tschilptschilp23>Still better than a build (at least for my electricity bill ;))
<nckx>Nice.
<lain_>can guix be thought of as a compiler of sorts?
<lain_>could we perform diverse double compiling on guix as a hole
<lain_>for example, on the bootstrap-tarballs derivative
<lain_>for example, on the bootstrap-tarballs drv
<lain_>the source code is the input packages
<lain_>actually, the source code is all input
<ae_chep>nckx: by the way, with this "filepath" pointed channel setup I was able to finally feel some calm after having spent hours trying to get the guix shell recognise my unpublished packages. So, genuinely, thank you for the answer and help. I feel so relieved now...
<ae_chep>*packages whose changes have yet to be accepted upstream
<nckx>Thank you! It's the same set-up I use myself. Just don't forget to commit, Guix still won't see uncommited files :)
<ae_chep>they are committed alright! They just need a maintainer to accept the changes
<PotentialUser-66>hi everyone
<ae_chep>o/
<PotentialUser-66>I have a question related to Guix
<PotentialUser-66>is it possible to tell Guix to ignore update for a specific package?
<bumble[m]>hello
<lain_>PotentialU guix upgrade --do-not-upgrade[=REGEXP]
<nckx>PotentialUser-66: For ‘guix upgrade’ and friends, there's ‘--do-not-upgrade=PACKAGE’. There is no configuration file.
<PotentialUser-66>right, I saw the --do-not-upgrade, was just wondering if there's a better way
<PotentialUser-66>thanks
<nckx>lain_ is right, it's a regexp.
<lain_>is there a scm for upgrading in general nckx?
<lain_>I'm sure you could add this to that?
<nckx>I'm not sure what you mean by that.
<nckx>I have to go, but I'll point out #bootstrappable before I do. You should ask there (too).
<nckx>About the DDC.
<lain_>There is a scm file for default behavior when starting virtual machines (/etc/guix/machines.scm) for example, I was wondering if there was a scm that described default behavior when upgrading
<lain_>will do, see you
<rdrg109_>ae_chep: Ok, I'll try that. I can see that in the my-hello package example. The URL starts of the downloaded file is "mirror://gnu/hello/hello-2.10.tar.gz". Do you know how I can use "wget" on that URL? If I use it as it is, wget shows the following error => mirror:/gnu/hello/hello-2.10.tar.gz': Unsupported scheme: 'mirror'.
<ae_chep>`guix download mirror://gnu/hell...`
<ae_chep>If you refer to the guix cookbook, it should actually refer to this very case
<ae_chep>*it should actually mention this very case
<rdrg109_>ae_chep: Thanks! I'll read the guix cookbook more in-depth
<rekado>FYI: there will be firewall maintenance between 08:00 - 08:30pm on Wednesday, March 1st, 2023; this means that *.guix.gnu.org may not be accessible for a while.
<winter>Does anyone have any pointers as to what the caveat with Rust packages were, as mentioned in https://guix.gnu.org/en/blog/2021/the-big-change/? ("not counting Rust packages, which are a bit special")
<surpador>My guess it it refers to the special way inputs are handled by cargo-build-system, mentioned here: https://guix.gnu.org/manual/en/html_node/Rust-Crates.html#Rust-Crates
<fresas-con-nata>"Rust Crates (GNU Guix Reference Manual)" https://guix.gnu.org/manual/en/html_node/Rust-Crates.html#Rust-Crates
<ae_chep>had small steps for mankind, but big steps for myself today. thanks for the helps. I'm done. Cheers~
<mirai>what's the purpose of dist_patch_DATA in gnu/local.mk?
<apteryx>keeping the patch files in the source distribution
<winter><surpador> My guess it it refers to the special way inputs are handled by cargo-build-system, mentioned here: https://guix.gnu.org/manual/en/html_node/Rust-Crates.html#Rust-Crates <-- Makes sense. Wonder why the versioned suffix is used for Rust deps, but not e.g. Go ones. I guess the Go ecosystem doesn't have too many breaking changes.
<fresas-con-nata>"Rust Crates (GNU Guix Reference Manual)" https://guix.gnu.org/manual/en/html_node/Rust-Crates.html#Rust-Crates
<unmatched-paren>winter: actually, go does have a versioned suffix sometimes
<mirai>apteryx: what happens if you forget to "register" the patch?
<mirai>it still seems to work
<unmatched-paren>go import paths look like this: <DOMAIN-NAME>/<PATH>[/v<API-VERSION>]
<unmatched-paren>mirai: i suspect it's something to do with packing release tarballs
<apteryx>mirai: it will, but 'make dist' will generate a source tarball lacking the file
<apteryx>which will be caught when attempting to produce the next release
<unmatched-paren>when you break a Go API, you're supposed to add a /v2 to the path, and it's treated as an entirely different package
<unmatched-paren>now, this is inconsistently reflected in guix.
<unmatched-paren>there isn't always a -v2 suffix in the package name, but there *should* be.
<winter>ah, right, i guess it'd be reflected in the import path
<unmatched-paren>it should also be reflected in the package name but isn't always
<unmatched-paren>you will see a -v2 here and there
<winter>unmatched-paren: would a patch to correct that inconsistency be accepted? i feel like that would probably be a good thing to have (as in, a 1:1 mapping of package name to canonical import path)
<winter>even if we only ship the v2 for example
<unmatched-paren>probably, as long as you make sure you update uses of the package too :)
<unmatched-paren>just make sure to clearly state why it's needed
<winter>bouncing off of that: is there a way to get a list of (or even better, automatically build) the packages changed from one revision to another, other than spinning up Cuirass?
<winter>i know guix refresh --list-dependents exists, but you can only do that one package at a time
<unmatched-paren>qa.guix.gnu.org, maybe?
<unmatched-paren>requires that you've actually sent the patches, though
<winter>right
<winter>ACTION wonders why her QA job is taking a while to start
<winter>queue doesn't look backed up or anything
<winter>hmm
<lilyp>everyone's QA job is taking a while to start
<surpador>winter: how do you check the queue? Been looking for how to do that :)
<jlicht>has guix's tesseract-ocr worked to generate searchable pdf files for anyone?
<jlicht>ACTION is thinking this is probably a severe case of PEBKAC :)
<winter>surpador: https://data.qa.guix.gnu.org/jobs is a good enough approximation
<winter>lilyp: got it. btw: are QA jobs only started after someone hits the issue page (as that's what seems to make the Git commit on the QA repo), or is it automatic at least eventually?
<winter>(oh also, are the QA jobs taking a while to start a normal thing, or just a current issue for whatever reason?)
<winter>thanks!
<bdju>is there a guix package with the chdman tool packaged yet? I see we have mame but not mame-tools. I'm curious about working with chd files. https://retropie.org.uk/docs/CHD-files/
<cbaines>do you have a link to the relevant issue winter?
<lilyp>AIUI patchwork is fully automated, but cbaines knows more than I do :)
<cbaines>bordeaux.guix.gnu.org which does the builds for qa.guix.gnu.org has quite a big backlog, which is probably delaying the results on new issues
<lilyp>yeah, I'd imagine that it's hard to keep up with our load
<elevenkb>I'm having trouble with `guix system container --network`. Here's my system confiugration file: https://git.sr.ht/~elevenkb/dotfiles/blob/master/configs/11kb/guix-server.scm
<elevenkb>...very bare-bones like; however, even though `guix system container guix-server.scm` works,
<elevenkb>`guix system container guix-server.scm --network` doesn't. When I try `sudo $(guix system container guix-server.scm --network)` I get an error:
<elevenkb>eh, methinks this is best to file as a bug report tbqh.
<winter>cbaines: #61834 :)
<fresas-con-nata>"[PATCH] gnu: fish: Update to 3.6.0." https://issues.guix.gnu.org/61834
<elevenkb>issue is that i haven't paid my mail provider.
<mitchell>I think the post office should provide email addresses
<cbaines>winter, ah, that's just waiting on data.qa.guix.gnu.org at the moment. There's quite a backlog there too.
<winter>ah, okay. so it has to wait for both a build and a QA report? (wonder what takes it so long to compute the QA report, you'd think the builds would be the intensive work.)
<elevenkb>agreed mitchell.
<winter>for future reference: the commit in https://git.guix-patches.cbaines.net/guix-patches/log/?h=issue-61834&qt=range&q=base-for-issue-61834..issue-61834 was created only when I hit the QA badge. is it automatic usually (i guess i just sped up the process)?
<fresas-con-nata>"guix-patches - Patches for guix" https://git.guix-patches.cbaines.net/guix-patches/log/?h=issue-61834&qt=range&q=base-for-issue-61834..issue-61834
<lain_>hello guix
<mitchell>hi
<apteryx>nckx: haha! an info target in the kernel doc! how heretic
<cbaines>winter, first the data service (at data.qa.guix.gnu.org) has to process the revision, that works out what's changed. Then if there are packages that have been changed, those need to be built to determine if any packages have been fixed/broken
<cbaines>but it's all automatic at the moment
<lechner>nckx / actually, the bot did get smarter with respect to commit hashes
<GuixAdmirer96>johnwind3: Would this help with running MicroVMs? https://guix.gnu.org/manual/en/html_node/Virtualization-Services.html
<fresas-con-nata>"Virtualization Services (GNU Guix Reference Manual)" https://guix.gnu.org/manual/en/html_node/Virtualization-Services.html
<GuixAdmirer96>johnwind3: I did find this which might be helpful if you're working on it https://github.com/astro/microvm.nix
<fresas-con-nata>"GitHub - astro/microvm.nix: NixOS MicroVMs" https://github.com/astro/microvm.nix
<winter>cbaines: huh! so was it just luck that the commit appeared right as I accessed the QA page for it?
<tux_life>Hi! I tried to install Guix System on my librebooted Thinkpad T400 and this is the result: https://notabug.org/libreboot/lbmk/issues/143    Now I'm trying to update Guix System on my librebooted Thinkpad x220 and the build of "(hash)-pam.d.drv" failed: https://postimg.cc/gallery/R3MK68T   I don't think the ram is faulty on either laptop... so
<tux_life>what's the problem? =(
<fresas-con-nata>"Libreboot 20220710 on Thinkpad T400. Memtest86+ fails and Guix has difficulty to build packages - NotABug.org: Free code hosting" https://notabug.org/libreboot/lbmk/issues/143
<fresas-con-nata>"Album — Postimages" https://postimg.cc/gallery/R3MK68T
<winter>i'll poke you if i'm ever able to reproduce the phenomenon again :)
<winter>thanks!
<ellysone[m]>For anyone running guix in production, How often do you have to to think about cleaning the previous generations and all of that? Do you have some custom code to take care of that?
<nckx>tux_life: ‘I don't think the ram is faulty’ is a big claim when something called ‘memtest’ fails 😉 Note that ‘bad RAM’ doesn't mean your stick is rubbish: multiple folks have suggested you take it out, give it a good dusting, and put it back securely. Have you?
<nckx>(Including someone in #libreboot but you'd already left.)
<nckx>I see Leah's there now. I suggest listening to her, this is not a Guix issue.
<tux_life>@nckx The problem remains with 2 laptops...
<nckx>The pam.d issue is not the same issue.
<nckx>tux_life: Could you share your config.scm? Text would really be ideal now.
<tux_life>nckx My config.scm: https://github.com/clarintux/dotfiles/blob/master/config.scm
<fresas-con-nata>"dotfiles/config.scm at master · clarintux/dotfiles · GitHub" https://github.com/clarintux/dotfiles/blob/master/config.scm
<nckx>27 Feb 23:04:36<leah> tux_life: the version you used probably wasn't patched, and has errors because of that
<nckx>27 Feb 23:04:52<leah> normal memtest86+ fills with wrong errors. use the coreboot one, provided by libreboot
<nckx>Interesting.
<nckx>tux_life: Thanks.
<nckx>tux_life: So this failure has *something* to do with your configuration: it happens on my machine as well! Pretty sure it's because your login-service-type, which duplicates the one already in %desktop-services.
<nckx>Testing…
<tux_life>nckx Thank you!!! At least we're starting to understand something.
<nckx>tux_life: Yes, that was it. Remove the (service login-service-type …) form, and instead add a corresponding entry to the modify-services you already have, like you did for sysctl.
<nckx>We should package this libreboot-patched memtest.
<nckx> https://paste.debian.net/plainh/143b38f9
<tux_life>Thank you so much! It works.... I'll try too on my T400..
<nckx>ACTION → 😴💤
<the_tubular36>  That's the biggest lie you said today nckx
<civodul>cbaines: could you give https://qa.guix.gnu.org/issue/61583 a kick or something? :-)
<civodul>would be nice to get feedback on this one
<fresas-con-nata>"Issue 61583 Guix Quality Assurance" https://qa.guix.gnu.org/issue/61583
<winter>they said earlier that the queue was very backed up, civodul