IRC channel logs

2022-04-25.log

back to list of logs

***pussyriot is now known as madage
<EMax`0Mancer[m]>I've tried setting up the iptables-service as per the example on the webpage ( https://guix.gnu.org/manual/en/html_node/Networking-Services.html ), but I seem then to lose outgoing connectivity too (cannot connect to websites in a browser; cannot ping). I don't know iptables well in the first place, but the example looks straightforward enough. Is there something else I need to do on Guix beyond the configuration in the example.
<lechner>EMax`0Mancer[m]: you could try iptables -L but netfilter is complicated. maybe you do not need it
<Aurora_v_kosmose>mkdir_p Unexpected error on extracted pack tarball.
<Aurora_v_kosmose>What would this mean? Roughly what I did: guix pack -RR -S /bin=bin emacs
<EMax`0Mancer[m]><lechner> "'(E . Max `(0 ,Mancer)): you..." <- I get: https://paste.debian.net/1238918/
<Aurora_v_kosmose>The fallback mechanism for portable packs seems to be broken. I have to epxlicitly set the engine env variable.
<tribals>Hello!
<tribals>I'm curious how to get parent directory of CWD?
<Aurora_v_kosmose>In Guile?
<apteryx>tribals: (dirname (getcwd)) ?
<tribals>Stupid question, sory
<apteryx>it's fine, welcome here!
<blackbeard>Hello guix (:
<lechner>EMax`0Mancer[m]: looks to me like you are rejecting all traffic except SSH, but I'm not a good person to ask
***[ is now known as Noisytoot
<lechner>Hi, does guix-cookbook.texi generate any build products when building guix?
<apteryx>should be doc/guix-cookbook.info
<apteryx>so you can 'make doc/guix-cookbook.info' to generate it
<apteryx>Aurora_v_kosmose: on which host distribution?
<Aurora_v_kosmose>apteryx: It was on Debian.
<lechner>apteryx: thanks!
<apteryx>Aurora_v_kosmose: I think Debian turns off user namespace capability in their Linux kernel
<apteryx>not sure, but that may be what triggers the bug
<Aurora_v_kosmose>apteryx: It does as there were a few exploitable bugs related to such namespaces that led to greater compromise than not using the namespaces.
<vagrantc>apteryx: not in the current debian stable release
<vagrantc>apteryx: bullseye+ has user namespace enba
<vagrantc>enabled by default
<apteryx>oh. good to know
<Aurora_v_kosmose>vagrantc: My setup might differ due to using a Qubes-provided kernel.
<vagrantc>Aurora_v_kosmose: indeed!
*vagrantc waves
<Aurora_v_kosmose>The statement I made earlier might only concern earlier Debian versions.
*apteryx catches some zz
<apteryx>o/
<Aurora_v_kosmose>Have a good time.
<notzmv>hello folks! I'm trying to write my first package and I would like some pointers please. Right now my problem is that guile is complaining about (method git-fetch) being an invalid field specifier. does that have something to do with not having the sha256 field yet? https://plaster.tymoon.eu/view/3070#3070
<FlaminWalrus>notzmv: checking my packages, I always pass the (git-reference...) to the (uri) function. It may still be the sha256 field; that's not hard to generate for testing. Clone or navigate to a git repository at the commit you're trying to package and run `guix hash -rx .` in the root directory.
<jpoiret>notzmv: did you resolve your issue?
<jpoiret>by the way FlaminWalrus: uri is a field specifier, not a procedure, it doesn't exist outside of the (origin ...) block
<konstantinos>Hello, for the description field of a new package is it ok to copy it from the project page? Is there any license issue for doing it?
<jpoiret>konstantinos: it depends, it is generally frowned upon to leave any "subjective" claims in there
<jpoiret>you can just keep it short and factual
<jpoiret>things like "the best compiler, number 1 in speed in efficiency" would be met with a snarky remark on the MLs :p
<notzmv>jpoiret: I've given up on that because I've found an alternative solution, using kmonad instead. On the other hand, now I'm having rather noobish problems with my config.scm and I can't really figure out the issue because all guile says is that it expects a struct, but I've mostly seen people using cons* like I tried here: https://plaster.tymoon.eu/view/3071#3071
<jpoiret>notzmv: the issue here is that %desktop-services is a list of services
<jpoiret>basically, the (services ...) field expects a list of services, but here somewhere in the list there's %desktop-servces
<jpoiret>just remove that line, since (modify-services %desktop-services ....) will return a modified list based on %desktop-services, and (cons* el1 el2 el3 rest) will give you a list with el1,2,3 prepended to rest
<notzmv>ah, that makes sense. I got confused by seeing people using just plain %some-services, cons* and append in different files after services, but now I understand. thanks!
<notzmv>I've dabbled with CL way more than scheme, so I get tripped on some stuff like that, and scheme tooling seems a bit less robust too (or I just haven't figured out a good workflow yet)
<notzmv>*tripped up
<jpoiret>at least, guile tooling isn't as good as you might expect
<jpoiret>you get used to it
<notzmv>yeah, it's honestly fine. sly/slime are just too good :p
<jpoiret>personally, i've never used much tooling and i feel okay with it, just syntax highlighting and paren manipulation, then directly test the code with a shell
<notzmv>I'll try to go through the guile manual this week to get my bearings and get used to working on its repl
<notzmv>(accidentally) jumping straight into guix on my main machine has been quite a fun adventure, despite all the struggling
<WesterWest[m]>is there a more thorough explanation of the package format? after reading the manual I still can’t wrap my head around derivations, builders, gexps and how do build systems use gnu’s if they use the same build steps but there is bo makefile
<zimoun>hi!
<sneek>zimoun, you have 1 message!
<sneek>zimoun, rekado says: I built everything out on wip-pyyaml and fixed problems as I saw them. It’s hard to compare failures across branches with cuirass. Those failures I checked were present on the master branch as well.
<zimoun>sneek, botsnack
<sneek>:)
<zimoun>My Guix is broken is a way I am not able to fix it. Well, I do not have any ~/.config/guix/current nor /var/guix/profiles/per-user/simon/ and then “/usr/bin/guix pull” returns an ugly backtrace. What is wrong?
<zimoun> https://paste.debian.net/1238949
<PurpleSym>zimoun: Any working guix in `ls /gnu/store/*-guix-1.3.0-*/bin/guix`?
<zimoun>yes, I have /gnu/store/0iii8i1lc4wg3wccs1db7y7d8lg80i04-guix-1.3.0/bin/guix
<zimoun>Ok, I got it. Thanks PurpleSym
<jpoiret>WesterWest[m]: you really don't need to understand the inner workings if you only need to package things
<jpoiret>but unfortunately, there's not much documentation for the internals, barring reading the actual code (which is pretty well documented with guile docstrings)
<bjc>individual functions are reasonably well documented, and the highest level of creating a package is well documented, but the middle ground which bridges those two has basically none
<bjc>that's not a complaint, just a criticism. no one's owed anything here, obviously
<bjc>if someone had the kind of time and ability, it would be great to see the steps that are taken from package definition to files, using the guixy jargon, along with an overview of how those steps fit together
<enno>Hi. I mostly finished my own channel setup, but while all looks fine, I get
<enno>Updating channel 'oaichannel' from Git repository at 'https://gitlab.kokyou.de/enno/oaichannel.git'...
<enno>guix pull: error: Git error: could not find appropriate mechanism for credentials
<enno>when running guix pull
<jpoiret>enno: i'd say is that repo password protected?
<jpoiret>if so i'm not sure it'll work with guix pull, maybe you could clone it locally and then point the channel.scm file to the local checkout
<stampirl>Hi. Can someone help me with installing docker-compose? There is an issue with PyYAML version https://issues.guix.gnu.org/54934. Is there a way to "pin" older version? I can't even find list of version numbers I could use for that
<PurpleSym>stampirl: You can try `guix time-machine --commit=20303c0b1c75bc4770cdfa8b8c6b33fd6e77c168 -- <your guix command here>`, which uses a version before the update.
<stampirl>PurpleSym: thx, checking it right now
<enno>jpoiret: Yes. It is a private repo. I will try a local copy.
<mothacehe>enno: "guix pull" supports SSH authenticated repositories if an ssh-agent is running iirc. You can use the gitlab SSH url instead: git@gitlab.kokyou.de:enno/oaichannel.git or something like that
<sneek>Welcome back mothacehe, you have 1 message!
<sneek>mothacehe, apteryx says: perhaps of interest; a branch name with '+' seems to cause issues for cuirass: https://ci.guix.gnu.org/jobset/wip-ipython%2Bpolyglossia (try the edit button)
<enno>jpoiret: If it is public it works. Great. Thank you
<PurpleSym>mothacehe: Do you know what happened to https://ci.guix.gnu.org/eval/260171 by any chance? Is it still running?
<enno>mothacehe: I will try this next
<mothacehe>PurpleSym: it is still running on berlin, probably stuck somewhere
<tribals>Hello! ^_^
<tribals>How to `ungexp` a Gexp in REPL?
<xaver>Hi, I'm trying to get a config file into my XDG_CONFIG_DIRECTORY. I'm using home-xgd-configuration-files-serrvice-type and it gets written to my .config directory as expected, but when I want to execute it with sx, it tells me "/home/xaver/.config/sx/sxec: Permission denied"... The code I'm using: '(simple-service 'sx-config-service-type home-xdg-configuration-files-service-type `(("sx/sxrc", (local-file "./files/.config/
<xaver>sx/sxrc"))))'
<xaver>ls -la shows lrwxrwxrwx 1 xaver users for the link pointing to the file in store
<xaver>Oh, on closer inspection the script that lies in the store is read-only. Is there any way I can give the execute-flag with home-xdg-configuration-files-service-type?
<PurpleSym>mothacehe: Can you tell where? I can `guix pull` that branch without an issue.
<mothacehe>PurpleSym: strace reports that it's pending on a pselect call: [pid 91415] pselect6(228, [3 224 227], [], [], NULL, NULL, no clue why
<mothacehe>could be a deadlock within the guix-daemon or something else like that
<WesterWest[m]>jpoiret: well I wanted to write a new build system, i dont want to do it anymore :D but i really want to know how does the package system actually work
<apteryx>mothacehe: hello :-) quick question; does the 'Jobs' column on the CI home page show the percent of succeeded jobs for the last evaluation? E.g., if a new Guix commit triggered 10 rebuilds, and 8 out of 10 succeeded,it would show 80% ?
<apteryx>or does it rather show the "health" of the branch, as the % of passed builds for the branch?
<mothacehe>apteryx: it is the percentage of successful job for the last successful evaluation of the branch, globally.
<mothacehe>if you click on the "Toggle jobs" button
<mothacehe>you will see the raw figures used to compute the percentage
<mothacehe>*jobs
<mothacehe>so yes it's more like the health of the branch/specification
<apteryx>OK, thanks! That's a useful metric
<apteryx>interesting, that means wip-ipython-polyglossia is ahead of master in terms of total succeeded builds
<mothacehe>yeah I saw that!
<mothacehe>there are a lot of TLS errors on master
<mothacehe>mostly on arm builds
<mothacehe>reported as 54446
<apteryx>OK!
<sneek>yewscion: Greetings!
<yewscion>sneek: botsnack.
<sneek>:)
<jpoiret>WesterWest[m]: oh, right
<jpoiret>i'd suggest trying to grok (guix gexp) first, but the whole thing is a huge beast
<jpoiret>esp. since most build systems are based off of gnu-build-system
<bjc>is there a way to get guix to run guile without any optimizations? i'm having a real hard time making use of backtraces as is
<meo>guile backtraces are shoddy generally
<bjc>i assume that's due to optimizations, which can hopefully be turned off
<tribals>How to actually execute `(program-file "foo" #$some-gexp)` ?
<apteryx>you have to lower it into some gexp object, the run the monadic value in the store, I think
<apteryx>tribals: here's a silly example: https://paste.debian.net/1238968/
<apteryx>bjc: one of the problem appears that there's no easy build or run time way to force a certain optimization level for Guix, unless I'm missing something
<apteryx>bjc: ah, actually you can I think
<apteryx>the default should be -O2, per Guile itself
<apteryx>you can probably hack 'guile-compilation-rule' in Makefile.am to invoke guile with -O0
<tribals>apteryx: by "actually execute" i mean `execl`. Can I `execl` it?
<apteryx>tribals: it should be executable as a Guile script, yes: /gnu/store/fd890pxkgrlxgmc4yr2a4xsxakhsbnhj-foo: a /gnu/store/cnfsv9ywaacyafkqdqsv2ry8f01yr7a9-guile-3.0.7/bin/guile --no-auto-compile script, ASCII text executable
<tribals>Thanks
<tribals>I understood your example in paste, but still can't grasp: what is `run-with-store` then? And how it differs with just `with-store`?
<podiki[m]>does anyone know why CONFIG_HSA_AMD is not set in our current kernel config? I see it set for 4.4
<podiki[m]>(needed for some opencl usage I think)
<anthk_>on guix, is it possible to create a custom USB image with desktop packages preinstalled so no internet is needed?
<anthk_>an installing image
<mothacehe> anthk_: that's theoritically possible as that's what we are doing during system installation tests, but there's no command to do it easily
<tribals>apteryx: Could you explain please these two lines:
<tribals>scheme@(guix gexp)> ,use (guix store)
<tribals>scheme@(guix gexp)> (with-store store (build-derivations store (list $4)))
<jpoiret>the first is equivalent to (use-modules (guix store))
<tribals>seems like (guix store) doesn't export any `store`
<jpoiret>with-store is syntax, it binds the second argument to an open store connection inside the body part
<jpoiret>ie (with-store store-bind-name (body that uses store-bind-name))
<tribals>jpoiret: got it, thanks
<jpoiret>you could do (build-derivations (open-connection) ...) but it's cleaner to use with-store
<tribals>But still can't understand, how to glue it with `execl`. So i build it with `(build-derivations ...)`. But `execl` expects actual file name, how to get it from `build-derivations`?
<apteryx>(use-modules (guix derivations)) (derivation->output-path $4)
<apteryx>(will return its file name as a string)
<apteryx>where $4 is the value returned by build-derivations
<bjc>apteryx: i hacked compile-all.scm to set the default-optimization-level to 0. unfortunately, backtraces are still bad
<yarl>Hello
<apteryx>bjc: you can export COLUMNS to get wider backtraces if that helps
<apteryx>COLUMNS=400
<apteryx>that won't after Guile code ran from the guix-daemon though, just the one run as your user
<apteryx>(we should come up wih a way to define COLUMNS as part of the `guix-configuration` record used to configure the Guix build daemon)
<yarl>I have several questions. I just read https://guix.gnu.org/en/blog/2021/the-big-change/ . I need to define a make-flags RESTRICTED_PATH=/path/to/env/dir:/path/to/as/dir:/path/to/gcc/dir:etc...
<bjc>it's not the columns, it's the tco more than anything
<bjc>makes the code very hard to follow
<yarl>1. How can I search in which package "env" is declared?
<yarl>2. What is the right way to get its directory?
<apteryx>bjc: :-/. Guile backtraces are notoriously hard to decipher.
<bjc>yeah, i guess i was just hoping that -O0 would disable tco entirely, so i could trace more easily
<apteryx>I suppose these same optimizations are the reason using breakpoints rarely works
<yarl>3. What should I use to construct this PATH?
<bjc>turns out "no"
<apteryx>yarl: do you mean how you can find which package contains the 'env' command?
<bjc>1: there's no way, currently, to programmatically find which package(s) install a given binary, so you're going to have to do some manual sleuthing
<yarl>bjc ok.
<apteryx>env is provided by coreutils
<bjc>2: in your configs, you can reference the package directly (once found) and use (file-append) on it: (file-append env-pkg "/bin/env")
<yarl>apteryx thanks.
<bjc>as for 3: it depends on where you need the PATH set. home-configurations have profile configs for a few shells where you can do it
<yarl>bjc It is to define a package.
<bjc>there are ways to do it by hand, too, if necessary
<apteryx>I'd provide 'coreutils' as an input and use (search-input-file inputs "bin/env) in the package definition
<bjc>you can typically prepend "VAR=VAL" to a command line executed by a shell in order to set the variable there
<yarl>It is to define a make-flags argument.
<yarl>Thanks both of you, I will look from what you gave me.
<enno>I was a little too optimistic. Can someone give me a hint whats wrong with my channel config?
<enno> https://pastebin.com/3xptLGXV
<yarl>bjc apteryx which one is better: search-input-file or file-append?
<bjc>i would go with search-input-files in a package definition
<yarl>Can you explain why? I would like to understand how this work to write neat package definitions.
<bjc>honestly, i don't know enough to say. it just seems to be how its done in other packages
<bjc>if i had to guess, it's because it allows any input to provide a path, rather than a specifically named input
<bjc>maybe it makes over-riding functionality easier
<yarl>Ok. I wanted to look at other package definitions but I am not sure which one to look at that is rigorously written and up to date.
<yarl>If you have suggestions. Please tell!
<jpoiret>bjc: that's exactly it
<jpoiret>see https://guix.gnu.org/en/blog/2021/the-big-change/
<jpoiret>enno: the things in your channel shouldn't collision with guix
<jpoiret>ie no duplicate modules and the like
<apteryx>yarl: one advantage to use search-input-file over (string-append (this-package-input "label") "/some/path") is that it'll fail if the file is not found
<apteryx>#$(this-package-input "label) <- this needs to be inside an enclosing gexp
<lechner>Hi, where in Guix would I add a custom keyboard layout, please? With or wothout Guile, I am ultimately looking to add it to something like /usr/share/X11/xkb/symbols.
<apteryx>is this Guix System?
<yarl>apteryx Thank you. But, how do you use search-input-file into #:make-flags?
<yarl>I will have to read more deeply the manual. All this is not obvious yet.
<apteryx>I think you can use the magic %build-inputs binding
<yarl>I tried:
<yarl>       #:make-flags #~(list (string-append "RESTRICTED_PATH="
<yarl>                                           (search-input-file %build-inputs "bin/env")))
<yarl>But "guix build ..." crashes
<yarl>oh my bad, I removed #~
<yarl>gexp is not clear to me yet, sorry!
<yarl>Thank you anyway, gtg, bye
<emsyr>Hi. I have a thinkpad t500 and I have a strange issue. A few guix versions back the installed bluetooth adapter by lenovo (broadcom) was working very well. Now, when the system boots up the adapter is soft blocked by rfkill. I try to unblock it but it turns to blocked right away. In dmesg I get the error: Bluetooth: hci1: Opcode 0x c03 failed: -19.
<emsyr>I have searched the internet but no luck so far. In Trisquel the adapter works ok. Does anyone have any idea what to do?
<WesterWest[m]>is there any way I can help with issues and patches? I submitted a few but there seems little to no activity and I would really like to help in some way
<euandreh>how can I be getting "guix home: error: mkdir: Permission denied" on a home reconfigure?
<euandreh>I've chown -R to myself, just to make sure
<euandreh>that's the first home setup on the machine
<euandreh>WesterWest[m]: you can both send patches, review patches, test them on your machine, etc.
<euandreh>WesterWest[m]: what are you after now?
<WesterWest[m]>euandreh: I tried making a few packages that I miss from my old setup that weren’t in the repo, but importing hackage libraries turned out to be quite a laborous task
<WesterWest[m]>I also dabbled into emacs packages but I don’t understand the package system to solve some issues
<WesterWest[m]>and I found a bug in home-fish-service and I haven’t had a response to the patch I sent so I don’t know if I should just send more or wait or smth
<euandreh>WesterWest[m]: yes you can send more, sometimes maintainers take some time to drain the queue
<euandreh>WesterWest[m]: what is the patch you're referring to?
<WesterWest[m]>euandreh: I don’t mean to impose any deadlines and I understand that sometimes there just isn’t enough time in a day
<euandreh>WesterWest[m]: also, you can get help (here and on the help-guix mailing list) on working on Haskell and Emacs packages. Anything specific on those?
<euandreh>WesterWest[m]: ACK, the project in vonlunteer based
<WesterWest[m]>euandreh: the issue is this one, it is really a minor thing https://issues.guix.gnu.org/55000
<WesterWest[m]>euandreh: as for the haskell, i tried to import haskell-language-server with guix import but it fails reading the cabal file, the importer doesn’t understand the “import:” directive
<WesterWest[m]>and since it has many dependencies it is quite hard to manually fix cabal files so the guix importer won’t crash when there’s hundreds of them
<euandreh>WesterWest[m]: are all the dependencies already packaged?
<WesterWest[m]>euandreh: not at all and the importer fails on others too
<euandreh>WesterWest[m]: I'd recommend for you to package them before hls. They'll probably need to be added as individual commits, so you could try doing one at a time
<WesterWest[m]>euandreh: it is hundreds of packages
<euandreh>WesterWest[m]: are they all failling to be imported?
<WesterWest[m]>euandreh: i haven’t tested all of them, but like 5% fails and I have to edit their cabal files manually, the problem is that the importer hard crashes on them
<apteryx>WesterWest[m]: you can help with the review and testing of pending ones