IRC channel logs


back to list of logs

<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]>dissoc3: you might find this package definition interesting:
<jgart[m]>dissoc3: Did the build log show any warnings or errors?
<dissoc3>there are some compiling warnings
<dissoc3>one sec. think i found a problem
<dissoc3>it's been a while since i've dealt with cmake
<apteryx>str1ngs: wireguard? Although it may have been removed as it's now included out of the box in Linux 5.8.x
<jgart[m]>dissoc3: if you want to download files `url-fetch` procedure from guix/download.scm module might be your best bet.
<str1ngs>apteryx: I found v4l2loopback-linux-module in (gnu packages linux)
<str1ngs>apteryx: linux-module-build-system does most of the work. which is nice. I was going to do it by hand lol
<gunix>has anybody tried running stuff through flatpak? like steam?
<gunix>i am not sure if this question should be part of nonguix or guix. You can install flatpak via guix and you can install slack/steam/spotify via flatpak
<jgart[m]>it's possible to install proprietary software also by installing nix package manager with guix
<gunix>jgart[m]: i am still confused regarding nix and guix. I have no idea which one I want to try out firs
<jgart[m]>I prefer guix. I use nix also though
<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?
<vits-on-guix>sneek: He. Was geht's?
*vits-on-guix ohlala. Sneek added me to fool-list ;P
<vits-on-guix>sneek: botsnack, forgive me for i was fallen.
*vits-on-guix ---/ "works!!!"
<vits-on-guix>sneek: botsnack, will You lend me a botsnack?
<vits-on-guix><fat>Таки выгодно.</fat>
<rekahsoft>Where is the gpg keyring used by guix pull to authenticate commits?
<nly>a macro that returns it's arguments: (my-mac (whatever foo bar)) -> (whatever foo bar)
<nly>how do you do this?
<str1ngs>nly: do you want to use values. like multi return values?
<nly>just return rest in (my-mac . rest)
<vits-on-guix>nly: I wonder if i used modify-service, if my config were worse, or better.
<nly>modify guix service to use other substitutes?
<nly>copy it from str1ngs's config
<vits-on-guix>nly: no, like '(modify-service %base-services)'. wonder if anyone uses this insead of "just copy it over, then edit".
<nly>nobody uses that i think
<vits-on-guix>* aside of newbie-guix, who read the man >:}
<nly>sry, i think i saw str1ngs do that
<vits-on-guix>str1ngs: !? Noooo
<nly>what? are you against canadians?
<nly>just because they played on ice hockey on lake baikal once?
<str1ngs>nly: he probably played for the red army!
<str1ngs>great hockey teams :)
<str1ngs>vits-on-guix: what do you need to do?
<str1ngs>vits-on-guix: with modify-service?
<nly>str1ngs: i've probably confused him, haha
<vits-on-guix>str1ngs: nothing, we just playing around.
<str1ngs>nly: this work for you
<vits-on-guix>str1ngs: seems i over-doed
*vits-on-guix M-x untabify
<str1ngs>nly: => ("hockey" "is" "the" "best")
<str1ngs>nly: make sense to use a list I think
<nly>thanks, this is it
<str1ngs>vits-on-guix: use iota to create ttys :P
<str1ngs>create a list of names and loop over them
<str1ngs>will lower redundancy
<vits-on-guix>str1ngs: ?
<str1ngs>vits-on-guix: make a list of tty names and loop over it
<vits-on-guix>not fold?
<str1ngs>(for-each (lambda (t) (service .....)) '("tty1" "tty2"))
<vits-on-guix>Aren't for-each returns only the last?
*vits-on-guix M-x geiser, why not
<str1ngs>these functions are constructors
<str1ngs>might need map.. sorry
<str1ngs>forgot these are contstructors
<vits-on-guix>but map returns `() ?
<str1ngs>map returns a list of the lambda results
<str1ngs>which you can append
<str1ngs>to your list function
<vits-on-guix>str1ngs: (map (lambda (x) (cons x "hello")) (list "world" "red army" "vodka")) ---> (("world" . "hello") ...
<str1ngs>not the best example
<vits-on-guix>yes, but that tuples?
<str1ngs>cant (cons x "hello") to just x and it will make more sense
<vits-on-guix>Aha. Sorry me, i didn't though about that.
<vits-on-guix>"returns a list of results"
<vits-on-guix>(labda (x) x) --> x.
<vits-on-guix>str1ngs: Thank You, it's not so ugly config now.
<vits-on-guix>Sieh Sie, Guixen.
<brettgilio>Good night Guix :)
<janneke>good night brettgilio
***apteryx_ is now known as apteryx
<str1ngs>sneek: later tell vits-n-guix (service openntpd-service-type) should work as well. I used allow-large-adjustment? #t just to make sure it would adjust.
<bdju>ncmpcpp fails to build. will paste the build log in a sec
<str1ngs>sneek: later tell vits-n-guix. I'm using (service openntpd-service-type) now anyways and it's working well.
<sneek>Got it.
<str1ngs>-lz: command not found looks like it's not calling the compiler or linker properly
<mroh>bdju: this will be fixed with very soon.
<str1ngs>bdju: this looks wrong -L/gnu/store/rykm237xkmq7rl1p0nwass01p090p88x-zlib-1.2.11;-lz
<str1ngs>when it calls libtool
<bdju>mroh: oh, okay
<bdju>str1ngs: like maybe there should be a space before the semicolon?
<bdju>or after the -L... I don't know much about this stuff, but it does look a bit wrong
<str1ngs>bdju: yes see -ltag has a space before. it the argument before -lz
<mroh>bdju: ludo has just pushed it, try again now ;)
<str1ngs>; tells the shell to run the command and then run the nex command. so the next command after ; is -lz
<str1ngs>which is not a real command :)
<str1ngs>bdju: ^
<bdju>yeah, I thought it might be something like that, just wasn't sure if it was a normal command or something compiler-specific
<bdju>mroh: alright, I'll pull and try again
<str1ngs>sneek: later tell nly. can you test nomad on guix system. with a recent guix pull. the version should be 0.2.0-alpha-100-g6a565d3
<sneek>Got it.
<str1ngs>sneek: later tell nly. make sure to test with guix install. I'm trying to replicate a reported issue.
<sneek>Will do.
<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
<rekado_>oh, an application installed by Guix…
<fnstudio>rekado_: yes, correct, an app
<fnstudio>that it's on installed at the system level
<rekado_>then you should do: export GUIX_PROFILE=$HOME/.guix-profile; source $GUIX_PROFILE/etc/profile
<rekado_>that will set all vars you need
<fnstudio>rekado_: brilliant, will try that, thanks!
<g_bor[m]>hello guix!
<janneke>hi g_bor[m]!
***rekado_ is now known as rekado
<zimoun>nckx: you have recently updated org-contrib and it seems that there is an in-place replacement. The current hash from mismatches, I guess. Do I miss something?
***bkv is now known as bqv
<mothacehe>Hello! A blog post on how to host a blog with Guix:
<efraim>does the mercurial test suite actually take forever?
<jsoo>efraim: I think I remember the answer is yes. It's been a long time since I built it though
<jsoo>Do we have a cross-compiler toolchain for gcc? Something like gcc-10-aarch64-linux-gnu in Debian?
<bandali>mothacehe, nice blog post!
<jsoo>mothacehe: do you have a Fred for your blog?
<bandali>going by Haunt's defaults, it'd be
<jsoo>Nice! Thanks bandali
<bandali>jsoo, cheers :-)
<bdju>I've had a program crashed 10+ times now without a core dump being made. I wish I knew how this stuff worked. I'm never gonna get this figured out at this rate
<rain1>;can run it with gdb?
<bdju>I ran some ulimit thing before and it still didn't make a file when it segfaulted later. is that a temporary thing per-shell? do I have to do it in the shell I launched it from?
<bdju>oh, that's another thing, I didn't have gdb. did I need that? I just installed it after seeing it mentioned on the arch wiki
<bdju>how do I run something with gdb?
<HEX0>do you guys happen to know if Radeon vega and navi are useable without firmware?
<bdju>if I want a core dump for a process that crashes every few hours, do I generate the core file now or later? I've attached with gdb now
<bdju>I'm not sure if it gets updated or if it just dumps current info
<bdju>and if the program segfaults can I still make the file or is it too late?
<bdju>does attaching gdb freeze a program..? suddenly it's unresponsive
<bdju>hm I quit the gdb shell and the program became responsive again. I don't understand what to do
<bavier[m]1>gdb will pause the execution so you can step through
<wehlutyk>hello guix!
<wehlutyk>I decided to start packaging the stuff I'm missing on guixsd, and starting with altermime
<wehlutyk>but, following gives me two problems
<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.`
<wehlutyk>I just cloned guix by the way
<wehlutyk>I'm confused since 'authenticate' of course does appear in the makefile
<wehlutyk>any leads?
<NieDzejkob>You might be looking at out of date documentation. Try `info guix' in your terminal.
<wehlutyk>NieDzejkob: thanks! will do. I have to go now, I'll be back later
<wehlutyk>NieDzejkob: that did it, thanks!
<Han>I'm working on the documentation and found '$ guix install packagename' I wondered if that shouldn't be '$ sudo guix install packagename' Or can you install packages as user with guix?
<rekado>Han: yes, that’s one of the nice features of Guix
<rekado>it’s meant to be a per-user package manager
<rekado>even more: you *cannot* install packages globally simply by using sudo.
<rekado>that would only install “packagename” into the root user’s default profile.
<rekado>bdju: you don’t need gdb to generate a core file
<rekado>bdju: yes, the ulimit thing applies to the current shell session
<Han>rekado, cheers.
<joshuaBPMan>those are some of my notes for guix. It's not super organized, but it's got some useful things.
<zimoun>rekado: Hi! I am working on switching from ghc-pandoc to simply pandoc for the missing packages. But the packages rapicorn fails to build independently of pandoc, see
<zimoun>And I do not have time to debug the failure. So, do I send ghc-pandoc->pandoc for this package even if it is hard to check or do I let it for later?
***daviid is now known as Guest18371
<joshuaBPMan>that's weird.
<joshuaBPMan>guix package -i guile-curl; guile; ,use(curl) -> no code for module curl
<joshuaBPMan>ahhh, because it's based on guile 2.2.7
<joshuaBPMan>I'm on guile 3
<lfam>wehlutyk: If you are more comfortable using the web-based manual, we offer a "current" version of it:
<efraim>I assume getting errors like this while building guix is bad
<lfam>efraim: Does it make sense that you'd be out of memory?
<lfam>I'm surprised that 1885 MiB would not be enough
<efraim>1GB of RAM, 3 of swap
<efraim>free -m says there's more swap available
<efraim>It could be that 1GB is actually too little
<lfam>efraim: I do think that 1GB is not quite enough
<efraim>This is on the decomissioned mips board, with the guix 0.15 release
<efraim>AFAIK debian unofficially dropped support for it with debian 9
<efraim>Same time they demoted powerpc
<dustyweb>I wish I understood setuid
<dustyweb>wait scratch that
<dustyweb>I wish we lived in a world without setuid and ACLs altogether
<dustyweb>but in the meanwhile I wish I could be helpful to the setuid conversation on the list
<dustyweb>I guess it's not so complicated
<dustyweb>just terrifying that this is how posix works
<dustyweb>ok I replied on guix-devel after all ;)
<matijja>Hello Guix!
<matijja>I have tried to install Guile script into %output/bin directory, but guix does't detect it...
<matijja>What am I missing?
<leoprikler>can you paste your package?
<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!
<matijja>Package description:
<alextee[m]>arr someone please update meson !
<matijja>There is main.scm script (with #!/usr/bin/guile), which is copied into %output/bin. But shebang is not modified.
<alextee[m]>it needs some changes for the meson builder (I think there's a patch that's not needed anymore that should be removed)
<alextee[m]>if someone can walk me through updating it i can do it
<matijja>NieDzejkob: Here is build output
<leoprikler>you're missing a guile and perl input
<matijja>Uh, I see now.
<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
<matijja>Thanks for a hint.
<leoprikler>also, given that you're only packaging a guile modules here (and not other software along with it), I'd recommend having a look at guile-build-system
<lfam>alextee[m]: I moved to that directory and did this: ` grep -rI meson-build-system | wc -l`, and it shows 234 occurences. That's okay to be updated on the master branch, according to our guidelines (found here: <>)
<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
<lfam>These steps are detailed in the Contributing section of the Guix manual:
<NieDzejkob>wehlutyk: what config file? The one you pass to reconfigure? If so, why are you installing your compilers system-wide?
<brettgilio>Afternoon, all
<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>NieDzejkob: ah, didn't know that, thanks.
<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 <> 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>Oh, well that's good news
<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]>err, let me try that one sec
<alextee[m]>i should do this on core-updates right?
<lfam>I'm not sure. Only ~230 packages use the meson-build-system, but perhaps one of those packages has many dependents
<lfam>"It would be nice" if `guix refresh` accounted for dependencies via build systems
<lfam>The "how many packages will be rebuilt" cutoff for the master branch is 300, then for the staging branch, it's 1200
<lfam>That's from the Submitting Patches manual section
<lfam>I'm sure someone has some handy Scheme script that can calculate the rebuilds in a case like this...
<alextee[m]>lfam: so when i run guix build -L gnu/packages meson
<alextee[m]>it says guix build: error: libffi-3.3-powerpc-fixes.patch: patch not found
<lfam>I can't find that string in my copy of the Git repo
<alextee[m]>can i build meson and meson-for-build elsewhere to test? or does it have to be in the guix repo?
<lfam>I'm not sure what you mean
<alextee[m]>i'm on core-updates
<lfam>Oh, I'm on the master branch
<lfam>The core-updates branch is not really expected to work, except when we decide to whip it into shape. For several months, it just collects patches
<lfam>Then, we say "It's time!", fix everything, test, and merge it into the master branch
<alextee[m]>ok let me try master
<lfam>And, I recommend using the ./pre-inst-env workflow for testing changes. That's described in the Contributing manual section
<alextee[m]>i can't use that
<alextee[m]>./configure fails
<alextee[m]>checking whether Guile-JSON is available and recent enough... no
<alextee[m]>configure: error: Guile-JSON is missing; please install it.
<alextee[m]>and when i go to install it it says it conflicts with guix
<lfam>It conflicts with Guix?
<alextee[m]>also i cant update my system because it tries to build chromium... i should probably reinstall guix
*alextee[m] sent a long message: < >
<lfam>It's not recommended to install Guix in your profile
<alextee[m]>is it in my profile? i dont remember installing it
<lfam>That's what the last line of that error message means
<alextee[m]>ok removing it. not sure how it got there
<lfam>So, when you configure, make sure you do `./configure --localstatedir=/var`, unless you have a reason not ot
<lfam>not to
<lfam>And you can get the dependencies with `guix environment --pure guix`, and maybe some extra '--ad-hoc foo' arguments
<alextee[m]>ok i did those things and im in the environment and it configured
<alextee[m]>./pre-inst-env guix build meson
<alextee[m]>./pre-inst-env: /home/alex/Documents/git/guix/scripts/guix: /gnu/store/7jp90ba6kdxaky9r8sgjnm9zzb0lcnf1-profile/bin/guile: bad interpreter: No such file or directory
<alextee[m]>./pre-inst-env: line 55: /home/alex/Documents/git/guix/scripts/guix: Success
<alextee[m]>am i doing something wrong?
<lfam>Great, now you can run `make -jN` where N is the number of cores in your CPU
<lfam>It will take a little while the first time
<alextee[m]>oh i need to make too?
<lfam>After that, you'll have the pre-inst-env script
<alextee[m]>hmm there's probably a way to update my system and skip chromium
<alextee[m]>70% btw
<alextee[m]>yay it's building meson!
<alextee[m]>it's done
<alextee[m]>k now i build meson-for-build?
<alextee[m]>./pre-inst-env guix build meson-for-build ?
<alextee[m]>unknown package
<lfam>No, because it's "hidden", you have to trick Guix into building it
<lfam>./pre-inst-env guix build --no-grafts -e '(@@ (gnu packages build-tools) meson-for-build)'
<lfam>The "hidden?" means "Hide it from the user interface, which includes the command-line tools
<lfam>It's only for use within the meson-build-system, and we don't want users to accidentally install it
*alextee[m] sent a long message: < >
<alextee[m]>patching file mesonbuild/
<alextee[m]>Hunk #1 FAILED at 436.
<alextee[m]>1 out of 1 hunk FAILED -- saving rejects to file mesonbuild/
<alextee[m]>i just remove the patch i guess
<alextee[m]>it built now
<alextee[m]>so what's next? i try to build a package with it?
<alextee[m]>successfully built /gnu/store/aakskghvwhwkylxqs6pgq59afyy3pi7l-meson-for-build-0.55.1.drv
<alextee[m]>so far, I changed the version number in "meson" and the base32, and I removed (patches ...) from meson-from-build, and I have meson and meson-for-build ready
<leoprikler>now you try to fit the patch onto the new version probably
<alextee[m]>where is the patch? i remember someone saying it's not necessary anymore
<alextee[m]>oh found it
<alextee[m]>it sounds like the patch is not needed anymore
<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
<leoprikler>perhaps, but you'll have to test that
<alextee[m]>how? im not sure how rpaths work
<alextee[m]>im trying to build a package that uses meson now
<alextee[m]>if it succeeds, i guess it's fine?
<alextee[m]>i'll build gtk
<alextee[m]>and then run gtk3-demo?
<alextee[m]><alextee[m] "how? im not sure how rpaths work"> i'm also not sure how the issue manifested before. was it that packages using meson were failing to build?
<leoprikler>AFAIU you'd have to keep eyes out for some guix warnings w.r.t runpath phases and otherwise testing programs that use it sounds fine
<alextee[m]>ok i'll try to build gtk and zrythm and run them and if they're ok i'll send the patch
<leoprikler>if I'm not mistaken meson-build-system is big enough for c-u, so you should get a lot of testing "for free" before it's actually rolled out globally
<alextee[m]>oh i see guix doesn't use meson to build gtk..
<alextee[m]>well, it's building mesa now using meson, but im not sure if this is the new meson or my system's meson
<alextee[m]>leoprikler: what's "c-u" ?
<alextee[m]>im on master now. core-updates errored out on me
<leoprikler>that should not be a problem assuming the meson package has not yet been changed on c-u
<alextee[m]>yeah it hasn't, cool
<alextee[m]>well i told it to build zrythm and now it looks like it's gonna build a lot of derivations (even inkscape? wtf)
<leoprikler>that's because you changed meson for all builds
<alextee[m]>are my builds now using the new meson? leoprikler:
<leoprikler>so yeah, it'll rebuild a lot
<alextee[m]>oh that's great, so lots of testing!
<alextee[m]>if zrythm succeeds we can call it a day, lots of dependencies already use meson. mesa succeeded now