<peanutbutterandc>Hey everyone; can anyone please give me the correct way to get the sha256 of a GIT repo's commit? I tried (sha256 (base32 url_to_commit)) but it didn't work. I am packaging a particular branch of a certain git repository for personal use.
<apteryx>atw: seems all is well, thanks to nckx :-)
<nckx>peanutbutterandc: In Guix proper we use <latest real release || 0.0.0>-<Guix revision>-<truncated git hash>, all taken care of by the (git-version …) helper. Examples abound in gnu/packages/*.scm.
<kts>I was dumb to invoke "guix gc" just to free some 500 mb and satisfy my autism considering / is 70 % free.
<nckx>It doesn't matter what you use privately, it could be 0, 1, 2… or names of your favourite sausages.
<nckx>peanutbutterandc: ‘Guix revision’ is just an increasing integer for sorting purposes, since git hashes don't sort.
<peanutbutterandc>So, it seems that I am supposed to pass dependencies as (input ...). So, do I first skim through `guix package --search=dep` and find all the relevant ones and then add them to my .scm package definition?
<nckx>peanutbutterandc: More or less what you described: find out the guix package name, then add ("that" ,that) to inputs.
***ChanServ sets mode: -o nckx
<peanutbutterandc>nckx, I see. Also, another question: seeing that a guix package can have multiple outputs, it seems I could somehow make a single package of all the branches that I am interested in. However, i seems that, at least in this one example: https://guix.gnu.org/blog/2018/a-packaging-tutorial-for-guix/ (the extended example), the inputs are defined only once. Now, if the branches are using separate extra dependencies, how does things work? Or, could you
<peanutbutterandc>guide me to the relevant section in the manual please? I don't remember seeing anything about this there.
<peanutbutterandc>Another question just out of curiosity: once HURD is done, could a user switch from linux to hurd just so on a GUIXSD machine? Like we switch from real-time kernel to normal kernel currently (or between kernel versions).
<nckx>peanutbutterandc: Last question: that would be the intention (modifying details like ‘initrd-modules’ of course, but even that could be abstracted). You already can switch kernels quite easily. If you define a real-time kernel package variant you can simply add ‘(kernel linux-libre-real-time)’, reconfigure, reboot, and everything will work.
<peanutbutterandc>nckx, I see. Guix-SD will start shipping HURD versions like Debian/HURD, before a stable release of HURD, I presume?
<nckx>peanutbutterandc: First question: Outputs are only that, separate output directories. They are usually split only during of after the ‘install’ phase, they share the same build environment and inputs. So you'd simply add *all* inputs. However, outputs might not be the answer here. Sounds like what you want is multiple different -branch-foo packages that inherit from master or whatever.
<nckx>peanutbutterandc: I can't say: we don't have a HURD volunteer at the moment. ☹
<nckx>Guix won't start shipping anything, any time, unless that changes.
<peanutbutterandc>nckx, Ah. That certainly sounds a lot more elegant! I'm really new to this: both guix and guile. But I can already see that this is something the average user could really benefit from. I can package my own stuffs and then share with my friends with just a GitHub account, and a bit of guile. This is super cool!
<peanutbutterandc>nckx, I see. I wish I could help. But that would probably be a dozen books/reference-manuals away, at least.
<nckx>In fact, Guix/HURD is broken at the moment. A few people have had a poke at fixing it but I don't think there's been any meaningful movement.
<nckx>peanutbutterandc: I have to go now, but look into (inherit …). It's probably what you want here.
<peanutbutterandc>nckx, I see. Thank you very much for your time and the explanations. I will look into it. (:
<nckx>peanutbutterandc: ‘Average user’: We're still far from that, IMO, too many rough edges, but I share you optimism and thank you for the positive energy 🙂
<nckx>peanutbutterandc: Guix naming conventions would make that package ‘perl-app-packager’, which we can see does not exist. So you need to package it [too]. You can use the output of ‘guix import cpan App::Packager’ inside a (define-public perl-app-packager …) to do so.
<peanutbutterandc>nckx: That made me laugh. It's time to hit the books (reference manuals) then. Again. And maybe then I should submit it upstream, too. Whoa. Things are escalating a little too fast. I will probably be spamming this channel with my n00b questions again.
<peanutbutterandc>What does guix import do, exactly? o.O [I did skim through the reference about this too but didn't quite get it. Maybe I should re-read again.]
<nckx>peanutbutterandc: Sorry to break your flow but I have to leave #guix again. Could you send a bug report with full error output to email@example.com? This should obviously not happen, and the command works here: http://paste.debian.net/1109090/ (so you can at least get started packaging).
<nckx>peanutbutterandc: It queries an supported upstream repository (see --help for a list) and tries to extract as much info as possible for you. The quality of the result varies accordingly. Some repositories specify dependencies well, others don't. Looks like CPAN doesn't have licence info for this package, so it's missing (#f). Etc.
<peanutbutterandc>nckx, Okay! I will first try with a clean container (I'm running guix in alpine-based docker container for now: too n00b to use it on my host already). I haven't `guix pull`ed either, yet; so I'll have to do that too. Thank you for your help, again.
<sneek>kdtsh, nckx says: It's exactly the kind of weird, unreproducible (here anyway) bug that softly whispers ‘corruption’ in one's earhole, so I don't blame you. The only man bug I ever reported is at <http://issues.guix.gnu.org/issue/30785>; probably unrelated but has some nice debugging tips later downthread. If you're interested. Don't blame you if you just want to reïnstall.
<roptat>ok, if it works well, I'll port the change to the manual for the 1.0.1 when I can :)
<leoprikler>quick question: how do I mount NTFS partitions as rw on Guix?
<raghavgururajan>I was wondering if there all packages in master branch are considered stable? That is, if a user periodically runs `guix pull`, `guix system reconfigure` and `guix upgrade`; will the system prone to break?
<leoprikler>raghavgururajan: it should not break, but errors can happen
<jboy>I can't run which anymore either. I did however boot the server from a grml recovery disk, and I'm able to see that the /gnu/store looks intact, with guix in /gnu/store/2170pnw...-guix-1.0.1-9..../bin/guix
<kts>The unavailability of aria2c is inconsequential.
<leoprikler>According to "guix build aria2 --dry-run", it would build "/gnu/store/zsbx19dc0hgkwpr22dp758ydbl1pn2yk-aria2-1.35.0.drv"
<Snai1>hi! i'm trying to configure skeleton files with the config.scm but when `guix system vm config.scm` execute i get "build of /gnu/store/...-skel.drv failed" and i can't find any documentation about
<lprndn>Snai1: What is config-injection? Otherwise the use of skeletons seems to be alright so my guess would be either guix doesn't find the files or a permission problem... :/ (Are ***BASHRC*** and others returning strings?)
<Snai1>lprndn: its a parser that replaces a tag (like ***BASHRC***) with the content of the file bounded with that tag. (the special character like \ and " are automatically escaped before the injection. I did that because I don't like to work with other configuration in the same file.
<lprndn>Snai1:What if you replace ,(plain-file ...) with (local-file "path/to/your/file") ?
<lprndn>(also maybe try with sudo? in case its a permission thing...)
<Snai1>lprndn: no local-file procedure runs only at runtime, i want to keep my configuration in my config.scm without see them basically. that is not a problem of privileges because i already run that as a root
<lprndn>Snai1: Ok, sorry, I don't know. :/ Hope you'll find a solution
<Snai1>lprndn: thank you! (the fact is that everything works if i keep just the bashrc and i3 configurations, the problems appear with the .emacs file)
<roptat>Snai1, when it fails building, it should give you a log location, that you can open with e.g. bzless
<roptat>maybe you'll find more useful information in it?
<Snai1>roptat: you're right i'll check it out, thanks
<brendyyn>So, since there is no support on wayland/sway yet for something like xmodmap, im looking for a way to set my custom xkb layout. i could modify xkeyboard-layouts, but then that would require rebuilding hundreds of packages. setxkbmap would only change the layout for xwayland programs. has anyone done this on Sway?
<brendyyn>i will read the chat log if anyone comments while im offline
<efraim>can you return a list or only a single package?
<dongcarl>peanutbutterandc: I'm trying to understand what you're asking... Do you want to build multiple packages or just one?
<peanutbutterandc>dongcarl, efraim - This is what I currently have: https://paste.debian.net/1109206/ It is an attempt to package `chordpro`; but since it has dependencies that aren't in guix (but in cspan), I have the definitions for the dependencies in there as well
<peanutbutterandc>But running `guix package --install-from-file=chordpro.scm` does not install chordpro
<dongcarl>peanutbutterandc: Ah! You gotta move the "my-chordpro" package to the bottom
<dongcarl>and also... `(define perl-image-info (package ......))` for the dependencies
<peanutbutterandc>dongcarl, Will try that again (I'm pretty sure I tried it already to no avail). Does the file name also have to be my-chordpro.scm? Sorry I don't understand the second part
<peanutbutterandc>Yeah... I'm still getting the same error... even with just `guix build -f FILE.scm`
<dongcarl>peanutbutterandc: Not sure about that error sorry :-( If you could upload full logs maybe someone will know
<peanutbutterandc>dongcarl, Could you perhaps please try running the build on your guix and seeing if the error persists? That would mean something is wrong with the definitions and I'll have to try and work it out..
<peanutbutterandc>Also, it just failed... silently, apart from the message above. Without giving me the location for the logs...
<dongcarl>peanutbutterandc: take a look at "perl-image-info"