IRC channel logs

2024-01-21.log

back to list of logs

<ieure>Kabouik, two things in your profile want different versions of ffmpeg, one of those is an input to mpv.
<ieure>Surprising, I guess ffmpeg is a propagated-input to mpv?
<Kabouik>How can I find which packages want those different versions of ffmpeg ieure? I don't think I installed anything new, but I upgraded my packages and reconfigured my system.
<Kabouik>Now the mpv in my system seems to block things, but weirdly installing mpv from guix install instead of from my config.scm in a reconfigure yields no error.
<Kabouik>I don't quite understand the nuance.
<lilyp>Kabouik: when you get a propagated input error, it will always mention at least two contributing packages.
<lilyp>One of them is likely the culprit
<Kabouik>I only saw ffmpeg and mpv but not the packages requiring them. I suspect mpv requires ffmpeg, so that's one. Not sure about the other.
<ieure>Kabouik, Can you paste whatever config and command you're running which gives the error?
<Kabouik>ieure I was just running sudo -E guix system reconfigure --allow-downgrades. I usually wouldn't use the downgrades flag, but here it would require it from me. It's related to my private channel, but I'm not sure why since my private channel has not changed in a couple weeks, and I think I reconfigured already without the flag.
<ieure>Kabouik, is ffmpeg listed in the packages of your (operating-system) declaration?
<Kabouik>Oh well, it is, and with a fixed version. I have no idea why. Must be something I picked somewhere from another one's config, or I needed it and forgot why. Thanks. That'smost likely the issue, and so far it was not causing any problem because I guess it was the latest version until a recent update.
<apteryx>Kabouik: ah, mpv was recently changed to propagate most of its libs
<squeaktoy>ACTION squeaks
<efraim>lilyp: emacs-minimal has ~1500 dependant packages, it needs a feature branch
<lilyp>I can push this to emacs-team instead, but then we'll wait a long while
<efraim>perhaps it can be combined with another branch, but it's too much for master
<abbe__>does it take a while for a post (from a new subscriber) to help-guix list to appear ?
<futurile>abbe__: yes I think so - one of the list maintainers passes each mail I believe
<abbe__>oh, okay!
<omnia54>ciao
<omnia54>!list
<ulfvonbelow>I just realized that for using older software, what is often wanted is to copy only specific subgraphs of the package graph from an older guix, replacing the dependencies of those subgraphs with applicable ones from the current guix. But wait a minute, this is actually remarkably similar to what importers do. Perhaps it would be good to have a guix-to-guix importer?
<janneke>how, while cross-building coreutils-mesboot-9.1 for the hurd, "config.status: executing depfiles commands" takes 22min
<janneke>i'm wondering about the wisdom of removing bash-2.05 and early gawk/sed/grep in the bootstrap in favor of gash/gash-utils
<janneke>using old, unmaintained software isn't great either
<efraim>I guess its worth a try, even for just removing bash-2.05 from the bootstrap chain (if possible), but my experience is that packages that low in commencement are just really slow
<efraim>could you pre-feed the answers so tehy're cached? ac_foo_bar=no
<janneke>dunno, but that wouldn't help this specific case, i guess
<janneke>"<efraim> I guess its worth a try" -- try what? we had these old softwares before, now we're using nice and new software, but sloooowww
<efraim>try removing the dependency on bash
<efraim>ah, I misread it the first time around
<efraim>I suppose for newer architectures we could just replace config.guess and co on bash/gawk/sed/grep but being about to use gash and gash-utils should make it easier
<efraim>s/being about/being able/
<janneke>yes, using gash/gash-utils is much easier and cleaner
<janneke>efraim: ah, you also encountered this zstd problem with a (sligthly) easier reprocuder
<janneke>*reproducer
<janneke>i suppose you also don't have a workaround
<efraim>janneke: yeah, no clue what to do with it. I even looked through (gnu packages bootstrap) to see if there was something in common with version numbers but didn't come up with anything
<rekado>ulfvonbelow: that’s what we’re doing in the Guix Past channel. Often just importing is not enough. The set of dependencies that needs to be replaced with old versions grows over time.
<muradm>hello guix
<muradm>any chance to look at #67657?
<peanuts>"[PATCH] services: connman: Add 'connman-general-configuration'." https://issues.guix.gnu.org/67657
<chsasank>Hi folks, I am looking to have my own package manager so that self-hosting of different apps is very easy. I have used docker-compose earlier for this and here's one such repo: https://github.com/chsasank/outline-wiki-docker-compose. However, this is still somewhat painful because I need to setup envs and what not. Do you think guix can be such
<chsasank>package manager.
<peanuts>"GitHub - chsasank/outline-wiki-docker-compose: Installation and docker compose to self host outline wiki: https://www.getoutline.com/" https://github.com/chsasank/outline-wiki-docker-compose
<muradm>chsasank: when you say "... I do self-hosting ..." you are becoming the one responsible for your environment by definition. including coplexity consequences, no matter what technology you will use. imho
<chsasank>I agree, but I want to create an experience like windows or mac store. Just say install outline and it should set up the whole thing to me. I am willing to setup opinionated/reasonable defaults.
<chsasank>For example, apt-get already does this for me for openssh-server. Can I do that for more complicated apps?
<Altadil>chsasank: It sounds like you might want to use Guix's services, but I don’t know how hard it is to write them…
<chsasank>oh yeah it looks like that: https://guix.gnu.org/manual/en/html_node/Services.html
<peanuts>"Services (GNU Guix Reference Manual)" https://guix.gnu.org/manual/en/html_node/Services.html
<Altadil>There is one already for openssh-server, you should take a look to see if that’s what you want
<chsasank>Is there any nice little overview of what all guix can do?
<zenmaya>chsasank: well you can setup one or more machines by running a few commands, run configured daemons, and create this configuration from a single file
<chsasank>Altadil: I want to be able to deploy this app for example: https://www.getoutline.com/. Different installation options are here: https://docs.getoutline.com/s/hosting/doc/docker-7pfeLP5a8t. Would be so nice if I can replace all that with guix install outline. Of course I'll be writing the package spec
<peanuts>"Outline ??Team knowledge base & wiki" https://www.getoutline.com
<peanuts>"Docker" https://docs.getoutline.com/s/hosting/doc/docker-7pfeLP5a8t
<chsasank>zenmaya: sort of like docker-compose?
<zenmaya>Well guix service is a collection of components which can write to system directories, like /etc, run daemons (with shepherd) and do few other things
<zenmaya>yes, but instead of defining the containers procedurally, you define them declaratively. Also you can opt in into the built-in containerization
<zenmaya>there is also an integration with docker containers, and they can be managed by guix as well
<chsasank>guix seems super powerful! Any paper/overview that can give me a good picture of it all?
<zenmaya>id perhaps recommend the reference manual, especially this section https://guix.gnu.org/en/manual/en/guix.html#System-Configuration
<peanuts>"GNU Guix Reference Manual" https://guix.gnu.org/en/manual/en/guix.html#System-Configuration
<chsasank>thanks!
<podiki>i would suggest the current version of the manual though: https://guix.gnu.org/en/manual/devel/en/html_node/
<zenmaya>i didn't even know there was a devel version of the manual
<lilyp>you learn something new every day
<janneke>bah, guix system build --target=i586-pc-gnu .../bare-hurd.tmpl on c-u attempts to build gnumach for i686-linux (and fails, of course)
<janneke>now where does this new dependency come from (all at once?)
<janneke>oh my, it could just be that i've been building the i686-linux bootstrap all these days for nothing, iow, for a broken target in the `parameter.drv'
<janneke>*parameters.drv
<apteryx>janneke: hello!
<apteryx>the bootstrap-binaries-0 package has xz in it, right?
<apteryx>can I take for granted in (guix packages)'s patch-and-repack that xz is always available?
<apteryx>looks like it's supposed to be there
<janneke>apteryx: good question
<apteryx>yes, it's there
<apteryx>I made a silly mistake in my just shared diff
<apteryx>forgetting to append /bin
<podiki>i'm getting an unbound variable for "c" in this code: https://paste.debian.net/1304822/
<peanuts>"debian Pastezone" https://paste.debian.net/1304822
<podiki>anyone know why?
<podiki>i know the "guard" form works in a guix repl, and this should be fine in a gexp as is I thought...but trying to reconfigure a system with this fails on unbound variable for 'c'
<apteryx>do you have srfi-34 available?
<peanuts>"SRFI 34: Exception Handling for Programs" https://srfi.schemers.org/srfi-34/srfi-34.html
<apteryx>just saw the snippet, it should be there yes
<podiki>Yeah, doesn't complain about guard yet doesn't seem to bind c
<janneke>apteryx: i see that next to the `tar' that's being used (/gnu/store/sb4x78r4d5l8833nmrml4b823irf954h-bootstrap-binaries-0/bin/tar), there indeed also is a `xz'
<apteryx>saw that too
<apteryx>I'll test on a powperpc64le machine I have access to
<apteryx>(p9.tobias.gr)
<apteryx>i hope it was simply caused by the name extension confusion
<apteryx>of the archive
<apteryx>but if it was that way I'm not sure why it'd have worked on x86
<apteryx>ah, it worked for make-boot0 on powperpc64le
<apteryx>should I push the fix?
<janneke>apteryx: not just yet; it looks "better" but we're not there yet (just sent mail)
<janneke>now `gzip' cannot be found by `tar', which might be even more interesting?
<janneke>ACTION has also tested using riscv64-linux personality for qemu-binfmt-service
<apteryx>new email sent, previous bug
<apteryx>ACTION managed to get tricked more than once in these few lines of code
<janneke>apteryx: that's an independent patch, right? but i get
<janneke>patching file guix/packages.scm
<janneke>Hunk #2 succeeded at 1030 with fuzz 2.
<apteryx>should be independent yes
<apteryx>I do have a second patch improving something unrelated in packages while touching it
<apteryx>in (guix packages)
<apteryx>that must be why
<janneke>apteryx: in any case, it works~ \o/
<apteryx>great... now for a world rebuild. I'm not sure civodul will be pleased
<janneke>i'll send an email with the ack
<janneke>apteryx: ask me about it, been rebuilding i686-linux world for over three days now ;-)
<apteryx>I'll slip a couple of extras I've cherry picked from our patch tracker, but I stand ready to revert/debug in case of problems
<janneke> https://todon.nl/@janneke/111776907111375986 :)
<peanuts>"Janneke: "@dch@bsd.network @civodul@toot.aquilenet.fr
<janneke>successfully built /gnu/store/yfhjz97bdy4sn0nvixc3y517q5mirhz3-make-boot0-4.4.1.drv
<janneke>/gnu/store/m0m9sn0jcq726mc8b425j2y0sgl6pxr1-make-boot0-4.4.1
<apteryx>super!
<janneke>yes, ty!
<janneke>the best way to avoid world rebuilds, is to not write patches like these, and keep living in the past forever...
<janneke>i wouldn't worry about it
<apteryx>:-)
<apteryx>if anyone has core-updates patches they'd like to have included now is a good time to ping
<apteryx>janneke: it's pushed!
<apteryx>ACTION crosses fingers
<ulfvonbelow>why is it that guix commands that start builds sometimes seem to ignore --verbosity and spontaneously vomit excerpts of build output at random?
<janneke>apteryx: w00T
<janneke>jpoiret: gnumach no longer builds for --system=i686-linux (I had to update gnumach because of glibc-2.38)
<janneke>i've been trying to patch it, but am wondering why are we building gnumach for i686-linux at all? it's being built as a dependency of [boot-]parameters.drv, any idea?
<janneke>it looks to come from
<janneke>(params (operating-system-boot-parameters-file os))
<janneke>ACTION tries (kernel #+(boot-parameters-kernel params)) ; #$ vs #+ but that has no apparent effect
<superkamiguru>Hello all, am messing around with trying to package a tool I would like to use, and am unsure how best to proceed. The build process normally requires sudo permissions to run the install phase ('sudo make install'), but I can't find a good example of how to work around this with a package definition. Wondering if anyone had some advice
<janneke>hmm, gnumach compiled for x86 should probably work fine as kernel too -- but is just wrong
<janneke>hmm, found it
<janneke>;; A cross-built GNUmach does not work
<janneke>okay, /me goes to try fixing gnumach for i686-linux
<podiki>apteryx: everything is ungrafted? saw gnutls is grafted on master (just updated it for security fix)
<apteryx>podiki: haven't checked, but it should
<apteryx>if not it's a good time to do so
<apteryx>I only see 4 entries for (replacement grep under gnu/packages
<podiki>it is ungrafted but needs to be updated to 3.8.3
<podiki>(i had pushed that change to the replacement on master yesterday)
<podiki>still don't know why https://paste.debian.net/1304822 thinks 'c' is unbound
<peanuts>"debian Pastezone" https://paste.debian.net/1304822
<aarcov>has anyone done multi line `substitute*` snippets for a guix package?
<rekado>aarcov: it’s messy so a patch would likely be better
<aarcov>hmmmm, would a patch need a separate host?
<aarcov>I've not made a patch before
<aarcov>Basically, I'm trying to strip out 4 lines (https://paste.debian.net/1304835/) from a file
<peanuts>"debian Pastezone" https://paste.debian.net/1304835
<aarcov>but, I'm having difficulties with matching multiple lines via the subsitutes regex (I'm not sure if it is an issue with my regex if the substitute call doesn't like multi line stuff)
<rekado>aarcov: it’s not well-equipped to handle multi-line replacements. It’s beyond the scope of substitute*.
<rekado>it’s better to generate a patch and apply it by adding it to the patches field of the origin object.
<aarcov>bummer, as an obvious stripping out in a snippet would be nice
<aarcov>ok
<aarcov>I guess at least now I know, rather than continuing to go insane trying to make it work
<podiki>apteryx: should i push the version bump to gnutls (security fixes, grafted on master) to core-updates then?
<apteryx>yes, please!
<podiki>will do now, once i get my branch switched over locally
<podiki>is just version/hash, easy enough
<tschilp>hi guix!
<apteryx>janneke: I think there are more than 8 derivations being computed on berlin, so core-updates is not seeing the latest one yet
<apteryx>looking at http://ci.guix.gnu.org/jobset/core-updates
<peanuts>"core-updates" http://ci.guix.gnu.org/jobset/core-updates
<wdkrnls>Dear Guix, I haven't been able to use gpg on guix for a while.
<wdkrnls>Is this just me, or is it some kind of guix problem?
<podiki>what goes wrong? i use gpg a lot here and haven't had issues (i don't use guix home though, just manual config)
<wdkrnls>I have emacs-pinentry installed and my config has allow-emacs-pinentry in it.
<wdkrnls>gpg: problem with the agent: No pinentry
<wdkrnls>gpg: error creating passphrase: Operation cancelled
<wdkrnls>Maybe I need both gnupg and pinentry in my manifest?
<podiki>~/.gnupg/gpg-agent.conf has a pinentry pointing to the program you want?
<wdkrnls>I guess I thought so based on the allow-emacs-pinentry.
<podiki>does it work outside of emacs? yes could be emacs doesn't know where your pinentry program is, if it isn't in the same profile it won't be in bin
<wdkrnls>Nope, it doesn't work anywhere.
<podiki>i don't know anything about emacs-pinentry or emacs settings, it "just works" with my regular gnupg config
<podiki>what is pinentry-program in gpg-agent.conf?
<wdkrnls>I didn't specify one in there.
<wdkrnls>Isn't gpg smart enough to take a config file as argument?
<janneke>apteryx: oh well...
<wdkrnls>I guess --options
<wdkrnls>That gave me: /home/wdkrnls/.gnupg/gpg-agent.conf:1: invalid option
<podiki>i've always specified pinentry in my config file
<podiki>is there some reason you don't want to do that? i would, and then restart the agent
<wdkrnls>Hmm... which program should I use for emacs?
<wdkrnls>Or just with the readline.
<wdkrnls>Hmm... it's like emacs-pinentry works but only after a long delay.
<podiki>mine happens to be set to pinentry from pinentry package, personally
<podiki>and for instance when emacs needs my pin it pops up a dialog (gtk i think)
<podiki>perhaps by default it is asking on a tty essentially, which you never see?
<wdkrnls>Hmm... I'm not sure. I set pinentry-program to pinentry as you suggested and got the GUI once, but then it stopped working again.
<podiki>there is some gpg agent debug output somehow, but i don't remember sorry :( that should show you what is happening
<podiki>by default there is some caching i think, or at least for me using a security key once it is unlocked
<wdkrnls>This kind of problem is probably better served with an email I suppose.
<podiki>similar things, about gpg and pinentry, have come upbefore
<podiki>so maybe we need some guidance in manual/cookbook if there isn't enough already
<podiki>unfortunately there's lots of setups (DE, WM, shells, hardware keys, ...) and it is complicated already gpg stuff
<podiki>on the other hand, lots of people use it here, at the very least all committers (sign commits) so we have some variety of setups to see
<apteryx>wdkrnls: if you look at 'git log --grep=pinentry', you'll find a 3-4 years old commit intended to fix that, as long as your pinentry binary is in your ~/.guix-profile/bin
<ieure>Is anyone working on packaging new Python for Guix? I need 3.11 or better, but 3.10 is the latest in Guix.
<podiki>it has come up, my quick search shows this https://issues.guix.gnu.org/60240 but a bit old now
<peanuts>"[PATCH] [WIP] gnu: Add python-3.11." https://issues.guix.gnu.org/60240
<podiki>i feel like something newer was mentioned (here? guix-devel?) but can't remember now
<podiki>well since i'm stumped why my "guard" isn't working in a service definition, what about parsing (just need to grep or string search) output of e.g. invoke? do we have utilities for that
<podiki>in short: i want to see if "docker network ls" shows a certain network name,then if not use "docker network create" to make it
<podiki>ACTION hacks up something ugly with spawn
<apteryx>podiki: I'm not sure why it doesn't work too
<apteryx>ieure: I had done so but too long ago (many packages would break)
<podiki>by the way, the point of this is to then have oci-container-service be able to create a docker network for containers to share (if specifying same network)
<podiki>or by default, a la docker-compose
<apteryx>podiki: perhaps some code needs to be compiled to work and is being simply evaluated or something (then macros from (srfi srfi-34) would not be expanded or the like)
<peanuts>"SRFI 34: Exception Handling for Programs" https://srfi.schemers.org/srfi-34/srfi-34.html
<apteryx>but since the gexp should lower to a file with the use-modules at the top, this should be fine; what is not fine is if use-modules imports some macros at at run time (e.g. in a procedure)
<podiki>it is just strange since it knows what "guard" is (without the module it will complain rightfully on that)
<podiki>ah i think you are correct, something about relying on the configuration record is messing it up
<podiki>removing any dependence on that (so it is just a const gexp) is fine
<podiki>so...i guess the question is how to make something here that depends on a configuration (or parameter, can we pass one directly to a service not part of a configuration record?)
<podiki>perhaps something for guix-devel, maybe i'm missing something easier
<podiki>basically: how to run a command (invoke) as part of a service (activation or otherwise) that depends on the configuration, conditionally/handle error
<apteryx>'guix size guix' is about twice the size as 'guix size nix'
<apteryx>but it's not exactly a fair comparison, as Guix comes with the package definitions, and I think Nix fetches them from github at runtime
<rekado>there’s also no ssh stuff in nix
<rekado>or avahi
<rekado>(all optional features)
<apteryx>the biggest space users are guix itself (388 MiB), Guile 3 (53.1 MiB), git-minimal (41.2), then glibc and gcc:lib
<apteryx>It also depends on glib for some reason
<apteryx>although at this point point the packages account for less than 3% of its closure size