<OriansJ>This can be done for any package you want; it makes it trivial to experiment locally before creating patches or pull requests
*dongcarl is excited about his first guix package!
<OriansJ>dongcarl: for example, you could very easily take the current guix package definition for bitcoin-core and simply modify it and publish and all guix users would be able to download that definition and build it.
<OriansJ>It makes creating new packages and updating packages very easy for everyone
<dongcarl>Nice! A lot like the AUR but much nicer!
<vagrantc>oh, didn't know about that way of creating ad-hoc package definitions
<eubarbosa>Thats really sweet! Up to channeling Pandoc hehe
<OriansJ>vagrantc: it is a way of giving users power and the ability to get their hands dirty in a way that solves their personal problems while giving them something they can contribute back to the community
<dongcarl>Once I've got a working definition, how do I contribute it upstream? Also, can I just build bitcoin-core now and it will know to use the working one?
<dongcarl>I think I got the definition working with a 1 line change haha, there was already a list of flaky tests, just added it to that
<vagrantc>OriansJ: sure! just didn't know that specific mechanism before
<vagrantc>i first tried GUIX_PACKAGE_PATH and dropping files in there ... then i just started using a local git repositorying and "guix pull --url=/path/to/local/git --commit=..." ... and lately i've been "building from git" from the manual ... but that had some weird issues too.
<OriansJ>dongcarl: once you have the definition done, you can install it using guix package
<dongcarl>OriansJ: Cool! It built successfully :-)
<OriansJ>dongcarl: now guix package -f filename.scm
<OriansJ>replacing the name with the one of your file with your definition.
<OriansJ>But effectively it is a temp environment for experimentation or development
<dongcarl>Could I build (but not install) bitcoin-core and specify to use my file for the mariadb dependency?
<OriansJ>for example you need a bunch of programs to build debian's jack https://github.com/jack-cli-cd-ripper/jack and there isn't a package definition in guix (there isn't) and you wanted a way to figure out the dependencies for building jack the cd ripper; --ad-hoc makes it rather easy
<OriansJ>dongcarl: fyi all guix commands have a --help option
<serichsen>If I find that I need to build a custom kernel, how would I go about that? I found linux.scm in the guix/packages directory, which defines linux-libre packages. I'd add a personal channel to make a modified version, but what parts do I actually need from there?
<mange>dongcarl: You can use --with-input to replace a dependency. Load a file that defines a different mariadb version (with -L) and call it something like my-mariadb, then use --with-input=mariadb=my-mariadb.
<mange>Ah, right. -L has to be a dir, not a single file. If you put http://paste.debian.net/1061652/ ./my-mariadb/my-mariadb.scm then run "guix build -L my-mariadb --with-inputs=mariadb=my-mariadb bitcoin-core" then it should start building.
<mange>Although, actually, you need to change the source URL.
<dongcarl>Yup I did something similar and it started working!
<mange>It uses name, but I changed the name, so it broke that.
<dongcarl>I think with all the changes I'll have to make I might just start a bitcoin guix channel for my own package definitions
<dongcarl>So just to confirm I'm not crazy... A successful `guix build` followed by a successful `guix build --check --no-grafts --keep-failed` means that I most likely have reproducible builds working, correct?
<roptat>sounds good, but it'll give me more work :)
<g_bor>civodul: this seems like it mixes Guix and Guix System stuff more. If this is the direction you set, then it looks good to me. However, this should be accompanied with relevant changes on the website. There were several discussions that revolved around the confusion between Guix and Guix System. WDYT?
<civodul>roptat: heh, for sure! though the actual text is mostly unchanged
<civodul>i thought we'd rather do it before sending things to the TP
<sneek>quiliro, adfeno says: Also, I'm trying to debug this by building IceCat with debug symbols enabled, but Mozilla Firefox's Cargo/RustC build system is giving segmentation fault due to some "invalid memory reference" when compiling a specific file (something like "encoding_c", if I recall).
<quiliro>I have successfully: guix system init bare-bones.scm
<quiliro>but the following command does nothing: guix system reconfigure /etc/config.scm
<ngz>I'm making a package B inheriting from a package A. I want to use new configure flags in B, ignoring any defined in A. Do I need to use `substitute-keyword-arguments' or can I simply write (argumes `(#:configure-flags: ...))?
<quiliro>worked: guix system init bare-bones.scm /mnt
<quiliro>after reboot: guix system reconfigure config.scm
<quiliro>last command gives no output, just command prompt (as root user)