IRC channel logs
2024-11-19.log
back to list of logs
<mange>Looks like it's in iproute2, but in sbin/ rather than bin/. <the_tubular>When I include iproute2 in my system config, it end up not found <mange>The "iproute2" package is called iproute in Scheme. It should be included in %base-packages, though, which most people already have in their system packages. <mange>That is, if your packages list looks like (packages (append (list ...) %base-packages)) then you should already have ip available. <wakyct>the_tubular: you can use guix locate to find which package provides ip <the_tubular>The thing I don't understand is why can't I add it to my system,scm file <mange>What happens when you add it to system.scm? If you're not using %base-packages then I would expect just adding iproute (e.g. (packages (list iproute)) or whatever) should do it. Does that not work for you? <mange>Remove the "2" from that name. In Scheme it's called iproute, but in the CLI it's called iproute2. <mange>iproute. In general, if it's in a file that ends in .scm then it's iproute (unless you're using specification->manifest). <the_tubular>In a manifest you do use specification->manifest no ? <mange>Yeah, so (specifications->manifest (list "iproute2")) is the same as (packages->manifest (list iproute)). <the_tubular>Anywhere I could read on other differences between the 2 ? <mange>The difference is because Guix is a Scheme library, where packages are defined as Scheme variables, but it is also a program which is a package manager. Using iproute is using the Scheme library to access the package (potentially in a file that is loaded by the Guix program). Using iproute2 is using the package name, which is what the Guix package management CLI uses. <mange>For lots of packages they are the same, but there are some packages where they are different, for various reasons. <mange>I don't know why the names differ in this case, though. <the_tubular>And you see the difference in the package definition ? <mange>Yeah, so the package definition is (define-public iproute (package (name "iproute2") ...)) (in gnu/packages/linux.scm). <umanwizard>Hi. Does Guix ever sync changes from the upstream Nix daemon codebase? Or is the daemon a permanently separate hard fork at this point? <umanwizard>Just asking because a nice feature in it landed recently and I'm curious if we will ever get it :) <mange>I believe it's a fork. What's the nice feature in Nix? <umanwizard>fsync'ing outputs in the store before marking them as complete in sqlite <umanwizard>In the Guix version, there is already an option to sync (not fsync), but I imagine syncing after every derivation is built would make things much slower <mange>Mmm, assuming https://github.com/NixOS/nix/pull/7126 is the PR, it doesn't look straightforward to apply to Guix. That said, the change doesn't seem that big, so presumably adding it to the Guix daemon wouldn't be a huge effort. <apteryx>not sure what I've done, but my emacs background changed from dark to light color (I don't use a theme); anyone else? <mange>I thought no-theme emacs was a white background. <apteryx>I can fix it with '(invert-face 'default)' <apteryx>I do have export GTK_THEME=Adwaita-dark:dark in my ~/.bash_profile to ensure the menus are dark in emacs <apteryx>perhaps it used to affect the default background of emacs too? <apteryx>I had also uninstalled arc-theme and arc-icon-theme recently, but I don't see how that would be related <apteryx>anyway, back to more productive things I guess :-). I've slapped that new line in my ~/.emacs for now. <divya>The patchwork instance is pretty cool, just checked right now. <futurile>morning Guixer's - Guix tribe - Guix herd - Guixellators <futurile>ACTION has had too much coffee already clearly <janneke>guix system: error: build of `/gnu/store/8dkdig8m93cxhyi4r32gf58rfh38249p-gnome-keyring-42.1.drv' failed <janneke>wow, we had a very short time-slot yesterday on master to reconfigure <janneke>ah maybe not, it appears gnome-keyring-42 didn't build before the u-boot fix either <aemogie>hi! i have a quick little question, say i have a script i wrote as a gexp, the documentation mentions that i can use `program-file` to make it into an executable store item. but how can i add it to the operating-system record's package set? i'm currently getting an error, i think it's because packages expects a <package> while program-file gives a <aemogie><program-file>. is there a way to convert one to the other? <aemogie>the actual use case is that i want a <aemogie> simple executable in my path, that just execs the instance of emacs <aemogie>(e.g. /mnt/nix/var/.../bin/emacs) on my nixos partition, while unsetting <aemogie> EMACSLOADPATH env var as that breaks the nix build. <aemogie>also, i see that there is a `copy-build-system` but that sounds unnecessary given i <aemogie> already have the script in store. not sure... <futurile>aemogie: yes the package record expects a list of packages <futurile>aemogie: because that will copy any file with the existing permissions - so that's what I use to install my own ~/bin files <aemogie>unfortunately not yet. i plan to but, the lack of home service is why im having to use my nixos emacs instance (to have a working environment until i configure home services) <mange>You could do it using the trivial-build-system and a builder that just copies your script to its output (which is a package analogue to program-file, I guess). <aemogie>mange: i will try that for now then. thanks! <zlqrvx>I am trying to install coq but I am getting the following error: https://bpa.st/D2TA. It seems that for some reason the scheme code is raising an exception when processing ocaml-zarith and running the command with `--fallback' does not make any difference. Does anyone know why this error is occuring? <mange>I'm seeing the same thing, zlqrvx. It could be a corrupt substitute file on the server side? It looks like ci.guix.gnu.org has a working substitute, so you could do "guix shell ocaml-zarith --substitute-urls=https://ci.guix.gnu.org" to fetch it from there (or you could do the whole coq shell using the different substitute url). <efraim>divya`: I made some adjustments to some of the packages and pushed them but I wasn't able to build blue-recorder itself <efraim>I'm seeing qtbase@6 FTBFS on the qt-team branch for i686-linux <futurile>I keep watching that branch to see if it's completed so it can be merged <efraim>i figure bordeaux will catch up after the merge, but I'm guessing that's the difference on i686 between master and the qt-team branch <efraim>futurile: I'm at 40% built using gcc-12 <efraim>I don't remember where it failed before <efraim>gcc-11 and gcc-12 both default to gnu17 and gnu++17 for C and C++, so there goes that possibility <janneke>headsup: using --cores=1 fixes my gnome-keyring build <janneke>using #:parallel-tests? #f fixes the build, just like --cores=1 does <divya`>efraim: You weren't? That's weird. What is the error? <efraim>divya`: mostly the wrong versions of cargo inputs <divya`>efraim: Ah. Okay, yeah i manually checked each one, let me see again. <apteryx>recently magit places me in a directory such as .git/worktrees/guix-gnome-team/ when committing on a worktree checkout for the COMMIT_MSG buffer; anyone else? <apteryx>this causes problems when attempting to visit hunks' source for example <apteryx>I can't seem to reproduce easily outside of guix <apteryx>perhaps the geiser project locator thing <apteryx>perhaps this: geiser-repl-per-project-p though I'm just speculating for now <csantosb>Ey ! I'm getting crazy with this thing ... I need a container like <csantosb>guix shell -C --emulate-fhs make gcc-toolchain coreutils <csantosb>Except that the gcc-toolchain needs support for i686, so it must be <futurile>apteryx, efraim do either of you know how to get more permissions on libreplanet wiki? I can't create pages, and I absolutely can't find any forum to get someone to explain what I should do <csantosb>guix package -i `guix build -s i686-linux gcc-toolchain` <futurile>csantosb: you can't get it to build the i686 part? <csantosb>The question is how to tell guix shell to use the i686 gcc package only, instead of the default <csantosb>There must be a --with-variant=something ? <futurile>csantosb: I guess you need someone who does a lot of cross compiling, so maybe efraim or janneke or ekaitz are your best chances <ekaitz>csantosb: if you need a cross compiler you can create it with a function <csantosb>Its not exactly cross compiling here, I only need multilib support in gcc-toolchain <ekaitz>csantosb: take a look to gnu/packages/cross-base.scm <ekaitz>you can create a cross-toolchain with the libc and the target you like <csantosb>And how do I create a shell container after ? <csantosb>Not the whole shell with system=i686, only gcc-toolchain. <ekaitz>guix shell -c ...blahblablah... your-toolchain-package <ekaitz>csantosb: let me give you a recipe <csantosb>I was thinking about something like PKG=`guix build -s i686-linux gcc-toolchain` <csantosb>and then guix shell -C PKG, or something similar <ekaitz>i use this a lot `gcc-cross-riscv64-linux-gnu-toolchain` <ekaitz>but that's the result of calling the function <ekaitz>so you could `guix shell -C ... -e '(use-modules (gnu packages cross-base) (cross-toolchain ...))' <apteryx>civodul: I figured out my problem adding a 2nd rewrite-url tests to tests/gnu-maintenance.scm: cache! <apteryx>the second tests's first http get doesn't reach the server as it's cached <apteryx>ACTION wonders whether caching should be disabled during testing... as it means if I select just one test to run instead of both the result would differ, which seems bad <ekaitz>if you need to support multilib, you might need to make your own gcc package <apteryx>futurile: I don't; perhaps nckx does? (getting more permission on the libreplanet wiki) <apteryx>I think setting GUIX_HTTP_CACHE_TTL to 0 would disable HTTP caching <apteryx>I think I'll resort to mock http-fetch/cached, similar to what is done in tests/go.scm <ekaitz>csantosb: no problem! i hope it works for you! <yelninei>after running out of space and ram multiple times in my childhurd gcc-final is rebuild : It seems like d108a7aac2c51f21c55cb8ea8801629a97f5242a caused the full rebuild which makes more sense <macabro>So I recently installed guix on my laptop, I use the standard version, and after updating the system the kernel is still in the 6.0.10 version <ekaitz>macabro: guix pull, guix system reconfigure ? <futurile>OK, I don't get it where do we hide the `javac` - I can't find it in openjdk or icedtea and we don't have *-devel packages - so now I don't know how to find the java compiler <Rutherther>futurile I cant check now, but isnt it in icedtea jdk output? <ieure>futurile, openjdk:jdk. I have no idea why it's a separate output. <ieure>I guess openjdk:out is the JRE and openjdk:jdk is the, uh, JDK. <macabro>ekaitz: thanks, that did it, wierd because in the past just installing and running guix pull took care of everything, or I'm not remembering correctly <futurile>oh f* me - I have just spent an hour going around confused! Thanks ieure <futurile>totally mad that the "openjdk" default install is the JRE! <ieure>futurile, I kind of suspect this is due to the upstream project naming. But it is ludicrous. <futurile>ieure: there's definitely something hinky going on in Java world, I found a load of people confused on various stack-overflow blah blah sites - but very little insight <futurile>I literally just wanted to test load this library something packaged heh heh <ieure>"there's definitely something hinky going on in Java world" is an eternal truth. <futurile>I once had to go an visit Oracle headquarters to agree some Linux thing, I swear you could smell the despair ;-) <futurile>might have to go and have a lie down - my frustration level was so high :-) <civodul>so, if someone here wants to make a relatively easy contribution, that’s an opportunity! <gabber>i am (once again) writing a shepherd service but it-dont-work. what are some easier code examples we have in guix? <efraim>first of all are you testing it in a vm and not on your machine? <gabber>well, i tried in a container - i guess that should be equivalent to the vm, no? <efraim>I can check with some other services I've done, I think it should be fine <gabber>yes, that does look relatively simple (: <gabber>i did write some service about a year ago (#69090) but somehow that didn't stick <gabber>ieure: nice! and what a cool service! <gabber>starting the container i get "No applicable method for #<<generic> one-shot-service? (1)> in call (one-shot-service? #f)" - even though i did not define a one-shot-service? <efraim>%bootstrap-glibc is failing to build on riscv64 on the hurd-team branch <the_tubular>When I docker run I get : Unknown runtime specified /gnu/store/c257dfpzqzp011zyf1vx71jl6rp3pbrc-runc-1.1.1/sbin/runc <bdju>does anyone have an example config showing how to enable discard (trim) and noatime for partitions in config.scm? particularly encrypted ones <bdju>on other distros you have to edit oth /etc/crypttab and /etc/fstab apparently <yelninei>after a flaky test in tar all of final inputs rebuild, i hope i dont have to do this every couple of months <efraim>I take it back, it magically started working <efraim>I take that back, but I figured it out <bdju>I found someone's config where they add (flags '(no-atime)) under their file-system section but what is the syntax to add a second option such as discard? already tried no-atime,discard and "no-atime" "discard" but both error'd <bdju>didn't see examples in the manual of how to add mount flags <bdju>the only instances of flags in the manual is in the section about how to instantiate an image and they only use one single flag there too <ieure>bdju, You have to look at the source. <ieure>I was digging through that recently because I wanted to reuse those for something else. <ieure>bdju, It's a security risk to enable TRIM on an encrypted SSD, which is why it's not done by default. <bdju>had not, but just tried and that didn't work either <ieure>It can expose information about the encrypted contents. <bdju>yeah that's mentioned in the video ieure but it sounds like an extremely niche risk and like it can cause significant performance issues <ieure>I think the YT guy is overblowing the situation, I never use TRIM on my SSDs, I've never had a problem. Have SSDs that've been running for years just fine. <ieure>I wish people would stop giving so much weight to YouTube idiots. <bdju>he used actual numbers (disk benchmark) and it was a pretty big difference <bdju>he said his machine was freezing and download speeds were 10MB/s despite an nvme ssd and gigabit internet <bdju>the way I see it if this is too hard to figure out, people will just not encrypt their disks as often. I don't see the point of trying to hide all this... <ieure>Guix is a distro for advanced users. <bdju>and I've been using it for years <bdju>doesn't take much to go through the installer following the manual and then `guix install` stuff or keep a manifest file. I reckon most people could figure out that much <bdju>the system configuration stuff is just not documented very well I think <ieure>I'm sure a patch would be welcomesd. <ieure>But, your best option is to get down into the source code to figure out what the supported options are. <attila_lendvai>i also concluded that TRIM is not as important as it is often said it is. basically when a flash block was written too much then it needs to be relocated/remapped, and if the SSD knows that another block is unused, then it can just write it there at the current write operation. otherwise it's 1 reads + 2 writes, but only *when a block needs to be relocated* which is not that often. <bdju>I will not be sending a patch and I am more concerned with figuring stuff out in the first place currently <bdju>which would be a precursor to said patch anyway <ieure>bdju, Okay, well, the best way to figure that out is to read the source. <ieure>I'm on my work machine, so I can't find it for you, but I'd think that grep for "no-atime" would get you there. <bdju>not really sure how to search the source, would I need to get some whole big git repo just for this one thing? that doesn't sound appealing. in any case I suspect it wouldn't help me much because I found a source snippet while looking up how to do the grub portion of this and it doesn't feel like "enough" to figure it out ( https://issues.guix.gnu.org/73654 ) <ieure>bdju, The source is already in ~/.cache/guix/checkous <bdju>really was just hoping to find someone's config where they did this to look at. surely at least one user has used these options <gabber>is there a way to modify a services profile? e.g. i'm writing a gunicorn service but i get a python import error which i figure is due to the lack of the right PYTHONPATH. `guix shell gunicorn -- gunicorn` yields no such problems <Rutherther>gabber: there are no service profiles. You do not need to have pythonpath provided by profile to run gunicorn, it's wrapped as are most applications, with correct PYTHONPATH provided. Python build system even has a standard phase for that, so with python apps it's unlikely one would be unwrapped <gabber>but then where is this "ModuleNotFoundError: No module named 'pkg_resources'" coming from? <Rutherther>what is the command with arguments executed in the service? <gabber>`gunicorn --pid /var/run/some_name.pid some_app.wsgi` <janneke>efraim: thanks for testing, any more info? <janneke>ACTION just found that boostrap gcc' g++ compiles with default interpreter file-name: <janneke>dynamically linked, interpreter /lib/ld-x86-64.so.1, for GNU/Hurd 0.0.0 <janneke>interpreter /gnu/store/lbgjnpxygyhcfw4ihin5s9w0qiqz56lm-glibc-bootstrap-0//lib/ld-x86-64.so.1, for GNU/Hurd 0.0.0 <janneke>maybe first check g++ from gcc-14 altogether? <janneke>ah /gnu/store/xaarnw0qynf43d895iba7qbd8g51aha0-gcc-static-14.2.0/bin/gcc, also creates binaries that use the default /lib/ interpreter...hmm? <janneke>so the strip phase must do some magic here? <janneke>or possible the bootstrap packaging. hmmm <janneke>ah, that's silly, we make a gcc-wrapper, but not a g++ wrapper :) <efraim>janneke: I pushed a fixup commit a bit ago, part of the path got dropped <janneke>efraim: oh! that's a silly bug, thanks! <philofosser>Is there an ideal place to share channels of free software? I found myself writing some packages for things like ACL2, and I don't see a reason to keep them to myself. <philofosser>Preferably not a proprietary service like github, even though everyone seems to use github. <lispmacs[work]>could somebody explain what a "bag" is, referring to the object in (guix packages)? <ieure>philofosser, I like Codeberg. <ieure>philofosser, They're a non-profit. <Rutherther>gabber: that's strange, line 25 in util.py is try/except body on importing importlib.metadata or importlib_metadata. I don't see how that would be looking for pkg_resources <Rutherther>even directly trying the python version gunicorn uses, I can import importlib.metadata <divya>philofosser: Codeberg and sourcehut are the current FOSS git repositories. If you can jump through a few hoops, Savannah also provides free git storage. <csantosb>philofosser: sourcehut has a nice feature, their build farm provides a gui image for testing <luca>well sourcehut is kind of in alpha, and once it's released the plan is for source hosting to be paid customers only. So be aware when making your decision <ieure>I tried sr.ht and absolutely hated it. <PotentialUser-19>I am trying to create my first patch for Guix. It is a trivial update to a package definition. <PotentialUser-19>I got it working on a branch, but when I commit the changes, I expected a "Change-Id" to be auto-added to the commit message. I do not see it. <luca>You can probably just `cp etc/git/commit-msg .git/hooks/commit-msg` <gabber>Rutherther: do you also get this hash: b2d2wbcz75awk4wf0fhk0lkhvhlaypd0 for the gunicorn running as a service? <vagrantc>error: failed to compile 'gnu/packages/tex.scm': <vagrantc>In language/tree-il.scm: 435:3 19 Exception thrown while printing backtrace: <vagrantc>In procedure map: Wrong type argument: (#<tree-il (lexical s* s*-a17e6e53ab60e77-1c8ffe)> . #<unknown-immediate (0x⏎ <vagrantc>that's with 1951f93799eae591507aa19a187badea85489248 on aarch64 ... <gabber>vagrantc: i just pulled a couple of minutes ago (x86_64 though) <icepic->Hey guix. Can someone explain to me how to tag issues in debbugs? I guess i must send a mail with a command but I can't find a command reference. The only thing I found is on the Debian wiki and I am not sure if the commands apply to guix as well <icepic->ieure: thx. I see. Do you know which email address must be used to talk to the guix/debbugs controlserver? <ieure>icepic-, It's in the first paragraph. <icepic->"control at debbugs.gnu.org" <--- but does this apply for the guix debbugs instance as well? <podiki>icepic-: yes. there is only one debbugs really <podiki>(the numbers include bugs from other gnu projects like emacs for instance, i believe just tagged) <icepic->Ah okay. Makes sense. And just to make sure, I put the command in the mail body? The subject is ignored? <ieure>I don't know if the subject is ignored, but the commands definitely go in the body. <podiki>yeah i don't know what happens to the subject <icepic->Guess I have to try it out. Thank you <noe>Are there arguments against a Request-For-Comment process? <noe>as proposed by 66844 <mange>I don't think there are arguments *against* the process (although Chris and Ludo replied with feedback on the specifics). I think the main problem is that Guix currently lacks a mechanism to actually decide to use an RFC process. The lack of well-defined leadership/governance means that "Guix" doesn't really make decisions.