IRC channel logs
2024-04-07.log
back to list of logs
<gnucode>janneke: that's a seems like a pretty cool problem that you are trying to solve. If I get this right, in light of the recent xz issues, you want people to build guix from source to feel that they have done so reproducibly ? <ieure>Does anyone have an example of programmatically adding an entry to guix-configuration's build-machines field? <ieure>I can add the builder's archive key with (modify-services %base-services (guix-service-type config => (guix-configuration (inherit config) (authorized-keys (cons* key (guix-configuration-authorized-keys confid)))))) <ieure>But there's no public accessor for build-machines. Maybe I need to use a service extension? <ieure>Seems like service-extension extends the service-type, rather than modifying an instance of a service-type. <ieure>But I don't really know, and the docs are unclear and have no examples of what I want to do. <ieure>But isn't what I need, since this is already defined in %base-services (I think) and I need to modify its configuration. <ieure>Okay I think I have how it works figured out, but now I understand *why* it works even less. <ieure>What on Earth, offload requires the *public* SSH key of the build user? <ieure>I do (build-machine ... (private-key "/gnu/store/whatever-build-key")) and `guix offload test' fails with: Throw to key `guile-ssh-error' with args `("public-key-from-file" "The file does not exist or permission denied" "/gnu/store/whatever-build-key.pub" #f)'. <ieure>SSH doesn't require the public key to auth... why does this? wack <ieure>I guess I will just... not set this up then <RavenJoad>My nix-daemon does not start automatically. I have to herd restart nix-daemon every time I boot. I recall seeing something about this a while back, but has this issue been fixed recently (past 6-8ish months)? <ulfvonbelow>localhost vmunix: [ 52.513298] udevd[318]: failed to execute '/usr/bin/systemd-run' '/usr/bin/systemd-run --no-block --property DefaultDependencies=no --unit lvm-activate-raidcryptrootvg /gnu/store/apczd1a6c7z6zsva0wsx3wjpf5fsdzfr-lvm2-2.03.22/sbin/lvm vgchange -aay --autoactivation event raidcryptrootvg': No such file or directory <jakef>say i have a package that specifies native-inputs like this: <jakef> (native-inputs `(("another-pkg" ,another-pkg-4.7))) <jakef>can a new package that inherits this package modify the native-inputs like this: <jakef>(native-inputs (modify-inputs (package-native-inputs my-pkg) <jakef> (replace "another-pkg" ,another-pkg-4.8))) <jakef>whoops, that last line should be: (replace "another-pkg" another-pkg-4.8))) <ieure>jakef, Not sure, try it in the REPL? <jakef>it seems to build fine, but I'm getting a problem at runtime. hoping this is causing it <tarix29>Does anyone have any experience with rustup on guix system? My current approach is to build it in a container and write some scripts to call the binaries from outside the container. Is there a more convenient approach? <lilyp>not really; with the state of rust software development, you ought to use containers so as to not have it clutter everything everywhere anyway <tarix29>Fair enough, I might end up trying to hack rustic-mode on emacs to use the container's clippy <janneke>rekado: ah, the regexp in r-mmuphin is helpful; I missed the closing brace being part of the date: /CreationDate (D:20240407083740+02'00) <janneke>that addresses my concern of substituting too much or too little esp when the input would slightly change <kreved>jakef: pretty sure this should work <mfg>does someone know how to replace a package that is downloaded with FetchContent at compile time with the equivalent guix package? Is there some FetchContent related magic or do i need to patch that? <janneke>mfg: what is FetchContent? guix builds are done in containers that have no network access <mfg>it's a cmake feature :D <darosior>Can we set an origin to point to a local tar.gz archive? <mfg>and it tries to download the depoendencies over the network, i did not find a way to tell it to just look on the host first <mfg>(downloading obviously does not work) <janneke>mfg: sounds like someone needs to send a bug report to cmake ;) <janneke>sneek: later tell gnucode: thanks, well as a bootstrapper for me it all starts with the source. if we cannot even reproduce the source tarball, then we're lost? <mfg>janneke: as always reading the documentation more carefully and not just skipping through everything helps... for this exact puprose there is FETCHCONTENT_TRY_FIND_PACKAGE_MODE which can be set to ALWAYS <mfg>but interesting how i did not find that via google <jlicht>might be interesting to add this to the cmake-build-system, I see some places where we patch out FetchContent already <janneke>mfg: good to know that cmake has free documentation nowadays <mfg>wait, there was a time when there was no free documentation? <janneke>that was the business model, and that's why many of us won't go near it <janneke>(besides the fact that designing your own petty languages is a rather big no-no) <jpoiret>remote: fatal: Out of memory, malloc failed (tried to allocate 3310012 bytes) <mfg>janneke: makes sense. I don't like using cmake but it's everywhere so i have no choice. <mfg>jpoiret: interesting. guix always hangs for me when trying to query the substitute servers; maybe it's related. <jpoiret>mfg: savannah is not hosted on the same servers, so probably not <mfg>i'm currently doing --no-substitutes takes more time initially but after that it should be less annoying :D <jlicht>mfg: I believe one of the substitute servers is overloaded <Guest17>hi I'm trying to write a package definition that changes the default guile-cv package to use guile-3.0.9 so far I wrote this but since I set the origin to use git there is no ./conifgure script which build phase should I modify so that guix runs autoreconf this is my package definition and the error https://paste.debian.net/1313374/ <mfg>what am i missing if `ldconfig -v -N` does not list all libraries that actually are inside the profile? do i need to modify additional environment variables in one mof the package definitions? <mfg>one build fails because ld can't find a library that i can find manually in the profile <lilyp>efraim: Huge thanks for starting the certifi thing <efraim>cbaines and I heard about it in November at the packaging conference and just looked at each other in horror <efraim>we should probably check if other languages do the same thing <janneke>wow, sometimes it looks like everyone has gone mad <janneke>well, bundling system libraries (patched or unpatched) is crazy, but certificates? <janneke>and yesterday i discovered that there is actually a specification in the pdf standard for changing the creation date that's crazy, and crazier still is that tool authors just go on and implement that <janneke>changing metadata such as creation date is mandated to be append-only <lilyp>efraim we actually had a thread about it some while ago – maybe i can go and find it <yelninei>hi, i am getting an error in tests/nar.scm: (unbound-variable #f "Unbound variable: ~S" (path-id) #f) on current HEAD. Is this just me? <mccd>I'm noticing some tests should are failing when I run make check on my guix build that is just master without changes <mccd>should I just ignore them and continue developing? <yelninei>bisected the tests/nar.scm test fai to c6cc9aeb87014cfb8f1eabb525e28ac633bf7af4 being the first bad commit <yelninei>cbaines: tests/nar.scm seems to fail after c6cc9aeb87014cfb8f1eabb525e28ac633bf7af4. <yelninei>janneke: done now though it feels a bit weird to ping 'random' people <janneke>yelninei: well, you found it's his commit that probably broke things? <mccd>A few other tests failed: guix-describe, guix-download, guix-git-authenticate <mccd>is there any way to set socket path? ./pre-inst-env guix build is failing because it can't find /usr/local/var/guix/daemon-socket/socket, but I'm using nixos so I imagine I need to point it in a different direction. <janneke>mccd: the guix deamon socket is specified as <localstatedir>/guix/daemon-socket/socket <jpoiret>mccd: ie you forgot to specify the proper --localstatedir=/var --sysconfdir=/etc during configure probably <mfg>how can i manipulate the runpath of a binary before installing? <wakyct>hi, I'm wondering what are people using for file sharing between devices? Used to use kdeconnect on KDE Plasma but now on xfce. I see kdeconnect and gsconnect in the guix channel, maybe some simpler options are out there? <wakyct>this would be between guix and android in my case <pranavats>wakyct: kdeconnect-cli works fine without KDE Plasma. <pranavats>wakyct one simple (in principle) option is to just use an http server :P. Just execute `python3 -m http.server` and browse it from any web browser on the network. <wakyct>thanks pranavats, I'm not against having all the dependencies but trying to minimize them if possible <mfg>syncthing is also an alternative <wakyct>and yeah that's not a bad idea I think, that or webdav etc.? <mfg>just be careful with filenames, Android does not allow colons for example <wakyct>another idea maybe to use gsconnect but delete the nautilus input if that's possible <ryan77627>Hey weird question. Is there any way for `guix home` to place a file in a certain folder in `~/.config`... BUT, have it be writable, so stored outside the store somehow. I know this is a bit odd, but ideally it would stay in my git repo that has all my configs and get rewritten on each `reconfigure`. There may be a better way to do this, tbh. I need my `fish_variables` file to get deployed on my <ryan77627>system but stay writable, otherwise fish complains... <mfg>custom service that just creates a symlink? <ryan77627>mfg: Possibly? Any materials I could possibly reference on how to do this? Specifically the symlinking part, I've "made" some services before so I can probably figure that out <mfg>guile has a symlink function in its file-system module <rekado>substitute connections to ci.guix.gnu.org are awfully slow <rekado>I wonder if that's due to firewall changes (yet again) <mfg>since yesterday for me <rekado>there have been firewall changes, but they *should* have only affected the private VLAN <rekado>ACTION restarted guix-publish on ci.guix.gnu.org, just in case <futurile>Q: I'm having problems with a package. Is there a particular way to write to the build log? Any guix support functions for that? <futurile>Q: I think at this point I need to instrument my code, as something is happening that's not working - and as it's doing things like 'this-package' I need to write out to a log