<pineapples>Can someone guide where I can find the code responsible for populating the "/run/current-system/profile/share/guile/site/3.0" directory?
<roptat>pineapples, it's a union of all the packages in the profile
<roptat>so, whatever package is in there that have a file in share/guile/site-3.0 will end up there
<pineapples>roptat: I see. I'm trying to figure out why it isn't populated with the modules of a third-party channel I'm using. I have to (add-to-load-path "~/xxxx/guile/site/3.0") in order to use them in my own Guile modules, which extend my system configuration.
<roptat>because the channels populate the profile at ~/.config/guix/current
<roptat>unless you add your channel as a package and add it to your os' packages field
<pineapples>This makes sense now. Thank you. Now I'm wondering if it would be wise of me to suggest guix-devel to add that directory to the $GUILE_LOAD_PATH env var. I guess this is not going to happen
<roptat>no, I do that when you configure your home with guix-home-manager, but it also causes some troubles, especially with provenance
<pineapples>roptat: So, if I understand correctly, adding a third-party channel as a package instead of exporting that env var or doing (add-to-load-path "~/xxxx/guile/site/3.0") will save me some troubles?
<mbakke>ces: no, the file name makes the name of the module, i.e. (gnu packages webkitgtk); the number following the file name denotes the line number in the file
<ces>mkakke: What is the actual disc location, i get gnu/packages/webkit.scm, but i can't seem to find it at /gnu... or .config/guix...
<roptat>ces, "guix show webkitgtk" shows "location: gnu/packages/webkit.scm:225:2", meaning it's in gnu/packages/webkit.scm, so the module name is (gnu packages webkit): you take the directories and filenames without extension. You need to include it in the file you define your package in, as in (use-modules (gnu packages webkit)), then you'll be able to use the variables defined in that module, which include webkitgtk
<pkill9>i'm getting this error on *anything* guix tries to build unless I use --fallback: In procedure put-string: Wrong type argument in position 1 (expecting open output port): #<closed: string 7f916bfad850>
<Zambonifofex>So, I decided to make the changes janneke proposed to me in order to update the `netdde` package for Hurd (i.e. update the `gnumach` and `hurd` packages too). I have followed the steps in the “Building from Git” section in the manual, and I’m currently waiting for `make check` to finish running.
<Zambonifofex>Is that sufficient to determine that the build has been successful, or do I need to perform some other kind of verification to be certain that my changes are not problematic? (Note: I’m running it from Linux.)
<olivuser>I'm still struggling with one issue on my newly installed (somewhat) guix system. I installed exwm as a window manager (emacs x window manager), which either uses dmenu or "read-shell-command" (s-&) to start programs. Now I have no problem installing programs, and I have no problem launching a program via command line (even vterm in emacs). BUT dmenu doesnt find any programs, s-& doesnt auto-complete (dunno if it does usually), and often when I try
<olivuser>to open a file I am prompted with the error that "searching program: git not found" even though I know that git is installed on my system. Does anyone know what the problem could be?
<olivuser>I tried sourcing /etc/profile via ~/.profile and ~/.bashrc to no effect
<olivuser>I am wondering if this is because my init.el (use-package) packages are not identical to my emacs-related packages installed via guix.
<olivuser>could it be that emacs is angry because I have not installed a git-related program, like tig, via guix?
<luhux`>olivuser: Starting exwm in ~/.xsession may solve this problem
<Zambonifofex>So, apparently I fell asleep while `make check` was running. Now I am awake, and it has finished running. It shows two red `FAIL` lines for `tests/channels.scm` and `tests/publish.scm`, though. Is there any way I can get more information about the failed tests?
<janneke>Zambonifofex: there's test-suite.log and individua log files like tests/channels.log
<janneke>have you tried building and booting a hurd vm with your new changes?
<Zambonifofex>janneke: I assume `make check` built things before running the tests, given that it showed a bunch of compilation lines like `CC`, `CXX`, `GUILEC`, etc. I’m not sure how I can tell it specifically to build a Hurd image, though.
<janneke>Zambonifofex: i don't think that "make check" actually builds a hurd image
<janneke>gnu/system/examples/bare-hurd.tmpl has a comment on how to build and run an image
<olivuser>luhux`, thanks for the suggestion, though I think I dont understand it.
<olivuser>because as it stands exwm is launched by gdm after logging in
<olivuser>what would be the difference if starting via ~/.xsessions?
<olivuser>would I shortcircuit the gdm login process?
<divoplade>Hello, when I run a guile program from my package in a shepherd forkexec service, the GUILE_LOAD_PATH is not set so my program cannot find its dependencies. Those dependencies are propagated inputs to my package though. Is this normal?
***apteryx is now known as Guest63572
***apteryx_ is now known as apteryx
<divoplade>Ha I see that cuirass has a 'wrap-program phase that seems to just do that: look up where the dependencies are and write them into the final program
<Zambonifofex>janneke: It seems to fail to build `glibc` on `#include <cthreads.h>`
<Zambonifofex>And I’m not sure whether this is related to my changes or not… I mean, I’d imagine probably, but I’m not sure.
<janneke>Zambonifofex: yes, i'm using different worktrees a lot
<janneke>Zambonifofex: ah, so now your hurd is probably too new
<Zambonifofex>janneke: I see… Do you think it’s best to try to find an appropriate middle ground commit for it, or do you think it’d make sense to wait for `glibc` to be updated to reflect the changes in Hurd?
<emys[m]>Is it normal that guix info pages don't show up when I start `info'?
<atkka>I will set the env vars in a script, i exported them manually for this session
<atkka>I have 22 fonts in my cache yet icecat still has no fonts
<iyzsong>yeah, i think on foreign distro, MANPATH and INFOPATH need to be setup manually.
<emys[m]>ah and another question, when using `git-download` for loading a third-package software, how does one deal with a polyrepo?
<iyzsong>emys[m]: for <git-reference>, set 'recursive?' to '#t' will let it also fetch submodules.
<emys[m]>not exactly what I meant. I mean a repo with 2 subdirectories A and B where you have A/configure.ac and B/configure.ac for example
<atkka>thanks for the help, I'll play around with it more tomorrow
<iyzsong>ah, okay. then that depends on what we want to do. if make two packages, then we can define A with a phase do '(chdir "A")', and B. if make one package, then figure out how to build it somehow...
<divoplade>Can someone briefly explain to me where the standard output and standard error of my running service is logged?
<ngz>sneek: later tell efraim: Hello. I think commit 063f6dfc37a674b24ca75fd20530a8039bddfd8f is going to break bat build, unless I overlooked something. I.e., it was not an omission on my side. Not sure how to handle it properly, tho.
<sneek>efraim, ngz says: Hello. I think commit 063f6dfc37a674b24ca75fd20530a8039bddfd8f is going to break bat build, unless I overlooked something. I.e., it was not an omission on my side. Not sure how to handle it properly, tho.
<PotentialUser-67>I tried to send a patch to email@example.com, but I did not receive a confirmation message. My patches are not in the archives of the mailing list. I tried using git send-email which usually works and icedove.
<narispo>I see on the mailing that .NET Core wouldnt be packaged because not bootstrapable without proprietary software (or unreproducible binaries at least), but Fedora has it packaged and it's getting bootstrapped
<narispo>There is one politically interesting project (for the Free Software movement) that is Jellyfin, and it's made with .NET Core. Jellyfin is a multimedia server similar to Emby or Plex
<mbakke>narispo: do you know how Fedora bootstraps .NET Core?
<narispo>Otherwise it requires existing packages (previously compiled in Fedora)
<mbakke>narispo: if I read that .spec file correctly (unlikely), it looks like it first bootstraps using prebuilt sources, then when %bootstrap is false, it deletes those (see "Remove all prebuilts"), then builds again with the "bootstrapped" version?
<narispo>Looks like the goal of the project itself is to comply with distro requirements
<narispo>"The key goal of this repository is to satisfy the official packaging rules of commonly used Linux distributions, such as Fedora and Debian. Many Linux distributions have similar rules. These rules tend to have two main principles: consistent reproducibility, and source code for everything."
<ngz>OriansJ: this is a strong stance. I'm not sure it is clear for everyone involved in Guix. Hence my (naive) question.
<OriansJ>ngz: well I am a radical side of guix; the #bootstrappable camp
<PotentialUser-96>nckx: Well last time I tried it didn't work, but it's probably not because of Guix
<nckx>So systemd is utter crap, but you just can't find the time to write something better? Cool. Go away.
<nckx>And take your s6/daemontools/openrc/... pamphlets with, please.
<PotentialUser-96>that doesn't partition the disk but yeah, I could curl a script of mine which does the job
<lle-bout>Their arguments often isnt that there's nothing better but that the better already exists, e.g. Alpine or Gentoo's OpenRC machinery - and that systemd is to ubiquitous in popular distros that things tend to assume systemd's the only thing that exists
<kisaja[m]>plus nano doesnt color it the way i would think its proper
<apfel>hi, is there a way to create the build environment of an already installed package? I checked the manpages, but there is no option like 'guix environment --build-environment linux-libre'. My goal is to then manually build it and play with different options, check generated files and so on.
<lle-bout>then if you want the source: guix build -S linux-libre
<lle-bout>You can also insert a failing instruction at the point you want to start hacking in the package's recipe and use: guix build --keep-failed linux-libre
<OriansJ>nckx: now if the guile community wanted to do the ultimate troll; they could use systemd's modularity against itself by making it first scriptable in guile and then starting to replace the modules in scheme and then boom: SystemD is now Gnu Shepard and everyone is wildly confused.
<lle-bout>apfel: and then you can source the environment-variables file in the kept failed build dir: env -i bash - and then: source environment-variables
<apfel>lle-bout: yes, ok, to let the package build fail is one way of doing it, but this involves some work, i thought that maybe there is a simple generic option i am not aware of. Your first idea does not work though, because the sources i get from this command are unpatched, right? I would then need to apply the package ontop of the sources, at least some of the build steps.
<apfel>i mean, patching the shells scripts and so on
<PotentialUser-96>I'm looking at the source code and f2fs seems to be the only one missing in the doc