<podiki[m]>mekeor: see also the bug report/guix-devel discussion right now on libstdc++ (of gcc:lib)
<podiki[m]>civodul: our count of people asking about gcc:lib grows by the hour! :-)
<ulfvonbelow>am I correct in believing that the purpose of the 'parent' field of <manifest-entry> is to be able to track down *something* in the manifest that has the entry in question as a propagated input?
<zenzen[m]><zacchae[m]> "zenzen: To give a contrasting..." <- Yeah I've been meaning to learn more about it and use more often. So far so good!
<Guest19>I upgraded my system and now mpv is using x11 and therefore unusable. Does someone else have the same issue?
<mekeor[m]>Guest19: what do you mean by "using"? depending? appearing in a window?
<ulfvonbelow>alright, I think I've tracked my problem down. It's actually a problem with how collisions are reported. In (guix ui) it blindly follows the parent chain, but that chain was created *before any manifest transaction was applied*. Meanwhile the collisions are detected *after* the transaction is applied. So you can end up with a collision being reported between packages propagated from packages that were never in the same manifest at the
<zacchae[m]>I have python installed in both my ~/guix-profile and ~/.guix-home. The general workflow (I think) is that you play around with packages with guix package, then integrate them with guix home. This caused me issues when I tried to test opencv but python wouldn't import it
<zacchae[m]>guix home adds ~/.guix-profile/bin and ~/.guix-home/profile/bin to my PATH, so it seems like it should do similarly with GUIX_PYTHONPATH
<zacchae[m]>I actually gave up on packaging several simple python packages for guix because I thought I would need to package a "python-opencv", but that was aparently already handled by "opencv"
<zacchae[m]>Oh, maybe I just needed to run a login shell after installing python in my profile? Now it is getting added... False alarm?
<ulfvonbelow>did you re-source ~/.guix-profile/etc/profile (either manually or by starting a new login shell) since installing any combination of python and a python package?
<porcupirate>Do I need to use 'localhost' for the web interface if I'm using the machine that's running the server?
<zacchae[m]>You should be able to access it from 'localhost:631' on the machine that is running the cups server (that's how I do it with unmodified service config)
<porcupirate>For more context, the plan is to put it on an old laptop I use as a home server. I'm experimenting on localhost because guix deploy takes a while. I want to make sure I can use a computer's .local domain to access the config from across the LAN. Is the flaw that I'm using the same machine to test it?
<porcupirate>I tested it from my phone, the .local domain works fine.
<porcupirate>I've got the interface working on the home server now. Thank you!
<lemos[m]>i am updating a package from guix, i am new to all of this, how can i test if my changes from the file (in the repo that i cloned from git) are working?
<lemos[m]>couldn't figure out how to test them using --install-from-file
<abrenon>so it seems like we went to fast ahead switching to 3.10 by default for packages like this; what is generally done in this situation ? a temp fix, possibly suggesting the upgrade upstream ? or just telling people who need the dependants to hold to their current version and upgrade later ?
<civodul>abrenon: hey! for this specific error, you can search for "collections\.abc" in the code: there are quite a few places where we patched upstream code
<apoorv569[m]>Why is Ardour not able to start with JACK? I have jack2 package installed and I'm using pipewire audio system.
<apoorv569[m]>I have a recording session tomorror, I need to fix this before that.
<abrenon>the substitute\* fix for collections is tempting, but to apply it I apparently need something called substitute*, and nothing in the example source where I've found it (gnu/packages/haskell.scm) points to a single clue as to where that could be defined
<abrenon>grepping the source yields guix/build/utils.scm but including that module doesn't change a thing
<abrenon>since it's a (define-syntax …) thing and not just a regular function I can understand I can only suppose it needs a special ritual for invocation, but not being a believer of the inner circle, I cannot use it
<civodul>(guix build utils) is included by default on the "build side"
<abrenon>but I added the import and it still doesn't work
<abrenon>macros seem to be way beyond me, I can only understand one thing: functions ^^
<jpoiret>civodul: i see you updated guix, did you manage to resolve the proot issue?
<jpoiret>I thought I saw a commit that added support for elogind actions on system suspend, but I must have dreamt it
<cbaines>is it possible that offloading to a childhurd is completely broken, as I cannot figure out what's not working.
<cbaines>all I can get out of the client side is: ssh_packet_userauth_failure: Access denied for 'publickey'. Authentication that can continue: publickey,password
<rmancini>How does guix know to install a service's package when mentioning it in the shepherd services #:start proc? What profile will the package be installed into?
<cbaines>rmancini, installing is the wrong way to think about it here, it won't necessarily be installed in any profile (unless the service arranges it to be)
<civodul>jpoiret: nope, but those tests aren't run in the 'guix' package i believe
<sepi>cbaines: ok, what about building :). Just mentionning the variable that references the package will arrange for the package to be built?
<cbaines>sepi, yep, using a package as part of a system service will ensure that package is built and available in the store
<sepi>cbaines: also, how could the service arrange for the package to be installed into an environment? I would need to have that done in order to easily calculate the GUIX_PYTHONPATH needed for the services env.
<sepi>cbaines: so the fact of evaluating the package means that it will be built. I don't need to put it in a gexp or anything?
<cbaines>sepi, I'm not sure I follow the second bit of your first line, where does the GUIX_PYTHONPATH get involved?
<cbaines>and the definitions of shepherd services in Guix typically use gexp's, so I'm guessing you might already be using a gexp
<sepi>cbaines: well I'm trying to create a service that extends shepherd in order to run gunicorn (a python wsgi web server). The gunicorn process needs to have the right GUIX_PYTHONPATH set in order to be able to load the actual web application (and python dependencies) to be deployed.
<sepi>cbaines: ah, very intersting. I'll need to study this example more in-depth. Thanks a lot for the pointer. I hadn't found any django application until now.
<sepi>cbaines: I would ideally off course have the application manage its dependencies. Installing it in a profile would make that happen if I understand correctly. This way there would be a place where all dependencies would be collected.
<abrenon>trying to commit my fix in order to prepare a patch, the command fails because I don't use gpg
<abrenon>is it possible to send unsigned patches ?
<cbaines>sepi, generally in Guix packages, it's good to try and avoid relying on profiles to provide dependencies
<cbaines>sometimes this is useful because you want to load things in from the environment at runtime, but generally it should be avoided
<cbaines>I think I've managed to get offloading to my childhurd working though, turns out I just needed to authorize the SSH key
<cbaines>I thought I was testing using the key by asking ssh to use it, but it just ignores that instruction and logs in with an empty password
<cbaines>so setting a password for root in the childhurd helped to debug this
<cbaines>right, I can fail to build coreutils-boot0 now for the hurd :)
<cbaines>jpoiret, I think you had some awareness of what needs fixing post core-udpates for the hurd right?
<jpoiret>not really unfortunately, apart from upgrading everything
<jpoiret>i'm not extremely familiar with Hurd, so I don't really know if the problem comes from having picked incompatible commits for MiG/gnumach/Hurd, or if it's our configuration that's missing something
<jpoiret>coreutils-boot0 is failing though? that's pretty bad
<jpoiret>I only fixed the compilation issues and cleaned up the hacks around %current-target-system
<jpoiret>ah, I couldn't test native compilation on hurd
<_graywolf>When trying to run `guix import go', it supports `-r' to `generate package expressions for all Go modules that are not yet in Guix'. Is there a way to manually create *some* package to it will not try to generate them?
<jpoiret>cbaines: I don't really know much about the bootstrap process, but I wouldn't have expected that derivation to change
<cbaines>jpoiret, yeah, maybe some patches got lost on core-updates
<jpoiret>no but just looking at the definition, I don't think anything changed there
<jpoiret>the only things that I touched were higher in the chain. Maybe the coreutils update?
<cbaines>hmm, I can't see anything obvious in the package definitions either
<cbaines>I also don't know C/C++, so I've got no real idea about this file_t thing
<jpoiret>I would assume it should come from Hurd headers, but nothing has changed on that front, Hurd headers should be included in the bootstrap glibc iiuc
<jpoiret>looking at the bootstrap glibc sources, time_t *is* defined there
<sepi>cbaines: what do you think about the approach for django application deployment where the actual webapp package would create a shell script during build time that would set the environment and launch gunicorn by itself which would then load the actual application module. Configuration of the application could be done through environment variables passed by the shepherd service.
<cbaines>sepi, that sounds like it might work, although avoiding using a shellscript and just sticking to Python sounds neater
<Guest19>xsane reports that no devices are available. I have installed xsane and sane-backends. I also added my printer to cups and I can print. My printer is a hp envy. What is required to make it work?
<bovid-19>Hi! I'm trying to customize my grub theme on guix system, but I struggle with changing the image. So far I tried a string ("/home/bovid-19/Pictures/system/grub.png") and the same string in a list.
<jpoiret>ah, we don't check the return value, so it's our fault (oops)
<jpoiret>i'll try to clean it up and add some error handling to do_spawn to actually report such errors
<Kabouik>I realize now that I have Guix on a aarch64 machine that the packages in my private channel are not available for that architecture. How do I add support for it? There's no specific line in the package definitions setting the target architectures at the moment.
<jpoiret>Kabouik: probably one of their dependencies is not supported
<jpoiret>you can try to build them and guix should tell you what's not supported
<Kabouik>Hum, sad. I know they can work on aarch64 because I already compiled them manually on device in the past, but I assume the dependencies already in Guix are not necessarily built for all architectures
<jpoiret>it's not that they're not built, it's that they were flagged as not being supported on that architecture
<jpoiret>did you find out which packages are responsible for this?
<jpoiret>looks quite simple. Did guix not print any warning?
<Kabouik>(I submitted a patch for it by the way and I should nag core members to review it again, but the patch was for 3.62 while the package in my private channel is now 4.20, and I forgot totally how to submit commits to issues.guix.gnu.org, so it'll take time before I can upgrade it.
<Kabouik>No warning, it's still building/fetching dependencies (it's quite slow on a phone)
<Kabouik>But even though I added the private channel in my channels.scm, and guix pulled without any issue, the packages from my private channel are not visible in guix search/guix install, so I was assuming it was an architecture filter.
<jpoiret>and does `guix describe` show your channel?
<Kabouik>Yes, though it also throws an error first: ERROR: ld.so: object 'libtls-padding.so' from LD_PRELOAD cannot be preloaded: ignored. I guess it's minor because the rest works.
<jpoiret>that's from your own configuration, Guix doesn't set LD_PRELOAD
<Kabouik>What I was thinking yes, Droidian is hacky
<Kabouik>The package built fine on the device (and therefore cyrus-sasl-login which it depends on too), both are from my private channel
<Kabouik>But still not indexed in Guix search/install.
<sepi>I'm trying to build django-select2. It is build using pyproject. It should be fairly straight forward but when I build it I get an error saying it can't find the build backend flit_scm:buildapi. I do have python-flit-scm as a native-input to the package through.
<sepi>when I debug this using --keep-failed, I can import the needed backendc
<jpoiret>civodul: did you test the test on 3.0.9? it's passing for me
<Kabouik>Weirdly enough, the packages now show in guix search/install jpoiret. I haven't done anything but letthing the phone sit (with no guix action running) and ssh into it.
<Kabouik>Unfortunately guix complains that cyrus-sasl-CVE-2019-19906.patch (required by cyrus-sasl-login) is not found. I find that surprising because building from the local .scm files worked just fine.
<jpoiret>if you really need it, you can use `-e '(list (@ (gnu packages commencement) gcc-final) "lib"'`
<apteryx>jpoiret: i'm trying your NetworkManager related patches, also re-instating a current NetworkManager version (1.42.6)
<apteryx>any tip to test if it still works? just attempting to change my wifi (WPA2) would trigger it?
<jpoiret>ah, good idea! For me, nm-applet crashed if I tried to modify a WPA2-Enterprise connection
<jpoiret>otherwise, apart from checking that connecting does work in general, i don't know if there's a good general method to test nm
<GNUtoo>jpoiret: thanks, I needed it to run a browser with guix sell
<cbaines>(%current-system) doesn't seem to work in a package's source :(
<otterz>Hi, I'm trying to build Guix in a guix shell environment, as described in the "Building from Git" section of the manual. I first run "guix shell -D guix --pure", then "./bootstrap", then "./configure --localstatedir=/var --sysconfdir=/etc", but I get the following error on the ./configure step: "configure: error: GNU libgcrypt not found; please
<otterz>install it." Any ideas what may cause this error?
<PotentialUser-25>If I put search-patches next to the filename like the cookbook says it fails with unbound variable
<jpoiret>otterz: that's not enough to locate the commit, sorry. You'll probably need at least 10 characters
<civodul>cbaines: yup, that's much appreciated! that was more of a general statement
<PotentialUser-25>I thought search-patches was not used anymore due to the error message. But if they are used probably it cant find the file
<otterz>jpoiret: ah, sorry about that. Here's the whole hash: "3efdc84bbd1819aeef6e2290aaf54bc88ba72dda". Hmm, when I run guix describe inside a guix shell session I get a different version "dc5430c9dc20ee53441995d9a89a90b0a86aeed3"
<jpoiret>PotentialUser-25: it is used, but you need to specify the whole path starting at your channel's root
<jpoiret>as opposed to patches which are in the Guix source
<PotentialUser-25>what if I dont have a channel? I am running: guix install --install-from-file=something.scm
<jpoiret>yes, that's probably the reason. You should probably follow what the warning tells you at the bottom
<otterz>From the "Invoking guix shell" section in the manual: "For example, if you are using Bash, make sure that environment variables are set or modified in ~/.bash_profile and not in ~/.bashrc—the former is sourced only by log-in shells." Yeah, I set my env. vars in .bashrc, i.e. not in the right place
<otterz>jpoiret: yes, it works in a container! Thank you very much!
<jpoiret>civodul: re elogind/PAM, wdyt of adding a shepherd service for PAM as a synchronization point for services needed by pam?
<jpoiret>that way you can add pam as a requirement to all things that use it
<civodul>re Shepherd 0.10, i guess we'll have rc2 hopefully this week-end and then release a few days after
<efraim>i can test it a couple more times as needed
<jpoiret>civodul: wouldn't it be possible to add shepherd-next by the way?
<gabber>i run into "guix home: error: opening lock file `/gnu/store/HASH-mirrors.lock': Read-only file system" when i try to reconfigure (i'm still trying to test the generalized home-night-time-service). why/what does it mean?
<civodul>jpoiret: i think using the shepherd channel is even better!
<PotentialUser-25>hey. how can I "install" a local binary in the store? I have a go binary that needs to find glibc but it cant because guix doesnt follow fhs obviously. So I was thinking of installing it in the store
<ennoausberlin>jpoiret: That team is quite small. Only two members if I am not wrong.
<podiki[m]>ennoausberlin: if you are looking for python stuff to review/test there's this series https://issues.guix.gnu.org/63139 which will cause a python world rebuild; I need help sorting out the bootstrapping/updates properly
<TristanCottam[m]>Hi everyone! I'm trying to package Dgraph for Guix, which is installed using make install, which itself runs go install.
<sepi>TristanCottam[m]: /homeless-shelter is the $HOME set by the build system. The build system tries to write into $HOME I guess. But yeah, follow jpoiret's advice. If there is a specific build system, it's probably a good idea to go for it
<TristanCottam[m]>sepi: I was confused by the recommended installation method being `make install`, and couldn't tell if I should replace it.
<sepi>Is it a common pattern to have functions modifying packages? I'm interested in having a function that takes a simple django application package and makes it into a package that runs the django application using gunicorn for example.
<TristanCottam[m]>sepi: Well I'm writing the package definition myself, just needed help about that.
<jpoiret>guix's containers are just built on top of Linux namespaces
<dirtcastle>is there a way to start services in a container by declaring it.
<mirai>sepi: I'd consider packaging the django application as is and then define a service that uses gunicorn on it
<mirai>I think I have an example for a scenario like this
<ennoausberlin>podiki[m]: At the moment I added a dozen packages to my own channel. Before I add them to the official channel I'd like to learn more about fixing failing tests. At the moment I mostly set the tests? argument to #f, but this is not the way to go I guess
<sepi>TristanCottam[m]: I think we understand what you're trying to achieve but unfortunately the build process is not clear to me. I'm trying to figure it out from the Makefile but honestly I'm not good with makefiles.
<sepi>TristanCottam[m]: you should try to understand exactly what is happening under the
<sepi>hood and then you compare it to the provided build-systems. You then choose the one most appropriate and customize it a bit.
<podiki[m]>ennoausberlin: right, tests being disabled or skipped should always have a reason; with python often it is needing the right test modules, more general reasons to disable tests is for things like network access (not allowed in build environment)
<ennoausberlin>podiki[m]: python-pytest 3.7.1 would be nice. I added it to my channel and it builds once, but somehow it causes problems to other packages (huge memory consumption on guix package -u)
<ennoausberlin>podiki[m]: I am eager to contribute, but need more practice.
<podiki[m]>an update to pytest, assuming it doesn't end up breaking everything :) would fit in that issue I linked earlier, since it will be rebuilding everything anyway
<sepi>mirai: that was my first approach. The problem being that in order to run gunicorn, you need to know the PYTHONPATH of the application you're trying to run. This seemed tough at the time.
<podiki[m]>ennoausberlin: my advice is always to read the guix code, pretty much everything you can think to do has been done, and of course ask here; submitting patches and getting review is also helpful, doesn't have to be perfect especially the first times
<TristanCottam[m]>Can anyone help me understand what are #:import-path and #:unpack-path for the go-build-system?
<zacchae[m]>I compiled some code in a (--pure) guix shell. That code is failing to load /gnu/store/...gcc-11.3.0-lib/lib/....so. gcc-11.3.0-lib is not in my profile, so it must be referenced in one of the packages in my shell environment.
<sepi>mirai: after spending countless hours on this, I managed to make a package combining my application with gunicorn and exposing a shell script to launch them. This works since I have access to the needed PYTHONPATH during the build of the package. I don't think I can have that info in a service available
<zacchae[m]>How can I track down which package is finding tha .so file?
<ulfvonbelow>TristanCottam[m]: you might especially like the long comment at the beginning of guix/build/go-build-system.scm
<TristanCottam[m]>Dgraph's Go files are in a subdirectory. Should this be reflected by appending the subdirectory to the import path? And how can I instruct go-build-system to use this subdirectory for building?
<apteryx>what can I read to get a grasp of how PAM/PAM configuration works?
<apteryx>I guess rekado's suggestion should do it (add a 'session optional pam_motd.so motd=/gnu/store/rx05dwn90qaa0wmq872prq1mljvxy2lq-motd' line to sshd's pam configuration)
<evilsetg[m]>apteryx: Yes, if you do not want gpg-agent to manage your ssh keys, it does not run as shepherd service and is instead launched whenever needed. For me it gets launched in the first shell I start after logging in.
<evilsetg[m]>I don't know if running gpg-agent as a shepherd service does solve the problem of accessing it in emacs but I will find out.
<zacchae[m]>What even is /gnu/store/...gcc-11.3.0-lib? guix install firstname.lastname@example.org:lib prints "email@example.com lacks outpu lib", yet one of my packages in this shell refrences (and crashes on) gcc-11.3.0-lib.
<zacchae[m]>Wait. 'guix install gcc' installs 'firstname.lastname@example.org', but 'guix install gcc-toolchain' installs 'email@example.com'. This is a bug, right?
<mfg[m]>Not sure, but gcc-11.3 is the GCC used to build all the packages, while gcc12 is the latest packaged gcc