IRC channel logs
2023-11-01.log
back to list of logs
<apteryx>if you open etc/teams.scm in emacs, is the scheme-mode loaded or not? <apteryx>for me it seems to use sh-mode; I'll add a file-local variable prop line <gabber>i'm trying to package some local python module (it shan't be published to a public repo) and i'm running into this error message: https://termbin.com/lx41 <gabber>so now i have questions: 1) isn't PYTHONPATH set directly (via/through GUIX_PYTHONPATH)? and 2) why doesn't this FAILED actually stop the build? <apteryx>jpoiret: which public inbox service do you use to work with b4? <apteryx>i.e., what's your midmask config option? <jackhill>sneek later tell cbaines: congrats on the blog post (and the grant)!! A typo: "switching between the C++ implementation and Guile implementation which any issues" → "without any issues" <Guest41>man, I love guix so much, thank you so much to all the maintainers <nckhexen>gabber: Are you overriding python-build-system's 'install phase, or does the package try to do a lot itself? If you could share your package anyway, that really could help. <jpoiret>sneek, later tell apteryx: Yes I use yhetil, but I clone it locally. Also you can use b4 directly with mbox, so I often use it from notmuch as well <parnikkapore>Hi Guix! I'm thinking about using Cuirass to do devops for my channel. Can I make a specification that uses a remote branch that will be rebased and force-pushed (i.e. the branch's tip won't be a descendant of the last evaluation) <apteryx>jpoiret: any idea what the b4.searchmask option is useful for? <sneek>apteryx, you have 1 message! <sneek>apteryx, jpoiret says: Yes I use yhetil, but I clone it locally. Also you can use b4 directly with mbox, so I often use it from notmuch as well <nckhexen>gabber: Or the full build log, since it's not said in which phase/context this error occurs, and why the build continues. <singpolyma>Daemon in guile mostly sounds great. One thing I don't see any mention of in the post is performance, which would be a big concern no? <jpoiret>apteryx: seems like it's for the `b4 trailers` command to auto-update trailers <jpoiret>it needs to know where to fetch the new trailers <jpoiret>i don't like the overlap between lei and b4 <jpoiret>some of it is also too hardwired for lore.kernel.org <nckhexen>singpolyma: Why's that? Is hashing in Guile a bottleneck? (Or am I missing an area in which the daemon's performance matters?) <nckhexen>(Fibers make me a bit nervous, but not for performance reasons...) <jpoiret>nckhexen: hashing could be a problem yeah now that you're talking about <nckhexen>Yeah. It's the only thing that comes to my mind where humans would notice the daemon working. <drakonis>singpolyma: its fibers and what exactly do you need performance in a build daemon for? <apteryx>jpoiret: any idea about this BADSIG when using 'b4 am': BADSIG: DKIM/disroot.org <jpoiret>b4 can verify patch signatures if you have lists of keys for each mail domain <apteryx>ah, this disroot.org was the email domain of the commit author <jpoiret>we'd need some extra stuff to be able to do that <singpolyma>drakonis: it's a pretty core component of an already slow system? Maybe it's not actually worrying, maybe this part doesn't do much work despite being important <apteryx>I'd expect to see bad signatures on commits, but not bad signature from the email provider? <apteryx>since for signatures on commits b4 relies on 'patatt' <jpoiret>i don't remember how b4 checks signatures <drakonis>it doesnt do as much work as you think it does <apteryx>perhaps during 'gc', but that's IO-bound, so probably wouldn't affect much <gabber> https://termbin.com/ow3rm this is the whole build log. i did not fiddle around with the phases except for the check which i altered to invoke python's unittest facility in a specific way <gabber>i guess my problem lies in the python side of packaging the code tho <apteryx>jpoiret: the b4 code hints at Lore-specific checks; given Lore is a public mailbox instance, perhaps it's config-specific. <apteryx>will disable it for now (I'm adding a b4 section) <nckhexen>gabber: Try something like (setenv "PYTHONPATH" (getenv "GUIX_PYTHONPATH")), or something like (getcwd) if that doesn't work. <nckhexen>Why the earlier PYTHONPATH warning isn't fatal, no idea, but that's surely a good thing. <gabber>and add it where? before the build phase (where the "TEST FAILED:" message emerged)? <nckhexen>27% of packaging is having to disable upstream 'tests' that make asses out of both themselves and you, and it's 27% too much. <gabber>can i - instead of replacing a phase - just prepend a stement of two? <nckhexen>I can make up even higher numbers if needed. <gabber>you almost had me there! would be interesting to know how high they really are <nckhexen>Do you mean (add-before 'check 'do-stuff (lambda _ ...)) or do you mean something else? <gabber>i interpreted your previous answer (No, the phase that fails) as an instruction to me to add the lines (setenv "PYTHONPATH" (getenv ..)) into the *same phase* as where the failure happens. <nckhexen>Ah, it was in reply to ßbefore the build phase. <nckhexen>(Is ß an eszett or did I draw another mistake in my font?) <lilyp>ß is an eszett, but Germans typo it for ? <nckhexen>I coincidentally have a Germain keyboard (but not layout). Here it's a typo for, well, something I can't type, because I'm in an initrd and for some reason alt doesn't work the way it should here. <batalie>hi, guix. i'm trying to write a manifest that will work on all of my machines. the problem is that i need to pull in a patch, but my username is slightly different on my different machines, which messes up giving with-patch a filename. could someone take a look at this? note i'm pretty bad at scheme :) https://paste.debian.net/hidden/ab943af9/ <batalie>currently it fails with "invalid package path specification", but the path it gives is correct <nckhexen>I think with-patch is like the other transformation options and expects a "PACKAGE-NAME=FILE-NAME" format. <nckhexen>In this case (string-append "emacs-next=" ...). <batalie>nckhexen: yep, that was it. adding emacs-next= did the trick <pastor>Good evening. Is there any way to get the transitive dependencies of a package which uses `#:cargo-inputs`? <sneek>Welcome back pastor, you have 1 message! <sneek>pastor, nckhexen says: Sometimes. Depends on the exact requirements & how hacky a result you can get away with. <pastor>`#:cargo-inputs` dependencies are not listed with `guix refresh -T ...` <nckhexen>I have accidentally written the most generic fortune-cookie answer ever, and don't even remember the question. <nckhexen>pastor: You'd have to 'manually' traverse the graph by writing your own code snippet. <nckhexen>I assume they'd also show up in the 'bag', which is something that guix graph knows. <pastor>nckhexen: I would use guix graph but xdot and company are supper slow with my package... <pastor>Does anyone know of a faster tool? <pastor>nckhexen: anyways for what I see in the output on `rust-anyhow` guix graph does not provide `#:cargo-inputs` <pastor>nckhexen: This does not have `rust-backtrace': ./pre-inst-env guix graph --type=bag-emerged rust-anyhow <alxsim>How are rust apps containing several rust crates in a crates/ folder usually packaged? Does each one need to be packaged independently or do you let cargo deal with everything? <gabber>smells like a bug considering ? being the correct delimiter between a URL and GET args <gabber>probably because i usually feed them to muh crows <zamfofex>Does it support URLs without a path part? <nckhexen>Well how would you feel if I ate all your friends >:( <gabber>getting prepared for the meaning of life? <acrow>I've been told that you shouldn't give crows any salted nuts (plain is ok). <gabber>like seconds before ascension to the heavens? idk <gabber>acrow: i know (and i would never!) <nckhexen>Crows and peanuts chatting about feeding peanuts to crows, this is getting too meta. <gabber>i think i am ok with peanuts not liking me - i get the hint <nckhexen>pastor: I the pathfinder case, we fetch the individual crates: (crate-uri "pathfinder_geometry" version) <pastor>nckhexen: This is not possible anymore since those crates date from version 0.5.0 and has not been updated in 3 years <pastor>Some packages rely on newer versions of pathfinder modules <nckhexen>No, that wouldn't work with the current system. <pastor>nckhexen: I don't see how to make it work if you chdir. The build system picks the toplevel `Cargo.toml` <pastor>nckhexen: I was traying to figure out how to circumvent the issue but I did not find a way <pastor>I also thought of stripping all the folders but the submodule crate I need. This cannot work since the submodule crates depend on eachother <pastor>Another idea I has it to just build the toplevel crate but then I don't know how the output should look like. And I don't really know how to define the diferent outputs of the package like that <nckhexen>Where does the build system 'pick the top-level Cargo.toml'? Or do you mean cargo proper? <pastor>I don't remember now. It may have been cargo proper <pastor>yeah. I think guix was simply invoking cargo which went up looking for the parent toml when it knows is a module. But don't take my word for it <zamfofex>You should be able to ‘chdir’ after the ‘unpack’ phase, and it should work, I think. <pastor>zamfofex: It did not work on my testings <nckhexen>zamfofex: How does your custom phase get run in the dependent packages though. <old>I have a package written in C that has Python bindings. However, during the installation, setup.py install a .egg file instead of the python files <old>I suspect that this is handle by python-build-system, however I need to use gnu-build-system for the project since it is a C project that generate shared libraries and binaries? <pastor>old: you can add an extra phase that installs the files that `make install` is not deploying <nckhexen>This is not a serious suggestion, but you could rewrite the top-level Cargo.toml in a snippet and something something profit but probably not. <nckhexen>That would stand a chance of making it into dependents, at least. <zamfofex>nckhexen: Ah, good point. Rust builds all dependencies from source, right? Kinda like Haskell, I think. Perhaps a simple solution would be to have a custom source for the packages. I.e. clone the Git repo, and then create a tarball with only one of the directories from it, and use that as the source for the package. <nckhexen>Isn't reinventing static linking but even worse GRAND? <old>pastor: right. That would be a painful thing to do but if no other choice .. <pastor>zamfofex: This is not possible. They depend on eachother <pastor>old: You can reuse the python install phase <zamfofex>pastor: Like, mutually depend on each other? <nckhexen>If so, there's no point in 'packaging' them separately, they are not separate packages. <Kolev>Can someone package `micro`? <pastor>zamfofex: this would be the dependency for the module `canvas` <zamfofex>Kolev: I use micro often, note that it’s official build is a static binary which works transparently on Guix. <Kolev>zamfofex, I had difficulties adding ~/.local/bin/ to my $PATH. <zamfofex>nckhexen: As much as I kinda hate it, I can understand the reasoning behind source‐only builds. I feel like programming languages don’t want to have to implement headers like in C nor a custom binary format like Java. <zamfofex>Kolev: A simple solution (one that I use) is setting a Bash alias to it. It has been working well for me for a while now! <zamfofex>Though I have taken the alias away somewhat recently in order to encourage myself to use Lite XL more often, so now I just start micro with ‘~/bin/micro’. <Kolev>zamfofex, hey, there's a lite-xl package! 😀 <zamfofex>Kolev: Yeah, I heard whoever packaged it is an idiot, though. <Kolev>zamfofex, is the package bad? <zamfofex>If you ever hear me call someone an idiot, that someone is probably me. 😄 <Guest41>how do i add a channel to guix. Should I just create a channels.scm in /home/me/.config/channels.scm and then reconfigure: <Guest41>zamfofex ah, thanks I accidently called it contfig.scm <jackhill>lilyp: remember I complained about the new epiphany and file upload not working? I can't reproduce that today, it works! Yay. Don't know if I was hallucinating or if things were just in a wierd state and restarted helpd. <lilyp>jackhill good to hear, I guess? <lilyp>If you do manage to reproduce it, don't forget to report it properly with all relevant info :) <jackhill>lilyp: yep :) I was trying to collect just that sort of information as it turns out <futurile>hmm if I do `guix shell --container --nesting` and then in the shell do `guix describe` I only get the guix channel - not my other channels. Is that a change of behaviour or am I now hallucinating <futurile>ack nope - I got it - I must have run my original tests in my home directory so ~/.config/guix/channels.scm was available - and blew up `guix time-machine`. <apteryx>lilyp: I'll delete the wip-gnome* branches, unless you see a point <lilyp>apteryx: IIUC they're ancient gnome anyway, so go ahead; current dev work is on gnome-team <PotentialUser-93>I messed up. I put something in .xsession, now I cannot start into i3. How can just boot into the shell in Guix ? Gel please <liberdade>I was looking at connman, but I saw that it creates tcp sockets to a internet address...maybe it was my version..I am in a diferent os now <liberdade>I saw the website about parameterized packages, to build them...I like that Idea too, as a option <liberdade>I came also because I like Enlightnment DE, and for what I see you pack the last version :) <liberdade>Have you tought about the Idea of adding GrSecurity patchs to the kernel, and above that AppArmor? <liberdade>I think is the best option right now on par with Mate Desktop <rekado>liberdade: you can customize your kernel. In Guix it’s just another package, so you can apply patches as you see fit. <liberdade>how do you manage permissions for /gnu{,/store} ? <liberdade>I read that its read only, and turns writable only on managment, that is a very good thing, if you can control, who can run the packet manager, that is very good <Altadil>liberdade: for the firewall, Guix provides several services, at least for iptables and netfilter <rekado>liberdade: only the guix-daemon process can write to /gnu/store <futurile>liberdade: a possible way to start experimenting is you can run Guix in VM. That way you can experiment but stay on your current familiar Linux distribution <rekado>no user will ever write directly to /gnu/store, only by talking to guix-daemon <futurile>Q: if I do `guix shell --container --nesting git`, and then in the shell I do `guix package --list-installed` it doesn't show that git is installed. It is there - it's in $PATH. Why doesn't it show up as being installed? <Guest41>I had I3 not starting. After installing alacritty again i3 started properly again . very strange <Guest41>Does anybody have any idea, why this is <jackhill>hmmm, python-tox seems to be captured in the wraper of chirp even though it's a native-input <snape>futurile, maybe add -p $GUIX_ENVIRONMENT? <liberdade>there are 2 download options... standard and latest.. <futurile>snape: ah that works - hmm sort of knew about that but slightly not expecting that <snape>well it's just that the default profile is the one used by 'guix package' commands <snape>you can also specify the guix home profile (~/.guix-home/profile) or the container profile <futurile>snape: yeah I think it's one of those things you know, but you still expect `guix package <blah>` to show you whats happening in the current env. I find profiles simultaneously useful and complicated :-) <rekado>liberdade: it’s an abstraction that turns out to be useful for sequencing code within a context <zamfofex>Sometimes people ask “what’s an example of useful usage of monads” (in the context of stateful programming languages unlike Haskell). I think a simple example is promises/futures/tasks in programming languages like JavaScript/Scala/C#. <rekado>“we'll learn about monads, which are just beefed up applicative functors, much like applicative functors are only beefed up functors.”