IRC channel logs


back to list of logs

<civodul>also this:
*civodul -> zZz
<civodul>good night/day!
<ScaredySquirrel>how do I use a list of strings as package specifications in the (packages) list
<ScaredySquirrel>I have something like (packages (append (list* "openbox" "nss-certs" "irssi") %base-packages)) but it doesn't work
<nckx>(packages (map specification->package+output (list "stringy" "strangy" "strungy")))
<nckx>Or "stringy:lib".
<ScaredySquirrel>what is this curious +output bit?
<nckx>So in your case, you'll want to (append (map …) %base-packages).
<nckx>ScaredySquirrel: Some (not most) packages have multiple outputs so you don't have to install the whole thing when it's not necessary. It's the third column in ‘guix package -A’.
<nckx>See ‘guix package -A | grep ,’ to get an idea of what kind of outputs are common. :static for (big) static libraries, :doc for (large) documentation, …
<nckx>It's true that I could just have just written specification->package above which would cover 99% of uses; I was copying from my system.scm 🙂
<ScaredySquirrel>how do I use package versions?
<ScaredySquirrel>ok ok I have (map specification->package+output+verseion (list ...)
<atw>I'm having some issues with certbot-service-type. Here's my operating-system, letsencrypt.log, and the Let's Debug output (ignore the error about IPv6, I think the 404 under "show verbose information" is more important). What I'm doing is running /gnu/store/...-certbot-command as root. I don't have hard evidence but I think
<atw>that the file under /var/www to respond to the challenge isn't getting created. Where am I going wrong?
<ScaredySquirrel>I put "gcc-toolchain@9.2.0" and it gives me an unbound variable thing
<nckx>ScaredySquirrel: No, you can't just add +version like that.
<nckx>‘specification->package+output’ is the name of an actual procedure. specification->package+output+version doesn't exist.
<nckx>Both specification->package+output and specification->package handle versions just fine out of their box.
<ScaredySquirrel>ok now I'm rolling
<ScaredySquirrel>I'm impressed just how slow my laptop really is
<ScaredySquirrel>its swapping 4 gcc in and out from and to disk
<ScaredySquirrel>I'm thinking 13% will catch up to 80%
<oriansj>ScaredySquirrel: that isn't slow, that is lacking of sufficient memory for the task being performed
<ScaredySquirrel>I have Intel Core i5-2320 3GHz 6GB RAM and Intel Celeron N2940 1.83GHz 4GB RAM
<oriansj>one also has to remember that a Raspberry PI 3 actually has more compute than a Cray Super Computer
<oriansj>So the only thing that is slow these days is software
<ScaredySquirrel>so those atoms are now being forced to strengthen their glasses?
<ScaredySquirrel>I mean Cray, by Seymour Cray sounds like Albert Einstein's work...
<ScaredySquirrel>kids weren't happy
<oriansj>ScaredySquirrel: except, he thought basic error detection was something not needed....
<oriansj>Not exactly the smartest technical decision ever made
<ScaredySquirrel>well that's at the singularity
<ScaredySquirrel>at the end of time? first I don't know where that is
<ScaredySquirrel>I mean when
<oriansj>Although it was ironic that Apple bought 2 Cray super computers to design the failed Apple Lisa and Cray perchased a single Apple 2 to design the next generation crazy Super Computer
<nckx>ScaredySquirrel: Are you using --max-jobs and --cores values of 1? (-M1, -c1)
<ScaredySquirrel>what is an mds processor bug?
<ScaredySquirrel>nckx: no?
<ScaredySquirrel>I mean no
<nckx>Another relatively recent Intel speculative execution bug, like the better-knows Spectre & Meltdown failures.
<ScaredySquirrel>get all the critters outta my processor
<ScaredySquirrel>wait, I can't
<ScaredySquirrel>I take care of them
<nckx>ScaredySquirrel: Even if your CPU has multiple cores, you don't have enough RAM to run multiple large jobs or commands in parallel so keep it at 1 when compiling anything ‘big’ (or that has ‘big’ dependencies that can't be substituted).
<nckx>ScaredySquirrel: I guess you saw the spooky warning in dmesg? I forget what it was.
<nckx>More info if you want it:
<nckx>IIRC dmesg actually spams a broken URL…
<nckx>Oh no wait that's the L1TF bug.
<oriansj>In other news "Water company that gets paid by the gallon, put in lead pipes because they were cheaper per diameteter...."
<ScaredySquirrel>so mds bug is L1TF?
<nckx>ScaredySquirrel: Haha no it's yet another, different side-channel leak.
<nckx>Linux used to warn about it in dmesg and give you a broken link to more info.
<nckx>I was confuse.
<ScaredySquirrel>ok but are these speculative execution bugs hard to use to circumvent security?
<oriansj>ScaredySquirrel: depends on in whose hands; in a moron's even shellshock isn't dangerous. In the NSA's, deadly
<nckx>ScaredySquirrel: Eh, how'd you quantify that. Yes, they are ‘hard’ to exploit, but most attacks are ‘hard’ — yet they also actually *happen*.
<nckx>Just in case: ‘speculative’ does not describe the attacks. They are very real.
<nckx>It's not ‘maybe I can make your computer do the bad thing’, it's ‘your computer will definitely do the bad thing if I bang on this door in exactly the right way a trillion times’.
<nckx>That's hard to do, and very tedious.
<nckx>But wait
<nckx>we created machines to do things that are hard and tedious!
<oriansj>nckx: bah, let the machines do the tedious shit
<ScaredySquirrel>I'd appreciate it if I knew about the times of toda
***jonsger1 is now known as jonsger
<nckx>Nighty-night everyone.
<wdkrnls>Dear Guix, is there an origin which doesn't involve an upstream url, but which just references a file location on the local computer that I could use inside of a personal program?
<atw>wdkrnls: yes! let me find an example...
<atw>I have used (package (source (local-file "" #:recursive? #t))) to mean "the package that is located in the current directory"
<oriansj>wdkrnls: or do you mean something like export GUIX_PACKAGE_PATH=/home/username/folder ?
<wdkrnls>atw: thanks so much for the example! I'll have a try at using that!
<Franciman>hello guix!
<Franciman>do you suggest libressl or openssh?
<zig>I am trying to build guile 2.9.5 just by replace 2.9.4 with 2.9.5 in the definition :)
<zig>Franciman: what do you want to do?
<Franciman>use git
<Franciman>I opted for openssh
<zig>re guile 2.9.5: it works.
<Franciman>I installed a font
<Franciman>but now I can't find it
<Franciman>ok here it is
<Franciman>so why doesn't fontconfig see it?
<Franciman>looks like the font list isn't updated
<leoprikler>Franciman: `fc-cache -f`?
<Franciman>leoprikler, a question
<Franciman>in order to use opentype fonts do I need some special software?
<Franciman>because I installed two opentype fonts and they are not recognized
<Franciman>no ok
<leoprikler>even after flushing the cache?
<Franciman>leoprikler, it works!
<Franciman>i tried to reboot the system, thinking that it would suffice
<Franciman>and it didn't
<Franciman>but `fc-cache -f` works
<Franciman>I installed font-fira-code, btw
<Franciman>whilst for font-google-noto I had no issue
<leoprikler>font-config can be pretty random iirc
<Franciman>lol, well thanks
<Franciman>the important thing is that I can somehow force a recache
<Formbi>I have an idea on how to improve Guix a bit
<Formbi>it could detect propagated-inputs conflicts when upgrading a package and suggest upgrading the other packages too automatically
<Formbi>and not just do things like «hint: Try upgrading both `youtube-dl' and `mps-youtube', or remove one of them from the profile.» many times
<Franciman>where is the documentation for substitute* and other functions used in build phases to modify the code?
<Franciman>like mkdir
<ng0>in the code. and in the guile documentation.
<Franciman>I don't see substitute
<ng0>guix lacks something like doxygen to document itself internally better, but i found the code usually good enough if you study it long enough depending on what you are reading (understanding the store monad etc is probably not what everyone wants)
<Franciman>I'm reading here
<ng0>"in the code" means in the sourcecode itself, grep for "define substitute" or what it was
<Franciman>in the source code for guile?
<Franciman>or guix?
<ng0>depending on what you are looking for
<Franciman>for the function substitute
<Franciman>probably it's guile
<ng0>i don't do the search for you. the closest is this:
<ng0>egrep -nr "define substitute" .
<ng0>./guix/scripts/package.scm:867: (define substitutes? (assoc-ref opts 'substitutes?))
<Franciman>I can't find its definition in guix
<Franciman>you don't need
<ng0>I'm out..
<Franciman>I already tried with guix
<zig>I am trying to update guile-next to 2.9.5. I have the following definition:
<zig>it is the very same as guix master, except the version number.
<zig>the problem is that, instead of guile site 3.0, it has guile site 2.2 in %load-path:
<zig>I found the issue, it is related to my bash environment that had an old GUILE_LOAD_PATH
<zig>$ env | grep GUILE_LOAD_PATH
<Franciman>I wrote this package
<Franciman>but when I try to build it, I get an error
<Franciman>at line 76
<Franciman>this is the full error^
<Franciman>I can't seem to figure out what I am doing wrong
<nckx>Franciman: The code in ‘arguments’ is run in a different (build) environment. You need to define the remove- procedures there, for example by using ‘let’. However, in this case, I don't see the point of creating 2 named procedures to perform 5 (static) operations in total. Phases are already named procedures: just (add-after 'unpack 'remove-unused-imports (lambda _ (invoke …) (invoke …))) directly.
<Franciman>oh i see, thanks
<Franciman>just got tired of writing invoke many times
<Franciman>but finally I resorted to that solution
<nckx>I'd even do all 5 operations in 1 remove-unused-things procedure. You can use comments for more detail: ;; Remove unused dependencies.
<Franciman>yup, thanks
<Franciman>shall do
<nckx>Franciman: Yeah, you can still keep remove-line as a custom procedure, just let-bind it inside the phase lambda.
<Franciman>What is the rationale behind gnu/packages/crates-io.scm?
<Franciman>because I see many crates already packaged, BUT without their dependencies
<nckx>Try asking efraim; Guix's Rust packaging is still evolving.
<g_bor[m]>hello guix!
<g_bor[m]>I tried to run a make check-system, but it fails, because it cannot build python-django-pipeline
<g_bor[m]>Anyone else encountered this?
<nckx>g_bor[m]: python-django-pipeline fails its own test suite.
<g_bor[m]>yes, I have seen that.
<g_bor[m]>But it does not really look like something that would be safe to ignore
<g_bor[m]>the error is no module named test...
<g_bor[m]>I guess there was some time when this worked...
<nckx>Not sure about safety; if the package just can't find its own ‘test’ module because it's missing it's own search path in the build environment (just a guess), it might not be a serious thing. Or at least easy to fix.
<nckx>I'll try setting PYTHONPATH.
<g_bor[m]>ok, I will have a look at that.
<nckx>g_bor[m]: It was literally that easy 🙂 Adding getcwd to PYTHONPATH.
<g_bor[m]>nice, thanks.
<g_bor[m]>I am also having a look at that, python-django also has an append . at the start of the check phase.
<nckx>Ah, indeed.
<nckx>That just uses ‘.’ instead of (getcwd), I didn't know that was supported.
<g_bor[m]>nckx: could you push a fix?
<nckx>(Still going with getcwd because it's quile clear; I almost missed python-django's ‘.:’)
<g_bor[m]>ok, thanks
<nckx>g_bor[m]: I just did? No?
<g_bor[m]>I am trying to look for the problem in the raid layout, but this seemd to be one thing to fix first.
<g_bor[m]>Wait for a sec, maybe my net is slow here
<nckx>Hm, remote git is still stuck on ‘Sending notification emails’.
<nckx>Oh, done now.
<nckx>g_bor[m]: The format mismatch? That should be as simple as setting a kernel command line option.
<raingl>is mono known to be broken on guix? i'm trying to do some winforms homework but i get some long stacktraces when i try to run the exe.
<g_bor[m]>actually there is a half working patch, it seems that the kernel command line param is passed ok, but then grub fails to boot on efi magic mismatch
<g_bor[m]>ok, thanks, now I have it:) tying to get on...
<nckx>raingl: It hasn't been significantly touched in quite a while, which isn't a good sign. If nobody here can help you, please file a bug.
<nckx>And Guix Mono is at version while upstream is 6.4.0…
<raingl>nckx: thanks
<WLsl>I install GuixSD on my chromebook, But my efi is borken, how to install grub with --no-nvram options.
<WLsl>GuixSD default installer is fail by grub-install.
<nckx>WLsl: I'm afraid that the only way to pass custom options to grub-install at this time is to edit gnu/bootloader/grub.scm and add ‘--no-nvram’ to install-grub-efi.
<nckx>WLsl: You can do this yourself (by checking out guix's git repository, making that change, then building Guix and a modified installer image). This requires a computer with a working Guix.
<WLsl>So how to make the installer not install the bootloader.
<nckx>WLsl: I can also build an installer image for you with this one change if you trust strangers on the Internet 🙂
<WLsl>I want install grub manual.
<nckx>WLsl: I think you can pass --no-bootloader to ‘guix system init’.
<WLsl>thank you.
<WLsl>I will try it.
<nckx>Yup, that's the option. Good luck.
<WLsl>Can guix temporarily enable non-free firmware?
<nckx>& I honestly don't know how you'd do that manually & it would be off-topic for #guix.
<raghavgururajan>Hello Guix!
<raghavgururajan>When I do `git commit`, it is showing error for "vi". How do I set it to use "nano" instead?
<raghavgururajan>".gitconfig" file does not have a line for "EDITOR".
<str1ngs>raghavgururajan: just export EDITOR=nano
<str1ngs>assuming you are using say bash
<raghavgururajan>str1ngs Thanks! Yes, I am using bash. Also, this change will be temporary right? How do permanently set "EDITOR" for nano?
<str1ngs>raghavgururajan: you can export EDITOR in ~/.bashrc or use git config --global core.editor "nano"
<str1ngs>I would use the first one, since it will make nano default for other editor commands
<raghavgururajan>I see.
<raghavgururajan>So now, when I do `git commit`, it is asking for "message". Should I typing above the already displayed lines or below them?
<str1ngs>type above, the first line should be a summary, anything below that will be considered more detailed
<nckx>raghavgururajan: Above.
<str1ngs>sneek: later tell raghavgururajan. anything prefix with a # will be considered a comment and will not be included in the commit message.
<sneek>Got it.
<nckx>sneek: later tell raghavgururajan: Be sure to always leave the second line (the one between your ‘gnu: foo: Do this.’ summary and the ‘* gnu/packages/…:’ rest) blank. Emacs should warn you, nano will not.
<sneek>Will do.
<nckx>sneek: later tell raghavgururajan: str1ngs' point is important, since sometimes you might happen to start a line with something like ‘#:configure-flags’. That won't work. You'll have to reformat your text.
<sneek>Got it.
<emyles>Is anyone using a local texmf tree on a foreign host?
<emyles>wondering how to override TEXMF and TEXMFCNF in .profile/manifest
<emyles>I meant .guix-profile/manifest
<raghavgururajan>nckx Thanks! Sorry, got disconnected
<sneek>raghavgururajan, you have 3 messages.
<sneek>raghavgururajan, str1ngs says: anything prefix with a # will be considered a comment and will not be included in the commit message.
<sneek>raghavgururajan, nckx says: Be sure to always leave the second line (the one between your ‘gnu: foo: Do this.’ summary and the ‘* gnu/packages/…:’ rest) blank. Emacs should warn you, nano will not.
<sneek>raghavgururajan, nckx says: str1ngs' point is important, since sometimes you might happen to start a line with something like ‘#:configure-flags’. That won't work. You'll have to reformat your text.
*raghavgururajan pushed their first patch (#38347). Yay!
<raghavgururajan>nckx str1ngs I see. My message was one-liner. "Add gnome-contacts."
<nckx>raghavgururajan: Guix commit messages can never be one-liners. You always need something like ‘* gnu/packages/foo.scm (gnome-contacts): New public variable.’, at least.
<raghavgururajan>nckx Oh! When I reviewed other messages, I saw things in the format of "Add package-name.".
<nckx>raghavgururajan: That's the 1-line summary (like an e-mail subject), but there should always be a ‘body’ too.
<raghavgururajan>Ah I see.
<nckx>‘git log’ should print it when not run with custom options.
<raghavgururajan>nckx Should I modify and resend the patch or is it okay for this time?
<nckx>raghavgururajan: It's all right, the commiter will fix it up.
<raghavgururajan>Cool! Thanks.
<nckx>Does ‘guix import cpan DateTime’ work for $you? Here it just freezes.
<raghavgururajan>nckx me?
<nckx>So, yes.
<nckx>raghavgururajan: Why did you need to run vapigen manually? It would be good to include a comment if the build system should do it but doesn't for some reason.
<nckx>(Your SSL_CERT_ variables look broken.)
<g_bor[m]>hello guix!
<g_bor[m]>now the system test look much better, thanks nckx .
<nckx>Er, my emacs is stuck in ’zoom mode’ so I can't type -, +, or 0. I would also really enjoy not losing all my buffer state. Anybody know a fix?
<nckx>g_bor[m]: 😊
<g_bor[m]>I had to interuup one of the tests, as it stuck on booting the vm
<efraim>the test suite for gnunet really does take forever
<g_bor[m]>efraim: maybe that was the reason then...
<g_bor[m]>How do I find out which test was interrupted?
<finfin>nckx: have you tried using C-g to get you unstuck?
<nckx>finfin: Angrily 😉
<nckx>I've tried M-x zoom-<TAB>, C-h a zoom, silly things like that. See me struggle cluelessly and point and laugh.
*nckx is not an emacs guru.
<raghavgururajan>nckx Sure, I comment things like that moving forward. I was advised to do that for some reason and I forgot. xD
<puoxond>nckx: For me it got this far. But it hasn't done anything in a while so it looks like it's frozen.
<atw>I'm having some issues with certbot-service-type. Here's my operating-system, letsencrypt.log, and the Let's Debug output (ignore the error about IPv6, I think the 404 under "show verbose information" is more important). What I'm doing is running /gnu/store/...-certbot-command as root. Would anyone have a successful
<atw>/var/log/letsencrypt/letsencrypt.log that I can compare to?
<nckx>raghavgururajan: That's good. However, I'd like to know why *this* phase exists and you're the only one who can tell me.
<nckx>puoxond: Ah, yes, that's what I get too.
<nckx>puoxond: Thanks!
<raghavgururajan>nckx IIRC, it was something to do with gnome-online-accounts and it's missing .vapi file and/or it's missing vala dependency/support.
<finfin>nckx: the functions that zoom in/out are called text-scale-decrease/text-scale-increase, i don't know if this is helpful
<finfin>text-scale-adjusts is what put you in the "zoom-mode"
<nckx>finfin: It helped me find M-x text-scale-mode, so yes! However… running it says ‘now enabled’, then running it again to disable doesn't fix the problem.
<nckx>Damn, I was hoping it was as simple as a stuck -mode.
<finfin>nckx: yeah, you're looking for text-scale-adjusts
<finfin>nvm not really, it doesn't behave like a mode
<puoxond>nckx: Apparently it wasn't frozen at all. It just returned something:
<nckx>finfin: Running M-x text-scale-adjusts resets to 0, but -, +, and 0 are still caught.
<str1ngs>nckx: what does C-h k - output
<str1ngs>nckx: do you have a local map for terminal or something?
<nckx>str1ngs: I don't even know what that means. I haven't changed settings in ages.
<str1ngs>does it still happen when you restart emacs?
<nckx>puoxond: Thanks. Here it now takes 15s, but it took much longer before.
<nckx>str1ngs: That ‘fixes’ it (it's happened once before), but I *really* don't want to do that right now.
<str1ngs>that makes sense, are you using any terminal packages
<raghavgururajan>nckx Yep, remembered now. goa had missing .vapi file. That's why need that phase.
<nckx>Both times, it's happened while using mu4e, which might be a hint but might just be because it's my only emacs client GTK window — I run the rest in terminals where scaling is disabled anyway.
<str1ngs>nckx: also C-h v overriding-terminal-local-map might give you some clue as to whats setting this local map
<str1ngs>I'm curious if this happens in all buffers?
<nckx>str1ngs: I don't use any terminal packages knowingly.
<str1ngs>possible it only happesn in mu4e?
<nckx>str1ngs: It's possible, but it affects all new graphical emacs windows.
<nckx>And it certainly doesn't seem to be per-buffer.
<nckx>Nope. Same buffer (raghavgururajan's gnome.scm 🙂) in terminal emacs client: fine. In graphical emacs client: borked.
*nckx has to go AFK a short while but really appreciates all the help.
<smithras>raghavgururajan: congrats on your 1st patch!
<atw>+1 :)
<nckx>str1ngs: Does mean anything to you?
<nckx>‘Here, decypher this gibberish for me’. If this is how people feel when learning Guix & Scheme, I sympathise.
<ScaredySquirrel>ok guys
<ScaredySquirrel>emacs for gtk+3
<ScaredySquirrel>how to do?
<ScaredySquirrel>firstly, I want my wifi
<str1ngs>ScaredySquirrel: guix install emacs defaults to graphical gtk emacs
<ScaredySquirrel>ok I want wifi
<smithras>ScaredySquirrel: Is your wifi card supported by linux-libre?
<raghavgururajan>smithras atw Thank you :-)
<leoprikler>ScaredySquirrel: What exactly do you mean with "Eamcs for gtk+3"?
<ScaredySquirrel>smithras: yes I'm sure
<ScaredySquirrel>leoprikler: uhh...native emacs gtk+3 client
<str1ngs>ScaredySquirrel: network manager should handle that. though odds are your wifi card is not support by libre kernel
<ScaredySquirrel>Qualcomm Atheros AR9462 Wireless Network Adapter (rev 01)
<leoprikler>Emacs is already built with gtk+ (implying gtk+3)
<str1ngs>ScaredySquirrel: iwconfig should list wifi device
<raghavgururajan>Thanks to leoprikler for helping me with generating .vapi file for goa :-)
<leoprikler>It just doesn't look like a GTK+3 App, because they skipped on some of the interface things.
<leoprikler>raghavgururajan: No problem :)
<atw>I think reasonable options are network-manager-service-type (as str1ngs mentions) and connman-service-type, both documented on Provided of course that linux-libre supports the wifi card :)
<ScaredySquirrel>I put network-manager-service-type in my services and I recieve service "networking" requires "wpa-supplicant" which isn't provided by any service
<atw>fair point, (service wpa-supplicant-service-type) is also needed
<ScaredySquirrel>thank you! this should be enough to get my wireless
<atw>fingers crossed :D
<ScaredySquirrel>ok lol lol how do I make sure my xorg is in services?
<ScaredySquirrel>the whole server
<leoprikler>use one of the DM services, such as gdm-service-type, sddm-service-type, ...
<raghavgururajan>ScaredySquirrel If you are looking for a desktop setup, it is better to use "%desktop-services"; instead of trying to add related services on-by-one.
<ScaredySquirrel>oh oh
<ScaredySquirrel>but I want two different service lists
<ScaredySquirrel>%base-services and %desktop-services
<raghavgururajan>ScaredySquirrel The latter is extended from the former.
<leoprikler>use %desktop-services instead of %base-services as the tail
<nckx>raghavgururajan: +1 on the patch congratulation. I'm reviewing it now, a few things need improvement but it's a very good start.
<raghavgururajan>Therefore, things in base services are also included in desktop services.
<raghavgururajan>nckx Thanks so much. It means a lot to me. :-)
<raghavgururajan>I have two more patches on the way. gnome-characters and gnome-font-viewer.
<ScaredySquirrel>why is gtk+3's font selection dialog so slow?
<ScaredySquirrel>it doesn't even have even 100 fonts in there
<ScaredySquirrel>problem: multiple service types for target service type gdm
<atw>I'm guessing there's a gdm-service-type specified literally in addition to one in %desktop-services? I know it's been a lot of back-and-forth, but can I see your config.scm?
<ScaredySquirrel>lol I see
<ScaredySquirrel>I do see it's actually overridden services in %desktop-services
<ScaredySquirrel>but thanks it's now working
<atw>awesome! and is the definition of %desktop-services, in case you're curious about everything that's in there
<nckx>raghavgururajan: I remember urging you to dive in more than once, so I'll take some (very undeserved) credit ;-) I've sent some remarks.
<raghavgururajan>nckx Hahah! Sure. And, yeah I'll check it not. Btw, I sent two more patches (#38351 and #38352).
*raghavgururajan tried hat-trick (3 times in a row) on patches today :-D
<leoprikler>you didn't quite make it
<leoprikler>there were a few bugs reported in-between
<raghavgururajan>fixing in progress ...
<leoprikler>btw. your gnome-characters patch is broken
<raghavgururajan>It successfully builds and installs here.
<leoprikler>that may be true, but you've also added the .patch file of gnome-contacts
<leoprikler>same with gnome-font-viewer, which contains the patches of gnome-contacts and gnome-characters
<raghavgururajan>Oh should I do something in git before I generate another patch?
<leoprikler>you should not add your patches to git
<raghavgururajan>I did `git add -all`, `git commit` and `git format-patch master` after editing gnome.scm for gnome-characters and gnome-font-viewer.
<leoprikler>git add -a is evil
<raghavgururajan>nckx Just saw your reviews. For other patches, I also makes changes and send as v2.
<raghavgururajan>leopprikler Oh. What should I be doing?
<raghavgururajan>* leoprikler
<leoprikler>Perhaps git add gnu
<raghavgururajan>That would still add older changes right? I mean the resulting patch file contains previous changes/commits as well?
<leoprikler>No, it includes the patch file itself
<raghavgururajan>AH I get it now.
<nckx>raghavgururajan: I forgot to mention it in my mail, but be sure to run ‘guix lint <package[s]>’ before sending your final mail. It would have caught the missing license:.
<leoprikler>gjs was a mistake.
<raghavgururajan>nckx Okay
<raghavgururajan>leoprikler Why is that? It is a required dependency.
<leoprikler>Mostly because Javascript itself was a mistake.
<leoprikler>But now specifically because I can't get gnome-characters to run regardless of what I do.
<leoprikler>(Note: That is `run', not `build'. A package that merely builds is not useful.)
<raghavgururajan>Hmm. I ran fine on my system.
<nckx>Your daily depressing reminder that JavaScript was going to be a Scheme but marketing wanted Java in the name.
<raghavgururajan>nckx How do I use `guix lint` for the file 'package.scm'?
<leoprikler>`guix lint <package>`
<leoprikler>e.g. `guix lint gnome-characters`
<raghavgururajan>But I get "guix lint: error: gnome-contacts: unknown package"
<smithras>quick question, if a project has a git repo and release tarballs, is url-fetch or git-fetch the preferred method for fetching the source?
<leoprikler>perhaps with ./pre-inst-env ?
<atw>smithras: url-fetch would be preferred in that case I think
<nckx>raghavgururajan: ./pre-inst-env guix lint <package[s]>
<atw>there's something in the manual about "prefer what upstream calls a release if possible"
<raghavgururajan>nckx Ah! I'll try that now,
<nckx>The whole point is that you lint your final package in its final .scm home, so there shouldn't be a need to point it to a custom .scm file.
<atw>at least, for contributed packages :)
<smithras>atw: thanks!
<nckx>smithras: Tarballs, unless there's a reason not to 😉 (This can be the most popular ‘the release ‘‘‘‘‘‘tarball’’’’’’ is just a crappy github /archive/ link with no QA that changes in place’-reason).
<atw>^ good note about m$ github
<nckx>smithras: A git origin with a comment ‘the release tarball is actually broken in X way so we…’ is fine though.
<nckx>atw: 😊
<atw>"[vcs-based packages] should remain exceptional, because it is up to upstream developers to clarify what the stable release is." --
<nckx>Yeah. While git origins aren't frowned upon per se, using some random commit *you* chose (instead of an upsream ‘v1.0’ tag or blessed commit) is.
<nckx>Again, a comment with ‘The upstream v1.0 tag is vulnerable to CVE-XXX and they refuse to cut a new release’ will turn that frown upside down so just follow common sense.
*nckx goes to poke the fire.
<leoprikler>but wouldn't in that case a patch against the CVE be preferrable?
<smithras>nckx atw thanks for the clarifying info!
<nckx>leoprikler: Depends. If the release was an official tarball, plz. If it was a git commit to begin with? Eh, pushing just that one patch to the Guix repo feels a bit weird to me, but it's not wrong.
<raghavgururajan>nckx all the packages I mentioned under native-inputs are referenced by guix gc. Should I move all of them to inputs?
<nckx>raghavgururajan: Hm, I remember glib:bin being in there, which is almost always a native input.
<nckx>Let me see.
<raghavgururajan>you are right
<raghavgururajan>it is not referenced in guix gc. not as glib:bin but I see lot of ...glib...
<nckx>(It would be printed as /gnu/store/…-glib-$version-bin)
<raghavgururajan>I see. It is not there.
<raghavgururajan>Intresting thing is. After doing `guix package --install-from-file=gnome-contacts.scm` followed by `guix gc`. The gnome-contacts still runs.
<nckx>If glib:bin were referred to, it would be suspicious and probably unintentional.
<nckx>raghavgururajan: That's because you installed it, and your profile is a GC root. If you'd simply ‘guix build gnome-contacts’ and then ran it with /gnu/store/…/bin/gnome-contacts, then ran ‘guix gc’, it would probably be gone.
*nckx is waiting for gnome-contacts to build again because they had done just that 🙂
<raghavgururajan>nckx I see.
<lispmacs>okay, I'm running pure guix on my main desktop PC. I'm all in now
<lispmacs>well, I've got to convert the work desktop also but that is mainly a problem of finding the time to do a migration
<lispmacs>i spent an hour trying to figure out why I couldn't mount usb drives in Gnome
<lispmacs>only to realize I had forgot to plug the USB hub in
<nckx>lispmacs: Woohoo!
<nckx>Welcome to the coolest club in the world.
<nckx>raghavgururajan: For one, both docbooks are not in the references (as they shouldn't be), so they are also native.
<lispmacs>nckx: thanks
<nckx>raghavgururajan: Same for gettext, vala, pkg-config (another one of those should-always-be-native classics), gobject-introspection, and libxslt. gst-plugins-base is suspicious: does it need to be propagated? native doesn't make much sense to me.
<nckx>raghavgururajan: So ‘all the packages I mentioned under native-inputs are referenced by guix gc’ is quite false. How did you check? I did ‘guix gc --references `guix build gnome-contacts`’ and grepped it for each native-input (modulo false negatives caused by :outputs).
<raghavgururajan>nckx I have sent the revised patch.
<raghavgururajan>Things listed as propagated are required as is. With out them , gnome-contacts will not run.
<nckx>Hmm, I wonder whether cheese should propagate gst-plugins-base instead of including it here.
<raghavgururajan>Btw, I have not declared gst-plugibs-base as propagated.
<nckx>raghavgururajan: gst-plugins-base *isn't* propagated, though. And it usually is, when it's needed. Also, the error message you get when you remove it is ‘cheese not found’ which smells like a missing .pc Requirement on cheese's end.
<nckx>Hence: ‘gst-plugins-base is suspicious: does it need to be propagated? native doesn't make much sense to me.’ 😛
<raghavgururajan>It ran fine on my end without needing to put it as propagated. Could you please try on your end?
<lispmacs>hi, I installed evolution email client (am using Gnome desktop) but when I try to create an email account I get error "The name org.gnome.evolution.dataserver.Sources5 was not provided by any .service files"
<nckx>raghavgururajan: Your V2 patch first removes the V1 patch, then adds the V2 package. That's not really how it's done. Also, I see you're still using NAME in the URI. And the ‘dockbook’ typo is still there. And docbook-* should not be propagated as I noted above.
<nckx>raghavgururajan: This is not about running fine.
<raghavgururajan>lispmacs You need to separately install 'evolution-data-server' either in user or system profile.
<lispmacs>raghavgururajan: ok, thanks!
<raghavgururajan>nckx what? I removed name in the uri
<smithras>lispmacs: I've gotten the same error using gnome to-do
<nckx>Please read everything I wrote above (I know I write a lot; sorry). Your V2 patch has quite a few inputs that should be native inputs, which is why I wonder if you made a mistake running ‘guix gc --references’, and does not address all points from my e-mail.
<smithras>raghavgururajan: shouldn't it be a propagated input then?
<nckx>raghavgururajan: Then maybe the patch you sent isn't the patch you meant to send.
<raghavgururajan>nckx Oh what I did was ` guix gc --references /gnu/store/*gome-contacts*`
<nckx>raghavgururajan: This <> is your ‘V2’. As you can see it's… not what it should be.
<raghavgururajan>nckx I have attached the correct file. It should start with 0004...
<raghavgururajan>It also has the corrected things.
<nckx>raghavgururajan: That command should still not have printed any of the packages (gettext, vala, pkg-config, gobject-introspection, gst-plugins-base, and libxslt) that I noted above.
<raghavgururajan>nckx It did.
<raghavgururajan>nckx PATCH v2:
<nckx>raghavgururajan: Please actually download the 0004-gnu-Add-gnome-contacts.patch at the bottom of the page I linkd to above and see.
<raghavgururajan>nckx gc ref:
<nckx>OK, that disroot paste is the patch you sent, but it's not what you say it is. Look at the + lines: ‘name’ is still used in the ‘uri’, ‘dockbook’ is still there, …
<raghavgururajan>Sure, I'll check
<nckx>raghavgururajan: That command (with *) lists the references of .drv files, which is all inputs off any kind. You should only run it on one specific /gnu/store/ item, returned by ‘guix build gnome-contacts’.
<nckx>raghavgururajan: That's why ever input is in that list: .drv files are build recipes, so they include native inputs that won't be referred to by the final output.
<raghavgururajan>nckx Did you mean to renove the whole (name ..) block? Because edited uri is like this
<raghavgururajan>+ (uri (string-append "mirror://gnome/sources/gnome-contacts/"
<raghavgururajan>The "name" in that line is now removed.
<nckx>raghavgururajan: name "-" version ".tar.xz"))
<nckx>2 lines down.
<nckx>And dockbook (should be docbook) is still there too.
<raghavgururajan>Okay I did not notice that. I thought used that only on the first line.
<raghavgururajan>Yeah, Sorry, I over-looked at docbook
<raghavgururajan>smithras Yes, it should been declared as propagated input.
<nckx>raghavgururajan: Sorry for being grumpy above. These were the 2 most trivial points of my mail, but seeing them unadressed gives me the impression that I'm not being listened to and I am putting quite a bit of work into grepping inputs & double checking your answers &c.
<raghavgururajan>nckx Sorry, I understand. I actually over-looked by mistake.
<nckx>raghavgururajan: You're right that adding ‘gst-plugins-base’ to native-inputs makes the gnome-contacts build succeed, *and* that ‘gst-plugins-base’ is not a run-time reference of gnome-contacts. I'm not disputing that: I'm saying that it's fishy and there might be a ‘more correct’ solution.
<raghavgururajan>nckx I still facing trouble with guix lint and guix build. I am use to doing --install-from-file=package.scm. But how to do I execute lint and build for a file? ./pre.. did not work.
<raghavgururajan>nckx Sure, I will look into them.
<nckx>raghavgururajan: Don't worry about gst-plugins for now, I'll take a look.
<raghavgururajan>For example, I have the package definitions for the package gnome-contacts as gnome-contacts.scm. But being in that directory and executing 'guix build gnome-contacts.scm' does not work.
<raghavgururajan>I think I am missing something about how guix build works or takes input.
<nckx>raghavgururajan: I've addressed this before, but it probably got lost in the mess 🙂 You should *not* run guix lint on gnome-contacts.scm, then copy & paste gnome-contacts into gnome.scm and then send a patch.
<nckx>You *should* move gnome-contacts to gnome.scm, run ‘./pre-inst-env guix lint gnome-contacts’ (it will find it), then send a patch.
<nckx>This is why the V1 patch you sent was broken: it referred to (license gpl2), which worked in your gnome-contacts.scm but not in gnome.scm. But you didn't run ‘guix lint’ on gnome.scm.
<nckx>Does that make sense?
<lispmacs>hi, which package provides the "gio-launch-desktop" process? I need it to view Evolution help manual
<nckx>If not, please try to make it so, it's really quite important.
<nckx>lispmacs: glib:bin.
<raghavgururajan>nckx You meant the gnome.scm inside the cloned git right? I did move contents of gnome-contacts.scm to gnome.scm and tried ‘./pre-inst-env guix lint gnome-contacts’ by being in the dirctory that contains the gnome.scm. But still did not work.
<nckx>raghavgururajan: You need to run it in the top level directory.
<raghavgururajan>nckx I understand the importance of that, thats why I keep reclarifying things.
<nckx>raghavgururajan: For me, that's ~/guix, and my packages are in ~/guix/gnu/packages.
<nckx>raghavgururajan: Clarifying is good, thanks!
<raghavgururajan>nckx I see. For me, ~/git/guix/guix/gnu/packages/gnome.scm ; so I have to run the command inside ~/git/guix/guix correct ??
<nckx>raghavgururajan: Yep.
<raghavgururajan>Awesome! So it is same for guix build then??
<nckx>(Please lint and build things right before you send them as a patch, ‘this doesn't even build‽’ is not the first thing you want a reviewer to think 😉 )
<raghavgururajan>rg@secondary ~/git/guix/guix$ guix lint gnome-contacts
<raghavgururajan>guix lint: error: gnome-contacts: unknown package
<raghavgururajan>Oh wait
<raghavgururajan>rg@secondary ~/git/guix/guix$ ./pre-inst-env guix lint gnome-contacts
<raghavgururajan>bash: ./pre-inst-env: No such file or directory
<raghavgururajan>nckx Am I doing something wrong again?
<atw>raghavgururajan: the pre-inst-env script is probably in ~/git/guix
<nckx>raghavgururajan: Not ‘wrong’. Have you ever built guix before?
<atw>that is, the top level of the guix repo
<nckx>atw: They have packages in ~/git/guix/guix/gnu/packages/gnome.scm
<nckx>they've double-Guixed!
<atw>oh, ignore me, I haven't been keeping up :)
<atw>later #guix!
<raghavgururajan>nckx Never. I only did install-from-file.
<nckx>raghavgururajan: You want to read ‘Building from Git’ in the latest manual you can find.
<nckx>Short summary: ./configure --localstatedir=/var && make -j`nproc`
<nckx>inside: guix environment guix --pure
<nckx>Then leave that environment.
<nckx>You'll find a ./pre-inst-env in ~/guix/guix. Whenever you want to run guix commands using your git checkout instead of the guix you pulled, invoke ‘./pre-inst-env guix …’ instead of ‘guix …’.
<nckx>raghavgururajan: Oh, you'll have to ./bootstrap before configuring. But read the manual, don't trust my memory 🙂
<raghavgururajan>Haha! Okay :-)
<raghavgururajan>Thanks nckx
<raghavgururajan>nckx Btw, do you self-host ZNC or using service provider?
<nckx>raghavgururajan: Self-host.
<nckx>Using Guix System.
<raghavgururajan>nckx I see. Do you know or could recommend good ZNC service provider? There are some listed in But wanted to hear from folks who had experience with any providers.
<nckx>raghavgururajan: The only ‘provider’ I ever used <> have apparently closed.
<raghavgururajan>nckx I see.
<nckx>raghavgururajan: How goes bootstrapping?
<raghavgururajan>nckx Not yet. I am at work now. Have to continue later.
<oriansj>nckx: guix's bootstrap from hex0 is a little bit away (just need to finish mes-m2 and a couple pieces in scheme to replace the remaining binaries from the bootstrap kernel)
<nckx>Oh, OK. I was waiting to tell you about squashing in git, which you'll have to learn in order to generate sane V2 patches.
<nckx>oriansj: That is awesome. Seeing all those recent commits to the bootstrapping branch got me secretly excited, but I had no idea it was this close…
<nckx>oriansj: Do you have a highlight set for ‘bootstrap’? 😃
<oriansj>nckx: yes
<nckx>Well 't is your middle name.
<oriansj>in fact right now one can go from hex0 to M2-Planet+ (broken Mes.c)
<oriansj>no external binaries required
<oriansj>can implements a cat which is the fastest in the world
<oriansj>(literally it is slowed down by the linux kernel)
<oriansj>(not being able to write data fast enough from disk to memory)
<oriansj>and to build Mes.c
<oriansj>and for those that prefer NASM to my weird bootstrapping languages:
<nckx>oriansj: That mescc-tools.kaem link is getting bookmarked, it's the easily readable yet authoritative overview I didn't know I was missing.
<oriansj>nckx: you get it automatically when you recursively clone stage0
*nckx had got somewhat attached to your weird bootstrapping languages ☹
<oriansj>(which is under linux bootstrap)
<nckx>I'd missed that.
<oriansj>as stage0 doesn't require x86 nor bios, nor microcode, nor operating system nor firmware
<eloyesp>Hi, I'm trying to start with guix, and I have some questions
<eloyesp>I can talk in English and read English documentation, but is there any people that talk Spanish in the community, just in case...
<oriansj>a pure metal bootstrap without a stitch of software anywhere
<eloyesp>On the other hand, I'm testing installing in QEMU and the install is taking a lot of time (6 hours and counting), is that normal?
<oriansj>and nckx I'll be building a posix kernel in M2-Planet to run the linux bootstrap steps to provide another bootstrap path ^_^
<oriansj>eloyesp: if you don't enable substitutes
<eloyesp>oriansj: substitutes? I didn't touch any substitutes option (I've used the graphical install)
<nckx>eloyesp: I think there are a small handful of people who do (used to anyway), but I don't know if they're on IRC. Posting in Spanish to is completely supported, but you'll be limiting your audience. I recommend including an English translation for that reason.
<nckx>The graphical install should enable substitutes by default.
<oriansj>eloyesp: substitutes are what guix calls binary packages; otherwise you will be downloading and building all programs
<oriansj>nckx: but will fall back if the substitute is not available
<nckx>Sure, sure. But you said ‘don't enable’ so that's how I read it.
<nckx>eloyesp: What is your system building now?
<nckx>(A dirty way to find out is ‘echo /tmp/guix-build-*/’.)
<eloyesp>No, it was downloading most of the time (I been reading now, it was downloading substitutes), now it is injecting packages (python now)
<nckx>eloyesp: Injecting = installing?
<nckx>Or building (from source code+?
<nckx>+ = )
<eloyesp>I don't know, in the console it says "Injertando" in spanish :/
<nckx>eloyesp: No problem, I can look that up in the translation files 🙂
<nckx>Interesting. It means grafting.
<nckx>eloyesp: It's completely normal, as is lots of downloads, so it sounds like your Guix is configured correctly and your VM is just slow.
<eloyesp>I don't know that verb, what does that means?
<nckx>Grafting (injer…) is 100% disc & memory reading & writing, maybe that's slow on your VM.
<nckx>eloyesp: It's quite technical and specific to Guix's functional model. Read it as ‘applying security updates by reading and writing to disc a lot’ 🙂
<nckx>Actually, I guess the string scanning code could be slow on very slow CPUs but I've never seen that be the bottleneck.
<eloyesp>ok, it is a virtual machine on an old notebook, so it makes sense that could be slow if try to use a lot of CPU..
<nckx>eloyesp: And a rotating HDD, which I still suspect is the bottleneck.
<nckx>eloyesp: The good news is that grafting is always the last step, so chances are high that you're almost finished.
<eloyesp>nckx: Ok, then I think it was an interesting test, my main computer doesn't have a SSD eighter, so it might be a painful point (I were testing before I do the switch from trisquel on my home PC)
<eloyesp>nckx: thanks!
<nckx>Guix is far from optimised for HDDs (even booting is slow compared to other common distributions), but I used one for years and am still here.