<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>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 🙂 <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. <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 <oriansj>ScaredySquirrel: except, he thought basic error detection was something not needed.... <oriansj>Not exactly the smartest technical decision ever made <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) <nckx>Another relatively recent Intel speculative execution bug, like the better-knows Spectre & Meltdown failures. <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>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...." <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. <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>we created machines to do things that are hard and tedious! <oriansj>nckx: bah, let the machines do the tedious shit ***jonsger1 is now known as jonsger
<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! <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? <zig>re guile 2.9.5: it works. <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>i tried to reboot the system, thinking that it would suffice <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? <ng0>in the code. and in the guile documentation. <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) <ng0>"in the code" means in the sourcecode itself, grep for "define substitute" or what it was <ng0>depending on what you are looking for <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?)) <zig>it is the very same as guix master, except the version number. <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 <zig>GUILE_LOAD_PATH=/home/amirouche/.guix-profile/share/guile/site/2.2 <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. <nckx>I'd even do all 5 operations in 1 remove-unused-things procedure. You can use comments for more detail: ;; Remove unused dependencies. <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]>I tried to run a make check-system, but it fails, because it cannot build python-django-pipeline <nckx>g_bor[m]: python-django-pipeline fails its own test suite. <g_bor[m]>But it does not really look like something that would be safe to ignore <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. <nckx>g_bor[m]: It was literally that easy 🙂 Adding getcwd to PYTHONPATH. <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>That just uses ‘.’ instead of (getcwd), I didn't know that was supported. <nckx>(Still going with getcwd because it's quile clear; I almost missed python-django's ‘.:’) <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>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 4.4.1.0 while upstream is 6.4.0… <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’. <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>When I do `git commit`, it is showing error for "vi". How do I set it to use "nano" instead? <str1ngs>raghavgururajan: just export EDITOR=nano <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>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 <str1ngs>sneek: later tell raghavgururajan. anything prefix with a # will be considered a comment and will not be included in the commit message. <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. <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. <emyles>Is anyone using a local texmf tree on a foreign host? <emyles>wondering how to override TEXMF and TEXMFCNF in .profile/manifest <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! <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. <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. <nckx>Does ‘guix import cpan DateTime’ work for $you? Here it just freezes. <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]>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? <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>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 <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. <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 <nckx>finfin: Running M-x text-scale-adjusts resets to 0, but -, +, and 0 are still caught. <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. <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! <nckx>‘Here, decypher this gibberish for me’. If this is how people feel when learning Guix & Scheme, I sympathise. <str1ngs>ScaredySquirrel: guix install emacs defaults to graphical gtk emacs <smithras>ScaredySquirrel: Is your wifi card supported by linux-libre? <leoprikler>ScaredySquirrel: What exactly do you mean with "Eamcs for gtk+3"? <str1ngs>ScaredySquirrel: network manager should handle that. though odds are your wifi card is not support by libre kernel <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. <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 <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. <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>I have two more patches on the way. gnome-characters and gnome-font-viewer. <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? <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>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>I did `git add -all`, `git commit` and `git format-patch master` after editing gnome.scm for gnome-characters and gnome-font-viewer. <raghavgururajan>nckx Just saw your reviews. For other patches, I also makes changes and send as v2. <raghavgururajan>That would still add older changes right? I mean the resulting patch file contains previous changes/commits as well? <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>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.) <nckx>Your daily depressing reminder that JavaScript was going to be a Scheme but marketing wanted Java in the name. <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? <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" <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 :) <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>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. <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>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 🙂 <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>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. <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>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. <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. <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: 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. <nckx>raghavgururajan: Please actually download the 0004-gnu-Add-gnome-contacts.patch at the bottom of the page I linkd to above and see. <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, … <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 <nckx>raghavgururajan: name "-" version ".tar.xz")) <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. <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. <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. <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. <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. <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>(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$ ./pre-inst-env guix lint gnome-contacts <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 <atw>oh, ignore me, I haven't been keeping up :) <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 🙂 <nckx>raghavgururajan: Self-host. <raghavgururajan>nckx I see. Do you know or could recommend good ZNC service provider? There are some listed in znc.in. But wanted to hear from folks who had experience with any providers. <nckx>raghavgururajan: How goes bootstrapping? <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’? 😃 <nckx>Well 't is your middle name. <oriansj>in fact right now one can go from hex0 to M2-Planet+ (broken Mes.c) <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) <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. *nckx had got somewhat attached to your weird bootstrapping languages ☹ <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 guix-help@gnu.org 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+? <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) <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.