IRC channel logs

2020-08-19.log

back to list of logs

<nckx>raghavgururajan: Don't forget to test ‘guix pull’ before pushing to master...
<nckx>...or letting Danny do so, I see. 🙂
<bdju>getting this warning when pulling and applying manifests and so on: WARNING: (gnu packages man): `expat' imported from both (guix licenses) and (gnu packages xml)
<nckx>bdju: I just fixed that.
<nckx>Will push in a few minutes. It's a harmless warning.
<mbakke>raghavgururajan: 'libde265' and 'sysprof' were already present on the master branch
<nckx>mbakke: Some of raghavgururajan's lines are better (for libde265) so I'm merging the two.
<nckx>To be fair, they're not the one who signed off on these.
<mbakke>nckx: that's great, thanks. I considered reverting them, but haven't been hacking in two weeks and did not feel comfortable. :-)
<mbakke>also, going to bed soon
<nckx>The two libde265s are interesting in just how different they are, both in expression and in the end result. https://paste.debian.net/plain/1160430
<nckx>They don't even share header names, wat.
<mbakke>huh
<mbakke>I notice one has a 'g' in the package name
<nckx>No, that's local.
<mbakke>ah, makes sense
<nckx>Cheap way to keep them apart & build them both.
<mbakke>aw, ganeti is broken, probably due to the big haskell changes
*mbakke will try to fix it tomorrow
<nckx>Welcome back 🙂
<mroh>wow, a lot of interesting pkgs/software! ty raghavgururajan and danny!
<mroh>mbakke: compile or runtime broken? welcome back! ;)
<mbakke>ty :) there is something wrong with ghc-regex-pcre which prevents it from compiling
<mbakke>gn!
<butterypancake>so I just did a guix system reconfigure (which never doesn't cause me grief) and now my screen resolution is aweful, I can only use 1 monitor, and xrandr just tells me about "screen 0" instead of an actual screen (like DVI-1 or something). Did someone change xorg or something recently?
<brendyyn>is this after rebooting?
<butterypancake>yep
<leoprikler>for the complete list of changes, you could clone the repo, and then `git log A..B`, where A is the commit used in your previous config and B is the current one
<xd1le>butterypancake: https://github.com/noctuid/evil-guide sort of helped me feel like a first class citizen using evil in emacs. Also the package evil-collection
<butterypancake>xd1le: thanks! I'll check it out. I'm actually a contributor to evil-collection (don't let that fool you, I still don't understand how to use it)
<xd1le>lol :D
<butterypancake>leoprikler: I think I lost the first commit though. I was on generation 1, then I reconfigured thrice. Then I went back to 1, then I reconfigured again. I'm not sure how to figure out what commit generation 1 is
<leoprikler>so your current 1 is no longer the original 1?
<leoprikler>If you're checking against the installation disk, then xorg-server certainly changed ;)
<butterypancake>no, 1 is still the original. But the first generation for some reason doesn't have channels? Looking at guix system list-generations I can see commits for every generation except the first
<butterypancake>this is a pretty recent install disk. I generated it like 3 days ago from source
<leoprikler>hmm
<leoprikler>the last change to xorg-server was made longer than that ago
<leoprikler>a huge bulk of raghavgururajan's packages have been upstreamed quite recently, but I'm not sure whether that has any effect on your config
<leoprikler>[pretty sure it does not]
<butterypancake>maybe I'll just delete a bunch of random stuff from my config and reconfigure
<butterypancake>huh, the config says use the swapfile at /swapfile but it doesn't exist
<butterypancake>was I supposed to set that up myself somehow?
<leoprikler>If you want it, yes
<butterypancake>ok, I did that, but that likely isn't my issue
<leoprikler>Guix does not actually do your partitioning for you, I guess it's the same thing here
<butterypancake>aight. did a reconfigure with a more minimal config. going to reboot and see what happens
<PotentialUser-93>Question: Why does Guix requires multiple build users to build packages concurrently? Why isn't one user sufficient?
<leoprikler>I think it's an additional safety measure
<leoprikler>by chowning the build directory to that user, no other user can interfere
<leoprikler>(at least that's my gut feeling)
<leoprikler>sneek later ask raghavgururajan is there a point in packaging seed if it is pretty outdated and gjs serves the same purpose?
<sneek>Okay.
***nckx is now known as PotentialUser-93
<PotentialUser-93>Thanks!
***PotentialUser-93 is now known as nckx
<butterypancake>rofl
<butterypancake>so, my screen still looks like a potato. I can make it not by rolling back to generation 1. and I'm pretty darn certain the problem isn't in my system config.scm
*nckx chants bisect! bisect! bisect!
<butterypancake>but I still don't know the start commit...
<nckx>You're the only one who can...
<butterypancake>how do you get the commit of a generation?
<nckx>butterypancake: Well, you can guess.
*butterypancake starts downloading ubuntu
<mroh>leoprikler: maybe, because memphis needs seed.
<leoprikler>ahh that makes sense
<nckx>butterypancake: /run/current-system/channels.scm ?
<nckx>butterypancake: Wait what no was it something we said??
<nckx>No nead for threats.
<leoprikler>since you missed it, they apparently have a system without provisioning
<leoprikler>does the 1.1 disk still come without that?
<nckx>(Was that @me?)
*nckx looks up ‘provisioning’.
<leoprikler>IIRC provisioning is what gives you the nice channel.scm info for `guix system describe`
<nckx>Never heard of that (nor has Wikipedia, although it's a red link here https://en.wikipedia.org/wiki/Provisioning_(disambiguation)). Thanks.
*nckx adds another techbro neologism to their quiver.
<mroh>butterypancake: have you tried with another user or a fresh $HOME and/or ~/.config/ etc?
<butterypancake>cat /gnu/store/*-channels.scm got me two commits. I think I'm in business. Thanks nckx for the idea
<butterypancake>mroh: would that help? I'm using slim and even the slim login screen is wide and ugly.
<leoprikler>nckx: my bad, I confused provisioning and provenance :(
<nckx>Ah!
<nckx>I thought this system was installed from a custom-built image, not 1.1, but indeed I didn't follow closely.
<leoprikler>either way, generation 1 should have provenance, should it not?
<nckx>At least I can't think of a reason not to, assuming the initing Guix had it.
<nckx>butterypancake: Does ‘the first generation for some reason doesn't have channels’ refer to <system>/channels.scm or something else?
<vivasvat>is there a reason signal messenger hasn't been packaged? I haven't found anything online...
<sneek>Welcome back vivasvat, you have 2 messages!
<sneek>vivasvat, nckx says: All I know is that https://ci.guix.gnu.org/nar/lzip/kiawv51z8dd41mq3sxva8sqkma5ysgc7-icedove-68.11.0 returns 404 while /gnu/store/kiawv51z8dd41mq3sxva8sqkma5ysgc7-icedove-68.11.0 *exists* on the server. It has nothing to do with you (nor can you do anything to fix it). Trying to get any sensible answers out of ‘guix gc’ takes ages so I gave up. My current bet is negative caching; we'll now if that's true in 1h.
<sneek>vivasvat, nckx says: That would explain the inconsistent error you got: Guix will only try to download a substitute after asking the server whether one exists. The server must have said yes. And then it gives you a 404 anyway. Must be cached.
<vivasvat>it is free software after all right?
<nckx>vivasvat: My guess is that it depends on npm, and we don't have a good way to package npm packages yet.
<nckx>Sure, probably.
<nckx>Seems to be GPL3-ish although I havent't audited it.
<vivasvat>ahh okay that makes sense
<vivasvat>what determines which packages are easy to package and which are hard?
<vivasvat>and does the difficulty of packaging certain things have to do with the fact that guix is source based
<vivasvat>or is it just bootstrapping problems>
<nckx>☝ that, compounded by the fact that npm takes a micropackage/-dependency approach and comes from a culture of bundling random different versions of the same package many times in one dependency graph...
<nckx> https://dustycloud.org/blog/javascript-packaging-dystopia/
<nckx>It does not synergise well with how Nix/Guix view software, at all.
<nckx>(And so Nix cheats and we don't, and so Nix has npm and we don't.)
<brendyyn>I was getting started writing a npm importer the other day
<brendyyn>How do we solve javascript packaging then?
<brendyyn>I wanted to package MathJax from source but when it required a lot of node- packages some of which i couldnt get to work and required so many i needed an importer, so i just packaged the built version
<Formbi>maybe it would be feasible to make collections of packages?
<Formbi>that would cut the huge number of them a bit
<Formbi>AFAIK people make packages out of single procedures
<brendyyn>ya ive seen it
<brendyyn>i almost wanted to make a package just for one developers entire collectino
<Formbi>hmm
<Formbi>per-developer packages could be a nice solution
<brendyyn>i think it needs to be mostly automatically generated. most packages built fine with node-build-system,
<nckx>I wonder if it's feasible to drop our pretention to hand-crafted packages for the NPM module. Just ship a big list of names, versions/commits, and hashes, that are updated programatically every so often. Then have procedures to turn the raw data into package objects.
<brendyyn>the importer i think needs to download the repo and import package.json
<brendyyn>the entire npm database can be downloaded at 100MiB or so
<nckx>With some luck the vast majority will just work since JS is relatively isolated from the underlying OS/file system (?), but we'll still run into edge cases we need to customise. Not sure how to handle those.
<brendyyn>then we want some code to scan for minified js, unbundle modules
<Formbi>nckx: good idea
<nckx>By ‘handle’ I mean ‘manage the insane complexity that probably exceeds a human's capacity to track’.
<nckx>Formbi: Vague idea 😛
<nckx>I don't JS, I don't Node, I like traditional notions of packaging; I can't be of much help.
<Formbi>I mean running something over the list of names
<brendyyn>neither. my dream is to create a jitsi-meet service so guix users can launch up their own server
<lle-bout>hello there! --with-source on guix pack with custom manifest doesnt seem to work, should it?
<nckx>brendyyn: Yes, a lot of these complex ‘don't even try to build our supposedly free software; just download our opaque container’ server applications would benefit from something like Guix, and yet are currently impossible to package because of things like NPM. Shame.
<brendyyn>well ok lets just have some positivity. im sure we can do it. its only hard work
<nckx>It's absolutely possible, and we all own machines designed to do hard repetitive work for us. 🙂
<lle-bout>also, I got a package source in a private repo that requires authentication, how could GNU Guix handle that? I've been using --with-source to supply a local clone instead but it doesnt seem to work with guix pack and manifests
<brendyyn>im just wondering if anyone else made any progress with this and what the correct method is
<lle-bout>it works with guix build but not guix pack
<lle-bout>brendyyn: I am not sure what differs between NPM and Go/Rust/Python - these eco systems also have lots of transitive dependencies
<brendyyn>you think there will be dependency loops and thus a bootstrap problem?
<lle-bout>I think it would just be a matter of actually doing it, writing a reliable importer and going on from there
<lle-bout>The number of dependencies may be higher but is it an issue for GNU Guix? It supports any arbitrary number of packages
<brendyyn>for mathjax. the npm repository points to a git repo containing the built version. the actual source is in a completely different repo :/
<brendyyn>I actually wonder about that. When guix has 100k packages, will the overhead for guile become an issue?
<lle-bout>by that time GNU Guile will get more performance improvements too
<lle-bout>I don't think the total number of packages has an influence if you don't use them
<brendyyn>thanks to andy and all other contributers \o/
<brendyyn>for guix pull it does since the definitions all need to be compiled
<Formbi>maybe there could be a separate channel for the ecmascript shit
<Formbi>so people who don't use it wouldn't get the performance issues
<brendyyn>this is not just a javascript issue. guix will expand to 100k packages regardless
***iyzsong-- is now known as iyzsong-w
<Formbi>yeah, but it could be shifted in time
***V is now known as Guest7215
***V_ is now known as V
<apteryx>anyone else suffering Emacs crashes as of late?
<apteryx>I'll start it in GDB...
<vivasvat>nckx: sorry, just got back, but it makes sense what you were saying about npm
<vivasvat>im not a js developer, but does that mean people who'd use npm on guixSD would have to install it manually?
<vivasvat>like in whatever way you install things without a pakcage manager :p
<apteryx>I think npm provides an install script.
<brendyyn>would it be similar to how rust in guix uses cargo?
<apteryx>I have no idea of how Rust packaging is done, sorry.
<vivasvat>how difficult would it be for me to set up a uix mirror
<vivasvat>guix
<vivasvat>to combat the slow DL times
<vivasvat>wait let me check the manual real quick
<vivasvat>ok so basically would it constitute setting up my own guixSD instance
<vivasvat>with my own channel
<vivasvat>syncing that with the official channel
<vivasvat>and the using guix publish to make substitues available?
<vivasvat>would this overtax the offical substitute server? I don't want to accidentally do that
<vagrantc>vivasvat: simplest thing would be to set up a caching proxy
<vagrantc>vivasvat: you wouldn't need to use a separate channel though ...
<vagrantc>vivasvat: but yes, you could run guix publish on your own infrastructure ... not sure how that would tax the other substitute server(s)
<vivasvat>I meant like if I was syncing with the offical substitue servers
<vivasvat>like if one "my" mirror if I downloaded all the substitues
<vivasvat>I think the caching proxy seems the best idea, I'll have to look into it more
***drakonis- is now known as drakonis
<raghavgururajan>mbakke: OOPS! Thanks for catching it.
<sneek>Welcome back raghavgururajan, you have 1 message!
<sneek>raghavgururajan, leoprikler says: is there a point in packaging seed if it is pretty outdated and gjs serves the same purpose?
<raghavgururajan>nckx: Just like libde265, could you also merge my sysprof with the older definition?
<raghavgururajan>leoprikler: Some packges I worked on, craved seed.
<vagrantc>vivasvat: yes, as long as you've got two machines using it, a caching proxy should at least give the second machine faster downloads
<vagrantc>won't help any with the first download, of course
<vagrantc>well, might even help in some corner-cases
<raghavgururajan>mroh: Glad!
<vivasvat>vagrantc: yup makes sense
<vivasvat>do you have any advice/information on setting up a caching proxy?
<vivasvat>it would just update whenever the guix official server updates
<vivasvat>right?
<vivasvat>what about hte initial downlaod?
<vivasvat>would it have to download all the formulas/substitutes?
<vagrantc>vivasvat: a caching proxy is something that downloads on-demand ... so the first download is slow, the second download faster
<vagrantc>vivasvat: so it updates whenever someone asks for something it doesn't have
<vagrantc>vivasvat: the advantage being you never download anything you don't use ... the disadvantage is the first download is slow
<vivasvat>ok cool that makes perfect sense
<vivasvat>so like updates get faster
<vivasvat>but installing something new would take normal time
*vagrantc isn't sure what vivasvat meant by "updates"
*vagrantc shrugs
<brendyyn>anyone running doom emacs? i get this error running geiser-run or when opening a scheme file and i cant open a repl File mode specification error: (error Loading file /home/b/.emacs.d/bin/doom failed to provide feature ‘geiser-guile’)
<efraim>raghavgururajan: I just saw all the commits that landed in master. Wow! Congrats!
***ezzzc9 is now known as ezzzc
<raghavgururajan>efraim: Thank you!
***benny_ is now known as benny
<ngz>Hello. I cannot use make, ./configure or ./bootstrap from Guix HEAD. For example, using ./boostrap, I get "error: possibly undefined macro: AM_INIT_AUTOMAKE". I'm using "guix environment guix". Does that ring a bell?
<rekado>this sounds like you don’t have automake in your environment. Check your environment variables. Are you setting any weird ones manually?
<ngz>I don't think I set fancy environment variables. I also tried with `guix environment --pure guix`. Speaking of which, shouldn't that bring in automake and friends?
<rekado>yes
<rekado>…I’m not sure
<rekado>always worked for me
<ngz>Same here, until now.
<ngz>I'm running sudo guix gc --verify=contents,repair just in case.
<rekado>does it get better when you do “guix environment guix --ad-hoc automake” ?
<peanutbutterandc>Hey guix,
<sneek>Welcome back peanutbutterandc, you have 1 message!
<sneek>peanutbutterandc, daviid says: yes, you need 2.0 or 2.2, and yes, you need to install the Gtk typelib, on debian, it would be the gir1.2-gtk-3.0:amd64 (or what ever postfix for your acrch of course) ...
<peanutbutterandc>sneek, later ask daviid Is work ongoing to make g-golf compatible with 3.x series, too?
<sneek>Will do.
<ngz>rekado: same error
<peanutbutterandc>sneek, botsnack
<sneek>:)
<peanutbutterandc>I was trying to `./configure` guix and I get configure: error: found development files for Guile 3.0, but /gnu/store/4wm4dg8prid141d9xiqirfvlqbmbikgb-profile/bin/guile has effective version 2.2
<peanutbutterandc>any ideas please?
<raghavgururajan>Hello Guix!
<raghavgururajan>ngz: Can you try `guix environment guix --pure`? Also, use `guix environment guix --pure --ad-hoc emacs-minimal` for /etc/indent.el script to work.
<ngz>raghavgururajan: hum, what?
<raghavgururajan>peanutbutterandc, Did you start from `./bootstrap` or just did `./configure`?
<peanutbutterandc>raghavgururajan, ./bootstrap
<raghavgururajan>ngz: Try the former first.
<raghavgururajan>peanutbutterandc, Ah, I don't know what's wrong then.
<peanutbutterandc>raghavgururajan, I see... hopefully somebody else will...
<ngz>raghavgururajan: I already tried --pure, to no avail.
<raghavgururajan>ngz: You mentioned that you did `guix environment --pure guix`. Could you try `guix environment guix --pure` ? Here, guix comes before --pure
<ngz>raghavgururajan: OK. ./boostrap fails in the same way.
<raghavgururajan>ngz: Oh :/
<raghavgururajan>ngz: Last idea on my head: `guix environment guix --pure guix --ad-hoc guix`
<ngz>Same error, alas.
<raghavgururajan>:(
<ngz>Silly idea: I'm going to prune all repository and start again. Maybe it got corrupted somehow.
<raghavgururajan>That is not the worst idea. ;-)
***dddddd_ is now known as dddddd
<raghavgururajan>Folks! In master, after commit 748b2c85788623a8361f74434aa0f2cb834a45c3, lvm2 fails to download source with "In procedure connect*: Permission denied".
<raghavgururajan>nckx: ^
<raghavgururajan>Danny is wondering if someone is already onto fixing it?
<nckx>Good morning, Guix.
<nckx>raghavgururajan: Oh, so you're behind a firewall that blocks FTP or something?
<zzappie>Hello Guix!
<raghavgururajan>nckx: Morning!
<raghavgururajan>I'll ask him.
<nckx>The commit you pasted doesn't change the URL, so this is nothing new. However, let's use HTTP instead of FTP since it's more popular and hence supported.
<raghavgururajan>I see.
<raghavgururajan>nckx: Not sure if you received the ping, nckx: Just like libde265, could you also merge my sysprof with the older definition?
<nckx>raghavgururajan: Where was he trying to download it?
<raghavgururajan>nckx: On his device
<raghavgururajan>‎[06:56:24 AM] ‎Danny‎: Not behind any firewall
<raghavgururajan>‎[06:57:08 AM] ‎Danny‎: My provider is famous for not blocking anything, on principle
<raghavgururajan>‎[06:57:23 AM] ‎Danny‎: I could run my own mail server, and do run my own web servers
<raghavgururajan>‎[06:58:30 AM] ‎Danny‎: Guix connects to the redhat ftp server just fine, and I also tried to use ncftp to get the file from ftp://sourceware.org/pub/lvm2/LVM2.2.03.10.tgz <ftp://sourceware.org/pub/lvm2/LVM2.2.03.10.tgz...> , which worked just fine
<raghavgururajan>‎[06:59:06 AM] ‎Danny‎: Retrieving the same URL by guix/ftp-client fails
<raghavgururajan>‎[06:59:25 AM] ‎Danny‎: On the other hand, ftp://sources.redhat.com/pub/lvm2/releases/LVM2.2.03.10.tgz <ftp://sources.redhat.com/pub/lvm2/releases/LVM2.2.03.10.tgz...> does not exist--so that's clear why that doesn't work
<raghavgururajan>nckx: ^
<raghavgururajan>‎[06:59:43 AM] ‎Danny‎: Now it succeeded retrieving it from https://ci.guix.gnu.org/file/LVM2.2.03.10.tgz/sha256/1l0fkn9abrgk5mfn6jfh9qhdr86b59l1c5pk6lp8jh0491d69las <https://ci.guix.gnu.org/file/LVM2.2.03.10.tgz/sha256/1l0fkn9abrgk5mfn6jfh9qhdr86b59l1c5pk6lp8jh0491d69las...>
<nckx>raghavgururajan: https://paste.debian.net/plain/1160478
<nckx>☝ on a non-famous provider 🙂
<nckx>Tell Danny I've changed it on master already.
<raghavgururajan>nckx: Thanks!
<raghavgururajan>nckx: Danny says Thanks!
<raghavgururajan>Anyway, `guix download ftp://sourceware.org/pub/lvm2/LVM2.2.03.10.tgz` works for me too.
<peanutbutterandc>Umm... how does one use guix lint? I have got a few things that I just `guix import gem --recursive stuff` >> definition.scm and I want to guix lint definition.scm
<peanutbutterandc>Also, I suppose these definitions will just have to be `cat definition.scm >> ruby.scm` in the git repo, right? o.O
<peanutbutterandc>ah... guix lint is supposed to be called on package and not on files!? So, concatenate first. On it!
<nckx>raghavgururajan: I was already merging sysprofs before you committed a third one (now that's prompt service)! Your sysprof package is almost identical to mine, apart from the propagation of glib and gtk+. Do you remember why you propagate them?
<raghavgururajan>nckx: I see. Yeah, required by .pc.
<nckx>Ah.
<nckx>Damn.
<raghavgururajan>What's promt service?
*raghavgururajan is missing two pieces in his birthday gift from nckx :-P
<KimaprOnPhone>Does grub support booting from logical partitions (in extended partitions on mbr disk) on bios?
<KimaprOnPhone>I cant boot the newly installed system
<raghavgururajan>KimaprOnPhone: In BIOS+MBR setup, GRUB always boots from MBR-Gap.
<KimaprOnPhone>My grub boots into rescue mode instead.
<raghavgururajan>KimaprOnPhone: I suspect that you mentioned sdaX instead of just sda, in bootloader configuration, in config.scm
<KimaprOnPhone>"error: no such partition"
<KimaprOnPhone>No, I'm sure that i mentioned /dev/sdX
<raghavgururajan>Ah
<raghavgururajan>Could you paste-bin your config.scm
<KimaprOnPhone>I used automated process to find that path from root filesystem label, suggested by nckx
<KimaprOnPhone>I also tested it in guile repl and it gave me correct results
<raghavgururajan>Could you share just the bootloader part of config.scm?
<KimaprOnPhone>Wait, i am booting installation image
<raghavgururajan>Okay.
<raghavgururajan>Btw, by any chance you are using Libreboot?
<KimaprOnPhone>No
<raghavgururajan>OK
<KimaprOnPhone>I'm using the BIOS firmware shipped on motherboard or something
<raghavgururajan>OK.
<KimaprOnPhone>If i'll have the /boot partition separate and with a very supported filesystem may it boot better?er
<raghavgururajan>KimaprOnPhone: Yes, I recommed you to use GPT. For BIOS+GPT setup, you will create dedicated BIOS Boot Partition.
<KimaprOnPhone>I dont think i can create another partition table
<KimaprOnPhone>And I'm on MBR
<raghavgururajan>[1] Format disk with GPT [2] Create partition sdX1 with "BIOS Boot Partition" flag, in cdisk. [3] Use /dev/sdX1 in bootloader configuration.
<raghavgururajan>Oh your disk is not empty?
<KimaprOnPhone>Yes
<raghavgururajan>May be backup files and restore them later.
<raghavgururajan>On BIOS+MBR setup, grub always boot from MBR-Gap. It is the design. The /boot partition is different in this scenario.
<KimaprOnPhone>It stores all itself in the mbr gap?
<raghavgururajan>Yep, grub binaries are stored in mbr gap.
<KimaprOnPhone>I thought it first boots some kind of "minimal grub" and boots the rest from target partition
<raghavgururajan>The /boot is for storing kernel, ramdisk and grub.cfg. Which can be on separate parition too. But in guix, only grub,cfg applies.
<raghavgururajan>> boots the rest from target partition
<raghavgururajan>Yes, those are grub.cfg --> ramdisk/kernel. In guix, only grub.cfg is stored under /boot. The ramdisk and kernel are in /gnu/store
<KimaprOnPhone>Does grub rescue have commands like search, help and linux?
<raghavgururajan>Yes, pressing C will take you to command line
<KimaprOnPhone>Nono, i only get rescue shell
<raghavgururajan>I can may be help you better if you share the bootloader and disk section of config.scm
<KimaprOnPhone>How do i do that from terminal again?
<KimaprOnPhone>Nevermind i will use ix
<raghavgururajan>OK
<KimaprOnPhone>Wait that's a nickname?
<raghavgururajan>?
<raghavgururajan>OK --> Okay
<KimaprOnPhone>No, 'Nevermind'
<KimaprOnPhone>It is highlighted for me
<raghavgururajan>Oh, it seems there is someone with that nick
<raghavgururajan>🤦‍♂️
<nckx>raghavgururajan: Sorry, had to run, will copy the rusts now.
<nckx>raghavgururajan: Up to & including .39, right?
<raghavgururajan>nckx: No worries Comrade!
<KimaprOnPhone> http://ix.io/2uCq raghavgururajan
<raghavgururajan>Yes, .39
<raghavgururajan>KimaprOnPhone, Thanks!
<raghavgururajan>Ah, you are using labels.
<KimaprOnPhone>That bad?
<peanutbutterandc>I have just made a bit of changes in my local guix checkout, and... I realized that ./pre-inst-env complains about not finding the guix-daemon socket because of the default prefix /usr/local
<nckx>raghavgururajan: Rust 1.39 is downloading. What else were you missing?
<peanutbutterandc>Do I run ./configure --prefix='' ?
<raghavgururajan>No, it have never tried.
<raghavgururajan>*I never tried it
<nckx>raghavgururajan: Note that the labels are ‘resolved’ to /dev/sdaX names at evaluation time, so everything sees /dev/sdaX names.
<nckx>Yes, it's a hack, not a Guix Feature(TM).
<raghavgururajan>nckx: I see. That might be the problem for KimaprOnPhone. It should resolve to sdX, not sdXY.
<KimaprOnPhone>Except the labels at file-systems, i used proper stuff there
<nckx>raghavgururajan: The string-trim-right shaves off the numbers.
<peanutbutterandc>Okay, I'm currently running `./preinstenv guix environment`. guix environment within guix environment. Please do let me know if this is not a good idea
<raghavgururajan>nckx: Ah I see.
<nckx>One could run this in ‘guix repl’ to check. I really don't think this is related to the error, it's equivalent to writing "/dev/sda".
<raghavgururajan>peanutbutterandc, `./configure --localstatedir=/var`
<raghavgururajan>nckx: I see. Not sure, why it fails to boot then.
<peanutbutterandc>raghavgururajan, I see. `./configure --prefix=''` did the trick for me. Thank you very much.
<nckx>I'll read the backlog properly later, I just skimmed.
<raghavgururajan>peanutbutterandc, Cool!
<peanutbutterandc>Hmm.... I wonder if the reason why this derivation is failing is because of me running guix environment within guix environment. I hope it is not a problem, is it?
<peanutbutterandc>Hmm... does anybody have any clue regarding how I would go about fixing this: https://termbin.com/qhp6 or should I skip the check phase?
<raghavgururajan>KimaprOnPhone: Regarging your doubt in how grub boots: In a nut-shell, GRUB boots in two stages. In stage 1, the grub loads its own files (binaries, drivers and modules). In stage 2, it loads grub.cfg which then as info to load ramdisk/kernel. In BIOS+MBR setup, the stage 1 files are stored in MBR-Gap and stage 2 files are stored in /boot directory. In BIOS+GPT setup, the stage 1 files are stored in
<raghavgururajan>BIOS Boot Partition (separate parition from root partition) and stage 2 files are stored in /boot directory. In both setups, the /boot directory can either be in root partition or in separate boot partition (but has to be mounted under root "/".
<rekado>peanutbutterandc: have you added ruby-simplecov?
<raghavgururajan>In a nut-shell, GRUB boots in two stages. In stage 1, the grub loads its own files (binaries, drivers and modules). In stage 2, it loads grub.cfg which then as info to load ramdisk/kernel. In BIOS+MBR setup, the stage 1 files are stored in MBR-Gap and stage 2 files are stored in /boot directory. In BIOS+GPT setup, the stage 1 files are stored in BIOS Boot Partition (separate parition from root partit
<peanutbutterandc>rekado, silly me. I thought `guix import` took care of everything there was to take care of. I will add that to native-inputs right away then
<raghavgururajan>ion) and stage 2 files are stored in /boot directory.
<peanutbutterandc>rekado, Thank you (:
<raghavgururajan>Damn it! Cut off again
<raghavgururajan>In a nut-shell, GRUB boots in two stages. In stage 1, the grub loads its own files (binaries, drivers and modules). In stage 2, it loads grub.cfg which then as info to load ramdisk/kernel.
<raghavgururajan>In BIOS+MBR setup, the stage 1 files are stored in MBR-Gap and stage 2 files are stored in /boot directory.
<raghavgururajan>In BIOS+GPT setup, the stage 1 files are stored in BIOS Boot Partition (separate parition from root partition) and stage 2 files are stored in /boot directory.
<raghavgururajan>In both setups, the /boot directory can either be in root partition or in separate boot partition (but has to be mounted under root "/".
<rekado>ngz: I can’t reproduce your problem. I ran “guix pull” before-hand. ./bootstrap and ./configure both work fine.
<rekado>(this is on Guix System)
<raghavgururajan>In guix, for stage 2 files, only grub.cfg is created under /boot dir. It has info to load ramdisk/kernel from /gnu/store, based on your system generation.
<raghavgururajan>For both BIOS+MBR and BIOS+GPT setups, you will use (bootloader grub-bootloader). For the former, you use /dev/sdX (device) and for the latter you use /dev/sdXY (BIOS Boot parition).
<rndd>hi everyone! i tried to run simple gui app in docker: "docker run --rm -ti --net=host -e DISPLAY=:0 fr3nd/xeyes" but got these errors "No protocol specified; Error: Can't open display: :0". does anybody had same issue?
<nckx>Our GRUB should refuse to install if you're using BIOS+GPT without a BIOS Boot partition (the classic ‘blocklists are spooky!’ error).
<raghavgururajan>For UEFI+GPT setup, the stage 1 files are stored in UEFI Boot Partition (separate parition from root partition) and stage 2 files are stored under /boot dir (which again can either be in root parition or different parition+mounted under root "/".
<raghavgururajan>For UEFI+GPT setup, you will use (bootloader grub-uefi-bootloader) and /dev/sdXY (UEFI Boot Partition).
<raghavgururajan>Kimapr[m], ^ I hope this clarify some things for you :-)
<nckx>raghavgururajan: Rust is served. But you said you were missing 2 things? Which?
<nckx>I'd copied 1.38 already so that shouldn't be it.
<raghavgururajan>> nckx‎: Our GRUB should refuse to install if you're using BIOS+GPT without a BIOS Boot partition (the classic ‘blocklists are spooky!’ error).
<raghavgururajan>Yep! Though this not only to guix. GRUB fails to install if it doesn't detect BIOS Boot Partition in BIOS+GPT setup.
<raghavgururajan>nckx: Let me check now.
<nckx>Yes, I mean that Guix doesn't automatically add ‘--force’ out of habit whenever that happens, while an nckx does 😛
<nckx>Good times.
<raghavgururajan>sneek, later tell KimaprOnPhone: Please check my messages in the logs at http://logs.guix.gnu.org/
<sneek>Okay.
<raghavgururajan>nckx: It tries to build .38
<raghavgururajan>I referred to two things as .38 and .39
<nckx>raghavgururajan: So I am in /home/raghavgururajan/guix/wip-desktop. When I run ‘guix environment guix -- ./pre-inst-env guix build rust@1.38’, it tries to graft .38, but it doesn't try to build it.
<nckx>Grafting is a relatively fast if I/O-bound process.
<raghavgururajan>What?
*raghavgururajan is waiting for make to finish
<nckx>Well, if you keep changing the checkout (as is your right, it's your $HOME) I of course can't guarantee that this will remain true.
<nckx>I'm getting a lot more ‘warning: source file newer’ warnings than y'day so something changed.
<raghavgururajan>nckx: Yeah, Danny rebased wip-desktop to master again
<nckx>That explains: ‘downloading from https://guix.tobias.gr/nar/lzip/wl3lqwjvgsjca8z73h54z9rppwiksjwc-rust-1.38.0’
<nckx>But at least it's downloading! 🙂
<peanutbutterandc>Question: does %build-inputs variable always have the pair (source . source) as the car?
<NieDzejkob>depends on the build-system. I'd recommend using (assoc-ref %build-inputs "source")
<peanutbutterandc>NieDzejkob, I actually need just the explicit inputs. for ruby-build-system
<nckx>Yeah, that question is a red flag in itself.
<peanutbutterandc>haha
<nckx>We don't commit to a stable caaaddr API. 🙂
<NieDzejkob>as in, you're modifying a build system?
<peanutbutterandc>nckx, hahaha :D
<peanutbutterandc>NieDzejkob, Yes, sir! wrapping a program up. Because propagated inputs.
<NieDzejkob>if so, you could add an argument and have the host-side pass only the explicit inputs there
<peanutbutterandc>NieDzejkob, How would I do that? I am trying to modify the PATH, but instead of manually typing each PATH, I plan on (map)-ing on top of all the inputs
<raghavgururajan>nckx, WTH why does it build when I try
<raghavgururajan>Could you please do `./pre-inst-env guix build rust@1.38 --root=$HOME/.config/guix/gcroots/rust-1.38` and `./pre-inst-env guix build rust@1.39 --root=$HOME/.config/guix/gcroots/rust-1.39, by being at /home/raghavgururajan/guix/wip-desktop ?
<NieDzejkob>raghavgururajan: why not do it yourself?
<raghavgururajan>NieDzejkob, nckx has a secret guix-daemon running
<nckx>No longer.
<raghavgururajan>Oh
<nckx>As in I just shut it down because everything should be OK.
<raghavgururajan>Never mind then.
<nckx>As in it was true when you said it.
<nckx>As in anyway, try building something rusty now.
<nckx>You should see 0 or more grafts but no Rust builds.
<peanutbutterandc>Hmm... is there any debugging to trick that I can use to see what exactly the value of %build-inputs is inside of the builder?
<leoprikler>(begin (display %build-inputs) (newline) %build-inputs)?
<rekado>%build-inputs is a list of lists.
<peanutbutterandc>leoprikler, I did something similar inside the lambda that I was defining to put after a certain phase... perhaps I should have it out of certain lexical scopes?
<peanutbutterandc>Any pointers as to that, please?
<rekado>each inner list consists of a label, a package value, and optionally an output name
<peanutbutterandc>Yikes... I just wanted the explicitly declared inputs... and their /gnu/store location
<peanutbutterandc>Hmm...
<leoprikler>if you're already using phases, can't you use inputs for that?
<nckx>‘Explicitly declared’ is really a package-level thing (package-inputs foo).
<nckx>Being ‘what the user added’.
<nckx>leoprikler: (pk %build-inputs) 😉
<peanutbutterandc>nckx, would that be available inside of (wrap-program ) just so or do I have to do some (#:modules magic thingy?
<peanutbutterandc>nckx, Also, (package-inputs this-package), I presume?
<nckx>The latter should work if you're at the package level (which is the only place package-level reasoning makes sense anyway). *Inside* of wrap-program? That I don't understand. Are you writing your own?
*nckx → AFK tho'.
<nckx>If you mean inside of the wrap-program call in a phase: yes, should work.
<peanutbutterandc>Hmm....
<peanutbutterandc>I will do a bit of investigation then
<peanutbutterandc>leoprikler, Turns out, (display %build-inputs) works, like you suggested. Which is strange. I could have sworn I did try that before... anyways, thank you very much
<raghavgururajan>nckx: All good now with Rust stuff
<raghavgururajan>nckx: Thanks so much! I appreciate your help.
<anadon>Good morning all,
<anadon>I'm not sure the specific verbage I'm looking for. I want to be able to include a <my package>.scm in my project repo and be able to build and reference the project that the package file is in without having the package file count itself in the checksum.
<raghavgururajan>efraim: Could you please merge my libcloudproviders definition with the old one?
<raghavgururajan>efraim: Oh wait, you actually removed the older one?
<nckx>raghavgururajan: Great!
<nckx>raghavgururajan: I suggest you do so yourself, or submit a guix-patches bug with the changes you'd like to make to the existing lcp package.
<raghavgururajan>nckx: Cool!
<nckx>Like our 3 sysprof packages: this happens. Decentralised development sucks, but it sucks less than the alternatives.
<nckx>peanutbutterandc: What's nice about pk over display is that pk is ‘transparent’, (pk x) => x, so you can insert it anywhere without changing your code.
<nckx>Then you forget about it and accidentally include it in patches.
<peanutbutterandc>nckx, Hmm Yes, I think I like (pk) better too. Cool!
<peanutbutterandc>I'll try not to include it in patches. (:
<raghavgururajan>efraim! Never mind! all good with lcp
<nckx>😈
<anadon>pk? Also, if I can redirect some attention to my question above.
*raghavgururajan stares at MozJS-68 build. Has a soul-sucking effect.
<butterypancake>I finally sorta figured out my problem. The nouveau driver doesn't like linux-libre 5.7 so I have to stay on 5.4
<peanutbutterandc>nckx, I tried debugging using (pk package-inputs) but it threw an unbound variable error. Perhaps I need to use some module? Where is this function defined?
<apteryx>butterypancake: eh? I'm using nouveau with 5.7 without problems
<butterypancake>rip
<apteryx>what kind of problem you had?
<peanutbutterandc>okay (guix packages)
<butterypancake>I don't think my cards got initilized so the screen resolution was locked to a really low resolution and instead of xrandr spitting out actuall monitor devices like DVI-1 all I got was screen-0
<butterypancake>I was really hoping someone just didn't update a package... nouveau is up to date, mesa is pretty out of date
<butterypancake>libdrm could be updated
<peanutbutterandc>Okay (arguments `(#:modules ((guix packages)) ...)) is throwing an error: "no code for module (guix packages)"
<butterypancake>peanutbutterandc: you're trying to import a package definition? which package?
<peanutbutterandc>butterypancake, I am actually trying to make (package-inputs) function available inside my modification of a %standard-phases.
<butterypancake>I threw that argument into a random package and got the same error. It's not just you
<cbaines>peanutbutterandc, manipulation of the package objects doesn't normally happen on the build daemon side
<peanutbutterandc>butterypancake, Thank you for confirming. I see we are a duo of food-based-nicks. lol
<cbaines>why are you trying to use package-inputs?
<peanutbutterandc>cbaines, I want to (map (lambda (input) (string-append (cdr input) "/bin")) (package-inputs package) inside of (wrap-program)
<peanutbutterandc>or something along the line
<cbaines>so, you can do that not on the build daemon side
<peanutbutterandc>Does anybody here realize that there is 1. a (source) procedure in guile that is supposed to give us the source of a procedure, and it doesn't work currently?
<cbaines>or you can use the inputs keyword argument to whatever phase you're in (assuming you're using the gnu-build-system or something which inherits from it)
<peanutbutterandc>Hmmm..... I see... inputs? or %build-inputs? o.O
<cbaines>I think the value is the same
<ngz>OK. I created a new clone of the repository, and can boostrap, configure, and make again. But now, I get ice-9/eval.scm:293:34: no code for module (json) whenever I try to push something.
<peanutbutterandc>inputs was unbound.... %build-inputs has bash and everything... not exactly what I am looking for....
<cbaines>peanutbutterandc, so if you don't want bash, what are you looking for?
<peanutbutterandc>cbaines, If you `guix import gem --recursive ronn` you will see 2 package definitions, among which I am trying to, hopefully, add to guix distribution... the second of these: ruby-ronn-ng has a few `propagated inputs` that I want to make just normal inputs. For which I want to wrap the program
<peanutbutterandc>s/ronn/ronn-ng/
<peanutbutterandc>But I'm just learning so... I am not very good at packaging
<cbaines>Sounds like the wrap phase should list the inputs explictly when it does the wrapping
<ngz>Interestingly, I packaged ronn-ng a few hours ago, but cannot commit it.
<peanutbutterandc>ngz, You what!? could you please send me your definition please!?
<cbaines>Each input has a name, it's the key of the alist
<ngz>(along with ruby-mustache)
<peanutbutterandc>ngz, Yes! My enemies!
<peanutbutterandc>cbaines, I wanted to be lazy and map them all
<peanutbutterandc>Mine `guix import`-ed ones don't even work, by default
<butterypancake>quick question: how do I tell if something is already packaged. I'd like to update mesa and libdrm but they might go into the core-updates or staged-updates branch. Is there an easy way to check the versions in all the branches?
<ngz>peanutbutterandc: See https://paste.debian.net/1160501/
<ngz>peanutbutterandc: Note that I didn't bother removing propagated inputs.
<apteryx>butterypancake: not fancy, but 'git log --grep "gnu: mesa" origin/core-updates
*raghavgururajan does https://issues.guix.gnu.org/42932
<butterypancake>what's the staged updates branch?
<apteryx>it's for packages which are a bit too disrputive to go to master but not as disruptive to go to core-updates
<apteryx>it's explained in the manual, in terms of 'guix refresh -l' count metrics.
<butterypancake>ya but I'm struggling to fetch it. what's is the exact branch name in git?
<raghavgururajan>apteryx: I was just about to ping you and you just popped up. I have sent a patch (https://issues.guix.gnu.org/42932) to fix the accountsservices error you received while bootstraping guix.
<apteryx>staging
<apteryx>raghavgururajan: neat! I'll try having a look at it later in the day
<peanutbutterandc>ngz You were supposed to bring balance to the purity of the .guix-profile, Anakin. Not dabble with the dark powers of propagated inputs! :D
<raghavgururajan>apteryx: Cool!
<butterypancake>apteryx: Thanks! That was a big help
<ngz>peanutbutterandc: propagated inputs seem common in the Ruby world, much like Python or Elisp.
<null_radix[m]>is chez-scheme packages broken for just me or everyone? this fails `guix environment --ad-hoc chez-scheme chez-fmt`
<apteryx>we should propose runpath-like features for those languages ala C/C++ to their upstream, to further the functional packagers ecosystem ;-)
<null_radix[m]>it looks like CHEZSCHEMELIBDIRS is not getting set, so chez doesn't know where to find its modules. t should be getting set here https://github.com/guix-mirror/guix/blob/bea2134fe16ef4ee9a2274f5cfbd8482c6a41bf3/gnu/packages/chez.scm#L93-L95 though
<butterypancake>when packaging something, should you stick to actual releases or are release candidates fine? But I think mesa is pretty important so maybe even if release candidates are fine, maybe I shouldn't for mesa?
<peanutbutterandc>ngz, It throws the following error when I actually try to use it: https://termbin.com/y1sa
<apteryx>s/packagers/package managers/
<peanutbutterandc>ngz, Also, shouldn't it be ruby-ronn-ng ? o.O All things in ruby.scm seem to be defined that way
<ngz>peanutbutterandc: Our ruby-kramdown needs to be updated, then.
<butterypancake>oh ok. mbakke actually already updated mesa and libdrm on staging. I'm glad I checked first
<ngz>latest is 2.3.0, we provide 1.17.0
<ngz>peanutbutterandc: I don't think ronn-ng should go in ruby.scm
<ngz>groff.scm is a better place, IMO.
<peanutbutterandc>wait what!? I just did guix refresh ruby-kramdown and it just upgraded it for me.... and I was not in ./pre-inst-env... didn't know refresh actually updated packages like that. neat (and strange)
<peanutbutterandc>ngz, Hmm... I see. I will poke around then. I will still try to see if I can get rid of the propagated inputs. Just so. Because I have basically wasted quite a lot of time already. :D
<apteryx>peanutbutterandc: no it just spits the updated package definition to stdout
<apteryx>you must use ./pre-inst-env with -u to actually have it written to disk
<peanutbutterandc>apteryx, It didn't!
<peanutbutterandc>Ah!
<peanutbutterandc>sorry sorry
<peanutbutterandc>it says "would be upgraded"
<peanutbutterandc>lol
<peanutbutterandc>I thought it was "was upgraded"
<ngz>Are we supposed to edit pre-push hook since authentication was implemeted? I cannot remember. If so, in what way?
<NieDzejkob>weird, my tmux session on bayfront seems to have died
<apteryx>ngz: cp etc/git/pre-push .git/hooks/pre-push
<ngz>apteryx: I did that, but I still cannot push
<apteryx>you also need a local keyring branch
<ngz>done too
<NieDzejkob>ngz: what error are you getting, then?
<apteryx>then I don't know. What's the error?
<ngz>I get an error about missing json module
<peanutbutterandc>ngz, Guess what? https://termbin.com/ul92z It wants another version of mustache or something
<NieDzejkob>ngz: are you pushing in a guix environment guix?
<ngz>ice-9/eval.scm:293:34: no code for module (json)
<ngz>I'm pushing from Magit, as I used to.
<ngz>peanutbutterandc: Yet, this requirement needs to be patched. See https://aur.archlinux.org/cgit/aur.git/tree/0001-allow-mustache-1.0.patch?h=ruby-ronn-ng
<NieDzejkob>I'd suggest you get normal 'git push' working first
<ngz>Yes*
<peanutbutterandc>ngz, So... am I stuck until this is patched upstream? Is there something I can do? Doesn't guix have one of those (patches thing in (origin ? How do I go about applying this patch?
<peanutbutterandc>okay... so I think I ought to `grep \(origin *.scm` now
<ngz>I think adding a phase with a simple substitute* is enough.
<ngz>NieDzejkob: I'm doing guix environment guix; git push right now, but it recompiles everything :(
<peanutbutterandc>Hmmm... I think I remember reading something about sustitute taking s-expressions, patch taking patches
<nckx>peanutbutterandc: Use substitute* like you'd use sed, use source patches when you have an actual patch file.
<peanutbutterandc>Hmm... I see... I want to try patch, just to learn. I haven't seen an example of patch yet....
<peanutbutterandc>Oh wow. (patches calls (search-patches... cool
<peanutbutterandc>Hmm... there's a `patches` directory. I see. so patches go inside patches directory residing in the same directory as the definition. neat
<ngz>NieDzejkob: I think I need to change "exec make authenticate check-channel-news" into "exec guix environment guix -- make authenticate check-channel-news" or some such in pre-push script.
<nckx>peanutbutterandc: You also need to register new packages in gnu/local.mk. Automake thing.
<nckx>s/packages/patches/
<peanutbutterandc>nckx, Whoa... But I'm not going to contribute this... just poking around. I hope it'll just work.... almost there
<peanutbutterandc>Okay... the patches thing works, it seems, without the automake thing for now.... but cut off one head and 3 more come up: https://termbin.com/fkjn
<peanutbutterandc>new error
<peanutbutterandc>I wonder if there is some sort of a way to debug guix cooking up a package. gdb-like thingy for guix
<nckx>peanutbutterandc: It looks like your source unpacks into 3 more tarballs. You'll need to unpack those yourself (add-before 'unpack 'unpack-harder (lambda _ (invoke "tar" "xvf" (find-files ...)))), something like that.
<peanutbutterandc>I was hoping the other day if I could define a phony store and have selected build take place there (from the repl), that way I could trace everything that was going on
*raghavgururajan is finishing Outreachy Internship as of today. Feels grateful for this opportunity.
<nckx>raghavgururajan: Feel weird, man.
<nckx>*s
*raghavgururajan also feels weird
<nckx>peanutbutterandc: s/add-before/add-after/, dunno what's wrong with me today.
***daviid is now known as Guest58294
<peanutbutterandc>nckx, unpack-harder. lol.
<ngz>raghavgururajan: oooh, so, how did it go?
<peanutbutterandc>I was reading a scheme book and most of such procedures were like deep-* something. This kinda' seemed a bit funny
<butterypancake>If I wanted to add an arbitrary file to system using the system config (say a /etc/doas.conf) how would I go about doing that? (feel free to point me to a spot in the manual)
<nckx>butterypancake: Use plain-file to ‘intern’ text into the store, then etc-service-type to make it available in /etc at boot time. Searching the manual for "ddcci.conf" will give you an example.
<raghavgururajan>ngz: Good! https://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-desktop
<ngz>peanutbutterandc: I just pushed ruby-mustache, finally (yay!)
<nckx>butterypancake: Documented in ‘(guix)Service Reference, Scheme Variable: etc-service-type’.
<ngz>raghavgururajan: I saw that branch. That's a lot of work.
<peanutbutterandc>ngz, Oh wow, you've got write access to the repo. I didn't know I was talking to an expert. LOL. I'm the n00best and the loudest one here. :D
<butterypancake>nckx: That's perfect! Thanks! Since it's a service, it'll run everytime I start up my machine right? (never bothered to figure out what services are) this means I won't be able to edit it once it's in place? (That's fine, just curious)
<nckx>butterypancake: Yes and yes, it will be a symlink into the immutable store. The Guixy way to edit it is to edit your system configuration & then run ‘guix system reconfigure’. That will immediately apply the changes, no need for a reboot.
<ngz>peanutbutterandc: I'm not an expert :) It took me hours to figure out how to get write access back.
<peanutbutterandc>ngz, Still an expert to me
<butterypancake>nckx: I think that's pretty cool. easy way to put my /etc configs in my dotfiles for version control.
<raghavgururajan>ngz: :-) I still same some tidy-up things to do. There are some quite nasty run-time errors.
<nckx>butterypancake: You're onto something. Most newcomers think service == daemon, but ‘system services’ in Guix can be any snippet of code that runs before system activation. Not all system services are shepherd services.
<butterypancake>nckx: I was thinking something like a systemd 1 shot service. Can you put services on timers? like a weekly certbot renewal?
<butterypancake>*ssl cert renewal using a certbot script
<nckx>butterypancake: You'd use mcron for that.
<butterypancake>nckx: nice! never bothered to learn cron. systemd timers use odd syntax, but mcron will let me use guile! I think. Right?
<nckx>Not because running a separate cron daemon is objectively better than having your service manager handle it (like systemd), but it's just the way things are for now. mcron's main problem is that it's underdocumented.
<nckx>butterypancake: Right.
<nckx>Just... have fun figuring out anything more advanced than ‘every hour/day/...’ the first time you need it 😉
<butterypancake>oh rip. bad documentation is a pretty big turn off for me. that's the reason I gave up on roff :P
<butterypancake>does font-dejavu not have emojis? What do I need to do to see nckx's emojis? This has been bugging me since I joined this IRC :P
<NieDzejkob>depends on what you're using to connect to IRC...
<nckx>butterypancake: I use font-google-noto which displays emojos in HexChat at least. Emacs is more troublesome.
<nckx>You're not missing much.
<nckx>; - ) above.
*NieDzejkob still has to get emoji to work in IceCat
<NieDzejkob>they work perfectly in my terminal, for crying out loud
<nckx>& by ‘more troublesome’ I mean ‘no fucking clue aargh I give up burn it down burn it all’.
<butterypancake>I managed to get japanese easy (even in icecat) by just installing font-wqy-zenhei and adding `
<butterypancake>xset +fp $(dirname $(readlink -f ~/.guix-profile/share/fonts/truetype/fonts.dir))' to my .xinit (not sure if this is necessary)
<butterypancake>I'm looking into moving that configuration into the xorg-configuration in my system config.scm though
<peanutbutterandc>can (modify-phases not have 2 consecutive (add-after-s ?
<nckx>peanutbutterandc: It can have as many as you like, but note that they are applied in order, which can be counter-intuitive.
<peanutbutterandc>nckx, could you please take a look at this: https://termbin.com/qubw
<nckx>(add-after 'a 'b) (add-after 'a 'c) → will run 'a 'c 'b
<peanutbutterandc>that makes sense
<peanutbutterandc>add b after a
<peanutbutterandc>but then, wait, add c after a.. so b is pushed
<peanutbutterandc>that thing (the linked diff) doesn't make sense. I know....
<peanutbutterandc>but I am trying to test a hypothesis: two (wrap-programs actually over-write each other, rather than adding to the modifications of the preceding (wrap-program)
<nckx>That's possible, I've never tried. wrap-program just moves the original bin/binary to bin/.binary-real, then creates a bin/binary as a shell script that sets some variables.
<peanutbutterandc>which is not as (help wrap-program) [in guix repl after ,use (guix build utils) (ice-9 session)] says
<nckx>I have no idea how it combines multiple runs.
<nckx>But I've seen plenty of bin/..binary-real-real in practice, so while it's not efficient, it can be done.
<jetomit>peanutbutterandc: I think I ran into that once, IIRC it works as you described
<peanutbutterandc>jetomit, wouldn't that mean it's a bug? Since it is different from the 'documentation' as supplied by (help wrap-program)? o.O
<nckx>Yes, that would be a bug.
<peanutbutterandc>nckx, Hmmm.... I wonder if this is a bug....
<peanutbutterandc>oh...
<peanutbutterandc>okay
<jetomit>that was my conclusion :) but I never followed up
<peanutbutterandc>it is a bug then
<peanutbutterandc>Should I report it?
<nckx>Yes please.
<alextee[m]>is there an example package that prefetches things in specific directories?
<peanutbutterandc>nckx, On it, sir!
<nckx>I'd add ‘(invoke "cat" ".wrappedthing-real")’ to each phase to illustrate that what you say happens really happens.
<nckx>But I don't doubt you.
<nckx>peanutbutterandc: ☝
<alextee[m]>trying to package this https://github.com/sadko4u/lsp-dsp-lib and it needs 2 submodules (not sure why they are not git submodules) in the "modules" dir
<nckx>Oh, right. And that's an up-pointing finger.
<peanutbutterandc>nckx, Hmmm.... '(invoke "cat" ".wrappedthing-real")'.... that... I haven't seen any guix procedures like that yet.... If you can tell me a bit more about it, perhaps I can test and add that info to the report? o.O
<nckx>alextee[m]: Does what gromacs does with googletest describe what you want to do?
<butterypancake>how do I add a font to my xorg-configuration? it says it wants a font path but I want to give it a font package :/
<NieDzejkob>alextee[m]: you can add an <origin> as an input
<nckx>peanutbutterandc: I just mean something super-hacky like https://paste.debian.net/1160519/ (not tested).
<nckx>To test the assumption before you report it.
<alextee[m]>ah isee. so i'd have to create separate packages for the required modules and then add them as inputs using (package-source)
<nckx>alextee[m]: You can use an inline origin.
<nckx>(inputs `(("foo" ,(origin (method foo-fetch) ...))))
<alextee[m]>oh sweet
<alextee[m]>thanks! nckx:
<peanutbutterandc>nckx, Oh wow! (invoke "cat" is calling cat on that thingy. That is another debugging technique I've learned from you today! Thank you very much!
<peanutbutterandc>I will test it then
<nckx>alextee[m]: You're welcome. NieDzejkob meant the same thing I think.
<peanutbutterandc>I was actually trying to do just that (my first question) but it kinda' didn't work (syntax error, some kind of...)
<peanutbutterandc>uh uh this one gives a syntax error too
<peanutbutterandc>I'll have to look into it tomorrow perhaps. My battery is almost dead
<nckx>peanutbutterandc: I added one ) too many at the end.
<nckx>I just typed this straight into the pastebin...
<peanutbutterandc>I see... I still need to be able to feel the parenthesis in scheme.....
<butterypancake>font-google-noto is 1494.1 MiB. How is that possible? That's way to big!
<nckx>peanutbutterandc: https://paste.debian.net/plain/1160524
<bdju>has anyone else noticed the pulseaudio process suddenly taking up 90% or more of cpu and making the fans loud and cpu hot? has happened to me a few days in a row lately
<bdju>I see my temp is high without me compiling stuff and then I go check htop and pulseaudio is always at the top
<bdju>have to kill it
<nckx>butterypancake: It probably is too big, but it is a *very* complete font that aims to provide *every* glyph. That said, sure, it's probably bloated af, it's from Googs.
<butterypancake>I'm still struggling to figure out how to add fonts. I think I need to do something like (file-append font-package "some/random/path/X11") but the fonts I want to use don't have an X11 folder. Is that a problem?
<peanutbutterandc>nckx, Thank you for the tip. Sadly I couldn't run it... syntax errors still... and I don't yet have a feel for parens.... and my battery is almost dying (powercut here).... I think I'll have to go for now. But I will report the bug tomorrow....
<peanutbutterandc>Thank you for help
<peanutbutterandc>I'll have to say good night now. Good night. (:
<nckx>sneek: Later tell peanutbutterandc: Look at the ‘'("FOO" ":" = ("BAR")))#t)))’ line. This returns #t and ends the procedure. Then, under that, you try to return #t again outside of the procedure body. It's basically gibberish at that point. If you fix that up it should run fine. Good luck!
<sneek>Got it.
<alextee[m]>this works! https://paste.debian.net/1160527/
<alextee[m]>\o/
<alextee[m]>er
<alextee[m]>wait i forgot. i'm supposed to pass the output to PREFIX, and leave DESTDIR empty
<alextee[m]>right?
<alextee[m]>other packages do that
<nckx>Most likely.
<alextee[m]>ok sweet that worked too
***gal is now known as galex-713
<hendursaga>I was going to finish up packaging xmltoman, when I ran guix pull and saw that someone beat me to it! Haha!
<raghavgururajan>hendursaga, It was me. :-D
<hendursaga>raghavgururajan: One less thing for me to do then! :P
<raghavgururajan>;-)
<hendursaga>And with that, I submitted yet another patch, this one depending on xmltoman :)
<raghavgururajan>hendursaga, Nice! What was it?
<hendursaga>raghavgururajan: You follow guix-patches? I'm currently using isync, Emacs, and mu4e to read all my mailing lists. And it was ssss, a crypto software.
<raghavgururajan>hendursaga, Ah I am not subscribed to mail-lists yet. I am waiting on my custom-domian email setup.
<raghavgururajan>Cool!
<bluekeys>Does anybody here use guix workflow? I'm following the guide on guixwl.org but can't get much past guix install gwl. After that completes successfully, running guix workflow gives guix: workflow: command not found. Reading further into the page there is a mention that the Guile module (guix scripts workflow) must be found in a directory on the GUILE_LOAD_PATH. How do I do that?
<bluekeys>Looking at the content of $GUILE_LOAD_PATH, why doesn't the installer script just add a link to the store?
<leoprikler>bluekeys: you should add guile to your profile/environment, then everything works out
<raghavgururajan>hendursaga, This one? http://point-at-infinity.org/ssss/
<raghavgururajan>Looks interesting!
***nckx is now known as facebook
***facebook is now known as nckx
<jackhill>raghavgururajan: congrats on finishing your internship!
<bavier>hello guix!
<hendursaga>raghavgururajan: Secret sharing schemes in general are pretty cool.
<nckx>raghavgururajan: Uhm, a253c41aed3c8629aad3b6957d5c4df134e9fb52 is identical to the patch I asked you about yesterday.
<nckx>I'm going to take that as a ‘yes’ & push it.
<NieDzejkob>oh wtf. Bayfront is pinned at 100% CPU usage, ssh is unresponsive
***Server sets mode: +cnt
<raghavgururajan>nckx: I was me me me mee me. My bad my bad
<nckx>raghavgururajan: I know 🙂
<raghavgururajan>nckx: Please kill the guix build. I am unable to do it.
<NieDzejkob>it's compiling two webkits, ghc, librsvg and ghc. all of these feel like heavy packages
<nckx>And wpewebkit & I saw stuff like opencv too.
<raghavgururajan>NieDzejkob, Sorry my bad. I set -c32 to see how fast it goes. Instead it just froze
<NieDzejkob>-_-
<NieDzejkob>if you tell it to use all cores, it will. and nothing else will be able to use the machine
<nckx>I've STOPped all cc1plus's to pause the madness.
<raghavgururajan>Lesson learnt.
*NieDzejkob runs guix build ungoogled-chromium to get a store path, hopes not to trigger a build
<nckx>raghavgururajan: You can't just blindly set --cores=32. --max-jobs=4, so that means 4 builds will each use 32 jobs.
<nckx>And then there's RAM.
<raghavgururajan>I was planning on cancelling it after 5min.
<raghavgururajan>So sorry!
<raghavgururajan>jackhill: Thank you!
<nckx>I think I've managed to kill the -j32 stuff without touching Cuirass stuff.
<raghavgururajan>nckx: You don't have to update gnome stuff on master. I have already updated on wip-desktop and soon will be added to master
<nckx>raghavgururajan: Go ahead and restart your build, but remember that this is a shared machine (running scheduled Cuirass builds too). Don't start 128 C++ compilers please. It has ‘only’ 64 GiB of RAM.
<nckx>raghavgururajan: OK.
<nckx>I wasn't planning on updating more than I just did (I actually use Simple Scan, not much else).
<raghavgururajan>nckx: Sure thing! Sorry it happened.
<NieDzejkob>ungoogled-chromium times out after 21600 seconds even though the properties have set a timeout of 144000. What gives?
<NieDzejkob>the same thing happened when I tried building it on bayfront manually a few days back
<jackhill>NieDzejkob: I think the timeout was a hydra thing? https://issues.guix.gnu.org/41661
<raghavgururajan>nckx: you didn't kill my build. Its building fine.
<nckx>raghavgururajan: No harm done. I know how unpleasant it is, but please ping someone here *as soon* as you say ‘oh fuck’. Don't wait too see if it fixes itself. If Jakub hadn't caught this immediately, SSH might've seized up completely. Who knows how long the machine would've been unresponsive.
<nckx>raghavgururajan: I killed 2-3 ‘make -j32’ trees, they must've been yours.
<raghavgururajan>nckx: It took me 10min to actually realize it froze. It assumed it was waiting on build lock or something. Then when I pressed enter, i realized shits not right.
<raghavgururajan>dependencies build parallely
<nckx>When you're lucky.
<gnutec>I have problem with instalation of unkown-horizons.
<GNUtoo>hi,
<nckx>Hi GNUtoo & gnutec.
<GNUtoo>I'm using guix to build a library and I've done that on the .scm source code:
<GNUtoo>- (commit "181d3e2a85dff24552a29a0cecbca9ac78cba5b7")))
<GNUtoo>+ (commit "77155778b245f600cbf7b43445cb51282d8a2664")))
<GNUtoo>So normally running guix build <the-package-name> should rebuild it right?
<nckx>Not if you didn't change the hash.
<GNUtoo>If I change the package version it tries to rebuild it
<GNUtoo>oh ok
<GNUtoo>thanks a lot
<guixy>hello guix
<sneek>guixy, you have 1 message!
<sneek>guixy, guix-vits says: Thanks a lot. Lucky for me the 4 hundreth whitespace errors were in +++ side of the patch :).
*GNUtoo feared that it was a bug, I'll just change the hash so it recomputes everything
<nckx>GNUtoo: YW 🙂 The hash is the canonical identifier. The rest are merely instructions on where to find <file matching hash>. They are *not used* when Guix already has it.
<nckx>gnutec: I get AttributeError: module 'platform' has no attribute 'dist'.
<nckx>It was deprecated (one would get a warning) in 3.7, and removed in 3.8.
<guixy>What is necessary for a working alpine email client on guix?
<gnutec>nckx: 2019.1?
<nckx>I think this is how it was ‘fixed’ upstream 😳 https://github.com/unknown-horizons/unknown-horizons/pull/2910/commits/c40fb866f3f72ac1049d6fa7859b17d8a48fe9e1#diff-2eeaed663bd0d25b7e608891384b7298
<nckx>Why is it sniffin' that in the first place. Oh well. I'll try that patch anyway.
<nckx>gnutec: Yes. That's the latest release.
<nckx>AFAIK anyway.
<gnutec>nckx: Ok!
<NieDzejkob>GNUtoo: I think you might want to set the version of your package with git-version. That way, the filename of the store item will change together with the commit hash, which will also trigger a re-download
<NieDzejkob>jackhill: thanks for that link
<nckx>Do you mean (git-)file-name? Using git-version may be a good idea here (depends) but won't affect the source.
<NieDzejkob>ah, right
*NieDzejkob starts a chromium build on bayfront again
<nckx>Bah: INTERNALERROR> pluggy.manager.PluginValidationError: unknown hook 'pytest_namespace' in plugin <module 'tests.conftest' from '/tmp/guix-build-unknown-horizons-2019.1.drv-0/unknown-horizons-2019.1/tests/conftest.py'>
***jonsger1 is now known as jonsger
<alextee[m]>NieDzejkob: is that the CI?
<alextee[m]>im stuck without updates because i don't have enough (>1000 gazillion GB) to build it
<alextee[m]>enough disk space *
<nckx>alextee[m]: It's not ci.guix.gnu.org but it can be used as --substitute-urls.
<alextee[m]>is there a way i can add it to the list of substitute candidates through a config file?
<kmicu>Google sucks granetd but Noto is not bloated it anyway. World has many scripts and it’s a basic need to have multiple styles for each. If there’s an issue then only with Guix packaging which lacks seperate downloads as provided by upstream.
*alextee[m] needs to read the manual again
<nckx>Lol. Yesterday ci.guix.gnu.org had 400 MiB left (of 1TB) on /.
<alextee[m]>^ sounds like chromium at work
<nckx>kmicu: Many scripts != bloat. It would be nice to split up font-google-noto but it's not a priority for me. 1.5G (or whatever) is fine.
<nckx>alextee[m]: Guix System?
<kmicu>Western languages use handful letters so we think that 3MB for a font is normal, but what is normal for majority of people is ~100MB for a font.
<nckx>alextee[m]: You need to authorise the key: curl https://paste.debian.net/plain/1160579 | sudo guix archive --authorize # sudo guix is the new sudo bash
<nckx>Then you either use --substitute-urls=https://bayfront.guix.gnu.org on the command line, or you add it to your guix service: (service guix-service-type (guix-configuration (substitute-urls (list "https://foo" "https://bar")) ..)) and it will be used by default.
<nckx>On foreign distros, foreign customs apply.
<NieDzejkob>so why are there no subs for audacity? A build finished successfully 10 and 2 hours ago
<bluekeys>leoprikler: that looks to have worked. Thank-you
<kmicu>NieDzejkob: could it be a stale Guix cache on your machine?
<GNUtoo>NieDzejkob: NieDzejkob: I've already that: (file-name (git-file-name name version))
<nckx>NieDzejkob: Because it hasn't been built yet. The most recent is x86_64 audacity is from 10h ago (https://ci.guix.gnu.org/build/3117625/details) and is not current.
<nckx>GNUtoo: What is version?
<GNUtoo>Ah right
<GNUtoo>0.1
<GNUtoo>Maybe I need to add commit instead
<nckx>You probably want (let ((commit "hash") (revision "0")) (package (version (git-version "0.1" revision commit)) …
<GNUtoo>Thanks
<nckx>GNUtoo: Take a look at xf86-video-intel (xorg.scm), particularly the version field and how commit is re-used in the source.
<GNUtoo>Thanks
<nckx>I've ‘tested’ the latest x86_64 audacity on berlin so one might as wel substitute & enjoy.
<NieDzejkob>hmm, I think I'm stuck between a rock and a hard place
<NieDzejkob>right now, I can't update until substitutes are ready for everything big
<NieDzejkob>if I split into multiple profiles, the packages aren't going to see each other except by luck
<NieDzejkob>(because the producer and consumer of a search path must be in the same profile)
<NieDzejkob>and I do want to have a manifest file that lists my packages -_-
<nckx>Would --do-not-upgrade work for your case?
<nckx>Ah.
<NieDzejkob>I could use 'guix upgrade' for now and hope for the best, but then I can't really modify the manifest to add packages
<nckx>Well, you could manually keep it up to date while running guix install, for now.
<NieDzejkob>ehhh
<nckx>That about sums it up yes.
<NieDzejkob>is there a reason guix upgrade does not support --do-not-upgrade, or is that an oversight?
<nckx>Oversight.
<butterypancake>jsoo: I'm attempting to use startx as you do, but looking through your dotfiles, I cannot for the life of me figure out how X is loading your window manager. I've copied over a good bit of your config into my config and have successfully launched X. But it's not running my xinitrc or xsession file. How do you do it?
*NieDzejkob prepares patch
*nckx stops preparing theirs.
<nckx>gnutec: Fixed.
<jsoo>butterypancake: check config.fish and .profile I think.
<butterypancake>jsoo: found it! you're a life saver!
<jsoo>butterypancake: it's at the bottom of config.fish. Had to double check just now
<butterypancake>jsoo: I'm doing it! No login manager for me! Thank you so much!!! I'm so very happy!!!
<jsoo>Nice! Man I really should write that up
<butterypancake>just curious, in config.scm, why are lines 126 and 127 identical?
<butterypancake>I'll admit a good amount of that code goes over my head :P
<nckx>Setting arg0?
<nckx>The first one is the file that gets executed, the second is the string it receives as name, or arg0 (‘itself’).
<butterypancake>oh that would make sense
<nckx>This is how some utilities change their behaviour depending on how you launch them (e.g. through a symlink with a different name).
<nckx>X of course does not 🙂
<butterypancake>I think some versions of reboot poweroff and halt do that
<jsoo>butterypancake: maybe a mistake?
<butterypancake>jsoo: nah, I think you're good
<butterypancake>I think it's what nckx said
<nckx>Yeah. ‘Conventionally the first ARG is the same as FILENAME.’
<jsoo>yes that's right. Argv0
<nckx>Arg, I forgot the v above.
<butterypancake>another question, how did you access non-exported variables like xorg-configuration->file? I ended up ripping them out of their modules using @@, but you seem to just access them without issue
<gnutec>nckx: Nice!
<bluekeys>I get a segmentation fault when running movemail. Anyone have ideas on how to start debugging it?
<leoprikler>gdb/strace
<nckx>bluekeys: Is that part of mailutils?
<bluekeys>I don't know how to use them... I'll get into the manuals
*nckx answers: yes it is.
<bluekeys>Yes
<nckx>bluekeys: ‘strace movemail --...’ just spews trace output to stderr, you can 2> it into a file and/or paste it somewhere.
<nckx>I can't get it to segfault but don't have a mailbox to move.
<bluekeys>It does it when I connect via imaps and try to use uidls
<nckx>bluekeys: Command line?
<nckx>I have an imaps, I can do this.
<bluekeys>movemail -vv --max-messages=1 --progress-meter --preserve --uidl 'user%40host.com:password@imap.host.com:993' maildir:///home/user/Maildir
<NieDzejkob>nckx: I've sent the patch as #42938
<bluekeys>to create the maildir I just ran mkdir -p /home/user/Maildir/{cur,new,tmp}
<nckx>movemail: could not create mailbox `user%40host.com:password@imap.host.com:993': Requested item not found
*nckx installs properly to read docs
*nckx adds imaps://
*nckx gets a segfault.
<bluekeys>did i miss the imaps:// oops
<bluekeys>nice
<nojr>is there/will there be a blog post on how to set up Guix in DigitalOcean droplet ??
<nckx>bluekeys: So the segv happens in mu_stream_seek (gdb --args movemail -vv ...; then ‘run’; then ‘backtrace’) but that's probably all we can say without debug symbols. Or staring at that function's source & spotting an obvious booboo.
<bluekeys>How to add debug symbols? Copy package definition to my own channel and recompile with debug symbols?
<nckx>Something like that (I've never actually done this). And set #:strip-binaries? #f at least.
<bluekeys>OK. That'll take more time than I've got right now... I'll update here when I've got a channel set up
<NieDzejkob>alternatively, add a "debug" output to have the gnu-build-system split the debuginfo into a separate output
<mroh>(outputs '("out" "debug"))