IRC channel logs

2020-10-11.log

back to list of logs

<roptat>and I managed to add an address to a network link! it's working!
***jonsger1 is now known as jonsger
<apteryx>oh! nfs service type is failing for me: sudo herd restart nfs -> Service nfs is not running.\nService nfs could not be started.
<helaoban>ls
<helaoban>woops :)
<xelxebar>helaoban: We've all been there :)
<xelxebar>Now I'm remembering that famous IRC troll convincing some poor kid that sending his password in the chat will show up as ***** for everyone but him.
*xelxebar deboards the off-topic train
<vits-test>sneek: what do U lookin' at, nerdy Noldor?
<vits-test>str1ngs: he-he, sneek-post is broken :)
<vits-test>due to some shiny person has two nicks :(
<nalaginrut>is it possible to build Hurd VM under Linux?
<nalaginrut>I mean `guix build hurd`
<nalaginrut>oh, I see
<nalaginrut>I need a template firle
<nalaginrut>file
<vits-test>nalaginrut: Hi, there recently was some blog post.
<nalaginrut>vits-test: yes, I'm reading and trying, my eyes just missed something
<nalaginrut>;-)
<vits-test>nckx: re: "peg @ maximum freq" https://paste.debian.net/plain/1166663
<vits-test>Our current default is 'performance' afaik.
<peanutbutterandc>How do I pass a certain output of a package to (packages->manifest)? The doc says it can take either "package objects" or "package/string tuples denoting a specific output of a package" but I can't seem to figure out how such tuples are written
<apteryx>for the specifications->manifest: "git:send-email"
<apteryx>otherwise for the packages->manifest the manual has the example: (list guile-2.0 "debug")
<peanutbutterandc>apteryx, I tried (list glib "doc") and it threw:
<peanutbutterandc>guix environment: error: reference to invalid output 'doc' of derivation '/gnu/store/bkcqh1yclf0ksxkqlrp9hi9abwbivmhk-glib-2.62.6.drv'
<peanutbutterandc>Here's the manifest file that's causing me headache: https://termbin.com/4gqj
<apteryx>ah, that's because the package variable is glib-with-documentation
<apteryx>another good reason to prer specifications that package variables.
<peanutbutterandc>apteryx, Hmmmmmmmmmmmmmmmmmmmmmmm.........................
<peanutbutterandc>apteryx, It seems to work. But I think I will follow your advice and go for specifications->manifest, then. Thank you very much
<nalaginrut>where should I put hurdchild to start it from herd
<nalaginrut>hurdchild is a local script
<nalaginrut>oh, I see, I should start from qemu
<janneke>hello Guix!
<janneke>nalaginrut: so yes, we cross-build a hurd vm from gnu/linux and start it using qemu
<janneke>the blog post has a recipe for doing that ;)
<janneke>if you're on guix system, those two steps are automated if you use: (service hurd-vm-service-type)
<janneke>and only then, you can start/stop it with the `herd' command
<abralek>Hello Guix
<nly>typo in childhurd blog post
<nly>(* 12 (expt 2 30)) ;12GiB -> (disk-size (* 12 (expt 2 30))) ;12G
<nly>thanks
<bdju>help, all my new shells are being spammed with shepherd output
<janneke>nly: thanks for reaching out...but i don't see the typo yet
<janneke>nly: 12 * 2^30 = 12 GiB, right?
<nly>(disk-size around that)
<janneke>nly: rrrright, thanks!
<bdju>took shepherd out of my ~/.profile for now. maybe I need a different way to make sure it's running
<janneke>website should update shortly
<nly>thanks
<str1ngs>bdju: this should help to start user shepherd. http://paste.debian.net/1166676
<Brendan[m]1>For GuixSD, would it perhaps be nice to have a system service that launches user herds for users when they login?
<Brendan[m]1>is that possible and a good idea?
***daviid is now known as Guest18314
***Guest18314 is now known as daviid
<janneke>str1ngs: nice...pretty obvious i guess once you see it, but now i'm going to look again at the shepherd user services blog post!
<Brendan[m]1>the blog post neglects to mention how to actually start herd
<janneke>efraim: how about adding something like http://paste.debian.net/1166676 to your blog post?
<janneke>Brendan[m]1: yes...i got stuck on that too
<Brendan[m]1>even a legendary hacker such as yourself?
<efraim>janneke: I like the idea. any suggestion where to add it?
<janneke>efraim: maybe right after the first, minimal init.scm?
<efraim>janneke: I meant to .bashrc or .profile or somewhere else
<janneke>maybe add something like: now we must run shepherd [...] to avoid doing that by hand each time, you can...
<janneke>str1ngs: this goes in ~/.bash_profile i guess?
<janneke>iwbn if something like this maybe could go in /etc/skel/.bash_profile even?
<efraim>I don't want to suggest .xsession since I've never successfully used it, and it doesn't help people using sway/wayland
<Brendan[m]1>will shepherd exit if there is no user config at all for it or will it keep running in the background?
<efraim>`which -a shepherd` does show /run/current-system/profile/bin/shepherd so it's always there
<efraim>I assume it's like mcron, it'll run and just do nothing
<efraim>we could add it commented out, then it's just 'go to .bash_profile and uncomment it'
*janneke feels kinda stupid now for not being able to think of this before... ;)
<janneke>i guess the obvious things are often times hardest to see
<efraim>is /etc/guix supposed to be 755 or 511?
<janneke>i believe 755, the secret key must be 400 though
***apteryx_ is now known as apteryx
<str1ngs>janneke: .profile .bash_profile or .bashrc which every is preffered
<efraim>I think /etc/hostname is supposed to have a newline at the end
<janneke>efraim: hmm, then your '.config/shepherd/init.scm' could maybe be in the skeleton too!
<efraim>That is a cool idea
<janneke>iwbn if shepherd user services was rightly available as a "core" feature of guix
<zenny>Hi, new to the guix world. I am trying to simply launch emacs' exwm at x startup. Any pointer to achieve something like that.
<efraim>It digs a bit more into systemd than I know about, but I think 'touch /var/lib/elogind/linger/$USER' is enough with the elogind-service-type to make shepherd stay even if you log out
<janneke>efraim: right, that's very helpful to get working
<janneke>zenny: i believe that works ootb now with gdm if you have emacs-exwm in your operating system packages
<Brendan[m]1>i guess a user cant log to /var/log can they? the log will just fill up .config/shepherd
<zenny>janneke: Thanks for the pointer. I shall try, but the installer didn't give any option for 'emacs-exwm'
<janneke>zenny: yes, we need that!
<janneke>someone should create patch
<janneke>does anyone have a shepherd snippet for ssh-agent? i'm puzzled about how to (best) communicate/set env variables for ssh-add...
<Brendan[m]1>should it be a snippet or should it be integrated and a default part of shepherd that it does what init.scm does?
***daviid is now known as Guest77014
***Guest77014 is now known as daviid
<str1ngs>janneke: use a know socket path. then you can just set env variable
<str1ngs>known*
<str1ngs>janneke: example something like ssh-agent -a /run/user/$UID/keyring/ssh then you can do something like export SSH_AUTH_SOCK=/run/user/$UID/keyring/ssh
<janneke>str1ngs: yeah, i think i have something nice
<str1ngs>would be cool add dbus support to shepherd :)
<janneke>=> https://paste.debian.net/1166681/
<janneke>just struggling with the PID file; maybe we don't need that
<str1ngs>looks right
<janneke>it would be so helpful for guix to supply these things!
<str1ngs>I guess shepherd tracks the PID?
<janneke>yes
<str1ngs>guess it really depends how shepherd spawn the process.
<janneke>i'm not sure if there are conventions wrt user var and log
<Brendan[m]1>i felt a little uncomfortable seeing a var dir in your home directory
<str1ngs>janneke: you know I like goops but it seems to get a bad rep in the scheme community. but then maybe I've gone down the rabbit hole with nomad, emacsy and g-golf... slightly offtopic
<janneke>Brendan[m]1: /run/user/$UID/ssh-agent/ would be better for the socket? hmm, and what about the log file?
<janneke>str1ngs: well, shepherd and 8sync also use goops
<leoprikler>What does the Scheme community say about GOOPS?
<str1ngs>janneke: can #:start be a begin and then the tmp directories are created there and not on evaluation?
<janneke>str1ngs: better!
<str1ngs>janneke: should be fine as long as make-forkexec-constructor is the begin's continuation
<bdju>str1ngs: thanks!
*Brendan[m]1 looks it up on the internet
<str1ngs>janneke: actually that still probably gets evaluation before begin is called. unless it works like #:init-form
<Brendan[m]1>looks like there is no convetion, but maybe in .cache, that is, $XDG_CACHE_HOME/shepherd/shepherd.log or .local/share/shepherd/shepherd.log
<efraim>I was thinking that shepherd should log to .cache
<str1ngs>janneke: err I mean it 's probably evaluated before #:start is used by shepherd.
<efraim>oh, I actually have WIP code in my shepherd checkout for that
<efraim>I remember what it was, there was a random test failure with it
<janneke>hmm, where's the user's shepherd log?
<efraim>.config/shepherd/shepherd.log, but that's only for shepherd
<efraim>I log the individual services to ~/log which I'm not too excited about
<janneke>ah ... shouldn't that be .cache/shepherd/shepherd.log?
<janneke>then we could have .cache/shepherd/ssh-agent.log too
<bdju>I couldn't remember where logs went with the xdg standard but I put my syncthing service log in .local/share/syncthing/syncthing.log
<bdju>maybe I'll change it to be in .cache then
<bdju> https://stackoverflow.com/questions/25897836/where-should-i-write-a-user-specific-log-file-to-and-be-xdg-base-directory-comp found this
<janneke>yeah, .cache/shepherd seems best
<bdju>I'm getting this when I run `herd stop syncthing`: error: connect: /run/user/1000/shepherd/socket: No such file or directory
<efraim>ok, I got tests/basic.sh to fail instead of hang
<leoprikler>bdju: probably need sudo?
<leoprikler>or wait, if syncthing is started by your local shepherd, you should ensure that you didn't accidentally overwrite shepherd's process with an exec
<bdju>it's my user shepherd yeah. but I was maybe accidentally starting it repeatedly and I have logged in and out
*janneke creates patch for shepherd
<bdju>I found shepherd in htop, I'll just kill it and see what happens... 😅
<bdju>what's the best way to start shepherd manually now without getting spam in all my terminals? can I just run `shepherd` in a new terminal and then close it after?
<bdju>I have that thing in my .profile now but don't want to log out at the moment
<efraim>I run 'shepherd && exit' in a terminal
<bdju>sweet, thanks
<Brendan[m]1>i think shepherd runs the services before it tries to secure the socket to see if there is already a running instance
*janneke sends patch!
<janneke>ah, efraim beat me to it with something very similar -- good :-)
<efraim>:)
<janneke>well, that only means there's consensus
<efraim>hmm, no zram on my pine64 with Guix System
<civodul>mbakke: so this folly patch turned out to be unnecessary after all
<civodul>go figure
<civodul>sorry for the mess!
<efraim>anyone know the difference between linux-libre and linux-libre-arm64-generic
<janneke>efraim: i saw dannym comment on that somewhere
<janneke>hmm, could have been vagrantc
<jayspeer>hey #guix
<jayspeer>can anyone tell me to how correctly add user to a group on guix system? reconfiguring didn't help :/
<civodul>hi jayspeer!
<civodul>did you add user-accounts as explained at https://guix.gnu.org/manual/devel/en/html_node/User-Accounts.html and related pages?
<jayspeer>I guess? I'm typing this from this very system, so my user is there :)
<civodul>so normally you add to the 'users' (or 'groups') field of your config, you reconfigure, and you're done
<civodul>if you see something else, we have a problem
<efraim>sneek: seen vagrantc
<sneek>I think I remember vagrantc in #guix 3 days ago, saying: echo $PATH ?.
<jayspeer>the thing is - I've copied /etc/config.scm to ~/ and added another secondary group to my user, reconfigured, but the config seems to stay the same
<str1ngs>janneke: probably the shepherd socket test should use $XDG_RUNTIME_DIR/shepherd/socket vs $UID variant
<nly>> This is the GNU Hurd. Welcome.
<nly>nice
<jayspeer>nice
<jayspeer>civodul: do I need to create a group first?
<jayspeer>reconfiguring did not produced error, but I suspect sth like this might be the problem
<civodul>jayspeer: so what's the problem? the users you added don't show up in /etc/passwd?
<jayspeer>civodul: I wanted to update my user, but the secondary groups stayed the same after reconfiguring (and rebooting)
<civodul>jayspeer: so your user doesn't appear where you want in /etc/group?
<jayspeer>hmmm, it actually does... su'ing as my user does indeed show the group in place
<jayspeer>of course it works when start bothering someone on internet :)
<civodul>heheh
<jayspeer>I have no idea what exactly have I missed, screw it
<jayspeer>does the /etc/config.scm show changes after reconfiguring?
<janneke>str1ngs: yes, i think efraim sent a patch doing exactly that :)
<janneke>(and i myself too, some 20min later ;)
<janneke>str1ngs: on guix system, however, we have XDG_RUNTIME_DIR=/run/user/1000
<civodul>jayspeer: /etc/config.scm is "your" file, guix never modifies it
<jayspeer>civodul: that's news to me; I've always thought it refers to the currect system configuration. So I can freely update it? Doesn't everything in /etc has to be read only?
<nckx>vits-test: Sounds legit. Who was that (if you can say)?
<xelxebar>Is there a good way to see what jobs my build offload machines are working on?
<efraim>guix offload status?
<PotentialUser-35>how do you install a package that is failing to build due to an incompatible version one of its dependencies?
<Brendan[m]1>PotentialUser-35 the package definition will need to be fixed in guix. you can post a bug report and ask kindly if someone will fix it, or have a go at it yourself
<Brendan[m]1>otherwise you could try using guix time-machine to find a version in the past that isn't broken, such as before the dependency was updated
<xelxebar>efraim: That just gives a breif summary
<xelxebar>I'd like to see that machine foo is building package bar.
<nckx>xelxebar: I've a hack that ssh's into each of them to find(1) all /tmp/guix-build-*s owned by guixbuild. Reliable in practice but not tested against all scenarios of messy daemon death.
<janneke>str1ngs: ah, for the test and variable setting! yeah, probably we should use ${XDG_RUN_HOME-$HOME/.cache}/shepherd/socket and SSH_AUTH_SOCK=${XDG_RUN_HOME-$HOME/.cache}/ssh-agent/socket
<janneke>sorry for being so slow ;)
<c4droid>Emm, I want to using my home server using for guix substitute mirror, have any manual talk about it?
<mbakke>c4droid: do you want to mirror substitutes coming from ci.guix.gnu.org, or do you want to expose the home server store as a substitute server?
<c4droid>mirror substitute from ci.guix.gnu.org
<mbakke>c4droid: I don't think it's documented anywhere, the closest reference is the nginx configuration for the "berlin" server behind ci.guix.gnu.org: https://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/hydra/nginx/berlin.scm
<mbakke>basically, you need to proxy_pass ci.guix.gnu.org while adding appropriate proxy_cache blocks.
<xelxebar>nckx: So I'm not just missing some obvious guix frontend for this. Cheers.
<xelxebar>Off the top of your head, do you think it would be hard to plumb such a thing into guix offload?
<xelxebar>Collecting ideas for some guix hacking projects for once I've finished the few trivial ones I'm working on at the moment.
<pineapples>Hi Guix! What's the purpose of the directory "guix" in /etc?
<Rovanion>Is there a list of which cups extensions are available?
<Rovanion>Don't see one in the manual: https://guix.gnu.org/manual/en/html_node/Printing-Services.html
<Rovanion>Also: The cups web admin takes a couple of minutes to load. /var/log/cups/error.log says macx clients reached, holding new connections.
<roptat>pineapples, it's used by the daemon for configuration (for instance, keeping a list of authorized substitute server public keys, a list of machines to offload to, ...)
<pineapples>roptat: Thanks! I'm asking because I can't choose in which directory I want to keep my system configuration. I would, preferably, store it where most Guix hackers would expect to see one
<roptat>/etc/config.scm usually
<leoprikler>imho we should make the config.scm parameter on reconfigure optional
<leoprikler>or provide an alternative, that is more like `guix upgrade`
<aadcg>I noticed that the last version of emacs-geiser breaks emacs-guix - the guile REPL doesn't start. but after comparing the relevant functions in emacs-geiser-0.12 and emacs-geiser-0.11.2, I noticed that nothing important changed. So I have no clue... did anyone have a look too?
<leoprikler>Hmm, geiser seems to throw an error in the start of the REPL
<leoprikler>If you toggle-debug-on-error, you get a semi-huge backtrace, but I can't really make sense of it
<leoprikler>I think guix-start-repl may do something not expected by geiser
<aadcg>leoprikler: yes, I had a look at the backtrace. I also couldn't make sense of it. but then I rolled back to a previous generation where emacs-geiser was set at 0.11.2 and it all works... it's just that I can't make sense of any of this!
<aadcg>leoprikler: the relevant function is `geiser-repl--start-scheme`
<mroh>aadcg: yes, I looked at it too, but didnt find the problem. In the emacs-guix source there is a comment like "geiser leaves a socket file, so delete it", but... Also, there is an upstream issue: https://gitlab.com/emacs-guix/emacs-guix/-/issues/27
<aadcg>mroh: that's me on that issue :)
<mroh>ah, ok, nice ;)
<leoprikler>I don't think it has to do with --start-scheme
<aadcg>mroh: will investigate what you've mentioned about the socket because from what I understood it's related to that
<leoprikler>also you have a different error than the one I'm getting
<mroh>aadcg: yeah, maybe that has changed in geiser.
<leoprikler>I get until line 328
<efraim>sneek: later ask vagrantc what's the benefit of using linux-libre-arm64-generic over linux-libre?
<sneek>Okay.
<efraim>sneek: botsnack
<sneek>:)
<nckx>xelxebar: I don't think it would be hard. Rovanion: there isn't such a list (and if there is one it's manually curated & not guaranteed to be accurate). All packages that provide cups extensions are confined to cups.scm though.
<nckx>Rovanion: The CUPS /admin delay is known, weird that it hasn't been fixed yet; try ‘touch /etc/cups/cupsd.conf’.
<cr4zyg3n3>hi!
<cr4zyg3n3>I installed guix and executed guix package -i vim it isntalled, but when I try to run it form terminal it doesn't work?
<nckx>cr4zyg3n3: Define ‘doesn't work’. Is this on a foreign distribution, or a Guix System? Did ‘guix install’ display a hint? If so, did you run it? What does ‘echo $PATH’ say?
<cr4zyg3n3>sorry it does now! forget what I said before :/
<cr4zyg3n3>sorry nckx
<cr4zyg3n3>I just opened a new terminal tried it and it work
<cr4zyg3n3>I also am having trouble with my wifi. I have a ralink wifi modem, but I don't know what package on guix I must install to get it working?
<nckx>No need to be sorry. 🙂 It would be nice if Guix could set up the environment in the current shell, but I'm not convinced it can do so without nasty hacks that are worse than the annoyance of opening a new shell.
<cr4zyg3n3>On debian it was firmware-ralink
<nckx>cr4zyg3n3: In Debian, that's a ‘non-free’ package. In Guix, we don't provide or support non-free software at all. I recommend buying a wi-fi chip that doesn't require non-free firmware/drivers although there's no code in Guix that will prevent you from installing whatever you want. It's just not something we can help you with here.
*nckx has to go.
<cr4zyg3n3>I agree it has to go so I will make due :)
<cr4zyg3n3>thanks nckx
<cr4zyg3n3>what wifi chips are open source any suggestions?
<thomassgn>Hey, is there a way to compile chromium with mic access? I use chromium as my "unsafe" browser and sometimes I'd like to join webrtc meetings and be able to speak in addition.
<roptat>cr4zyg3n3, look at the h-node website, they will have suggestions
<seepel>Hi guix! I sometimes run into an application that I'd like to try that has an rpm, deb, or app image, is there a relatively easy way to use one of those prebuilt formats in Guix System?
<morgansmith>Is there a way to make a package that's inheriting a hidden package not be hidden?
<morgansmith>figured it out. you just add: (properties `((hidden? . #f) ,@(package-properties package)))
<nckx>morgansmith: Hidden just means a package has (properties '((hidden? . #t))) set, so you can override that in your own.
<nckx>Damn you.
<morgansmith>nckx: thanks :P
<str1ngs>janneke: yeah, just double check the XDG spec. that's why I originally used var/run/$UID. I was to to lazy to check the spec haha.
<janneke>str1ngs: ah, right -- thanks
<str1ngs>janneke: though if shepherd does not use the spce. say /var/run is a configure substitution then /var/run/$UID is still a safe assumption I guess.
<str1ngs>spec*
<cr4zyg3n3>roptat thanks
<emacsen>Is there a reference doc (outside of RTFS) on the guix pakcage system and how it knows what files to retrieve and symlinks to make?
<rndd>hi everyone! i installed guix on my ubuntu server and wanted to start guix-publish.service. but there is no .guix-profile in my root home.
<ryanprior>thomassgn: if your chromium doesn't have mic access, I'm not sure it's the build that's the problem. I use Guix's ungoogled-chromium for webrtc meetings and it picks up my mic fine.
<rndd>oh, found solution
<roptat>emacsen, probably Eelco's thesis?
<sys2>hello, I'm trying to solve "cannot find module xmonad" when recompiling xmonad... and think it's either this[0] or the fact that xmonad is built with a different version of ghc than "ghc" provides (when used in a manifest). [0] https://lists.gnu.org/archive/html/bug-guix/2019-09/msg00100.html
<sys2>has anyone run into this before?
<sys2>I think it's the second thing, because Mod-q just stopped working a few weeks ago (errors with "cannot find module xmonad" and others now)
<rndd>can i put several urls in --substitute-urls?
<emacsen>roptat, url?
<roptat> http://nixos.org/~eelco/pubs/phd-thesis.pdf
<cbaines>rndd, yes, separated by spaces
<cbaines>the order matters as well, they're checked in order
<ryanprior>Years ago at LibrePlanet a Guix hacker gave a talk discussing the idea of having federated, mutually-challenging substitute servers such that you could build a consensus that a given package hash is correct.
<ryanprior>Does that ring a bell to anybody? Are there ongoing or stalled discussions about doing that?
<roptat>I think that discussion stopped after we figured out an attacker could pretend to be 1000000 build servers and have majority :)
<roptat>ha I made a mistake, IFLA is not the same as IFA
<roptat>it doesn't affect the encoder, but I need to change the decoder
<ryanprior>roptat do you know where the record of that discussion is? I believe that's a tractable problem and have information about how we might tackle it. The dream may live yet.
<roptat>oh that's good news :)
<roptat>have you searched on guix-devel?
<roptat>otherwise, I'm not sure it was recorded
<ryanprior>I don't know how to do that X.X mailing lists are kind of a black box for me
<ryanprior>Is there a mailing list search engine I take it?
<thomassgn>ryanprior: oh, I see it can see the mic, but not use it. I have not been able to tell chromium on guixsd to use the mic, or rather chromium always answers that it doesn't have permission. No idea what else could be making it so. ryanprior do you know if you've any settings about sound device access? I don't think I've touched any of that and pulse seems to pick up sound just fine from the mic.
<ryanprior>thomassgn I use Guix on a foreign distro (elementary OS) so it may be responsible for the policy around that. But if your Chromium can see the mic & ask permission for it, it's at least unlikely to require recompiling Chromium with different options!
<thomassgn>I've assumed it's got to do with the build, because when I tell chromium that a webpage is allowed mic. access it just jumps back to not allowed. But I might have to explore it closer.
<thomassgn>thank you. :)
<cbaines>ryanprior, I started a new thread about trusting substitutes through multiple signatures a few months ago https://lists.gnu.org/archive/html/guix-devel/2020-06/msg00179.html
<cbaines>From my perspective it's a small but non-trival step from having a ACL with a simple list of keys, where a substitute signed by any key is trusted, to a more complex model where you trust a substitute only if it's signed by more than 1 key
<cbaines>thomassgn, this might be relevant https://issues.guix.gnu.org/issue/36961#10
<cr4zyg3n3>does guix have a package with the clear command? I know one can hit Ctrl+L, but I like using clear
<morgansmith>what variable do I use in native-inputs to refer to native inputs? Or do I have to do (package-native-inputs package)?
<ryanprior>TIL clear isn't a shell builtin
<morgansmith>Ok, I tried (package-native-inputs package) but that might've made an infinite loop
<cbaines>morgansmith, what are you trying to do by referring to native-inputs in native-inputs?
<morgansmith>I think a buddy of mine just makes clear an alias that hit's ^L somehow...
<morgansmith>cbaines: I'm trying to add a kernel config so I alist delete the old one from native inputs, then add a new "kconfig" which is mine. It should be a file that's located in one of my other native-inputs
<morgansmith>so I'm doing ("kconfig" ,(string-append (assoc-ref (package-native-inputs package) "configy") "/path/"))
<morgansmith>but I think that makes an infinite loop somehow cuz it hangs forever
<cbaines>morgansmith, the first thing to observe is that inputs/native-inputs work at the level of packages, not store items
<cbaines>So I don't think (string-append ... "/path/") will work, because you can't append /path/ to a package
<cbaines>Although, saying that, maybe this is a bit of an oddity, some of the code looks to expect a string...
<morgansmith>I don't get why I can't use %build-inputs here like I can in the arguments. Both the feilds are thunked...
<cbaines>morgansmith, so, the config you want is a file within another package, right?
<morgansmith>yep
<mfg>i'm inside a childhurd and guix pull throws: Git error: invalid version 0 on git_proxy_options - has that happened to anyone else?
<cbaines>Rather than string-append, I think you might be able to use the file-append gexp thing to help here
<morgansmith>oh god, not gexps. I still don't know how they work
<cbaines>So you'd have the kconfig native-input be ("kconfig" ,(file-append package-containing-config "/config"))
<morgansmith> In procedure struct-vtable: Wrong type argument in position 1 (expecting struct): #f
<cbaines>hmm, my attempt to make something work hasn't worked either
<mihi>mfg, yes it has. I asked the opposite question yesterday <http://logs.guix.gnu.org/guix/2020-10-10.log#191847> and did not get any answer.
<cbaines>I know it's possible to use (origin ... as inputs
<cbaines>morgansmith, what package is the config inside? That seems a bit odd...
<morgansmith>it's not a package, it's a git repo. pretty identical to gnulib in lbzip2
<mfg>mihi: too bad... :( let's see what i can find out :)
<morgansmith>well maybe it is a package. but like, it's defined in place
<cbaines>morgansmith, right, I'm talking about a package as in the record type
<janneke>mihi, mfg: yeah, guix pull does not work yet
<cbaines>morgansmith, is it possible to download the config file over the web?
<morgansmith>I mean that's what I'm doing...
<janneke>no idea what's going on
<cbaines>morgansmith, I thought you said the config file was within a package
<morgansmith>well the package is just doing a git clone over the web...
<morgansmith>I don't think we're on the same wavelength
<mfg>janneke: i see, is known why it doesn't or is it unsolved?
<mfg>lol didn't see the second message :D
<janneke>indeed, not that i know -- so someone needs to look sometime
<cbaines>morgansmith, so, rather than using a package, I'd try something like the plotly.js input here https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/bioinformatics.scm#n11312
<morgansmith>ya, I'm already doing that I think
<morgansmith>I'm following the guix-cookbook 3.1 customizing the kernel. there it is shown that you can make the kconfig input be a local-file. I want to set set it to a file that is contained in my native input that is the git repo
<cbaines>morgansmith, right, the linux-libre package expects the config file to be what's specified as the input, and I don't think it'll like it being nested in a directory, like a Git repository. It should be possible to work around that, but I'm unsure how.
<mihi>mfg, janneke: The error is printed here: https://github.com/libgit2/libgit2/blob/045efb7b7858fd9b50e3ca2f7ad2ffcca7cdb8e8/src/common.h#L128, and the next stack frame is either https://github.com/libgit2/libgit2/blob/3a72345b65a2bfec323fe3d06463645ae0a9babe/src/remote.c#L1017 or https://github.com/libgit2/libgit2/blob/3a72345b65a2bfec323fe3d06463645ae0a9babe/src/remote.c#L2526, assuming guix is using a libgit2 version that
<mihi>is similar enough to trunk. expected_max is 1 and *structure points to
<mihi> https://github.com/libgit2/libgit2/blob/aa4cd778b97d7271aa0ad12a4f9d492c443d5935/include/git2/proxy.h#L44
<mihi>but without real debugging tools it is hard to find out why that field is apparently uninitialized...
<mihi>Correction: it could also be in this abomination of a #define: https://github.com/libgit2/libgit2/blob/045efb7b7858fd9b50e3ca2f7ad2ffcca7cdb8e8/src/common.h#L143
<mbakke>morgansmith: can you show a code sample? ("kconfig" ,(file-append (origin ...) "/the/config-file")) should work
<morgansmith>well see that might work, but I also need the files in the repo for other things. So the orgin in an input, and then kconfig is a seperate input that has to refer to origin input
<mihi>my C fu is not strong enough to tell whether this is defined behaviour or undefined behaviour. some_struct X = {1}; assert((*(const unsigned int*)(&X)) == 1)
<morgansmith>mbakke: https://paste.debian.net/1166732/
<mbakke>morgansmith: it's probably easiest to (define linux-surface-patches (origin ...)) somewhere at the top, and refer to that variable in the inputs
<morgansmith>mbakke: so simple yet so beautiful. It's building. I'll see what happens
<civodul>mfg: i think the "invalid proxy version" issue is fixed in guile-git "master"
<civodul>i don't know why we don't have that issue on GNU/Linux though
<mfg>civodul: good to know :)
<cbaines>civodul, I'm trying more things to avoid the Squee memory issue https://notabug.org/cbaines/guile-squee/commits/fix-garbage-collection-issues-with-parameter-pointers
<cbaines>My reproducer for the latest commit hasn't crashed yet, but I've had crashes for the previous commits
<civodul>cbaines: ok
<civodul>i think you have to check the expected lifetime of those string arrays in the C library
<civodul>do these functions expect the caller to keep them alive "forever"?
<civodul>or do they just use or copy their contents and it's fine to free them right after the call?
<civodul>using make-c-struct to create an array is also questionable (it works because the alignment constraints are the same, but still :-))
<cbaines>So, %PQexecParams is called, and that will make the system call to send the message over the socket
<cbaines>That data in the system call is wrong, so something is going wrong before then I think
<cbaines>I tried referencing the pointers after the call, as I was concerned that the values wouldn't be protected after %PQexecParams had started executing
<civodul>ok
<civodul>cbaines: i think what can happen is that PARAM-POINTERS and the result of 'string-pointer-list->string-array' might be finalized (and thus freed) before %PQexecParams has returned
<civodul>because from Scheme, they're no longer reachable
<civodul>and because in Guile there's a separate finalizer thread, which can do its work concurrently
<OriansJ>a weird error showed up: https://paste.debian.net/1166744/
<civodul>well maybe only PARAM-POINTERS has become unreachable
<cbaines>that sort of makes sense, although I don't think keeping them in the let was sufficient to avoid that
<OriansJ>when using guix 26f6bd0403ed20c1d26eca9d4f28a0da519a56ac
<cbaines>civodul, is Guile smart enough to see that they're not used, even though they're still in scope?
<civodul>cbaines: no, it's not enough, because the compiler can see that it's no longer used
<civodul>yeah
<cbaines>This was where I was going with the pointless-list and doing the length of it, I was hoping that was sufficient to avoid Guile seeing them as unused (if it even is).
<cbaines>Ok, well fingers crossed this latest test doesn't crash!
<civodul>what you could do is add: (identity param-pointers) after the %PQexecParams call
<civodul>:-)
<cbaines>Ah, I was just going to ask if there was a more idiomatic way of keeping things alive :)
<civodul>heh
<civodul>(i chose 'identity' because it's from an external module and cannot be inlined)
<OriansJ>attempting to work around using guix version : 4e395c74c81b8be3bcc26cb9d135fdd92e8b3497 results in: https://paste.debian.net/1166749/
<str1ngs>sneek: later tell guix-vits . I've pushed significant change to how %web-mode-map works to a describe-mode branch. This is in preparation for describe-mode. The changed should not be noticeable but if you notice any issues with web key binds let me know. for details see http://git.savannah.nongnu.org/cgit/nomad.git/commit/?h=describe-mode&id=df90e95eee3a868eef2d0909a26dbddcfd63e695
<sneek>Will do.
<raghavgururajan>Anyone online that uses Icecat?
<raghavgururajan>Does this page (https://webmail.gandi.net/SOGo/) render correctly for you?
<mfg>raghavgururajan: I can see a login, yes
<raghavgururajan>mfg Does the page look right?
<raghavgururajan>In the Privacy and Security settings, is "Do not load custom fonts" turned on?
<mfg>i don't see such settings
<mfg>ah now i get what you mean, lol
<mfg>I'm allowing custom fonts
<mfg>without it, the rendering is wrong
<raghavgururajan>Thanks!
<mfg>np :)
***daviid is now known as Guest73783
***Guest73783 is now known as daviid
<apteryx>'make check' currently fails, right?
<apteryx>does the CI not care about the result of tests for the guix package?
*civodul unaware of test failures
<cbaines>apteryx, they might fail for you, but this recent build on ci.guix.gnu.org passed, with running make check http://ci.guix.gnu.org/build/3264850/details
<cbaines>the tests are somewhat dependent on the environment
<cbaines>at least some particular tests I think
<aadcg>I noticed that the search on the guix IRC channel logs doesn't show all occurrences for a given word. Are you aware of this?
<rekado_>aadcg: I must admit that I don’t understand exactly how the search works, even though I implemented it.
<nckx>aadcg: It shows all occurrences but only up to ~18 April. It's been like that since, well, April.
<rekado_>nckx: oh?
<rekado_>then the indexer has died
<rekado_>someone should restart it
<nckx>I thought lfam worked on that but I'm obviously misremembering.
<aadcg>rekado_: I was trying to look at the source code. I cloned guix-artwork but wasn't able to find it... Where is it? Complete beginner here, sorry
<rekado_>aadcg: wrong repository :)
<rekado_>it’s in maintenance.git
<aadcg>nckx: That's exactly right. I noticed that too.
<rekado_>hydra/goggles.scm
<rekado_>let me restart the indexer
<nckx>rekado_: Is it one of your nohup-powered services?
<nckx>😛
<aadcg>nckx: 24 of April to be exact :)
<nckx>s/nohup/the GNU screen service management framework/
*rekado_ pretends to have overlooked the question
<rekado_>April, though?
<aadcg>rekado_: thanks!
<rekado_>I did restart it a long time ago
<nckx>aadcg: TBH I searched for my own nick, so I must've been having fun 18-24 🙂
<rekado_>but more recent than that
<sys2>Hello, I'm trying to rebuild xmonad with Mod-q (and xmonad/ghc-xmonad-contrib/gcc-toolchain/ghc installed in my user profile). This used to work, but now gives the message "could not find module xmonad". I think this is because "ghc" is a different version than the one xmonad has as a dependency. Does anyone know how I can fix this?
<helaoban>hello guix, I'm trying to build from source, following the instructions here: https://guix.gnu.org/manual/en/html_node/Building-from-Git.html
<helaoban>on 'make check', the tests/store.scm test blows up because it expects $SHELL or $CONFIG_SHELL to be set in the environment.
<cbaines>helaoban, unless you're specifically trying to run the tests, I wouldn't run make check
<ryanprior>Is there a way to depend on the actual source code of a package and not just its outputs?
<helaoban>cbaines: ah ok, are the guidelines a little outdated then? I think the recommendation to use 'guix environment guix --pure' to setup a guix dev environment is throwing mem off since '--pure' wipes everything out.
<rekado_>ryanprior: (package-source the-package)
<rekado_>that gives you an origin, which is a valid input
<cbaines>helaoban, I still have $SHELL set within guix environment guix --pure
<helaoban>cbaines: I don't! That's weird...
<ryanprior>rekado_: cool, then how to I refer to the path of that in lambdas?
<ryanprior>(assoc-ref inputs "the-package") or something else?
<cbaines>helaoban, do you have $SHELL set in your shell outside of guix environment?
<helaoban>cbains: yes.
<ryanprior>helaoban: do you set SHELL in your ~/.bashrc perhaps?
<ryanprior>Because that still gets read & executed in a pure shell
<ryanprior>And is the source of much impurity
<helaoban>ryanprior: that was my first thought, I'm looking now..
<cbaines>unsetting $SHELL in the .bash_rc would explain it... what value do you have for $SHELL helaoban ?
<joshuaBPMan>so, apparently linode blocks outgoing email ports by default, which is why I may be struggling with setting up email...also I may just have no clue what DNS settings that I want. I'll figure it out eventually.
<helaoban>cbaines: I'm using zsh, $SHELL is set to /gnu/store/2hsg15n644f0glrcbkb1kqknmmqdar03-zsh-5.8/bin/zsh
<cbaines>helaoban, hmm, OK, I'm using bash, so maybe zsh doesn't set $SHELL in the same way bash does
<helaoban>cbaines: Yeah I'm not sourcing anything in my .zshrc, so that's not it.
<cbaines>joshuaBPMan, offtopic, but I use Linode for email. I think the main issue I had is that you need to request a separate IPv6 allocation, otherwise your server is probably on a shared /64
<ryanprior>rekado_: answered my own question, you give it an input name of your choosing like ("thepkg-src" ,(package-source thepkg))
<joshuaBPMan>cbaines: I haven't actually set up DNS records for IPv6. Also apparently linode closed outgoing email connection to fight spam. I just have to request that they open those ports.
<joshuaBPMan> https://www.linode.com/docs/email/best-practices/running-a-mail-server/
<cbaines>joshuaBPMan, ah, OK, I set up my mailserver so long ago that I very little knowledge of how I did it or how it works...
<cbaines>One day I'll replace it with a shiny new Guix powered machine :)
<joshuaBPMan>cbaines: that's ok. I'm hoping to set up email in guix, and then put another section in the cookbook for how to do it.
<joshuaBPMan>There's lots of tinys details that you have to set up correctly. :)
<joshuaBPMan>cbaines: what's your spam filter? I'm planning on setting up rspamd. It seems to be one of the better ones.
<cbaines>Indeed, and Guix specific docs would be great :)
<cbaines>joshuaBPMan, SpamAssassin I believe, and it seems to do OK for me. I have no idea if it's considered the best though.
<joshuaBPMan>cbaines: thanks. I'm hoping to go for an email solution, where I can offer others an email account. rspamd seems to be fairly performent for that task. Though spamassassin may be "better" at detecting spam.
<joshuaBPMan>I'm not an email expert though. :) Thanks for your input.
<cbaines>No problem :)
<cbaines>I need to get some sleep now, I'm hoping that when I wake up, I haven't hit any more squee race conditions in the Guix Data Service code!
<nckx>joshuaBPMan: rspamd makes more sense at that ‘scale’. It's a little overkill for personal boxes, although it will handle them just fine.
<nckx>cbaines: Good night!
<nckx>joshuaBPMan: I don't think Guix System has any spam filtering services yet.
<joshuaBPMan>nckx: It does not have any services yet no. I think the only thing we have packaged is:
<joshuaBPMan> https://bogofilter.sourceforge.io/
<joshuaBPMan>So I'll have to package something, and hopefully enable a service for it!
<nckx>I actually want to try out BogoFilter. Or get rspamd to run without redis, if that's possible.
<nckx>Have you experience with anything besides rspamd?
<jlicht>hey guix!
<nckx>Hoi.
<jlicht>o/