<nckx>It would be nice if that were queued as well, like we currently wait for build slots.
<vagrantc>could someone take a look at d08c3e51ab62575e722aec24fba42a0cb84198cc i just pushed to master ... i cut-and-paste the arguments section from the inherrited electrum package, but surely there is a better way to do it and i forgot to ask about that before pushing
<nckx>leoprikler: It was changed because it could lead to ‘missing’ packages if you didn't realise how ‘guix install’ works. Happened to a new user who then wrote a public review :-/ It's a good change, just needs to wait for the lock instead of erroring out.
<nckx>valignatev: No worries. Wish I knew more about Cargo than I do. I'd say: fix it in a snippet, submit a working package for review and anyone who knows a more elegant solution can still suggest it then.
<valignatev>that's basically my plan. Scrap together something working and then try to improve tooling using Alacritty as motivating example
<leoprikler>so instead of with-file-lock/no-wait we would use a version that waits?
<vagrantc>nckx: so i think i have it working... it's a +8 -13 line diff :)
<nckx>leoprikler: I haven't looked at the code (all my free/Guix time is just… gone ☹), but I don't see how that would break anything.
<nckx>I also think the lock should only cover the final profile update, so more packages can build in parallel, without breaking anything, but please actually formally verify that first.
<nckx>Mmm, that'd require too many changes, never mind.
<bandali>would be very happy to hear from (even more) folks on guix-devel about it
***Server sets mode: +cnt
<brettgilio>nckx: thank you for the support :)! For anybody who is supportive please say so! Would love to see the formal methods community start to use it and see us give talks to them about our work!
<bandali>leoprikler, do you happen to know what's the issue with emacs 27's pdumper?
<bandali>if i don't apply guix's emacs-exec-path.patch it seems to build fine, but with it, it crashes with the error i pasted earlier
<apteryx>leoprikler: yes, well the exercise at hand is trying to coax a search path specification in matching either share/emacs/site-lisp or share/emacs/site-lisp/guix.d/some-name, and not the whole tree of directories recursively.
<apteryx>We only can use a string in a search path specification, and it is treated with the file-name-pred predicate, which strips teh abspath and match against the base name of the file.
<apteryx>so, currently not possilbe with a search path specification.
<apteryx>It'd be nice to be able to pass a function PRED instead of a string regexp, but this entails all kinds of complications (needs to be serializable because it ends up in a $PROFILE/manifest file).
<apteryx>seems the more "easy" thing to do would be to add another field to the search path spec record, e.g. match-against-basename? which would defaults to #t for backward compatibliity. It's not very elegant.
<brettgilio>nckx: floods of emails from me incoming. Sorry :)
<wdkrnls>Out of the blue I hade to modify my load path for emacs-ess: (add-to-list 'load-path "/home/k/.guix-profile/share/emacs/site-lisp/guix.d/ess"). Not very reproducible :(
<brettgilio>I don't even understand where people are getting this guix.d directory in site-lisp anymore? I thought Maxim deprecated that with the rebuild of emacs-build-system.
<brettgilio>apteryx: thank you for looking at the bytecode compilation issue leoprikler and I opened.
<wdkrnls>I'm a little curious about this as well as I would love to get more researchers in my field using Guix, but they all want to use rstudio, but rstudio depends on some qtwebengine which seems to be powered by chromium.
<nckx>dftxbs3e: I forwarded a mail I got from OSUOSL a few days ago to guix-devel; basically, my application got lost and they apologised and promised to take care of it soon and I haven't heard from them since 🙂
<nckx>dftxbs3e: …actually, an update! (I'm just checking my mail over breakfast now.) An ‘I approve’ mail was CC'd to me. No further text or context, but that's good.
<dftxbs3e>nckx, Great! The details of the machine should come out to you very soon!
<apteryx>nckx: counts for being counted as dependencies ;-). I must confess I find it confusing that 'guix refresh -l' would print something like: Building the following 100 packages would ensure 143 dependent packages are rebuilt: email@example.com [...].
<apteryx>"Building the 100 following packages?" I just asked about Emacs.
<apteryx>I asked the transitive dependencies of Emacs, to be precise.
<apteryx>I also find it confusing that the manual says this command only *approximates* the number of rebuild, without detailing why an approximation must be used at all or what is being simplified out.
<nckx>apteryx: I don't understand. guix refresh --list-transitive emacs → ‘firstname.lastname@example.org depends on the following 262 packages: [262 packages]’.
<nckx>I thought you were talking about ‘guix refresh -l’.
<apteryx>nckx: ah, yes, that's what I was asking about. That's what happens when you wake up in the middle of the night and think it's a good time to post a reply ;-)
<nckx>apteryx: ‘refresh -l’ is approximate because it doesn't currently understand inheritance, which is why many things in base have ridiculously low -l counts.
<nckx>apteryx: No worries, it's pre-coffee morning here.
<apteryx>oh, that'd be really useful to add as a note to that "approximate" mention in the manual.
<nckx>Feel free to critique ‘refresh -l’, just don't confuse it with ‘[asking] the transitive dependencies of Emacs, to be precise’.
<nckx>apteryx: That's one caveat I know of (because I tried to fix it and gave up 🙂), there may be more.
<apteryx>I see. Inheritance being a macro thing and being carried out before the code runs doesn't leave much information behind, I guess. That probably leaves one with having to parse the sources to figure out the relations.
<apteryx>perhaps we could fix the guix-record to annotate the resulting record object with a 'inherited from' property, that could be readily queried
<nckx>My approach was to change said macro to add a ‘inherits’ field (or property) to the resulting record, but my Scheme was really lacking back then.
<nckx>apteryx: But anyway, re: your original gripe with refresh -l that I now understand: I don't know why it prints the first number either (which is the number of packages listed after the :, if any). Like, cool that you've calculated the minimum set, but is that number actually a useful hint like the second one is? I don't know.
<paprika>guix system: error: some substitutes for the outputs of derivation `/gnu/store/ipfnqjbg12v73yyclqx46ds9s8q5r70d-nss-certs-3.46.1.drv' failed (usually happens due to networking issues); try `--fallback' to build derivation from source
<leoprikler>this could really be a locale issue, as roptat hinted at
<paprika>might be, I never really understood those
<paprika>(although I think I've configured them correctly in my config.scm)
<ng0>is 'impacket' (https://pypi.org/project/impacket/) packaged in guix? trying to determine how useful it would be to provide a choice between bundled and pypi version for gnurl tests, curl currently bundles this module with a rather old version
<sneek>ng0, efraim says: sure I can test the gnurl bug later, i'm not at home ATM
<leoprikler>ng0: Not currently. You could try the pypi importer.
<ng0>i leave that up to the one who updates the guix package then
<coco>i just installed guix with the "graphical" installer. it told me to remove the installation medium and reboot. when doing so, i get: "ERROR: In procedure open-file: No such file or directory: "/gnu/store/k959longhash-linux-modules/sdhci_pci.ko". what could be the problem, any hints?
<valignatev>bandali: Because it looks for "(string-append "share/emacs/" version "/lisp")" where version will be "27.0.50" for emacs-next and not "(git-version "27" revision commit)"
<valignatev>I mean, the actual directory will be /share/emacs/27.0.50/lisp
<bandali>leoprikler, valignatev, also, what do y'all think about renaming the emacs executable to emacs-next so it could easily be used alongside the current stable emacs release? i think emacs has a configure option for it
<bandali>so we do need an updated version of the patch
<bandali>i think it'd be nice to first try to insert it back in one (or both) of the following places: 1. right before (if (eq t purify-flag) (as the patch currently does, but needs line no update), and 2. where it was before dancol removed it in his commit introducing pdumper
***sebboh2 is now known as sebboh
<jje>trying to configure network manager and when I add network-manager-service-type guix complains that networking is provided twice. so i then remove networking from use-service-modules. but the it complains i am missing a use modules form. whats the trick to this?
<leoprikler>are you using %desktop-services? If so, you already have a network-manager-service-type.
<divansantana>I'd like to learn and use guix environment instead, but I still need to get more comfortable with guix and guile before doing that. Would like to have pipenv working since it's what others in my team would use.
<leoprikler>Again, you don't want to do that – you want to install stuff nicely and cleanly with guix.
<divansantana>leoprikler: I agree. But for now, I want to learn python, not guile and guix. I know, I'm on the guix channel, lol :)
<nckx>lispmacs: If I chmod the USB device node above to 666, or add my test user to the ‘root’ group, my scanner shows up with ‘scanimage -L’. That's not… good. For that udev rule to work out of the box we should probably add a scanner group, although leoprikler seems to disagree. I'm also sceptical: plenty of people have scanned on Guix System in the past.
<nckx>lispmacs: As a quick test, could you run ‘lsusb’ to get the bus & device of your scanner, then ‘chmod 666 /dev/bus/usb/<bus>/<device>’ and try again?
<leoprikler>Actually, if a scanner group can be used to fix this issue, I'm for it, although chmod 666 does have a nice ring to it as well.
*nckx arrogantly assumes that this is not a SCSI scanner, which our sane-backends still support.
<nckx>leoprikler: As usual, the boring solution is probably more correct (yawn).
<leoprikler>Well, we should probably use the scanner group to not cause complete anarchy on schools that use Guix (heh).
<nckx>leoprikler: That would be needed for network scanning (saned), but for regular (USB) desktop scanning a group + abovementioned udev group should suffice.
<lispmacs>nckx: with the chmod fix, I can now scan
<leoprikler>But does USB scanning not work via sane as well?
<leoprikler>perhaps we could use a flag to disable networking if we just want the USB use case
<lispmacs>nckx: I've added the udev service to my config.scm, but have this separate problem where if I reconfigure system to my current guix pull, I lose networking, and I'm having trouble remembering how to get back to my previous guix pull
<coco>i just ran 'sudo guix reconfigure /etc/config.scm'. when finished, it tells me 'Consider setting the necessary environment variables by running: GUIX_PROFILE="/root/.config/guix/current"; . "$GUIX_PROFILE/etc/profile" '. am i supposed to change the according lines in /etc/profile (which currently has /run/current-system/profile as $GUIX_PROFILE)?
<vagrantc>SSL certs are admittedly a bit confusing with guix
<coco>vagrantc: just to clarify, i ran 'sudo guix system reconfigure' for the first time. and i did reboot, su to superuser, and 'echo $PATH' shows me that /root/.config/guix/current is not in the $PATH
<coco>probably the better way to reconfigure is with "sudo -E guix system reconfigure ..." to use the user's environment variables?
<vagrantc>coco: i always use "sudo -E guix system reconfigure ..." and never log in as root
<talope>Hi there, how should I modify script shebangs like #!/bin/bash by hand to be runnable on Guix? I'm seeing a lot of procedures for packaging but I don't want to package this (skulls/coreboot scripts), and i'm a bit at a loss to find a solution apart from explicitly running the script from bash on the commandline.
<coco>vagrantc: yeah, i didn't log in as root to run reconfigure, but used sudo (which apparently changes the environment variables)