IRC channel logs

2022-08-20.log

back to list of logs

<vagrantc>acrow: commented on the bug and was able to build java-xalan-interp ...
<devmsv>so I'm changing my config.scm from a live system chrooted but can't reconfigure because on the chroot there is no DNS resolution
<Gooberpatrol66>How do I set locales in a guix environment?
<Gooberpatrol66>glibc-locales is installed in the environment
<Gooberpatrol66>GUIX_LOCPATH=$HOME/.guix-profile/lib/locale
<Gooberpatrol66>(though that directory doesn't exist)
<Gooberpatrol66>as suggested here https://guix.gnu.org/manual/en/html_node/Application-Setup.html#locales_002dand_002dlocpath
<Gooberpatrol66>doesn't work
<oriansj>could someone please package tuigreet as agreet is not a good replacement for slim
<oriansj>and slim does not work with sway
<devmsv>oriansj: for sway you can use sddm
<devmsv>or gdm as far as I know
<shcv[m]>there should be a way (community service?) to search for which package installs a given program or file, like e-file for gentoo
<shcv[m]>devmsv: you could copy resolv.conf from the outer environment?
<oriansj>devmsv: fair, I am however trying to do a minimal install and pulling in KDE/GNOME wouldn't help with that goal
<vagrantc>oriansj: why not "exec sway" ?
<vagrantc>e.g. no *dm
<oriansj>vagrantc: well greetd user account can be granted a sudo for shutdown/reboot and users who are physically at the computer can use it to shutdown/reboot but those who ssh in don't need that ability
<oriansj>although i do admit, if one were to write a greetd client and have it cause the greetd user account to shutdown the machine via ssh; it would be possible and I'd probably have to figure out a solution to that.
*vagrantc suspects ci.guix.gnu.org and bordeaux.guix.gnu.org are building with different locales ... speculating C vs. en_US.UTF-8
<vagrantc>well, this is new guix build: error: derivation `/gnu/store/infq1xs3czafcp97sx847ygg2ahnq168-libccd-2.1.drv' may not be deterministic: output `/gnu/store/anb18pcx7mfbz5h7q041k48m6vv4ay9n-libccd-2.1' differs
<devmsv>shcv[m]: there were just 4 URLs needed so I put them on /etc/hosts. I don't know if copying resolved.conf would have worked since it had name server configured
<psy0>Hello! Hopefully quick question. I'm having trouble googling what this syntax means in Guile: #'(stuff)
<ml_2>psy0: It seems to be like a regular quote, except that the resulting object is instead a "syntax" object which also contains metadata like what file and line it came from. https://www.gnu.org/software/guile/manual/html_node/Syntax-Case.html#index-syntax
<sneek>Welcome back ml_2, you have 1 message!
<sneek>ml_2, antipode says: I don't know if you can do that in the REPL, but in Guile programs, you can use 'continuable exceptions' to do things like that (try raise-continuable+with-exception-handler), and remember to _not_ use catch which doesn't preserve continuability)
<psy0>Aha! Thanks so much!
<Cairn>I've written a package definition which succeeds when using the git URL, but fails when using `--with-source` after cloning the git URL locally. Fear me, like I fear myself.
<Cairn>When I try this on other packages, it says "transformation 'with-source' had no effect on [package]"
<Cairn>It occurs to me that maybe it's simply using the source directory, rather than selecting from tags like I'd been doing previously. Whoops.
<Cairn>Yep, that was it. ;D
<Cairn>So Go packages often seem to bind dependencies to particular commits. How should I approach that situation while packaging?
<Cairn>Like, we want to run the package as the dev expects it, but then we also have all these general dependencies which a bunch of packages could expect to use at once.
<apteryx>Cairn: we usually use latest
<apteryx>unless that causes issues, to avoid exploding the dependency graph
<SamIaM>How to start dwm after guix install dwm? :D
<elais[m]>You have to create a desktop file to start it from the display manager otherwise you need to use an old fashioned startx script. If you use lxqt you can declare it as your WM
<jbv1[m]>Hello guix ! What is file-name supposed to do when using (method git-fetch) ? I thought it would cause the source to be checked out in a named subdirectory but that does not seem to be the case (I get "source" as directory name)
<lilyp>jbv1[m]: (file-name (git-file-name name version)) makes it so that the store item is /gnu/store/hash-mypackage-1.2.3 rather than /gnu/store/hash-git-checkout
<jbv1[m]>aaah ok so nothing to do with were it gets copied afterwards
<jbv1[m]>thanks
<lilyp>this "afterwards" is the unpack phase of your build system
<jbv1[m]>ok understood
***Dynom_ is now known as Guest681
<antipode>sneek: later tell nckx: (or anyone else with appropriate access to ci.guix.gnu.org): the antioxidant channel now targets core-updates, the specification at ci.guix.gnu.org needs to be changed.
<sneek>Got it.
<antipode>sneek: botsnack
<sneek>:)
***Pieter is now known as SwinkelsPieter
<pkill9>how do you add --no-auto-compile to a guile shebang?
<vivien>pkill9, you do "#!/usr/local/bin/guile \" and then on the second line you can add more arguments to guile, then finish with "!#"
<vivien>Of course it does not work as is, but I think the build-system on guix will replace /usr/local/bin/guile with the actual guile filename.
<SwinkelsPieter>Anybody try to build the python from source for Python 3.10? It seems to build OK but the install phase fails due to "ModuleNotFoundError: No module named 'zlib'".
<z572[m]1>use /usr/bin/env -S guile --no-auto-compile
<SwinkelsPieter>The command I use is "guix build python --with-source=python=https://www.python.org/ftp/python/3.10.6/Python-3.10.6.tgz --without-tests=python"
***PrinceMyshkin08 is now known as PrinceMyshkin0
***Pieter is now known as SwinkelsPieter
<orneb>Hi! A noob question about automounting a device. I'm trying to configure an external device to automount in /media/usb which resides in an encrypted root partition https://paste.debian.net/hidden/b2888924/. After a guix system reconfigure I get this error: https://paste.debian.net/hidden/442e38f4/.
<examors>orneb: your second file-system in the list is missing a closing )
<pkill9>ty z572[m]1
<nckx>sneek: later tell antipode: Done!
<sneek>Welcome back nckx, you have 1 message!
<sneek>nckx, antipode says: (or anyone else with appropriate access to ci.guix.gnu.org): the antioxidant channel now targets core-updates, the specification at ci.guix.gnu.org needs to be changed.
<sneek>Will do.
<nckx>sneek: …yes?
<nckx>sneek: …botsnack.
<sneek>:)
<nckx>sneek: later tell antipode: https://ci.guix.gnu.org/eval/557606/log/raw
<sneek>Got it.
<f1refly>when using guix offload, is there a way to handle machines becoming unavailable?
<f1refly>I configured my laptop to use my desktop computer for offloading, but my desktop computer is not alway turned on and now guix on my laptop seems to be stuck waiting for the offload machine to appear on the network
<f1refly>well, it's not exactly stuck, it fails to resolve the hostname and doesn't seem to get tired of doing that in a lopp
<nckx>f1refly: I don't think so :(
<f1refly>that's very unfortunate :/
<nckx>It is.
<f1refly>well, I'll have to move machines.scm manually then I suppose
<nckx>That's what I used to do.
<sneek>Yey! antipode is back :)
<antipode>Someone please cancel https://ci.guix.gnu.org/eval/557829
<sneek>antipode, you have 2 messages!
<sneek>antipode, nckx says: Done!
<sneek>antipode, nckx says: https://ci.guix.gnu.org/eval/557606/log/raw
<antipode>It's building the rust compilers on every hydra node, separately
<nckx>Wowee.
<nckx>How did that happen?
<antipode>My hypothesis is that Cuirass only keeps the dependencies that appear in the manifest in mind when scheduling things.
<antipode>And not dependencies.
<antipode>I've pushed a commit that adds the rust to the manifest, hopefully that's sufficient to avoid it happening again.
<f1refly>I have another question. I want to include a local file containing udev rules in my system configuration. using plain-file I can make guix copy the file to the store and return the store location, which current will be written to the udev file: https://paste.rs/s9w.scm
<antipode>On the plus side, people with access to the various hydra-guix-... now could go wild with "guix challenge".
<f1refly>how can i make it so that guix will make the udev file a link to the file in the store?
<antipode>Looking at udev-rules in (guix)Base services, udev-rule does not accept separate files.
<antipode>It wants the contents of the file instead.
<antipode>There is, however, 'file->udev-rule'.
<antipode>Note: plain-file (if the documentation is correct) does not copy files!
<antipode>It's for making a file with a certain name and contents, and requires at least two arguments, so I expect you would get an error message if you attempted a "gix system reconfigure".
<antipode>There is, however, a file->udev-rule which seems a good fit here.
<antipode>It appears combinable with "local-file" (which _does_ put the file in the store). At least, the manual gives an example with an url-fetch origin, presumably it works for local-file too.
<antipode>Summarised: file->udev-rule + local-file
<antipode>nckx: Is cancelling the current builds an option?
<nckx>antipode: Yes.
<nckx>They should be.
<antipode>Looks like they are cancelled now.
<nckx>Yes.
<nckx>antipode: Please no more megabuilds requiring SQL queries until I'm back behind a real keyboard :)
<antipode>That required an SQL query to stop?
<nckx>The ‘ui’ in Cuirass is aspirational.
<antipode>My hyperbolic condolences.
<nckx>😊
<nckx>Seriously, thanks for letting me know. Always welcome.
<antipode>This build should be safe to restart: https://ci.guix.gnu.org/eval/557860?status=failed (the rust package)
<antipode>And if that one succeeds, restarting the other builds should hopefully be safe ...
<nckx>Done.
<nckx>Ugh, not recursive. Re-done.
<nckx>antipode: https://ci.guix.gnu.org/build/1230496/details looks sus, but I'm AF(ake)K for a bit anyway, so we'll see.
***aeka` is now known as aeka
<apteryx>hello Guix! Is this ungexp-splicing example not supposed to work? https://paste.debian.net/1251120/
<apteryx>it produces #<unspecified> objects, which cannot be lowered
<apteryx>hm, that's expected, that's a one arm if
<florhizome[m]>Has someone figured out how to run pipewire in gnome?
<florhizome[m]>It seems I have to get rid of the pulseaudio service for that but I cannot delete it from %desktop–services 🤔
<antipode>apteryx: You are missing the second branch of 'if'.
<antipode>In Guile Scheme, if the condition is false and there is only a single branch, the '(if ...)' evaluates to #<unspecified>.
<florhizome[m]>or in other terms, how does pulseaudio usually get started in guix?
<jbv1[m]>Hi guix, how do you define a package that depends on multiple sources ?
<unmatched-paren>jbv1[m]: Add the (origin ...)s to the inputs
<unmatched-paren>Actually, that's less than ideal
<unmatched-paren>you'll probably instead want to write #$(origin ...) in a phase
<unmatched-paren>which will evaluate to the path of the downloaded origin
<jbv1[m]>ok I'll try that
<unmatched-paren>jbv1[m]: You might want to bind the origin to a variable outside the package
<unmatched-paren>and then refer to it with #$var
<jbv1[m]>ok sounds good especially since I'll get a lot of those unfortunately
*raghavgururajan wonders of (source can be made as a list of origins
<unmatched-paren>raghavgururajan: It can't; how would that work, anyway?
<unmatched-paren>Would the directories be disjuncted, or would there be a way to select one?
<jbv1[m]>my other idea was to use a dummy package
<raghavgururajan>not sure
<unmatched-paren>jbv1[m]: <package> and <origin> are both lowerable objects
<unmatched-paren>(along with things like local-file and computed-file
<unmatched-paren>)
<unmatched-paren>so you can put an origin/local-file/computed-file/mixed-text-file/... whereever you might put a package
<unmatched-paren>they'll all be compiled to derivations iiuc
<jbv1[m]>ok understood, but only a package can be "transformed" to another package using "--with-input" transform no ?
<jbv1[m]>so from a user friendliness point of view packages can be better no ?
<unmatched-paren>jbv1[m]: Not really.
<unmatched-paren>There's no point in doing with-input with an auxillary source output.
<jbv1[m]>well I was just wondering, I'm trying to uncouple julia from its the bundled dependencies in the release tarball it is quite a mess.
<unmatched-paren>jbv1[m]: What are the bundled deps?
<unmatched-paren>Sometimes if you just rm the directory the build system will try to use the system installation
<jbv1[m]>normally only other julia packages
<unmatched-paren>e.g. that's the case with some Rust build.rs tools
<jbv1[m]>but I would like to be able to modify for example the julia package manager
<unmatched-paren>Okay, just use #$(package-source THE-JULIA-PACKAGE) i guess
<jbv1[m]>these particular packages are not in guix because they are bundled with julia ;)
<unmatched-paren>They're third-party, right?
<jbv1[m]>chicken and egg problem
<jbv1[m]>what do you mean by third-party ? they are developped by the same julia organisation
<unmatched-paren>Developed out-of-tree, I mean.
<unmatched-paren>So, yes, they are.
<jbv1[m]>yes indeed
<unmatched-paren>There's no chicken and egg problem; for recursive imports you could use autoload or module-ref/resolve-interface
<unmatched-paren>#:autoload (gnu packages julia-xyz) (julia-SOMEPKG julia-SOMEOTHERPKG)
<unmatched-paren>or
<unmatched-paren>(module-ref (resolve-interface '(gnu packages julia-xyz)) 'julia-SOMEPKG)
<jbv1[m]>ok
<unmatched-paren>Since you aren't actually trying to depend on the *packages themselves*, just their source code, there'll be no recursive dependencies
<jbv1[m]>but now I'm confused, would it be better to create new packages then for these dependencies ?
<unmatched-paren>yes
<unmatched-paren>and put them in julia-xyz or whatever the correct module is
<jbv1[m]>even if I guess nobody will ever install them ?
<unmatched-paren>They might.
<unmatched-paren>jbv1[m]: Is it this kind of thing? https://github.com/JuliaLang/JuliaSyntax.jl
<jbv1[m]>not this one
<jbv1[m]>but specifically this one for example https://github.com/JuliaLang/Pkg.jl
<unmatched-paren>jbv1[m]: That doesn't look like it'd be entirely useless for projects other than Julia itself...
<unmatched-paren>Anyway, yeah, splitting it into seperate packages will do.
<jbv1[m]>ok
<jbv1[m]>another reason to do this is that right now your julia package definition only works on realased tarballs, you cannot use it on a git checkout. And that would be interesting to be able to run it on a git checkout to find out which commit made the package definition obsolete
<jbv1[m]>also using a tarball as a source which bundles other tarballs in it that does not feel very nice to me
<vagrantc>julia fails to buidl reproducibly, and i've not yet managed to get diffoscope to finish a build (some run for over 24 hours)
<vagrantc>er, diffoscope to finish a comparison
<jbv1[m]>I know that at least the julia sysimg is not reprodicible it is a big binary that gets generated at build time with all kind of precompiled stuff in it
<jbv1[m]>julia can be used without sysimg but it's very slow
<antipode>dejagnu fails to build on core-updates: https://ci.guix.gnu.org/build/1230496/details
<antipode>I cannot reproduce locally.
<antipode>I don't think I'll find the issue, could the build be restarted (https://ci.guix.gnu.org/admin/build/1230496/restart)?
<antipode>Also, a "failed to build missin derivation": https://ci.guix.gnu.org/build/310142/details
***arbn` is now known as arbn
***arbn is now known as Guest8777
***arbn` is now known as arbn
<superkamiguru>Hope I am not interrupting any other conversations, but does anyone have experience setting up a 9p file-system?
<superkamiguru>To give some more context, I have guix running with qemu and am tryiing to passthrough the host filesystem using the -virtfs flag. When I run the standard mount command, it mounts the 9p filesystem correctly, but once I converted the mount command to a (file-system ...) block I can't seem to get it working. Here is a copy of the file-system block I
<superkamiguru>am trying to use https://paste.debian.net/1251158/
<superkamiguru>If I try and use the mount_tag as the device identifier, then system reconfiguration fails since the device isn't found. If I try to use another device that exists like /dev/null, then I get the 9p driver error that /dev/null isn't the correct channel (looking for mount_tag). From what I can tell the process is blocked because I need to pass
<superkamiguru>through the standard mount_tag as the device, but the device field wont let me.
<superkamiguru>Totally found the answer to my question. Looks like you can use 'file-system->mount-tag source' to specify mount tags
<superkamiguru>nevermind that didn't work, ignore me
<ekaitz>mbakke: thanks for writing that post about guix, it remind me many things and made me feel good with my past
<mroh>\o/
<superkamiguru>So it looks like if I add (gnu system file-systems) to my configuration then, file-system->mount-tag should be available right? I am missing something just not sure what
<nckx>sneek: later tell antipode: Restarted both.
<sneek>Will do.
<pkill9>anyone know of a wayland compositor built with guile? preferably using wlroots
<jab>pkill9: the one you are about to write? I've heard ( in the future ) it'll be the best one.
<superkamiguru>So I did some more research and the only reference I can find to file-system->mount-tag is this https://lists.gnu.org/archive/html/guix-devel/2015-07/msg00130.html
<superkamiguru>which lead me to the gnu/system/vm.scm file which contained the definition for this function https://paste.debian.net/1251164/
<florhizome[m]>Like, really, how does guix install the pulseaudio service by default?
<superkamiguru>Tried adding that function to my configuration to see if it would allow file-system->mount-tag to work, but I just get that the output from the function is not a valid device
<superkamiguru>Sorry, don't mean to be spamming the chat with this issue. Just figure it is good to archive what i've been finding and if someone jumps in then even better haha
<florhizome[m]><pkill9> "anyone know of a wayland..." <- hm the last time i looked there was only guile dwl
<florhizome[m]>in general i don’t think I’ve seen bindings for wlroots etc
<pkill9>one day(tm)
<superkamiguru>At the top of this file https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/system/vm.scm there is a section that defines linux virtual machine file systems https://paste.debian.net/1251166/. It looks like they are just passing the mount_tag from the 9p filesystem to the (device ...) parameter. I wonder what is needed for that to work
<superkamiguru>To future me stumbling across this in the archive: Looks like (devices ...) doesn't currently support 9p mount_tags.
<vagrantc>22