IRC channel logs


back to list of logs

<efraim>sneek_: later tell civodul I built shepherd for armhf-linux on core-updates on my aarch64 board and it built with no problems
<efraim>sneek_: botsnack?
<roptat>hi guix!
<efraim>anyone remember off hand what happened to ustat.h?
<efraim>ah, i see it was removed from glibc-2.28
<partj>what is the usual workflow for developing a service? there's nothing in the manual concerning services
<partj>especially modifying an existing one
<efraim>I normally create a minimal vm config with the new service
<cbaines>partj, I tend to rely on the system tests when developing services
<cbaines>which service are you interested in?
<partj>i'd say dnsmasq and openvpn
<cbaines>ok, I use dnsmasq on GuixSD for some DNS stuff, and I actually get network-manager to run it for me
<cbaines>this may be relevant if you're looking to use dnsmasq on a system with network-manager
<partj>via the system configuration? i'd like to use dnscrypt-proxy with it, that's mostly why
<partj>my uni has its own dns server and blocks every dns query that isn't on their server
<cbaines>are you using GuixSD with network-manager?
<partj>yes, my system is just the default one
<partj>(also i can't seem to make fuse work but that's for later)
<cbaines>So, you can configure network-manager to use dnsmasq
<cbaines>I'm not sure if that helps fit in dnscrypt-proxy though...
<efraim>I keep on meaning to make the 1 line cofig change to allow connman to change the DNS
<cbaines>looking at the dnscrypt-proxy documentation though, I'm not sure how it fits in with dnsmasq
<partj>it acts as a forwarder, that is, dnsmasq requests go through dnscrypt-proxy
<cbaines>you could probably just configure network-manager to talk directly to dnscrypt-proxy though, and that might be simpler
<cbaines>it sounds like creating a service for dnscrypt-proxy though is a good first step
<nly>Is this a bug if guix build <pkg> --dry-run doesn't show anything
<nly>[16:34] nly: guix build emacs --dry-run shows 48.4mb will be downloaded
<nly>[16:34] nly: But guix build httpd --dry-run shows nothing
<partj>cbaines: i think the recommended way is dnsmasq + dnscrypt-proxy, the latter recommends not running their internal cache and using dnsmasq instead
<cbaines>partj, sure, well that makes sense as well
<cbaines>nly, I'm pretty sure this will be because you already have that on your system
<cbaines>if you run without --dry-run, I'd expect guix build to print the store path
<nly>Yes that is what happens
<partj>cbaines: so what would be a good setup to add that service? just add it next to my config.scm file?
<cbaines>first, is there a package for dnscrypt-proxy in Guix?
<cbaines>partj, have you got a local checkout of the guix git repository?
<partj>i'll check it out then
<partj>specific place or just wherever i want?
<cbaines>there is some documentation here
<cbaines>where you put the repository doesn't matter
<partj>i can keep using my own store while hacking right?
<partj>won't mess up things between dev and non-dev?
<cbaines>yep, you need to explicitly use the "dev" Guix, so you shouldn't have any problems
<partj>cbaines: when you configure network-manager to use dnsmasq, you're still having it run as a service alongside it right?
<partj>also can i start and stop my dev'd services with pre-inst-env shepherd?
<partj>or do i have to make install?
<partj>also i'm having trouble deciding on how to make dnsmasq take control of resolv.conf, should i add an option in the service configuration to write to it during activation?
<partj>because the way i see it all config should be done in the .scm, never touching /etc manually
<partj>are there any options to enforce a particular configuration in another service to avoid conflicts? (or maybe there could be a simple resolv.conf service to handle that)
<cbaines>partj, I'm back now
<cbaines>with respect to network-manager and dnsmasq, at least the way I'm running it, network-manager takes care of running dnsmasq
<cbaines>so the only Guix service I'm running is network-manager
<partj>oh, i'd like to make it able to be run by itself (mostly because i want guix to handle dnsmasq's conf)
<partj>maybe there's a more elegant way to interface guix and nm's internal dnsmasq?
<cbaines>You can have Guix drop the relevant config files in to /etc/NetworkManager/dnsmasq.d/
<cbaines>I think that would do the trick
<partj>cbaines: maybe leverage the already existant dnsmasq config record to simplify that, i'll try doing that
<partj>how does one debug error messages like this one : "Unknown # object: #\<"
<cbaines>Some of the errors can be a bit difficult to crack
<cbaines>Is there more to the message?
<partj>yeah, in procedure primitive-load, in procedure scm_lreadr for the derivation active_service
<cbaines>Sounds like some invalid Guile code has been generated. This can happen with G-expressions when they go a bit wrong
<cbaines>Usually it helps to find the file that it's failing to run/load, can you see which one it is?
<partj>yeah i think i know where it fails but i don't know for what reason
<partj>lemme reread the manual on g-expressions
<partj>surprised i got it myself, it was an incomplete if expression that then didn't return a compatible g-exp object
<partj>where does make install install the files? can i just guix system reconfigure and it'll work? because for now it looks like the changes i have made haven't done anything
<cbaines>Did you use ./pre-inst-env guix system reconfigure ... to reconfigure? As that's what you'll need to run to use the checkout of Guix.
<partj>no i make installed it instead
<partj>because it was complaining about a lot of missing things for some reason when i ran it with sudo
<partj>even though as user it only failed when symlinked the new system profile
<cbaines>This is on GuixSD right?
<cbaines>I'm not sure what running make install will have done, but you don't need to do that on GuixSD, as that's mostly about installing the build daemon, and you've got that running already
<cbaines>If you want to use changes in your checkout of the guix repository when reconfiguring your system, the pre-inst-env script is the thing to use
<partj>but it complains : "no code for module (gcrypt hash)"
<cbaines>Does it stop on that error, or continue?
<partj>it stops
<cbaines>You could try installing guile-gcrypt or making sure it's available
<partj>doesn't help, added it to the ad-hoc and didn't change anything
<cbaines>If you're using guix environment, have you got guile in there as one of the --ad-hoc things?
<partj>cbaines: doesn't guix environment guix pull that automatically?
<cbaines>It should do, and it should add guile-gcrypt as well
<cbaines>Does starting Guile from within the environment, and running (use-modules (gcrypt hash)) work?
<cbaines>well that's something, but I take it that running the reconfigure still doesn't work
<cbaines>I wonder if ./pre-inst-env is meaning that (gcrypt hash) can't be found
<cbaines>can you load the module if you run ./pre-inst-env guile ?
<partj>it does work, christ
<partj>note that it does work if i don't run with sudo
<cbaines>Ah, where are you putting sudo in the command?
<partj>at least it appears to work since it doesn't actually crash
<partj>before ./pre-inst-env
<cbaines>Also, the -E option of sudo may help
<partj>i tried after too
<partj>my bad, that works
<partj>but now i have an error from a file that isn't related at all to what i'm working on, maybe an error in the tree?
<partj>oh no, it's actually my code, whatever, i'll fix it
<partj>is there any doc on with-output-to-file?
<g_bor>hello guix!
<g_bor>Good news: javadoc reprodubility patch works.
<g_bor>Bad news: idl still gets in some timestamps :)
<atw>awesome g_bor! :)
<g_bor>atw: thanks!
<nly>janneke: woah lilypond is awesome
<EternalZenith>What's the policy on optional dependencies for packages? How are they handled?
<EternalZenith>It is my understanding that optional deps can't be later installed by the user, since the paths to the outputs would have different hashes
<EternalZenith>Is that somehow not an issue, or is there a defined way to address that?
<emacsomancer>hello guix
<emacsomancer>is anyone working on packaging hugo (the static site generator written in go)?
<ng0>EternalZenith: the usual way to handle this, regardless of wether one likes it or not, is to mostly make packages include all optionals, be it now or slowly over time as dependencies become available
<ng0>sometimes we sed in a dependency so that it stays in the references later on, like for example some of the 'mc' optionals
<ng0>of course runtime dependencies can be installed later
<ng0>while you were disconnected: "of course runtime dependencies can be installed later".. you don't need to take care of all runtime dependencies, just the ones built in
<efraim>abcde is one package that has optional dependencies