IRC channel logs

2020-06-12.log

back to list of logs

<cbaines>ryanprior, the substitute server I operate has a substitute for ungoogled-chromium, at least what I think is the latest output: http://guix.cbaines.net/
<cbaines>NieDzejkob, being able to prioritise builds is also something I wanted for the Guix Build Coordinator, and I have a basic prioritisation thing working
<Gooberpatrol_66>Trying to set my own default.pa doesn't work
<Gooberpatrol_66>(pulseaudio-configuration (script-file (file-append pulseaudio "/home/nathan/.config/pulse/default.pa"))))
<Gooberpatrol_66>guix system: error: duplicate 'pulse' entry for /etc
<emys>hey I wanted to install the d compiler and found the ldc package
<emys>but installing it doesn't appear to give me the `dmd` executable
<guix-vits>emys: `guix package -I| grep ldc`. Then you can `ls THE_STORE/bin`.. Do this package has any binaries?
<emys>aha, it seems its there as ldmd2
<roptat_>mh... how do you reschedule a build in cuirass?
<cbaines>roptat_, you might be able to change the state in the database, but I don't think Cuirass supports rescheduling generally
<roptat_>I see, thanks
<cbaines>also, something I learned recently, the canceled state of builds means that the derivation disapeared, so watch out for running guix gc, as you maybe cancel some builds
<cbaines>I'm not sure Cuirass creates gc roots for the derivations it hasn't yet built
<cbaines>You might have already noticed, but looking at one of the evaluation logs suggests you could do with more build users
<cbaines>Anyway, it's exciting to see more substitute servers! It feels like there's been a trend recently :)
<roptat_>it's more of an experiment :)
<cbaines>What's your hypothesis? I guess you must have one given you're a proper scientist :D
<roptat_>no, I just want to see what happens :p
<roptat_>"how long does it take to build everything" and "can I keep up with guix's rate of updates"
<guix-vits>emys: cat `which dmenu_path`: https://paste.opensuse.org/46462602
<cbaines>It took me a few weeks to build everything from scratch, but I'm finding it actually pretty easy to keep up
<roptat_>I also want to help with checking reproducibility
<cbaines>Cool, did you see the pages in the Guix Data Service I started putting together for this? https://data.guix-patches.cbaines.net/repository/2/branch/master/latest-processed-revision/package-reproducibility
<roptat_>yes I did!
<cbaines>Great, the numbers are low at the moment, but that's just because fetching substitutes is unreliable, I'll work on that more at some point
<cbaines>At some point soon I'll get guix.cbaines.net building more than x86_64-linux, so hopefully there will be more data for other architectures as well
<cbaines>Anyway, I need to get some sleep o/
<roptat_>is there a way to force refreshing substitutes?
<nixfreak>probably wrong channel , but does anyone have or know of any resources or books on how to start developing decentralized web sites and apps ?
<nckx>jackhill: Not ungoogled enough for my taste 😉 I should remove ‘Google's’, that is true.
<nckx>roptat_: I just rm /var/guix/substitute/cache/ & ~/.cache/guix/substitute/.
<ryanprior>nixfreak: what level are you at / interested in? Would info about offline-first apps, local cacheing and data retrieval be interesting? Federation? Fully distributed peer to peer zero trust architecture? Something else?
<jackhill>nckx: fair enough
<apteryx>ah. I sent a guix pack'd guile to an embedded board (ARM), it fired up (yay!) but when trying to do anything at the REPL it segfaults.
<apteryx>when used interactively only it seems! when I pass the same dummy script as an argument with -c, it works
<apteryx>that was Guile 3. Guile 2 seems OK!
<marusich>hey there
<apteryx>hey :-)
<apteryx>what's the oldest kernel linux that our glibc (2.31 currently) will accept?
<civodul>Hello Guix!
<janneke>hello civodul!
<civodul>how's everything?
<janneke>slow...i was almost sure that i got rid of the (with-store store (run-with-store store bits, using (with-parameters .. os) instead -- but it seems that i was mistaken
<janneke>
<janneke>can't get it to work -- hopefully mothacehe can shed light on it
<janneke>it did test mbakke's vm-in-vm suggestion and that seems to work
<civodul>ah!
<civodul>i haven't seen that yet
<janneke>so...my first hurd-vm prototype just used (const "/gnu/store/.../image-dir/disk-image") for the 'image' thunk procedure and from that i worked backwards, picking the relevant bits of code from guix/scripts/system.scm
<janneke>that obviously "worked"...but, yeah
*janneke wonders if the Guix overlords would consider declaring fridays free 20% hurd-hacking-time
<civodul>janneke: sounds like a plan ;-)
<civodul>hey marusich, could you add a test case for your latest 'guix lint' change?
<janneke>but only for those that don't do hurd hacking the rest of the week, instead they get free blog post writing time ;-)
<marusich>I thought it was covered?
<civodul>it's a nice improvement anyway
<marusich>I guess it wasn't
<marusich>Sure, I'll add one
<civodul>or it would have failed, no?
<civodul>dunno
<marusich>No, you're right
<civodul>janneke: heheh :-)
<marusich>I was just about to go to sleep, so I'll do it tomorrow evening.
<civodul>ah sure, no rush!
<marusich>Goodnight!
<civodul>night!
<lisbeths>I am going to install guix on windows terminal preview.
<damo22>has anyone created a docker base image for guix?
<damo22>for example, so you can run CI tests in gratis providers that allow docker images?
<bricewge1>damo22: There was a thread recently about guix in docker image on 'guix-devel'
<bricewge1>You can also build docker compatible image from Guix directly, depending on what you want to do
<janneke>hey damo22, welcome :-)
<damo22>thanks
<rekado_>I’m going to turn one of our build nodes into the new berlin.guix.gnu.org
<rekado_>the biggest problem is going to be the external storage
<rekado_>the store for berlin.guix.gnu.org is on the external storage; this includes the system
<rekado_>so I’ll first reconfigure berlin.guix.gnu.org and then reconfigure the new head node with the same variant of Guix
<rekado_>then I’ll shut down both nodes and the storage, swap the cables and boot the new node up from the external storage
<thorwil>hi! after a recent update, trying ‘Save As’ from Inkscape causes a core dump and the message: 'org.gtk.Settings.FileChooser' does not contain a key named 'show-type-column'
<rekado_>thorwil: is this on a foreign distro?
<thorwil>i guess the same will happen with other gtk apps. it does not happen with gtk apps belonging to ubuntu.
<thorwil>yes
<rekado_>it’s probably caused by XDG_DATA_DIRS or similar
<rekado_>one of those variables may cause the Guix-installed application to load plugins from that are installed on the system.
<rekado_>can you show us the values of the XDG_* variables?
<thorwil>if so, that didn’t happen 2 or 3 days ago
<thorwil>XDG variables: https://pastebin.com/raw/rSzJ7Ys6
<thorwil>the general issue is well reported, but most i can find doesn’t seem applicable. however, there’s this comment regarding the situation on nix: https://discourse.nixos.org/t/firefox-crashes-when-opening-a-file-dialog/5323/4
<rekado_>what happens when you unset XDG_DATA_DIRS?
<Formbi>hello
<Formbi>my youtube-dl is crashing
<Formbi> https://termbin.com/97hn
<Formbi>does someone have an idea how to fix it?
<mbakke>apteryx: officially Linux 3.2.0 is the minimum supported kernel, but we have a patch to accept the RHEL6 2.6.32 kernel
<mbakke>Formbi: it looks like it tries to load some old package in your profile built with Python 3.7
<Formbi>but why would it do that
<Formbi>is there something wrong with the package definition?
<mbakke>Formbi: indeed, the wrapper script just prepends to PYTHONPATH, so if you have a conflicting PYTHONPATH it might cause issues. Probably the wrapper can be changed to just override PYTHONPATH instead of adding to it.
<mbakke>Formbi: can you file a bug (or patch)? :-)
<guix-vits>Is anyone else fails to connect to paste.centos.org over httpS?
<bricewge1>guix-vits: It's working fine over there.
<bricewge1>http redirect to https BTW
<guix-vits>Thanks bricewge1.
<thorwil>rekado_: when i unset XDG_DATA_DIRS, inkscape will not even start
<thorwil>rekado_: with just XDG_DATA_DIRS=/home/thorwil/.guix-profile/share, it starts and crashes on Save_As already
<thorwil>rekado_: the same with XDG_DATA_DIRS=/usr/share/unity:/usr/local/share/:/usr/share/
<Formbi>thanks mbakke
<thorwil>all 3 store items for org.gtk.Settings.FileChooser.gschema.xml do have a <key name='show-type-column' type='b'> ...
<thorwil>the only other version of that file is /share/glib-2.0/schemas/org.gtk.Settings.FileChooser.gschema.xml. Adding that key to it does not help.
<thorwil>That path begins with /usr, of course
<roptat_>hi! how can I tell cuirass to buid everything except a few derivations?
<civodul>hey roptat_!
<civodul>i think there's an option to give it a manifest, no?
<roptat_>yes, but I want to build everything, except a few packages
<roptat_>can I specify that in a manifest?
<civodul>when building Guix proper, we use build-aux/cuirass/gnu-system.scm
<civodul>that file specifies all the packages, system tests, etc.
<civodul>but you could come up with your own file
<roptat_>so... how do I list every package?
<civodul>fold-packages would do
<roptat_>so where should I put the manifest? in an input, or is it fetched from the filesystem?
<mbakke>nckx: you around?
<mbakke>looks like armv7 offloaded builds to dmitri are failing
<mbakke>can one-shot services have a 'stop' action?
<nckx>mbakke: Around, sec.
<mbakke>I have a one-shot service that runs a script, and I tried adding a stop action like (lambda () (system* "reset-script.sh")), but it does not seem to do anything
<nckx>mbakke: Both are up, dmitri's idle. But armv7? Do you have a log?
<mbakke>nckx: the symptom was that the build process did not find ARMv7 libraries, or the dynamic linker, or otherwise exited with 127, but I don't have a log at hand
<mbakke>nckx: I've commented it out, but you can hop on to Berlin and enable it and try performing some ARM builds
<mbakke>or even just 'guix build -s armhf-linux' locally on the machine
<nckx>OK. Tonight or tomorrow.
<mbakke>np
<apteryx>ah, the Guile 3 segfault from my guix pack on ARMv7 must be Guile's bug #40737
<apteryx>good to know it's not specific to Guix
<apteryx>guile-readline@2.2 is not available from CLI API. Bug?
<apteryx>we have to specify guile2.2-readline
<civodul>apteryx: it's consistent with what we do for the other Guile packages
<apteryx>OK :-) I wasn't sure, given Guile itself can be specified "normally", e.g., guile@2.2.7.
<civodul>yeah
<roptat_>I might be doing sometthing wrong, I have two machines I want to use to build stuff, so one machine is configured to offload to the other
<roptat_>however, unless I pass --no-offload, it will always offload to the other machine, and build nothing locally
<roptat_>so I also added "localhost" to the list of machines, but when the firsst machine offloads to itself it is "waiting for build locks" indefinitely
<guix-vits>roptat_: Are You mean a -> b -> a ..?
<roptat_>no, I want a to offload to either itself or to b
<roptat_>b does not offload
<bricewge1>+1 I would like to know how to offload on-demand only, not by default. Something like --offload maybe
<guix-vits>roptat_: "parallel-builds (default: 1)": maybe a need to have at least 2 to offload to itself?
<roptat_>I have 9 :p
<guix-vits>bricewge1: (?) already there 6.9: "When local-build? is true, ... not ... offloading ... This is the case for small derivations where the costs of data transfers would outweigh the benefits."
<guix-vits>Probably can be set somehow..
<bricewge1>guix-vits: I can't find 6.9
<guix-vits>bricewge1: sorry, 6.5
<bricewge1>Thanks!
<bricewge1>If understand correctly this feature is present at procedure level, but it's not yet available at the CLI
<bricewge1>It may be worth looking into it sometimes
<guix-vits>IDK; just saw leoprikler's `(call-with-input-file "manifest" (@@ (guix profiles) read-manifest)) ;parse files like ~/.guix-profile/manifest` recently. Probably 'local-build?' can be influenced somehow.
<roptat_>guix-vits, but I want to locally build offloadable builds if my offload machine is busy with something else
<roptat_>and since it's a CI system, I don't want to tell it what to do
<roptat_>just "build everything on yourself or this other machine"
<zzappie>I was installing guix on one of my machines and got error during bootloader init. It probably has something to do with it's werd "bios" I duno. I want to restart machine and rerun system init until I get bios settings right but "guix system init" fetches packeges and populates the disk even though everyting is already in place
<zzappie>Anyone knows Is there a way just to run bootloader init?
<leoprikler>I don't think you can
<leoprikler>at least not directly
<leoprikler>you could potentially write something, that just builds the bootloader stuff, but I'm not sure, how well that would work
<lispmacs[work]>hi, I was just wondering if there is anything magical about the config.scm being stored in the /etc directory. If I'm system administrator, I might as well keep it in my home directory, right?
<leoprikler>a workaround would be to use a minimal config.scm analogous to bare-bones
<leoprikler>yep, you can use any file for that
<apteryx>mbakke: thanks for the info w.r.t. the oldest kernel Linux supported by our glibc
<leoprikler>I think the rationale is, that it should be at a well-known location where only the privileged have access
<leoprikler>in a multi-user system, that's /etc
<zzappie>leoprikler: well I'll try to do I by hand then :)
<zzappie>*it
<guix-vits>roptat_, bricewge1: "<nckx> Parallel-builds limits how many jobs an offloader will even attempt to send to a node. If it's 2, it doesn't matter that the node is running with --max-jobs=88 internally." What about reducing the parrallel-builds?
<roptat_>ok, I think this is what happens: a starts a build for foo.drv, so it locks the store item. It is configured to offload, and chooses localhost because it's not busy. it offloads to localhost. a's guix-daemon receives the build but sees that the store item is locked, so it simply waits for the build to complete
<roptat_>which will never happen
<roptat_>I think it's a deadlock, and it's probably unrelated to the number of parallel build it is allowed to do
<rekado_> lispmacs[work]: yes, you can have the config wherever you want, or nowhere at all
<leoprikler>nowhere sounds dangerous
<rekado_>for the build farm nodes we generate the configuration record with a procedure and use that directly
<guix-vits>roptat_: if the localhost isn't in machines.scm, and the parallel-builds set low: same?
<roptat_>if localhost is not in machines.scm, then it doesn't do anything locally, it offloads every offloadable build
<mroh>what is the kernel param to get into the initrd guile? --repl?
<civodul>reepca`: it's fine if i update guile-sqlite3?
<reepca`>civodul: should be
<guix-vits>So parallel-build mean 1 "build" 1 machine, and building of packages happens one-by-one (even if there is 10 packages to be build)? (IDK, just have a 2-core machine.) I was though: p-b 1, one need 2 packages: 1 offloaded, 1 locally built.
<rekado_>does anyone happen to have a package for v8?
<rekado_>one of the R packages in my huge Bioconductor upgrade needs it
<roptat_>is that the name of a package?
<NieDzejkob>yeah, it's the chromium javascript engine. V8
<NieDzejkob>at least, that's how I read it
***MSavoritias_ is now known as MSavoritias
<apteryx>Can a profile manifest such as the one in ~/.guix-profile/manifest can be used with the -m switch (to reproduce the exact same profile?)
*apteryx tries: no
<rekado_>apteryx: no, they just share the same name
<apteryx>so users must derive a *user* manifest with the information it contains to recreate such profile, right? Such as the channels used, their version, and the package names.
<apteryx>or is there an easier way
<roptat_>one hour ago: `(call-with-input-file "manifest" (@@ (guix profiles) read-manifest)) ;parse files like ~/.guix-profile/manifest`
<apteryx>roptat_: nice!
<bdju>if I'm partitioning a new drive and I start out in cfdisk to make the partition table + partition(s), does the partition "type" matter here?
<bdju>it defaults to "Linux filesystem"
<bdju>and then I think I do the actual file system part in another program
<bdju>I want to make it btrfs and I want to use luks fde
<nckx>bdju: ‘Linux filesystems’ all the way down.
<bdju>alright
<leoprikler>Since a lot of users have recently been rediscovering my hack, please let it be known, that if you have a real guix profile – which you should if you're asking yourself this question – then (profile-manifest "/path/to/profile") does the same, but without relying on @@.
*guix-vits @.@
<roptat_>o
***sneek_ is now known as sneek
<roptat_>I'm tryin to do (inferior-package-derivation (open-connection) p) where p is an inferior-package, but I get In procedure fport_write: Broken pipe
<roptat_>actually, same with inferior-package-synopsis, I might be doing something wrong
<alextee[m]>do we have qt 5.15 yet?
<roptat_>we have 5.12.7 on master and 5.14.2 on staging
<alextee[m]>ah cool thanks
<guix-vits>roptat_: "(define* (inferior-package-derivation store package #:optional (system (%current-system)) #:key target)"
<roptat_>thanks, but I alraedy know that :)
<guix-vits>i'd seen (paramet-thingy-rize (%store (open-connection)))
<guix-vits>or (open-connection) returns what expected?
<roptat_>yes that's what I use
<roptat_>but actually the issue seems to be with the way I create the inferior
<roptat_>it works better when I do it from a channel specification
<roptat_>ok, it seems to be busy now instead of crashing, so it's probably working ^^
<roptat_>it worked!
*guix-vits ok: %store is parameter that holds a "socket" returned by open-connection(). paramet-thingy() prevents %store from modification.
<roptat_>mh... there's still an issue: when I use the same store connection, I can only get the derivation of two inferiors. On the third, it just hangs with all CPUs at 0%
<roptat_>(even if I already have asked the derivation of that inferior package, so it can't just be busy creating .drv files)
<Bryophyllum>Hello everyone. I need an advice on exporting system-wide environment variables in my guix config; namely, what's the most practical way of doing that?
***janneke_ is now known as janneke`
<Bryophyllum>I'd like to have my guix config self-contained so that there were less manual steps to be taken during installation process.
<guix-vits>Bryophyllum: i'm not a developer. What are you want to achieve (with e. variables)?
<Bryophyllum>guix-vits: Set essential shell env vars, such as "$EDITOR" to, for example, specify my text editor of choice. Nothing fancy.
<guix-vits>hmm.. i'm using only bashrc.. Should be some service for that?
<guix-vits>Bryophyllum: `guix system search environment`: maybe "session-environment"?
<guix-vits>(i didn't ever used it)
<Bryophyllum>guix-vits: Oh, that's what I'm looking for. And hey, I didn't know about this command. Thanks! I'll give it a try right away. I find it odd that this isn't documented in the manual, though
<guix-vits>Bryophyllum: see also: `guix COMMAND --help`.
<Bryophyllum>I need to figure out how to incorporate it into my config now..
<guix-vits>Bryophyllum: "8.14 Invoking guix system". Also note that the "release" versions of the Manual can be somehow old. This is a most current one: https://guix.gnu.org/manual-devel/ (at least English version should be :)
<guix-vits>
<guix-vits>about incorporate..
<guix-vits>Bryophyllum: This particular service can be found (aside from Guix's git clone) in ~/.config/guix/current/share/guile/site/3.0/gnu/system/pam.scm.
<Bryophyllum>guix-vits: Thanks. Reading source code was immensely helpful in this case: https://github.com/guix-mirror/guix/blob/29e4d3ea064f039d60b5f41a1077bc9d4bab322a/gnu/system/pam.scm#L302
<Bryophyllum>Thanks for all your help, especially pointing out that there's "guix system search" and the development version of the manual
<guix-vits>Bryophyllum: also there is "an another interface": https://git.savannah.gnu.org/cgit/guix.git/.
<Kozo>Hey, where do I put (static-networking-service...) if I am using Gnome desktop? When I put it alone in my services, it says it's defined twice. When I add it to "Modify %desktop-services", it says "Source expression failed to match any pattern"
<Kozo>Gnome desktop in Guix System
<guix-vits>Kozo: in %desktop-services it's used to make a "lo" interface (127.0.0.1). How do You use modify?
<Bryophyllum>guix-vits: I can confirm that with (simple-service 'name session-environment-service-type (...)) my $EDITOR env var is now globally visible. Thanks again for your help
<Kozo>guix-vits: https://paste.debian.net/1151825/
<leoprikler>yep, wrong syntax
<leoprikler>you'd have to use something along the lines of static-networking-service-type config =>
<leoprikler>etc
*guix-vits relaxes :D
<Kozo>OK. Manual needs to be updated then. Thanks leoprikler
<leoprikler>Hmm, I think you're talking about "This procedure can be called several times, one for each network interface of interest." right?
***roptat_ is now known as roptat
*guix-vits actually in %desktop-services it is a "static-networking-service-type" with `(list (static-networking (...`, not static-networking-service.
*guix-vits in %base-services!
<Kozo>leoprikler: I'm talking about the pictured example. How would I know I need that other code based on the example?
<Kozo>guix-vits: Thanks, trying it out right now
<leoprikler>Kozo based on the larger context of the manual?
<leoprikler>It mentions, that modify-services matches on service type, whereas static-networking-service is a procedure.
<leoprikler>procedures aren't types, at least not in scheme
<Kozo>OK, thanks for the clarification =]
***janneke` is now known as janneke
<janneke>civodul: setxattr gnu.translator for linux => https://www.spinics.net/lists/linux-ext4/msg72811.html
<leoprikler>so we can use hurd translators in linux after this is applied?
<rekado_>I wrote a little something to generate commit messages
<rekado_> https://elephly.net/downies/committer.scm
<rekado_>to use it stage all hunks affecting one updated package
<rekado_>then run it and it spits out a changelog-style commit message, listing changes in all inputs
<rekado_>it’s still pretty rough, and it hard-codes a few assumptions, but I’m going to use it for the rest of my Bioconductor upgrade