<kabouik>I think I kind of understand what When serves, but since this is all new and very different to everything I know, and since the little I know I learnt myself in small steps as a simple Linux user (not programmer), I'm just bumping my forehead real hard at the Guile learning curve.
<kabouik>I was quite happy to even be able to get that .scm to build (with a lot of help), but the formatting conventions for the tests phase that I can't read better before or after it's formatted, that's beyond my current level :<
<unmatched-paren>kabouik: Would it help if I explained it with a hypothetical C-like syntax?
<kabouik>Nope, you'd have to make it R. Good luck. :P
<nckx>Scheme is not a complicated language. It helps to remember that. It can be made to look complicated and do things as complex as any language, but you should always be able to see the underlying primitives if you peer hard enough. (Something which I sorely miss in, say, Haskell.)
<kabouik>R is designed to manipulate data, analyze and build graphics, it's not fast and not programmable like common lisp. But it's easy to understand. You have functions, which take arguments. And when you bump into a new function that you might need, you can just type ?thatfunction to show its help, which arguments it takes, and possibly an example. This really helps improving discoverability. I miss that with Lisp, but I know it
<kabouik>actually is superior to R, the latter being a bit trivial and not as potent as lisp. I mean, you wouldn't write complex software with R.
<nckx>You wouldn't write it all on one line in a file, which also helps.
<kabouik>No need for aerc anymore unmatched-paren, it was decided nmail is mandatory now.
<kabouik>> (FUNCTION (ARGUMENTS... This actually is one of the major roadblocks for me, and also why I mentioned how ?somefunction in R really helped me learn it. In Scheme, or Lisp in general in fact, I look at words but don't know when they're arguments or functions, and when they're a function, how many arguments they take. I imagine I need to go check in the source code each time, or functions defined above, but it's not the natural
<kabouik>Hope so. I'm commited and genuinely want to embrace the Guix way, but it's not trivial for non-programmers, I think. I also hope I'm not bothering you too much; the channel has been flooded by my first world issues since a few days (and you all showed a lot of patience, thank you).
<kabouik>That's what I usually use, just started using x64 consistently since not more than a couple weeks actually, because I was using it a lot and got tired of the long name. I thought they were exact synonyms.
<drakonis>pashencija[m]: i'm reading that patch wrong
<nckx>They probably are. ‘x64’ just wasn't familiar.
<drakonis>anyways, the patches really werent tested for arm
<nckx>And since you were speaking of ARM, of which I know little, it was possible that it was an ARM thing.
<drakonis>if you could write patches to fix it, it would be quite nice
<pashencija[m]>I just don't understand why is grub built on a non-grub image
<nckx>Is there no CI job that would have caught this if the CI hadn't been on summer holiday?
<drakonis>it'd help if you posted the image config somewhere
<kabouik>The git send-email is giving me trouble. I added the smtp and credential (except password) settings in ~/.gitconfig, but send-email doesn't ask for my password after I confirm I want to send the email.
<pkill9>anyone know why pcsxr package fails to build?
<Guest85>Hi all, I was trying to build llvm on guix with some modifications using `guix build llvm --with-source=./path/to/local/source` but I got a message saying that the `with-source` option has no effect on the llvm package. Anyone know why that would be?
<yewscion>Hello all, I think I did a bad. I just sent a patch series to firstname.lastname@example.org, but from the email responses it looks like it may have created an individual issue for each patch in the series.
<yewscion>If this is the case, I apologize. I should have sent an informative email first, and then the patch series once the issue was created, and will do so in the future.
<yewscion>Yup, looks like it did indeed create 5 separate issues (56989-56993). Again, my apologies. Should I create a sixth issue in the correct way and trash the rest?
<iyzsong>yewscion: i'd say no need to create another one, but that if you like to, then it's okay too, it's a common thing so don't bother with it so much :)
<yewscion>iyzsong: Okay, I'll wait until it becomes clear it's necessary. Thanks for the reassurance!
<yewscion>Weird tangentially-related packaging question: Does anyone know how I might avoid redefining a function used inside of another build system? I am looking to solve the non-determinism in one of the above-submitted packages (dbqn), and per https://github.com/dzaima/BQN/issues/14 it seems the issue is timestamps in jarfiles, which ant-build-system handles in its strip-jar-timestamps procedure.
<yewscion>Can I use that procedure without using ant-build-system to build the package? Or should I just copy and paste the code into the module with my new package?
<lilyp>yewscion: "...without ant-build-system" not really. What you'd typically do is import the relevant module and then use the phase from there. You can do this regardless of the build-system of the package, though, which is probably what you were asking for
<yewscion>lilyp: But the issue I'm having is that this particular procedure is not public (it's a define*). Is there a similar mechanism to double colon (::) in common lisp in Guile Scheme, that lets You access a module's private symbols?
<lilyp>you probably don't need to, you can access it by %standard-phases
<lilyp>but sure, @@ and module-ref (with the module rather than the interface) do that
<yewscion>lilyp: Thanks! I'll read up on those two mechanisms for Guile. That said, I guess I just wasn't familiar with how %standard-phases is populated within a package. I thought it would be the standard phases for the declared build system, not an amalgam of all of the build system modules listed in use-modules.
<lilyp>Well, I don't think there would be a procedure to set jar timestamps without a phase that uses it.
<yewscion>lilyp: There is, in ant-build-system. But my package uses gnu-build-system.
<yewscion>I must be missing something, sorry. I've added #:use-modules (guix build ant-build-system) to the module declaration, and I've added (write %standard-phases) to a phase in the package in question, and it doesn't seem to be in there.
<lilyp>Because #:use-modules is for the defining module, not the package. Packages have a #:modules and #:imported-modules argument
<yewscion>lilyp: Is there documentation for these arguments anywhere? I've looked at some other packages, but the closest I've come to understanding what I'm looking at is getting my package to ask me to manually add each module gnu-build-system depends on to #:imported-modules.
<lilyp>There should be a variable %gnu-build-system modules that you can simply splice via ,@
<civodul>vivien: you'd have to do it in a way that doesn't trigger a world rebuild
<vivien>civodul, I mean, what is bash used for in perl? Spawning processes? In that case maybe cmd.exe is enough. Does it need to handle file redirections? Then cmd.exe is not enough. It depends on how the shell is used by perl at run-time, and I don’t know much about perl.
<vivien>Hey, visual c++ build for perl defines the shell to be "cmd /x /c" by default
<civodul>vivien: dunno, you'd have to check exactly how Perl uses Bash
<civodul>then again, the choice between cmd.exe and bash is maybe something better left to Perl developers?
<kabouik>Any user of dwservice (https://www.dwservice.net/en/applications.html) on Guix? It's a really convenient alternative to proprietary things like TeamViewer and other remote desktop solutions that work on WAN without a static public IP (machine are agglomerated under an account, so you don't need to know their current IP to contact them); or for one-time connections using throwable credentials.
<kabouik>I'd be interested in getting it packaged but I'm not ready for that kind of complexity yet I'm afraid.
<unmatched-paren>kabouik: It could be a good way to learn to write a service, but yes, it would probably be too complex at this early stage
<kabouik>I already tried the agent on my Guix machine to use it as host, without installation (the agent can either be installed or run temporarily) and it works, screensharing was not working though but I could still access other applications like shell, file manager, resources, etc. It's under MPLv2 license (https://github.com/dwservice/agent)
<kabouik>Thanks unmatched-paren. In the end it just worked some time later without changing my settings; I suspect git send-email was keeping in cache some wrong setting I may have tried first from CLI, or a smtp server hiccup.
<kabouik>Re "I already tried the agent on my Guix machine to use it as host, without installation": the installation itself does not work, presumably mostly because dwagent expects the usual file structure. But I found it intersting that just running it was mostly working, with the exception of screen sharing (again probably just because the required lib is not where it expects it).
<unmatched-paren>AwesomeAdam54321: admin.scm is basically random-stuff.scm :) so probably
<AwesomeAdam54321>I'm currently trying to package GNU Kart, but when the build process tries to #include SDL_image.h, SDL_image.h says it can't find SDL.h:
<AwesomeAdam54321>/gnu/store/k7y6i2v5qfm161zf88ynp5amk92ylpqc-sdl-image-1.2.12/include/SDL/SDL_image.h:27:10: fatal error: SDL.h: No such file or directory
<AwesomeAdam54321>hmm, if I don't pass CFLAGS+=-lm to make it provides the SDL directory as a search path again
<yuu[m]><shcv[m]> "yeah, I need to do something..." <- reproducibility at its best. iirc nix/nixos also has such issues
<unwox>hi. do you know if it's possible to use "home-channels-service-type" and import modules from custom channels in one "guix home reconfigure" command? if not then how this service is supposed to be used? currently while installing new system i manually copy channels.scm from dotfiles to ~/.config/guix, but i'd like to automate this step using guix tool
<Cairn>Does anyone know if configuring fontconfig changes the output of fc-list? Like, if I set antialiasing to true in my config, are the fonts that have antialiasing disabled supposed to say true instead?
<Cairn>Or do I have to just rely on knowing that I've changed the setting
<nckx>Cairn: If you are able to edit and deactivate CI things, please let us know 😉
<blake2b>not sure why there is a rust-cargo in there tbh
<nckx>Cairn: What I've noticed (but not investigated) is that fontconfig won't load anything from conf.d (*despite* printing ‘Scanning’ when FC_DEBUG=1024 is set!) but loads a fonts.conf in the same location just fine.
<davidl>nckx: hi, any estimate on when the bash-bcu patch will get merged?
<nckx>I'm waiting for a reply to a question about it.
<efraim>if you don't have an /etc/guix/acl at all then you won't get any substitutes
<blake2b>(the period is just shorthand for "source", which is why I asked if you "sourced" your profile)
<nckx>blake2b: I'm just curious how that affects fontconfig config… er… uration.
<nckx>(Genuinely, having had less than stellar results with it in the past.)
<nckx>I find it very odd that fonts.conf works fine here but conf.d doesn't. The kind of odd that random environment variables like to explain.
<efraim>from the root of the guix repository you can run `sudo guix archive --authorize < etc/substitutes/berlin.guix.gnu.org` and `sudo guix archive --authorize < etc/substitutes/bordaux.guix.gnu.org`
<blake2b>nckx: I was just scrolling through the earlier conversation, and saw something about "the system not knowing where something is", so I thought this is the obvious first remedy in case missing envars are the issue
<nckx>You can purge the substitute cache with something like ‘sudo rm -rf /var/guix/substitute/cache/* ~/.cache/guix/substitute/*’ but I do not believe that authorisation status is cached. Still, can't hurt.
<nckx>guix build --system=aarch64-linux nano -d → /gnu/store/0phfpqyqszax6rbnan288343mdhxdzfd-nano-6.4.drv by the way.
<Cairn>blake2b: Sorry, just got back. As far as I can tell, fontconfig only needs to know the $XDG_CONFIG_HOME. And I just put my little test config in `~/.config/fontconfig/fonts.conf` which should be the right path
<shcv[m]>why does `guix shell --search-paths` still take ~4s even when it should be using a cached profile?
<Cairn>blake2b: I'm not using Guix Home btw. I'm not doing anything particularly Guixy right yet
<pkill9>has any progress been made on adding KDE desktop environment?
<pashencija[m]>Well, I have packaged some apps and libs in my repo, but there's long way of upstreaming them