<str1ngs>hello, is there a kernel module package declaration someone is aware of I can use as an example or snarf from?
<str1ngs>oh linux-module-build-system is a thing \o/
<dissoc3>is there an example on how to download an additional file when writing a package?
<dissoc3>is that something i would do with guile? or does guix have something for that?
<jgart[m]><dissoc3 "is there an example on how to do"> what type of file are you trying to download when writing a file?
<dissoc3>well im trying to write a guix package for navit by using nix package as a template. i got the package to build but it fails to run and im not sure if it's because i dont have a sample map, which the nix package has
<jgart[m]>I think it's good to understand and study nix. It helped me understand guix better. Might not be useful for everyone to study/learn both
***catonano_ is now known as catonano
<rekahsoft>Hi all, I as working on setting up a channel for packages I haven't yet contributed upstream and ran into an issue.
<rekahsoft>I have a orphan branch called 'keyring' with my public key, but when I run 'guix pull' using my channel I end up with an error like "guix pull: error: could not authenticate commit ...: key .... is missing"
<rekahsoft>However, when I use the public key directly from my 'keyring' branch, I can validate the signed commit 'guix pull' is complaining about
<rekahsoft>I think it has to do with the fact that have a signing subkey. Any ideas?
<fnstudio>hi, guix on alien distro here, is there a standard/recommended way for using a guix application in a cron script? by default crontab is unaware of any guix path so i suppose it's a matter of fixing that; any standard way of doing it?
<fnstudio>eg shall i just source my user's `.bash_profile` as part of the crontab command?
<rekado_>fnstudio: Guix will be installed per user in ~/.config/guix/current/bin/guix
<wehlutyk>1) `git verify-commit (git log --format=%H -- build-aux/git-authenticate.scm)` returns with an error, possibly because I don't have key 39B33C8D94480D2DDCC2A4988B44A0CDC7B956F2 (there seems to be one commit signed by it, the only one where it's not only Ludovic)
<wehlutyk>2) `make authenticate` returns `make: *** No rule to make target 'authenticate'. Stop.`
<NieDzejkob>matijja: Hi, am I understanding correctly that you're creating a package? Could you paste it somewhere? What do you mean by doesn't detect, exactly? What's the output of tree `guix build your-package`?
<NieDzejkob>If you can demonstrate the exact problem by copy-pasting some output from your terminal, that would be great!
<lfam>alextee[m]: The first thing to consider when updating a package like meson is, how many packages will need to be rebuilt if we change meson. Normally, one could use `guix refresh --list-dependent meson`, but since meson is primarily used via the meson-build-system, you instead can count the occurences of the string "meson-build-system" in the 'gnu/packages' folder
<wehlutyk>dear guix, `guix install rust:cargo` gives me access to the cargo binary, but if I put "rust" and "rust:cargo" in my config file, I only get rustc and not cargo. What could I be missing?
<lfam>alextee[m]: Have you ever done any Guix packaging? Just wondering how much detail to give when walking you through this
<lfam>Poking around in the file where the meson package is defined, gnu/packages/build-tools.scm, I see that there is a meson package, and also a meson-for-build package. The latter is what gets used by meson-build-system. The two packages are the same except that meson-for-build includes a patch that makes things work when building Guix packages with meson
<lfam>The basic workflow for updating the meson package will be like this: 1) Clone our Git repo. 2) Build Guix from the Git repo. 3) Edit the package definition of meson to use the desired version. 4) Re-build Guix from the Git repo, and then build the new meson package from the Git repo. 5) At this stage, you can try installing the meson package, if you need it for your own use. You should also try building some Guix packages that use the
<lfam>meson-build-system, to make sure that still works. 6) Submit your patch for inclusion in the canonical Guix Git repo. The patch reviewers will take it from there
<wehlutyk>NieDzejkob: yes my system config. Because I'm the only user of my system, and haven't figured out where to put which package (system config or use profile). My main interest in guix was originally reproducible configs, so I tend to put a lot in the system config.scm
<wehlutyk>is there better practice for some reason?
<NieDzejkob>I'd suggest putting it in your user's profile. You can also manage it declaratively with manifests, and this way you can debug/rollback your bootloader separately from your texlive installation ;)
<NieDzejkob>with specifications->manifest, the rust:cargo syntax just works
<alextee[m]>lfam: yeah i know how to write packages and i already have the updated meson for my own use, i want to get it upstream
<alextee[m]>it works on its own, but the meson-build-system also needs changes since it fails to build if you bump the meson version number and idk how the build system stuff works
<wehlutyk>I see I'm misusing specification->package+output actually
<wehlutyk>So just out of curiosity (now that I see I was misusing specification->package+output to target a particular output of a package, in my system config, and that doesn't work), how can one select a particular output with something like specification->package ? (for the (packages ...) definition in a system config)
<matijja>Can guile-build-system make executable program in /bin folder?
<lfam>alextee[m]: Can you share any error messages you get while trying to use the updated meson-build-system? Put them on <https://paste.debian.net> or somewhere like that
<lfam>Or, maybe that patch doesn't apply to the new version of meson?
<alextee[m]>lfam: the current patch that meson-build-system uses doesn't apply to the new version,a nd it's no longer needed
<lfam>I would keep the meson-for-build package, but simply define it as the meson package, without any modifications except for the hidden? property
<lfam>Concretely, that would mean removing the source field from the package definition of meson-for-build
<lfam>Because the package is hidden, you can't do things like `./pre-inst-env guix build --no-grafts meson-for-build`. But you can pass a Scheme expression to `guix build`, like this: ./pre-inst-env guix build --no-grafts -e '(@@ (gnu packages build-tools) meson-for-build)'
<lfam>It's handy for testing your changes to the package without waiting to rebuild the meson-build-system modules
<lfam>Then once you are sure it builds, you can put the meson-build-system to use by rebuilding some packages that use it
<alextee[m]>"On Linux-like systems, meson adds rpath entries to allow running apps in the build tree, and then removes those build-time-only rpath entries when installing. Rpath entries may also come in via LDFLAGS and via .pc files. Meson used to remove those latter rpath entries by accident, but is now more careful."
<alextee[m]>i guess this was what the patch was trying to fix? it's in gnu/packages/meson-for-build-rpath.patch