IRC channel logs

2020-12-05.log

back to list of logs

<Sharlatan>Hi folks, how to pack a package (CommonLisp) if the repo contains two? https://github.com/marijnh/Postmodern -> cl-postgres and postmodern
<lfam>Sharlatan: You could make two packages that both use the same (source) field
<lfam>The first one for cl-postgres, and the second for postmodern. Postmodern would depend on the cl-postgres package
<lfam>Does that make sense?
<helaoban>Hello Guix. Has any work been done to package individual erlang/elixir packages?
<samplet>helaoban: There’s this: https://issues.guix.gnu.org/42180
<helaoban>samplet: cool, looks like it's being worked on.
***amiloradovsky1 is now known as amiloradovsky
***modula2 is now known as defaultxr
<atkka>hello, I watched several guix fosdem19/20 videos recently, really nice work everyone! guix looks very impressive and I would like to start using it, preferably guix system, but at least as a package manager
<atkka>does guix system allow for full disk encryption? or at least luks / and unencrypted /boot
<bavier[m]>atkka: yes, luks is supported. Configuration is covered nicely in the manual
<atkka>bavier[m]: thank you, I am going through the manual as right now. I just heard someone say that they would switch to guix once FDE was supported so I wanted to verify.
<bavier[m]>I think FDE is possible in some cases, but I do not have personal experience with the setup, sorry.
<atkka>ok I am willing to play around with it as it is a requirement for my work laptop
<raghavgururajan>Hello Guix!
<bavier[m]>hi raghavgururajan
<pkill9>my guix won't update, what do?
<pkill9>this is the error https://paste.debian.net/plain/1175702
<guix-vits>pkill9: chances are u really found a bug. but do u use any additional channels? try w/o them.
<pkill9>yea i do, trying without them now
<pkill9>nope didn't fix it
<pkill9>i sent a bug report
<mange>I was having a problem like that earlier today, except when building a system image. Maybe the substitute server is having a bad day? Using --fallback worked for me.
<guix-vits>mange: ah, great. just another guile's cryptic err-msg.
<pkill9>mange: maybe yea, it's just that it tries building the world
<pkill9>and yea the error message is just cryptic
<pkill9>since it says it's a broken store connection
<pkill9>it did that message multiple times with --fallback, i think the individual components had no substitutes available
<pkill9>but it's doing stuff so I'll just wait
<pkill9>now it's building stuff
<PotentialUser-86>Hi friends, can you solve this problem? https://unix.stackexchange.com/questions/622779/jupyter-on-guix-system
<mange>What have you tried to get Jupyter to work? What happens when you provide one of those arguments mentioned in the error message?
<olivuser>hello guix o/
<mange>Hello! :)
<olivuser>I'm on a rather freshly installed guix system machine with exwm and dmenu doesnt seem to find packages which are installed and found by the command line. For instance, I get an error when trying to compile vterm (cmake is missing). When opening a file, I am prompted that git could not be found.
<olivuser>mbakke, yesterday you said it seems like I need to source /etc/profile. Not knowing where to source, I did source it in bashrc, but this did not help. Did I source in the wrong place?
<mange>Hmm, I would try sourcing it in ~/.profile
<olivuser>mange, do you know if changes are passed onto emacs and exwm when I source .profile in the command line? Or do I need to log out and in again?
<mange>You'll need to log out and log back in, I'm afraid. ~/.profile should be run when you login, so then the environment variables should be propagated to all the processes you spawn from there.
<olivuser>mange, kay, be back in a minute :)
<olivuser>kay, sourcing .profile didnt do the trick
<mange>To clarify, inside ~/.profile you put a line that reads ". /etc/profile"?
<mange>Without the quotes.
<olivuser>yes, except that I did use the source command instead of . (they are aliases of one another AFAIK)
<olivuser>mange, maybe the problem has another source: just after installing, I used the init.el that I normally use for non-guix machines, which employ use-package definitions. could that be part of the problem (in the vterm case at least)? If so, that would solve part of the problem, but would not explain why emacs doesnt find git even though git is installedf
<mange>They are aliases in bash, but not in other shells. Using . is the standardised POSIX way to source things.
<olivuser>mange, okay, will try that
<olivuser>then, does .profile not use the bash shebang in the beginning like in bashrc?
<mange>My .profile file doesn't have any shebang, so I don't know what it should have. :/
<olivuser>and do you have the source command for /etc/profile in it, or do you simply not have that problem?
<mange>Also, I should have asked this first: how are you starting your session? Logging in via GDM into an exwm session?
<olivuser>mange, yes
<olivuser>while installing guix system, I chose exwm as window manager
<mange>My setup is a bit more complicated, but I have the moral equivalent of ". $HOME/.guix-profile/etc/profile" (I'm on a foreign distribution).
<mange>Give me a sec, I'll try installing in a VM and choosing that option, and see what I get.
<olivuser>that's lovely, thanks! will be afk for breakfast in the meantime
<ngz>Not skipping builds can be tricky in the Rust ecosystem…
<guix-vits>ngz: good luck, ye
<ngz>Well, there is one situation that boggles me. When rust-A has rust-B as an input, and you need to tweak Cargo.toml in rust-B to make it build. So, rust-B builds fine, but rust-A doesn't catch the fix, and fails because of rust-B.
<ngz>This is… frustrating.
<ngz>Maybe the Cargo.toml fix needs to be in a snippet instead of a phase.
<guix-vits>bit thanks to whoum make possible `loadkeys us` in guix.
<davidl>Hi, I would like to announce a little guile-script I wrote called guix-cigmon: it monitors git repositories for updates and generates guix package definitions. It stands for guix CI git monitor. Can be used to make cuirass continuously build new commits of some branch in your repositories. https://gitlab.com/methuselah-0/guix-cigmon/
<davidl>would be nice to have something similar available directly in cuirass.
<guix-vits>davidl: <fat>but what about unix way?</fat>
<guix-vits>:)
<davidl>guix-vits: well, good point :-) but also convenience is nice. If you could add some config-options directly in cuirass to monitor certain packages would be cool.
<guix-vits>yes, sounds good.
***guix-vits is now known as buttman-vits
*buttman-vits midnight is our time, beware <strike>good people</strike> evildoers
<leoprikler>davidl: something like cigmon sounds nice to have for channels, that track nightly builds
<leoprikler>can it be configured in a way, that makes it produce package definitions?
<leoprikler>ahh, it already does all that
<buttman-vits>in guix, that every new user is (like) forced to learn the basics of service-management is a good thing.
<nckx>Καλημέρα, Guix.
<buttman-vits>hello nckx
<buttman-vits>guix pull -p old 81ea278e05986f9ccee078bd00d4d7fc309dd19c
<nckx>Hello... person.
***buttman-vits is now known as guix-vits
<guix-vits>the above command didn't emit a warning
<guix-vits>to achieve what i need, i was need to use --commit= flag
<davidl>leoprikler: yeah :-) it's a relatively short script, and the code is crude, but it gets the job done.
<nckx>guix-vits: That's a bug. Guix pull should throw an error if any non-option arguments are passed, or we should find a good use for them.
<euandreh>'sudo guix system reconfigure sync/vps.scm' fails but ''cd sync && sudo guix system reconfigure vps.scm' works. This is a bug, right?
<guix-vits>euandreh: yes and no
<guix-vits>do u use 'local-file ?
<guix-vits>to get the files stored in sync/ ?
<guix-vits> https://paste.debian.net
<euandreh>what do you mean?
<euandreh>In the vps.scm?
<guix-vits>yes
<euandreh>no
<euandreh>hmm, got it
<euandreh>I don't use local-file, but I use call-with-input-file
<guix-vits>and it uses relative filename?
<euandreh>The underlying failure should be the same: it fails to find a relative path
<euandreh>yep
<euandreh>good catch
<guix-vits>about 'local-file: it can find rel. paths, but only if given a literal string.
<guix-vits>but it returns a "file-like obj", so maybe u don't need it.
<ngz>In our Rust ecosystem, we have rust-onig-sys-69.2. Do you think it is safe to replace it with rust-onig-sys-69.6, or should I create a new variable? I lean towards the former, but this is an area full of #:skip-build? #t, so I cannot be sure it is safe.
<ngz>I mean replace it with rust-onig-sys-69 with an actual 69.6 version.
<ngz>Ah… Rust…
<guix-vits>on linux.org.ru, i'd read one said like: "in c, one need to spend time to explain to newbs, why something is a very bad idea.. cause they can fail on the flat spot, while rust.." ironically, when rust is in guix, which is too a "safe system" that make things easier.. :)
<ss2>hey, I'm just wondering if it is possible to edit existing network profiles of network-manager?
<ss2>Any changes that I make in nm-applet are lost. But profiles can be generated though.
<ss2>forget my question. su is my best friend.
<save-lisp-or-die>hey all. Just had a weird experience. the XDG_DATA_DIRS environment variable seems to be getting stolen by guix somehow (I'm running debian). I could not lot in via GDM until I moved ~/.guix-profile. I.e. I did 'mv ~/.guix-profile ~/not-guix-profile' just so I could log in. Anybody know how I might interrupt or supersede the setting of
<save-lisp-or-die>XDG_DATA_DIRS by guix? anybody know where guix is setting that env variable?
<save-lisp-or-die>ah I see in the ./guix-profile/etc/profile
<civodul>save-lisp-or-die: hi! that looks a lot like https://issues.guix.gnu.org/26202
<save-lisp-or-die>Oh cool
<mdevos>changing a package definition to build debug info is as simple as adding "debug" to outputs, right? (at least for C programs using GCC + autotools)
<sneek>mdevos, you have 1 message!
<sneek>mdevos, lfam says: It would just be a matter of copying the command-line from `ps aux | grep guix-daemon` and changing the arguments
***daniel is now known as Guest71305
<kisaja[m]>trying to build gnukart, have already installed sdl* , and it says 'SDL_image.h: No such file or directory'
<kisaja[m]> https://pastebin.com/10srdsbx
<mdevos>has anyone defined a Guix system service for IPFS?
<mdevos>I feel bad for occasionally downloading 1Gib of substitutes from ci.guix.gnu.org
<lfam>mdevos: That's what it's for :)
<lfam>If you wanted to, you could set up a caching mirror, which can be useful if you have multiple Guix machines on the same network or something
<lfam>We maintain an Nginx configuration for that: https://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/hydra/nginx/mirror.conf
<mdevos>lfam: only one Guix machine on the network so far
<mdevos>lfam: though I plan to install Guix System on another machine on the local network
<mdevos>lfam: ci.guix.gnu.org is for building substitutes in advance, ...
<mdevos>but if, say, everyone started using Guix System instead of something else,
<lfam>Yes, and for serving them to Guix users ;)
<lfam>We will cross that bridge when we come to it
<lfam>That server is hosted in a "real" datacenter in a major city. It has good connectivity to the internet
<mdevos>ok, I'm just thinking that bridge could be IPFS or maybe GNUnet
<lfam>Sure, it could be useful. But we'll always want a "normal" and powerful HTTPS server, since that is basically guaranteed to work
<raghavgururajan>Hello Guix!
<civodul>o/
<mdevos>is anyone here working on Guix + GNUnet integration? I would like to avoid duplicate work
<mdevos>I'll count silence as a no
<civodul>mdevos: 2mn silence is a bit tough :-)
<civodul>but yeah, probably nobody is working on it
<civodul>as discussed on the list, i'd argue that IPFS for example is a better target at this point
<mdevos>I'll be online for an hour or so, the silence can still be broken
<mdevos>I agree IPFS is a better target at this point, ...
<mdevos>but I know gnunet reasonably well to be hacking upon it, whereas IPFS is less familiar
<mdevos>and ci.guix.gnu.org doesn't seem to be overloaded by downloads, or so I've understood, so long-term projects are acceptable I think
<mdevos>civodul: I'm not subscribed to the lists (too little free time); do you have a link?
<raghavgururajan>IPFS?
<raghavgururajan>Although I am fond of GNUnet, as being part of GNU.
<mdevos>raghavgururajan: could you elaborate that question?
<raghavgururajan>mdevos: What is IPFS? I never heard of it. :-)
<mdevos>aghavgururajan: it's like GNUnet file-sharing, but more stable, (:, and ...
<raghavgururajan>Ah i see.
<mdevos>less anonymity guarantees and some other things
<raghavgururajan>GNU Net + GNU Guix = Awesomeness
<raghavgururajan>Thanks for your interest and work
<mdevos>raghavgururajan: do I smell interest? Code repo: https://notabug.org/mdevos/guix-gnunet/wiki, additional gnunet code in gnunet directory
<raghavgururajan>;-)
<mdevos>there isn't really any integration yet, I'm implementing an additonal required GNUnet service first
<mdevos>a huge problem is ‘converting’ between hash types: Guix uses a few hashes, files on GNUnet FS some recursive scheme
<mdevos>so I'm defining a GNUnet service where a peer can advertise that one hash (algorithm A) corresponds to another (algorithm B)
<cbaines>civodul, I tried out the patches in #45018 for process and connection reuse for substitutes, and I think it was going OK
<sarg>hey there, somebody has virtualbox package for guix?
<cbaines>although, I've been looking at it consistently hanging when trying to fetch substitutes for some derivations, and I'm getting repeated failures when trying to guix pull now
<cbaines>I'm not really sure how to investigate either though, all Guix tells me about the failures is the store item it failed to fetch
<ces>Hey, sorry for asking to be spoonfed, but how do i install a package with "use flags"?
<cbaines>ces, I think "use flags" are a Gentoo thing, right?
<davidl>ces: learn about package/inherit and then you would use something like: (arguments
<davidl> `(#:tests? #t ; Run the test suite (this is the default)
<davidl> #:configure-flags '("-DUSE_SHA1DC=ON") ; SHA-1 collision detection
<ces>cbaines: sorry, i mean the (arguments `(#:configure flags)
<davidl>ces: right, see this: https://guix.gnu.org/blog/2018/a-packaging-tutorial-for-guix/
<ces>davidl: Is there a way to do this without packaging?
<cbaines>There's a range of package transformation options https://guix.gnu.org/manual/en/guix.html#Package-Transformation-Options
<cbaines>but they're meant for convinience, and don't currently offer a way to make any/all changes to packages on the fly
<davidl>ces: not what I know of, however, if you know about package/inherit, it is really not much to do, after you have "packaged" something with package/inherit, you add it to a .scm file and run guix package -f mypkg.scm and it will install.
<lfam>Sorry to barge in with a nitpick, but if one wanted to use package inheritance, you'd typically use (package (inherit foo)), not package/inherit
<ces>davidl: I see... I assume i can just put it in my GUIX_PACKAGE_PATH also?
<cbaines>ces, it might be useful to say what you're trying to do to what package?
<ces>cbaines: I am trying to compile xmobar with "--flags=all_extensions" to make my pre-guix config work
<cbaines>ces, the Guix package has had that configuration for about the last year, so I'm surprised you'd need to change the package?
<cbaines>Before that point, it just listed 6 extensions explicitly
<PotentialUser-21>Does anybody know if/how it is possible to install packages using home-manager (https://framagit.org/tyreunom/guix-home-manager)?
<cbaines>PotentialUser-21, I don't use it, but I think this is the relevant bit of the documentation https://framagit.org/tyreunom/guix-home-manager/-/blob/master/doc/profile.md
<ces>cbaines: I see, turns out i had a missing symlink in my own config
<ces>*facepalm*
<PotentialUser-21>Thanks :) Looks like I missed that part of the documentation
<cbaines>ces, great, I'm glad you figured it out :)
<ces>Also, sorry, but another question. I have zsh shell for my user, but now some scripts with #!/bin/bash are broken "zsh: ./script: bad interpreter: /bin/bash: no such file or directory"
<lfam>I think that /bin/bash will, by default, never work on Guix
<lfam>Nor will /bin/zsh ;)
<lfam>You can use #!/usr/bin/env bash
<mdevos>ces: or search for special-files-service-type in the manual
<lfam>Right
<ces>lfam: By design or just as some secondary effect? And thanks!
<lfam>By design, ces
<lfam>And the /usr/bin/env was a hard-fought compromise!
<ces>lfam: what was the alternative even?
<lfam>The alternative was to not have it
<lfam>The only "normal" executable path on Guix was /bin/sh, because the kernel itself depends on it
<mdevos>lfam: wouldn't it be possible to patch the kernel?
<lfam>Everything else is expected to be instrumented to refer to Guix-ified paths in /gnu/store, or maybe in ~/.guix-profile (which is a symlink forest pointing to /gnu/store)
<lfam>I don't know the details mdevos
<davidl>lfam: that is indeed a good clarification reg. package/inherit vs (package (inherit foo) (...
<lfam>It might be the kernel, or maybe glibc that expects /bin/sh. In any case, it's an okay compromise. Otherwise shell scripting would be seriously hampered, more than it already is
<lfam>There was more precise discussion on the mailing lists (one could search the archives). Maybe someone who remembers more clearly will chime in here, eventually
<davidl>ces: reg. special files service type: a real example: https://github.com/methuselah-0/my-guixsd-config.sh/blob/master/VM-configs/desktop_with_cuirass.scm#L11
<ces>davidl: thanks, but is this good practice?
<euandreh>the stderr output of 'guix build xxx' is tremendously well formatted
<civodul>cbaines: ah! does it just hang or do you get a backtrace or an error message?
<cbaines>civodul, just hang, at least longer than I'd expect
<civodul>cbaines: could you check whether it actually hangs? :-)
<civodul>grr matrix
<cbaines>civodul, I don't think I saw any activity in strace, I'm not sure how else to check
<civodul>cbaines: strace is good; you can trace the child guix-daemon process and the "guix substitute --substitute" process
<civodul>are you testing with --max-jobs=1 or > 1?
<raghavgururajan>mdevos: I see. :-)
<cbaines>civodul, I was using --max-jobs=4 but I tried with --max-jobs=1 as well, and it hung
<civodul>ok
<civodul>cbaines: another thing you can do is try with --debug=3
<civodul>(client side)
<cbaines>ah, OK
<pineapples>o/
<sneek>pineapples, you have 3 messages!
<sneek>pineapples, guix-vits says: trouble #1 for me, but i didn't heard about that from anyone else: keyboard do not working in u-boot menu. i need to use a serial console to roll-back in case of troubles. #2: i don't remember exactly, but armbian's numbering for emmc and uSD devices was different from what it was on guix boot.. use LABEL or UUID for /. #3: my 1680x1050 screen works in 1440x900 in sway.. maybe display/adapter issue.
<sneek>pineapples, guix-vits says: i happy with that board, because it's my first not 'anal-fenced' arm device, where i can do "wahtever".
<sneek>pineapples, guix-vits says: armbian worked better, but idk why. and it has all sorts of non-free things enabled by default (also it has cpu-max-working-freqs higher, vs guix; idk why). good news: sdl games work (7kaa, blobwars). nomad-browser working too (so webkit is working).
<pineapples>That's a lot of mail
<pineapples>thanks, sneek
<PotentialUser-78>Is it possible to delete old generations of home-manager? I couldn't find any command line option
<pineapples>Thanks for your input, guix-vits
<cbaines>civodul, I'm running the a Guix Build Coordinator agent with those changes again, and I'm seeing some attempts at substituting derivations time out with 60 seconds of slience on the first attempt, but then succeed on the second. I haven't found a new one that fails repeatedly yet
<ngz>I see our alacritty package is outdated (0.4.1 vs 0.6.0) and fetches source from Github. Would it make sense to fetch from Crates.io instead so updates are easier?
<civodul>cbaines: what substitute server are you talking to? is it one that keeps connections alive?
<civodul>and where does the 60s timeout come from?
<cbaines>civodul, for derivations it's data.guix.gnu.org, and I believe that keeps connections alive. At least the NGInx error log is full of "client ... closed keepalive connection"
<civodul>yeahnginx keeps them alive
<cbaines>The 60 second timeout is something I've introduced, as I've had occasional issues with hangs when substituting stuff (this is before your recent changes)
<civodul>ok
<civodul>when you strace the "guix substitute --substitute" process, what is it doing at that point?
<cbaines>reading the strace output, the guix-daemon process is doing a lot of reading single characters...
<cbaines>civodul, I don't know if it'll be reproducible, but I've got it to hang I think
<cbaines>the guix substitute --substitute process is doing: read(0, <unfinished ...>
<cbaines>civodul, actually, I'm getting confused, I can't see anything for the guix substitute --substitute process
<cbaines>it's the only the guix substitute --query one that was doing stuff at this point
<jorge[m]>Que traductor me pueden recomendar, para usar con mi navegador? gracias
<civodul>cbaines: so was it the --query one that was hanging?
<cbaines>civodul, yeah, probably, and it's still hung
<civodul>both the --query and the --substitute process wait for requests on stdin
<cbaines>I guess that's what it's doing: read(0, <unfinished ...>
<civodul>yes
<civodul>so that doesn't necessarily mean it hangs
<civodul>for that you need to also check its corresponding guix-daemon process
<cbaines>this is the end of the strace output https://paste.debian.net/plain/1175762
<cbaines>the top line is the guix substitute --query process, the rest is the guix-dameon proceess
<civodul>so it's guix-daemon reading from its --substitute process
<civodul>a download has started
<civodul>and what's the --substitute process doing?
<cbaines>I don't think it's done anything, at least within the scrollback limit of my terminal
<cbaines>On the guix build side, I've got the downloading from ... output, and the progress bar, which says 100%
<civodul>ok
*civodul tries to reproduce
<cbaines>I can give you SSH access to this server if that helps?
<cbaines>I'm substituting aarch64-linux derivations from data.guix.gnu.org for testing, since that involves quite a bit of work
<civodul>i'm picking .drv file names from http://data.guix.gnu.org/revision/32a3367930844b242b57ea634c2de43e4ea3b57b/package-derivations and trying to substitute them :-)
<cbaines>cool :D
<cbaines>I was excited by the improvements to substitutes, since they're key to how I'm operating the Guix Build Coordinator at least
<cbaines>and substituting derivations especially has it's difficulties
<civodul>ah yes, but part of it is that it can't be planned
<civodul>you have to fetch the .drv.narinfo before you can determine what other things narinfos need to be obtained
<civodul>(it's a problem similar to that with grafts)
<cbaines>indeed, and since the client doesn't know what it's missing from the server, and the server doesn't know what the client is missing, I don't think it's something where a perfect solution exists
<civodul>cbaines: i think i understand the bug but now i'm struggling with std::string.substr<<<??!>>>
<civodul>you can't image what string-drop looks like in C++
<civodul>*imagine
<mdevos>sneek: tell mdevos test
<sneek>mdevos, mdevos says: test
<mdevos>(I'm trying to figure out how to send messages to #guile)
<cbaines>civodul, well, I'm glad I haven't sent you chasing after an imaginary bug :)
<mdevos>I just failed a captcha eight times in a row. Apparently I'm a bot.
<mdevos>mdevos: botsnack
<mdevos>mdevos: yum?
<civodul>cbaines: https://web.fdn.fr/~lcourtes/pastebin/substitute-agent-bug-fix.html should fix the issue
<civodul>i'm seeing another issue, but presumably not related
*civodul goes afk for a bit
<civodul>thanks for testing & finding the bug!