IRC channel logs


back to list of logs

<lfam>I'm wondering, do we have a package that offers something like Notepad (Windows) or TextEdit (macOS)? Just a simple text editor with a GUI?
<cbaines>jab, it's not meant to be code, just data. I think this is a relevant document for the format
<dstolfa>lfam: geany maybe?
<jab>cbaines: if you don't mind...I'll post an example configuration to the guix devel message list in reply to your email...I'll put in a code snippet of how to set it up. Is that ok?
<cbaines>jab, fine by me
<cbaines>I'm hoping to move towards having as a default substitute server, which should mean there's no faff, at least for future people
<lfam>Geany is more of an IDE than an editor
<jab>If you'd like me to I'd be happy to send you a patch for the website at that also includes that snippet on the front page. :)
<dstolfa>true, but i couldn't think of anything else :(
*lfam goes through text-editors.scm
<cbaines>jab, sure, that's fine as well
<cbaines>I'm glad someone has read the email (and is interested) at least :)
<lfam>Maybe leafpad is the one
<cbaines>lfam, did you get anywhere with guile 3.0.7?
<jonsger>lfam: +1 for the pre-master push CI from canonical :)
<jab>cbaines: totally! I'm like a super fan boy of the build cordinator! I'm getting a tatoo and everything!
<lfam>cbaines: I got it to build, after retrying it in a loop
<lfam>Well, the problem with leafpad is that the project seems to be done
<lfam>It is nice and simple though
<cbaines>lfam, OK :)
<jab>cbaines: how is set up? It it a plain html file? guile code? Can you send me a link to the souce code?
<dstolfa>lfam: seems like mousepad is some kind of continuation for it?
<cbaines>jab, the landing page is this file
<pkill9>lfam: leafpad
<pkill9>it's basically a clone of notepad
<pkill9>you just mentioend it
<lfam>It's exactly what I want pkill9. I'm hoping there is also an active project to continue development as GTK develops
<lfam>Sounds like mousepad is an option, and I also found this:
<jra>I have a single-file project that I can "guix build --file=ring_c.scm" and "guix package --install-from-file=ring_c.scm" (thanks to roptat!), but I cannot "guix build -L . ring_c". I get "guix build: error: ring_c: unknown package". What do I need to do to get that working?
<lfam>It sounds like the package is called something besides ring_c
<jra>In my rinc_c.scm I have (package (name "ring_c") ...) Should that do it?
<lfam>Hm, is the package variable also called ring_c?
<lfam>(I'm not so familiar with `guix build -L`)
<jra>I don't seem to have a package variable in there. I'll look that up and see if I can figure that out. Does it just go in at the same level as name, version, source ... ?
<jab>thanks cbaines!
<yoctocell>jra: you might need (define-public ring_c (package ...))
<lfam>jra: It's like (define-public ring_c (package (name "ring_c")))
<lfam>And all the rest of the package definition
<iskarian>Can anyone chime in on whether these packages build for you (ideally, on x86-64): macs, r-affy, r-rstan
<jra>lfam: ok. I'll make it look more like the real packages that have define-public. Will that help me to pack it too? Even though I was albe to build and install, I couldn't pack it.
<lfam>What does it mean to "pack it"?
<jra>lfam: like "guix pack -RR ... ring_c" for building relocatable software packs: tarballs, squashfs, docker. I just want the tarball style.
<lfam>Yeah, probably
<lfam>I don't really know but I'd try that
<jra>cool ... working on it
<lfam>Does anyone else have a problem where packages based on GTK 3 take a loooong time to start? Like, up to a minute?
<lfam>This started happening to me a couple months ago
***niko is now known as o
<dstolfa>lfam: yes, i had it happen today but only after a really weird wayland freeze
<lfam>I'm not using Wayland. It's X, using Guix on Debian
<dstolfa>wayland did some kind of weird freeze-up for me (mouse and keyboard stopped responding). after going to a different tty and back, only the keyboard was responding and some applications (i think it was only gtk3) took a literal minute to start, but anything else was responsive
<lfam>This isn't hanging the system
<lfam>It just takes a very long time for applications to start
<dstolfa>yeah, for me it was some weird crash. apart from that it's all responsive
<dstolfa>i blame suspending like 10 times in 5 minutes...
<lfam>I filed a bug
<lfam>Interesting that it used to work...\
<lfam>This is very similar, since I'm also using i3:
<lfam>I followed the advice from the Arch thread to their wiki page on xinitrc
<lfam>There, it says "Note: At the very least, ensure that the last if block in /etc/X11/xinit/xinitrc is present in your ~/.xinitrc file to ensure that the scripts in /etc/X11/xinit/xinitrc.d are sourced."
<lfam>So, I did that, and now things are starting up quickly
<lfam>It's weird that my xinitrc stopped working well after years
<lfam>But, at least I don't have to wait 25 seconds to start gnome-calculator, which was really cramping my style
<jra>roptat, lfam, yoctocell: Thanks! It is working! I was able to pack an MPI example, on my Guix system an run it on a non-Guix HPC system.
<ixmpp>mbakke: hey, i copied your systemd.scm to my repo, what do i do about the copyright etc?
<drakonis>remember when i mentioned that xiden was racket's guix? looks like that's a fact now
<drakonis> its pining for the crown now
<drakonis>my bad
<drakonis>hmm, i grafted the wrong thing and now my install is kind of highly borked
<drakonis>It is now throughly fucked
<drakonis>Damn it
<Guest8345>Hello Im new to guix and have a question, often when removing packages it downloads more packages, I'm guessing because the dependencies are 'tangled'? Is there any way to prevent such downloading?
<civodul>Hello Guix!
<mroh>Hey civodul!
<efraim>hello everyone!
<abcdw>Morning Guix!
<munksgaard>Good morning :)
<civodul>there's this polkit issue that didn't look great and is easily patched, so i posted a patch:
<munksgaard>I'm trying to set up a dev environment for guix, following the guide here:, but when trying to execute `./pre-inst-env guix build hello`, I get the error `./pre-inst-env: line 55: exec: guix: cannot execute: Is a directory`
<munksgaard>When trying to use guile i get warnings about "Unbound variable: trivial-format-string?"
<munksgaard>Any idea what's wrong?
<civodul>munksgaard: hi! did you run "./configure" first?
<munksgaard>civodul: Yes, both "./bootstrap" and "./configure"
<civodul>so the file 'scripts/guix' exists, right?
<munksgaard>Inside the repl, `,use(guix)` and `,use(gnu)` didn't work the first time around, but they seem to work now, although I'm getting a _lot_ of warnings about possibly unbound variables
<munksgaard>civodul: Hm, no. There's a 'scripts/' though?
<civodul>did you run "make"?
<munksgaard>I did not run make
<civodul>ah, that's the thing
<civodul>you should run it first
<civodul>it'll build scripts/guix and all the Guile modules
<civodul>perhaps we should clarify that
<jab>morning guix!
<munksgaard>Ah yes, I guess that makes sense. I guess it's my own fault for skipping 16.1 and jumping straight to 16.2
<munksgaard>Alright, I made a clean checkout and am now trying to build it properly. Thanks for helping out civodul :)
<civodul>munksgaard: yw!
<civodul>hi jab
<jab>hey Ludo! By the way, I'm jab now...not joshuaBPMan
<jab>or rather hello civodul
<civodul>oh got it
<apapsch>Hi guix! I hacked on the mysql service to make the datadir configurable and have it start after file systems are mounted: Though the mysql activation still runs before /mnt/data is mounted, even though shepherd graph seems good:
<civodul>it's funny, this IRC switch came with several nick changes
<apapsch>what could I be missing?
<civodul>apapsch: hi! activation runs before PID 1 is started
<civodul>so perhaps the bit that fiddles with datadir should be moved to the service's 'start' procedure
<civodul>or to a one-shot setup service that the main service would depend on
<apapsch>civodul: thanks! I'll go with the one shot service. Would you accept these changes as a patch?
<munksgaard>I'm getting quite a few failing tests when running `make check`
<efraim>oh man, I don't know how I'm going to upstream julia-documenter
<civodul>apapsch: i'm no mysql expert, but it makes sense to me, so yes, prolly!
<civodul>munksgaard: could you check the corresponding .log files to see if it's something wrong with the setup?
<munksgaard>civodul: I will, as soon as the tests have finished :)
<munksgaard>I'm assuming/hoping that it's okay to run them with -j, 'cause it was taking a long time without.
<civodul>munksgaard: it's "mostly OK"; occasionally i see tests stepping in each other toes when doing that
<civodul>should fix it...
<actinium>What window manager/desktop environment do you use with Guix System and why?
<munksgaard>civodul: Here's challenge.log:
<munksgaard>I'm... not sure what it all means.
<civodul>munksgaard: there's "user with UID 497492280 not found" and "getpw: entry not found", which suggests that this UID lacks an entry in /etc/passwd
<civodul>so something "weird" with the environment
<civodul>is this in a container or something?
<efraim>actinium: enlightenment/wayland, I'm used to enlightenment and I have that weird UI slowdown in X that doesn't go away when I have heavy CPU or IO load
<munksgaard>No, but it is on a weird server that I do not have full control over. My user resides on another server somewhere, and I log in to this server through a proxy. I get the UID error everytime I try to execute a guix command, but it hasn't caused any problems so far.
<emestee>civodul: uh i remember someone mentioning this exact issue about a week ago
<civodul>munksgaard, emestee: oh, interesting!
<civodul>i wonder what the deal is with this setup
<civodul>if it's "common", we should make it non-fatal
<munksgaard>I have a home directory and even root access through sudo, but yeah, the UID (or my username) doesn't appear in /etc/passwd
***betelgeuse01 is now known as betelgeuse
*dstolfa *finally* booked his jabs
<raghavgururajan>Hello Guix!
<apapsch>guix gc: freed 44,132.64821 MiBs
<apapsch>oh yeah :-)
<tricon>That moment when you ambitiously kill buffers...
<mbakke>guix-assisted bisecting is incredibly powerful :)
<mbakke>I should write a blog post about it
<mbakke>I wonder how to get rid of the shell script wrapper at the bottom of this bisecting script though:
<efraim>mbakke: bisecting using time-machine? I've done it before with 'guix build -f guix.scm' to find the breaking commit in a different project. Really great tool
<mbakke>efraim: in this example I'm bisecting SQLite, on a fixed guix revision
<efraim>also you're disabling tcl in sqlite but adding it as a native-input
<mbakke>efraim: yes, because it's needed to create the sqlite 'amalgamation'; and otherwise it will try to install stuff to the tcl output
<mbakke>probably I should upstream that 'describe-checkout' procedure
<muradm>mbakke: may be use shebang? #!/usr/bin/env -S guix repl -- !# (do-something-in-guile)
<muradm>don't remember exact syntax now, there is in gnu manual
<efraim>I know the guix-build script returns undefined, 'guix build -f bisect.scm' should return an integer (I think)
<raghavgururajan>mbakke: o/ Shall I make a commit to disable the openssl support in glib-net or is it fine for now?
<mbakke>muradm: that will work, but I'm not sure how to handle build failures, and 'grep' the build outputs
<mbakke>raghavgururajan: I don't know :-)
<muradm>mbakke: guile manual, see posix processes and pipe related examples, realy easy
<muradm>on the other hand you don't have to do processes, you are already in guile, just use variables and (display ..) (newline) may be
<zap>mbakke: do you mean you want to run the actual build from the scheme itself?
<zap>mbakke: if so I can send you a snippet
<mbakke>zap: yes, I'd like the script to return 125 if %test fails to build, otherwise return 1 or 0 based on its content
<mbakke>ooh :)
<muradm>mbakke: also you may check guix/scripts/build.scm, that will be enlighting for replacing "guix build -f build.scm"
<raghavgururajan>mbakke: Cool! Since GnuTLS is preferred over OpenSSL, in Guix, I'll make a commit to partially revert a1dd57ce83de42b115392816606e810d13864e41.
<zap>mbakke: I got stuck at gexp->script thingie
<zap>* ignore 2
<zap>this supposed to be working but I think Im missing something here cause I did this only with gexp->derivation previously
<zap>mbakke: this supposed to return you a script in /gnu/store, building occurs at (built-dervations (list drv))
<mbakke>zap: thanks, looks to do what I need! will try it out :-)
<zap>mbakke: It doesn't work tho :) I'm trying to understand why
<mbakke>zap: it works if you remove the local-file indirection of %test, i.e. (define %test $~(begin ...))
<mbakke>eh, s/local-file/computed-file/
<zap>mbakke: Yeah thats what i meant. It works for you?? strange... I get an error
<zap>it's also possible to eval anything in store straightaway with primitive-load like
<ixmpp>> zap wrote:
<ixmpp>Wow, ive been trying to work out the correct incantation for this for ages, finally!
<ixmpp>Thanks zap
<katco>in `operating-system`, is there a way to define a system service that is just a shell script?
<zap>ixmpp: did you run it? cause it works for me only if I replace gexp->script with gexp->derivation, which of course returns the derivation output (if any) but not the script to run.
<zap>ixmpp: Yeah it took me ages too btw :)
<ixmpp>zap: Thats probably cause script is a script not a buildable thing right?
<ixmpp>katco: Cant you just `invoke` it?
<mbakke>zap: gexp->derivation is what I want in this case
<mbakke>I'm having trouble catching exceptions from the store though
<ixmpp>(me too)
<zap>((me too))
<katco>ixmpp: i'm not sure? `operating-system` has a `services` field which expects service types. how would `invoke` fit into that?
<ixmpp>Oh. Here, one second
<ixmpp>Simple-service, thats it :)
<katco>ah yes! that's exactly the kind of thing i'm wanting to do. thank you!
<zap>ixmpp> cause script is a script not a buildable thing right?
<zap>well I thought that gexp->derivation and gexp->script are both monadic procedures that return derivations.
<zap>But gexp->srcipt is a derivation that outputs a script to run and collects all modules and makes them available to the script.
<ixmpp>zap: Right you are
<ixmpp>No idea :D
<ixmpp>Guix works in mysterious ways
<mbakke>zap, ixmpp: an updated version, that can be invoked directly with 'git bisect run ./bisect.scm':
<zap>mbakke: cool!
<ixmpp>Nice :D
<ixmpp>I'll hope that it being in my logs is enough posterity for me
<zap>BTW guix. What is the policy on adding packages like python modules? Does guix need no-so-popular python libraries that are not dependencies of larger more useful programs?
<rekado>if you need them and they are free software and you’d like to keep updating them: feel free to add them.
<zap>great :)
<luis-felipe>sneek: later tell lfam Gedit is a simple text editor.
<sneek>Got it.
<zap>I was about too repeat the message before the avalanche
<leoprikler>Speaking about niche python stuff that has only one maintainer, what will happen to Ren'py once we drop Python 2?
<civodul>leoprikler: is Ren'py still maintained?
<civodul>BTW, the synopsis and description of python2-renpy are somewhat unhelpful :-)
<leoprikler>Point taken, but it's not more useful than that :P
<leoprikler>I usually update the package with some delay. It's currently one patch version out of date.
<civodul>so i suppose they'll migrate to Python 3, no?
<civodul>anyway, would be nice to have synopsis/description that explain what it does
<leoprikler>There are plans to completely migrate to Python 3 with Renpy 8, but that's future™
<leoprikler>There is currently some Python 3 compat stuff in there, but last time I checked it wasn't enough to actually build it with Python 3
<rekado>we drop Python 2 *very* slowly
<zap>rekado: just as everyone else :)
*zap just realized that you can replace git-reference url with absolute paths to local checkouts and deploy local dev environment for a project with multiple repositories...
<dstolfa>by the time python2 is dropped fully and python3 is running, a backwards-incompatible python4 will be released
<zap>also on python and alike: there are situations when package fixes certain version of a package as a dependency, like "setproctitle==1.2.2". Guix now has setproctitle@1.1.10. One could be tempted to go and update package in guix but that can potentially brake many other packages
<dstolfa>one could argue that tests could be used to avoid this, but i wonder how many python programs actually have tests...
<zap>Ho do we deal with that given many python- packages don't run tests
<ixmpp>you could do what nix does
<zap>Or even having tests tests are not perfect and update in little package no one uses direcly can break program many people use
<raghavgururajan>Package that use policykit for authentication, do we have to place the package's `.policy` files somewhere?
<leoprikler>No tests? You mean like renpy? :P
<dstolfa>i always avoid installing lang packages from the distro for this very reason
<dstolfa>i let upstream handle this hell, i don't want it near me
<dstolfa>any language installation i have is in a chroot
<civodul>zap: if there are no tests, there's little you can do; you could manually run a couple of tools but that's about it
<leoprikler>Note, that Guix replaces those ==s by >= if they're just annoying :P
<leoprikler>"It compiles, so it must be fine" :)
<zap>the point I'm trying to understand is -- where is a balance between guix-the-distro and guix-the-incomplete-all-languages-packages-vendor
<ixmpp>one annoying thing is that i feel like i won't ever be able to contribute meaningfully to guix or nonguix, because i can't commit to maintaining something forever, or even for the near future
<ixmpp>i was going to suggest adding systemd.scm but then i'd have to maintain it
<leoprikler>I'd like to veto this addition on the grounds, that we can very well add systemd to already existing files
<leoprikler>Other than that, there's not that big of a reason to worry. If at any point you decide to drop your support for some package, it will simply go unmaintained for a while.
*dstolfa wonders if other people find it weird that he talks about C typing as "pointwise" type comparison...
<leoprikler>wine is like that – it's been updated a few times recently by Tobias or me, but it might go a few versions without updates
<ixmpp>well ok, maybe i'll send it in
<ixmpp>leoprikler; which file should it go to
<dstolfa>ixmpp: what are you looking to contribute relating to systemd btw?
<leoprikler>We have elogind in freedesktop.scm and shepherd in admin.scm, so you have room to choose
<leoprikler>freedesktop.scm sounds more reasonable imo
<zap>ixmpp> you could do what nix does
<ixmpp>dstolfa; i'm not. I have a discord package in my channel, and i may contribute it to other channels, but that would mean systemd needs to be in guix
<zap>ixmpp> you could do what nix does
<dstolfa>ixmpp: wait does discord depend on systemd???
<ixmpp>god knows.
<ixmpp>zap; are you asking what nix does?
<dstolfa>i'm so confused, but alright then i guess lol
<zap>ixmpp: yes, I was scrolled up and didn't see that I'm actually sending the message :D
<ixmpp>zap; they ignore anything broken and wait for someone to report/fix it ;)
<civodul>cbaines: re how to use substitutes, you could link to
<zap>ixmpp: okay :)
<dongcarl>Hey all, could someone explain to me how the quoting works here as suggested by Ludo? Why is the ((substitute* ...)) quoted with a single tick?
*dongcarl is still very much a Guile n00b
<mbakke>zap, ixmpp: I updated the script to run the test directly instead of in a derivation:
<dstolfa>dongcarl: from what i can see, it's to avoid actually evaluating the (substitute* ...) part and instead only run it if necessary
<dstolfa>but i didn't look in detail
<dongcarl>Right, but I've never seen this construct before: using a single tick to wrap something that's going to be evaluated... I've always interacted with single ticks when they're a "literal list"
<mbakke>dongcarl: ` is only necessary if you intend to "unsplice" something in the list
<dongcarl>mbakke: In other words: quasiquote is equivalent to quote if you don't have any unquote or unquote-splicing in the supplied DATA, correct? (looking at:
<mbakke>dongcarl: you are constructing a literal list either way, the contents of which end up in the build script
<raghavgururajan>Folks, is it possible to use OR logic inside `find-files`?
<ixmpp>leoprikler; sent in :)
<raghavgururajan>For example, if I want to find files with two different extentions, can I do `(find-files "." "\\.(foo|bar)$")`
<dstolfa>dongcarl: i'm a little bit confused as to what the question is. am i correct to assume that your confusion is why you're quoting the expression rather than just calling substitute?
<dstolfa>the suggestion from ludo seems to be to quote it so that it can only be eval'd when necessary (that is, whenever hurd is the target), allowing you to change the quoted expression without causing any need for rebuilds unless hurd is targeted
<dstolfa>but it sounds like your confusion is with ` and '?
<dstolfa>if the former is your confusion, try something like (eval '(let ((x 1)) (display x)) (interaction-environment)) in the guile REPL
<dstolfa>that's the idea as i understand it
<zap>ixmpp: ha didn't know you can just wrap it with error handling
<ixmpp>mbakke: ^
<zap>ixmpp: oh god I'm messing with irc today, this was for mbakke
<raghavgururajan>nvm about find-files, it worked.
<soheilkhanalipur>I have been facing a definite internet problem in Guix System for a few days now. And this issue is only from my computer! When I connect to internet wirelessly, everything goes well, but after I connect to internet via LAN, internet shuts down after a few minutes
<soheilkhanalipur>(I am in Iran. Network support also said the problem is with my system.
<soheilkhanalipur>I have checked everything and I am sure that the problem is only from my computer)
<dongcarl>dstolfa: Sorry stepped away for a sec, they confusion is with the former, and that was a great explanation... Am I right in assuming that: if the lambda for a stage of the build returns a list, said list will be `eval`d?
<dstolfa>i'm not 100% sure about that, i'm new-ish to guix too, but given that ludo suggests to write it that way i would assume so.
<dongcarl>Got it! :-)
<soheilkhanalipur>Any help!!
<solene>how do you hack on guix services to try them? sudo ./pre-inst-sthg guix system reconfigure ?
<dstolfa>solene: yep!
<solene>dstolfa: thanks
<solene>I want to add support for firewall rules like NixOS does
<zap>solene: there is also guix system vm
<dstolfa>solene: ah nice :D
<dstolfa>soheilkhanalipur: it might help to describe the problem in a bit more detail, namely which driver you're using, your interface parameters (MTU, etc) and compare that to your wlan interface. does it work on something like debian but doesn't on guix, etc
<mbakke>dongcarl: your patch looks wrong, it should be ,@(if ... '((substitute* ...)) '())
<dongcarl>oh right!
<dongcarl>thanks mbakke
<dongcarl>hard to test when not on hurd haha
<mbakke>dongcarl: one trick is to invert those tests ;)
<dongcarl>Ah! Very nice
<soheilkhanalipur><dstolfa "سُـھِـیـل: it might help to desc"> I had no problems until a few days ago, this problem first occurred in an update to the system (update process stopped)
***taylan2 is now known as taylan
<solene>when using /pre-inst-env guix system reconfigure I have an issue because on my system I use an additionnal channel and ./pre-inst-env guix doesn't know about it, I have no idea how to solve that
<zap>soheilkhanalipur: did tyou try `guix system roll-back`? this will reset the system to the state before the upgrade
<dstolfa>solene: another, perhaps easier way to do it is to replace the guix channel with your own local git repository on the filesystem with (url "file:///path/to/guix/repo")
<dstolfa>and then you can do it with that
<dstolfa>or, as someone else mentioned, perhaps ./pre-inst-env guix system vm /path/to/another-config.scm
<dstolfa>(but i haven't tried that personally yet)
<solene>dstolfa: I don't understand how to replace a git channel with a guix repo? :D
<solene>I don't get what you mean
<dstolfa>solene: let me show you how i have it locally
<dstolfa>this is in ~/.config/guix/channels.scm
<dstolfa>you can then do a `guix pull` (it will complain about not being able to authenticate some commits which are yours), and it will tell you how to disable it
<dstolfa>and then you should be able to use it just fine
<solene>dstolfa: but I'm using a remote channel, not a local one
<raghavgururajan>mbakke: Does the following patch look good?
<dstolfa>solene: it should work regardless, just put your url then (as long as it's a git repo) :)
<solene>dstolfa: why wouldn't it work if I use /etC/guix/channels.scm in ~/.config/guix/channels.scm ?
<dstolfa>hmm, i may be misunderstanding what the problem you have is. am i correct to assume that you have a few guix channels that your ./pre-inst-env guix system reconfigure can't find?
<solene>dstolfa: yes, I have one additionnal channel that provide a module, so when I run reconfigure, I have this error: "no code for module (foobar packages openttd)"
<solene>I currently only have a /etc/guix/channels.scm file to access it, I tried to copy the file in ~/.config/guix/ with no success
<solene>it looks like your file, with a bit more information in it
<dstolfa>solene: gotcha, so the way i deal with this is by replacing the savannah guix with another git repository that has guix (my own), and then whenever i run `guix whatever`, it uses guix with my changes, not the one on savannah
<dstolfa>and the way i do it is by making a channel, using that channels.scm file
<chikamungus>Hopefully simple question - if I want to be running bluetoothd, do I just stick (bluetooth-service) in my service list in /etc/config.scm? Everything else seems to be of the form (service frob-service-type)
<solene>dstolfa: that seems rather complicated for such a common use case ^^'
<dstolfa>solene: there may be easier ways to do it, but there are a few other problems i have that require me to do it this way :D
<dstolfa>maybe guix can be pointed to a channels file manually, so you can do it from pre-inst-env
<raghavgururajan>How setuid-programs concept work on foriegn-distros?
<lfam>It doesn't exist at all on foreign distros raghavgururajan
<sneek>Welcome back lfam, you have 1 message!
<sneek>lfam, luis-felipe says: Gedit is a simple text editor.
<lfam>raghavgururajan: On foreign distros you have to use `sudo foo` instead
<sarg>hey, I want to contribute a package, but it has a license which is not in the licenses.scm. Should I just add the license to the list?
<raghavgururajan>lfam: I see. The package I am working on invokes `pkexec`. In pure-env, I get 'pkexec' not found, which is understandable. But if I patch the source to replace `pkexec` with `/run/setuid-programs/pkexec`, then the packahe won't work on foriegn-distros right?
<raghavgururajan>Should I leave the package as-is for not working in pure-env?
<yoctocell>sarg: as long as it is free software it should be okay to add it
<lfam>sarg: If the license is something that may actually be used by multiple packages, you can add it to guix/licenses.scm. Otherwise you can use non-copyleft or fsdg-compatible
<lfam>There's no need to add licenses that are specific to a project. But also no rule against it
<lfam>raghavgururajan: Hm... thinking
<sarg>lfam: it's
<lfam>The program should find pkexec on $PATH
<lfam>Does your package depend on pkexec (or whatever package provides it)?
<raghavgururajan>But '/run/setuid-programs' are not in $PATH inside pure-env right?
<raghavgururajan>Just a sec.
<lfam>I don't know
<lfam>sarg: Seems like this license will appear again. Feel free to add it
<lfam>What provides pkexec?
*lfam googles
<lfam>It's polkit
<lfam>I'm not sure we can make it work in a pure environment. I wonder if there is any guidance or advice about making packages work in a pure environment when they depend on setuid programs
<raghavgururajan>I see.
*jonsger does not understand how cuirass authenticates the actions against the admin API
<apteryx>lfam, raghavgururajan the 'guix environment' only keeps those when in --pure: "HOME" "USER" "LOGNAME" "DISPLAY" "TERM" "TZ" "PAGER"
<apteryx>your setuid-programs would normally appear on PATH
<apteryx>so if you expose PATH with --preserve=PATH, it might do the trick?
<apteryx>raghavgururajan: just checked in a Ubuntu VM: -rwsr-xr-x 1 root root 31032 May 26 07:50 /usr/bin/pkexec; and it's on PATH.
<lfam>It's weird that CI stopped building Mutt:
<lfam>I haven't got a substitute for it in weeks
<lfam>It doesn't even seem to attempt it
<lfam>And `guix weather mutt` confirms. No substitutes available and the build is not queued
<cbaines>lfam, you could try out, I think it has a substitute for mutt
<lfam>It's not too much for me to build it. I'm going to file a bug report about this
<cbaines>on the subject of substitutes, how are you getting on with your oddly named ARM machine?
<lfam>I haven't looked at it in several days. I got busy and also just very tired of trying to make it work
<lfam>I still need to try building the kernel based on Debian's config
<lfam>If that doesn't work I may sell it or pass it on to somebody else
<lfam>It's too much time spent for only 4 cores
<cbaines>ah, right :/
<cbaines>I probably should chase SolidRun about the HoneyComb machine I ordered
<cbaines>the last shipping date I was given was a week or more ago now
<lfam>At least those have enough cores to be worth some effort
<mbakke>lfam: did the aarch64 EFI installer image fail?
<lfam>Do we have an EFI installer image?
<lfam>I mean, for aarch64?
<mbakke>lfam: building gnu/system/install.scm on an aarch64 should do that, I think
<lfam>Oh right
<lfam>There is something in there that is x86-only
<lfam>I'm sorry to have forgotten what but, skimming the file, I think it's related to 'uvesafb'
<lfam>I removed that functionality, built the image and tried booting from it.
<lfam>It didn't boot at all; the bootloader couldn't find the kernel
<lfam>What does work is `guix system init` from Debian on another storage medium
<ss2>Is there usually a difference when I call guix build with, or without --rounds? The package I'm trying to build behaves differently when I add --rounds.
<lfam>mbakke: The problem that remains is that the RJ45 NIC doesn't work. I think that some firmware isn't loaded or something... I couldn't get very good advice on this subject in the Solid Run chat, although I do get good advice there typically
<lfam>No matter what I try, `ip link show` reports NO-CARRIER on Guix System
<lfam>ss2: That's not expected
<ss2>hm.. Some of the tests are failing, but sometimes it doesn't.
<mbakke>lfam: so the UEFI firmware failed to load GRUB from the EFI partition? do you have the ISO around still?
<lfam>No, sorry
<raghavgururajan>apteryx: Thank you!
<lfam>mbakke: If you try building it on aarch64, it will be obvious what you need to change to make it build
<lfam>I don't recall if GRUB loaded or not
<lfam>It just seemed like a dead-end because, IIRC, everyone else reported success with `guix system init`
<lfam>I do want to offer an installer image, or at least a working `guix system image`, for UEFI / aarch64 for Guix 1.4.0
<lfam>I don't think it should be too hard
<lfam>But I've been focused on getting this machine to work so we can use the cores in the build farm
<lfam>I'm kind of at the end of my rope with it though
<ixmpp>how do i use a specific output of a package in scheme?
<ixmpp>if i want to add git:send-email to my os packages, i can't use that syntax
<leoprikler>(list git "send-email")
<jonsger>ixmpp: you need to use a different syntax surrounding your packages, see here:
<jonsger>for example
<ixmpp>fab, thanks :)
<zap>hey is it safe to use guix gc -D ??
<lfam>Is there something you are worried about?
<zap>it outputed me [12 MiB] deleting '/gnu/store/k679kpgd4a8dx7js5yy8hl31psj7cxsp-boot
<lfam>Guix won't delete things that are still "being used". Technically, that means it won't delete things that are referred to by a "profile" that is "alive"
<zap>same for *-system
<zap>lfam: cool thanks :)
<lfam>So, those files are either not part of a profile, or the profile was removed with `guix package --delete-generations` or `guix system delete-generations`
<lfam>In general, you can't delete things unless you tell Guix it's okay to delete them
<lfam>And the only way you are allowed to delete things is with `guix gc`. It's not possible to use `rm` in most cases
<lfam>If you do jump through hoops to use `rm`... the warranty is void ;)
<lfam>As a tip, `guix gc -D` expects an argument, which will be a store item. If you just want to delete everything that can be deleted, then a plain `guix gc` is enough
<lfam>When I feel low on space I do these things:
<lfam>`guix package -d 1m` <-- de-register my user's profiles that are older than 1 month
<lfam>`guix package -p ~/.config/guix/current -d 2m` <-- de-register my user's `guix pull` profiles that are older than 2 months
<lfam>Then I do `guix gc`
<lfam>Remember, Guix package management is per-user, so all users of the system (including root) may participate in this process to free space
<lfam>I almost never delete system generations. Maybe once a year. But my systems are pretty minimal, so it's not very wasteful
<zap>good design
<zap>confirmed: guix gc: error: cannot delete path `/gnu/store/...' since it is still alive
<lfam>Great :)
*jonsger has to delete more often, system is not really minimal...
<dstolfa>i can't even begin to describe how happy i am guix doesn't allow `reboot` from a normal user shell
<dstolfa>i would honestly lose so much time accidentally rebooting my machine
<lfam>Oh yeah?
<dstolfa>many terminals, ssh and all that :(
<lfam>Typo? Or "helpful" aliases?
<jonsger>dstolfa: `loginctl reboot` could make you unhappy as normal user :)
<lfam>I appreciate systems that make it configurable or try to be "smart" about it
<lfam>Like, allow unprivileged rebooting when there is only logged-in user
<lfam>It's definitely a complex subject
<dstolfa>configurability is definitely the right approach here i think
<lfam>I've realized recently that true multi-user systems live on, in households with a single macbook
<lfam>macOS handles it well
<dstolfa>yeah, i have this exact same situation
<lfam>I guess windows is the same way
<lfam>I just don't have as much experience with it in homes
<dstolfa>my experience with windows is largely limited to it being in a VM
<civodul>hey! i wrote a draft blog post on making a video pipeline with Guix and would welcome feedback:
<civodul>it turned out to be much more hairy than i was hoping but i hope it makes sense
<civodul>lfam: thanks for the polkit review!
<civodul>i'll keep the version as you wrote
<lfam>Sometimes I feel unsure about if these replacements should be publicy defined or visible in the UI
<lfam>It would be nice to write some guidelines
<civodul>yeah, same here, i wasn't sure
<lfam>In the past, I think we agreed that "full update" replacements should be public
<lfam>At least for end-user tools
<civodul>but here, where it's public or not, "guix install polkit" would install the patched one
<lfam>I'm not sure what the tradeoffs are for replacements like this one
<lfam>Yeah, of course it still does the right thing
<civodul>one difference could be CI, but i think it builds replacements even when they're not public
<lfam>Oh, that would be nice to clarify
<civodul>yeah, see 'all-packages' in (gnu ci)
<civodul>it explicitly adds replacements to the list of packages to build
<civodul>now, if you keep the version unchanged, you have to make it private
<civodul>otherwise you'll get a warning that "polkit" is an ambiguous spec
<lfam>The comment in (gnu ci) seems to suggest that the replaced package would be ignored. Because changing the order wouldn't change the name/version
<lfam>I see
<lfam>We publicly defined some hidden-packages IIRC
<lfam>Maybe that warning / collision from the UI is why we did that
<civodul>so that'd suggest public + different version string, no?
<civodul>do we have other examples?
*lfam looks
<lfam>zstd in (gnu packages compression)
<lfam>We should check if zstd/fixed is built on CI
<ixmpp>mbakke; more of your code has ended up in my repo :p
<civodul>lfam: zstd/fixed has substitutes on ci.guix, but it doesn't mean they were built by Cuirass
<civodul>could have been the result of reconfiguring the machine or something
<lfam>Or one of us working
<ixmpp>i'm doing something quite bizarre with git and i'm not sure it's sensible
<ixmpp>but it seems to work, sort of
<lfam>ixmpp: Welcome to the club
<civodul>lfam: has the fixed one, as in: guix build -e '(@@ (gnu packages compression) zstd/fixed)' --no-grafts
<civodul>so we've empirically verified that replacements get built
<ixmpp>but i'm just scared it's gonna lead to data loss
<civodul>but then it has nothing but the replacement
<civodul>well, the original one was necessarily built before anyway
<ixmpp>see i have my repo, pushed to remote, couple branches. i also have another clone of it, where i use a specific other branch and git-remote-gcrypt to push that branch to the same remote. so, seemingly, i have a repo with several unencrypted branches and one encrypted branch, except the remote doesn't show the encrypted one
<civodul>so i think we're fine
<civodul>lfam: then let's do polkit like zstd: private, same version
<lfam>Sounds good civodul
<civodul>i'll summarize that in the issue tracker
<lfam>I saw we lacked a substitute for Krita, so I used to trace the dependency failures back to a spurious failure of kdbusaddons
<lfam>Now I've rebuilt kdbusaddons successfully
<lfam>Is there a way to tell Cuirass to rebuild everything that failed as a result of kdbusaddons failing?
<lfam>Oh, it seems to be happening automatically
<ixmpp>there we go
<ixmpp>less flimsy
<cbaines>something I was contemplating starting today was getting the Guix Data Service to store package replacements
<cbaines>that's a possibility now, since the inferior API supports it
<cbaines>I didn't actually do that though, I've instead been optimising the Guix Build Coordinator agents to limit the parallelism of output uploads
***jackhill_ is now known as KM4MBG
***KM4MBG is now known as jackhill[m]
***jackhill[m] is now known as jackhill
<civodul>cbaines: heh :-) storing replacement data would be useful
<cbaines>indeed, it's currently a deficiency with the setup for, since it doesn't build the non exported replacements
<cbaines>plus, there's other ways the data could be useful
<lfam>Does anyone know how often the web-based package registry updates itself?
*dstolfa looks at packaging a few desktop things he wants but needs to audit a decent amount of code to make sure it would respect FSDG