IRC channel logs

2021-04-19.log

back to list of logs

<derivates>hello guys i'm trying to set this :: (define me/screen-resolution "1920x1080") but i'm getting an error
<roptat>what error?
<nckx>...and this error is...?
<nckx>derivates: The snippet you posted is valid by the way.
<derivates>invalid field specifier
<derivates>probably something related to the scope?
<roptat>mh, you need to define stuff at the top level
<nckx>Are you trying to define something under (operating-system?
<nckx>Move it above that.
<derivates>alright one sec, so this is like a C macro
<nckx>(use-modules-and-stuff) (define this) (define that) (operating-system ...)
<roptat>more like a variable definition
<derivates>error: (bootloader (bootloader-configuration (bootloader grub-efi-bootloader) (target "/boot/efi") (keyboard-layout keyboard-layout)) (theme (grub-theme (inherit (grub-theme)) (gfxmode (quote (me/screen-resolution "auto")))))): invalid field specifier
<derivates> https://pastebin.com/kk4sB6vs
<nckx>If you want to define things closer to where they're used, you can use (o-s (field (let ((this "that")) this))) etc.
<nckx>Oh, C it isn't :)
<nckx>derivates: Can you use paste.debian.net please? It's asking me to eat cookies.
<derivates>i was thinking using let but a global constant is fine at the TOP of the file so i manipulate varios systems
<roptat>derivates, '(me/screen-resolution "auto") should be `(,me/screen-resolution "auto") instead I think
<roptat>(that's quasi-quote and unquote, that creates a list, otherwise me/screen-resolution is quoted and it's just a symbol instead of a variable that's evaluated)
<nckx>OK, roptat likes cookies, never mind derivates 😉
<derivates>no problem http://paste.debian.net/1194223/
<nckx>derivates: Use (list me/thing "auto")
<nckx>Or what roptat suggested.
<roptat>derivates, also not sure about (inherit (grub-theme)), does that come from the manual?
<nckx>Both are equivalent, I just find the latter easier to start.
<nckx>roptat: Looks good.
<roptat>oh! (keyboard-layout keyboard-layout)) has an extra closing parenthesis
<roptat>so it closes the grub-configuration, and there's an extra stuff inside the bootloader field, which guile doesn't like
<roptat>derivates, ^
<roptat>looks like (grub-theme) is just creating the default grub-theme record, which would also work by not having the inherit stuff at all, no?
<roptat>but it's not incorrect
<nckx>roptat: Hm, you think?
<nckx>That would be new.
<roptat>don't know
<derivates>alright my eyes are betraying me now haha
<derivates>Wrong type (expecting string): (unquote me/screen-resolution)
<nckx>derivates: Did you use (list me/screen-resolution "auto") ?
<derivates>i kept the define
<nckx>roptat: I'm looking at the manual now and the indentation for the gfxmode snippet looks misleading.
<derivates>is the pastebin showing?
<derivates>nckx: was aboout to say that!
<nckx>derivates: (gfxmode (list me/screen-resolution "auto")))))
<roptat>derivates, keep the define and use the syntax from nckx
<derivates>i guided mysaelf with ()
<derivates>colors
<roptat>nckx, you can push to master to your heart's content
<nckx>I agree it's misleading derivates, I wonder why it's like that (didn't look at the source, gotta go, sorry).
<nckx>roptat: Oh! \o/
<roptat>the string freeze applies to version-1.3.0 which now will only cherry-pick fixes for release-blocking bugs
<roptat>at least, that's my understanding
<roptat>derivates, you might want to have a look at the crash-course we have in the cookbook, after you fixed your issues: https://guix.gnu.org/cookbook/en/html_node/A-Scheme-Crash-Course.html#A-Scheme-Crash-Course
<roptat>apteryx, btw the cookbook doesn't appear on the website, is it still building? did it fail?
<derivates>rotptat & nckx: i got to work now! i need to further study `(...) vs (list ...)
<derivates>going forward, do i need the "auto" ? i could just use what i defined...
<apteryx>roptat: do you mean here? https://guix.gnu.org/en/cookbook/en/
<apteryx>it's on a 13 h old commit
<roptat>oh
<roptat>mh, that's one commit before my adding of the new translations
<nckx>How does one add a new language to the Web site?
<roptat>it depends which part of the website
<roptat>the website itself, the process is documented in the repo: you add the po and update po/LINGUAS and po/ietf-tags.scm
<roptat>for the manual and cookbook, you add the language to the list in doc/build.scm
<nckx>Found it. It's called i18n-howto.txt.
<roptat>apteryx, you might want to try #47882 to update translations on version-1.3.0
<nij>Hello #guix! About to send a patch to guix.. my first time. Is this change log acceptable? - https://bpa.st/SZKA
<nij>Also, I didn't commit with any gnupg key. Is that ok?
<roptat>nij, it's ok, your key is not allowed anyway and it's not part of what you can send to the list
<roptat>a commiter will sign the commit before pushing it
<roptat>ideally you would make two commits to add two packages, unless there's a reason not to do so
<roptat>for two packages, the chanlog line should be * gnu/packages/ibus.scm (gob, ibus-chewing): New variables.
<roptat>nij, hope that helps! and congrats on your first patch :)
<roptat>don't forget to add a copyright line for yourself too
<nij>Uh. I didn't see copyright line in other commit log.
<nij>Hmm.. mainly we want the second package, which depends on the first package.
<nij>So I push them together.
<nij>Also.. the date in the first line seems weird for me - From bb226b2680d5b66a863ff234d2d0a6207f7f8cb0 Mon Sep 17 00:00:00 2001
<nij>
<roptat>nij, not the commit log, but the content of the patch
<roptat>I mean, for the copyright line
<roptat>so when we add a package and a dependency, we create one patch for the dependency and another patch for the package itself
<roptat>if you look at the git log, you'll see that adding multiple packages together is very rare
<roptat>the date doesn't really matter, in the worst case git will complain a little, but that's something the commiter will take care of
<roptat>don't worry too much for your first patch :)
<nij>@_@
<nij>Ok.. suppose I don't care about my copyright. Now I have this patch. How should I send @@?
<nij>Should I include that in an email message as a usual attachment?
<roptat>two solutions: easiest is to attach your patch to an email to guix-patches@gnu.org, the other is to use git send-email to send the patches to guix-patches@gnu.org
<nij>I will send it using my gmail. Hopefully that won't irritate people.
<nij>I have to be very careful that it ain't an html email?
<cyberTeX>I'm having trouble reconfiguring my system to use SLiM login manager, rather than gdm.
<cyberTeX>I'm making the guess that gdm is what my computer was unhappy with and why I was getting "Oh no!"s.
<lle-bout>nij: attaching patches generated by git format-patch will be fine for single patches, but if you have to send a patchset or more complex patches, please learn and configure git-send-email.
<cyberTeX>I copied the cons cell from X-Window section of the manual into a new configuration based off /etc/config.scm, but `guix reconfigure` is quite unhappy with the changes.
<roptat>nij, yeah plain text is better, but gmail or something else, nobody will be irritated by that :)
<nij>I will learn that one step at a time.. a bit overwhelmed. Ok I will send it. Hopefully it won't cause too much trouble. Thanks for all your help!
<lle-bout>nckx: uuid isnt being written in the output config, otherwise the rest works OK: https://bpa.st/raw/ZKSA - will continue tomorrow!
<derivates>is there any way of installing a package with some type of regex?
<derivates>im skimming thru manual for something like "gnupg@2.*", just want to make sure i use v2 instead of v1, don't want to be THAT specific with a full version
<irfus>Hi #guix, I want to create a variant for a package that uses the linux-module-build-system. It has the #linux argument set to '5.4', and I want to change only that to '5.11'. How would I do this?
<irfus>I
<apteryx>look at examples of 'substitute-keyword-arguments'
<wdkrnls>what is a user as far as guix package is concerned?
<wdkrnls>I was trying to pass max-jobs and --cores arguments and got an obtuse error which didn't make any sense to me.
<wdkrnls>I guess I was thinking that I could restrict Guix to building with k cores and k jobs, but it complained that there weren't enough users.
<c4droid>Hi, emmm, someone know how to use the bootstrap seeds to build something, or write a package definitions? I watch the document, but I still have a little confused
<wdkrnls>I don't know much, but know the very basics of package definitions... enough to add new R packages to my own software channel. Unfortunately, I don't know what a bootstrap seed is. The only seeds I know are for my random number generator.
<apteryx>lle-bout: what's the correct --system=$name to pass to build for ppc64le via qemu emulation?
<wdkrnls>I guess you are refering to the GNU mes stuff. That is really cool. I love his yogurt analogy.
<c4droid>Because I'm trying build LFS using guix, make LFS reproductible.. just for fun :)
<apteryx>ah, it's as in the name of the blog post: https://guix.gnu.org/blog/2021/new-supported-platform-powerpc64le-linux/ :-)
<irfus>apteryx: thanks for the pointer
<wdkrnls>I'm excited to see people in this chat late at night in the Americas :)
<c4droid>wdkrnls: Maybe I should go to #bootstrappble channel find some solution, but thanks for you answer. :)
<wdkrnls>have fun! that sounds like a cool project.
<apteryx>wdkrnls: it's just 10 pm ;-)
<apteryx>is anyone using QEMU to build powerpc64el-linux packages?
<wdkrnls>4:17 am in Paris ;-)
<apteryx>I've added "ppc64le" to the list of qemu-binfmt platforms for my offload machine, then added "powerpc64le-linux" to the systems list of the corresponding machine in my /etc/guix/machines.scm
<apteryx>yet I'm getting: while setting up the build environment: a `powerpc64le-linux' is required to build `/gnu/store/7ahfb5dfv65w3b21jmxdsrds6w9psk65-guile-bootstrap-2.0.drv', but I am a `x86_64-linux'
<apteryx>from issuing: $ guix build --system=powerpc64le-linux hello
<iv-so>guys, how can I get a patchset from your beautiful bug tracker?
<derivates>hi people i'm trying to declare a general base os (define-public base-os ...) and then (inherit base-os) but i'm getting into some issues, can anyone give me a hand?
***jx97 is now known as jx96
<apteryx>it's a bit silly that we can't use the local machine as a machine to use for building via QEMU transparent emulation
<apteryx>one has to go through offoading for this use case
<apteryx>wait, nevermind, that's covered with 'guix build --system=X'. Perhaps what I said is just true in the context of using 'make release'.
<apteryx>I'm probably just confused, as what the release target does is just: ./pre-inst-env guix build guix -s x86_64-linux -s i686-linux -s armhf-linux -s aarch64-linux -s powerpc64le-linux -v1 --no-grafts --fallback
<derivates>Can anyone help me with this error: ice-9/eval.scm:293:34: In procedure append: Wrong type argument in position 1 (expecting empty list): #<procedure specification->package (spec)>
<derivates>nvm, got it fixed!
<apteryx>:-)
<derivates>what about this one now? :(
<derivates> https://paste.debian.net/1194241/
<derivates>I'm declaring ((base-os) ...) & (define-module (asus) #:use-module (base-os))
<derivates>I'm using (define-modules (base-os) ...) & (define-module (asus) #:use-module (base-os))
<apteryx>a common pitfal is that the module file name must match its module layout; e.g. (gnu packages base) is at gnu/packages/base.scm. Did you respect this?
<apteryx>but here it seems you simply forgot to import the required module? as hinted in the message?
<apteryx>could someone try this: guix build hello -s powerpc64-linux --> error: could not find bootstrap binary 'tar' for system 'powerpc64-linux'
<apteryx>(forgot to say, you'll need to register "ppc64el" in the qemu-binfmt service of your config
<apteryx>unless you already have a ppc64el offload machine
<derivates>apteryx: i got it fixed, i was mixing both (define-module NAME) and (define-public NAME), they were the same
<apteryx>OK!
<derivates>but!
<derivates>not i got this :: ice-9/boot-9.scm:3300:6: In procedure resolve-interface:
<derivates>no code for module (base-sys)
<apteryx>perhaps the module is not on your Guile load path?
<derivates>can't be the deal `sudo -E guix system -L ~/.config/guix/systems reconfigure ~/.config/guix/systems/asus.scm`
<Aurora_v_kosmose>Where does Guix keep the repository for root?
<apteryx>OK, the bootstrap binaries are registered for 'powerpc64el-linux', not 'powerpc64-linux'.
<Aurora_v_kosmose>Does it really only keep the shallow $HOME/.cache/guix/checkouts/$HASH repository?
<apteryx>it's per user
<derivates>does anyone happen to have a GUIX config for multiple machines? that might guide me :(
<Aurora_v_kosmose>nvm, that is a full repository.
<Aurora_v_kosmose>What's the hash form which it derives its name?
<Aurora_v_kosmose>It doesn't seem to be the hash of the latest commit.
<ryanprior>Does anybody have a solution to the perennial issue where building Guix generates a million lines of diffs to .po files that make git really slow?
<ryanprior>Adding them to .gitignore doesn't help because the files are tracked
<ryanprior>Stashing them just causes them to be generated again by a script
<Aurora_v_kosmose>They're downloaded by the Makefile.am steps
<Aurora_v_kosmose>At least it's one of the few places that pops up when I run a grep on the guix repository.
<apteryx>ryanprior: I'm not sure; could it be when you run ./bootstrap?
<ryanprior>I did just re-run bootstrap so I think that is likely apteryx
<ryanprior>Is this something that's expected to be useful for every user, so we do it by default?
<ryanprior>Could it maybe be moved into an opt-in step like "make modify-po"
<apteryx>bootstrap seems to create stubs for translations; I'm not sure what's that useful for, but I'm guessing roptat knows :-)
<apteryx>there's already 'make doc-po-update'
<apteryx>so it probably serves another purpose
<Aurora_v_kosmose>Alas they're currently offline.
<derivates>apteryx: so (define-module NAME ...) must match filename NAME.scm right?
<apteryx>sneek: later tell roptat would you know what the stubs for translations created by ./bootstrap are useful for? ryanprior was wondering if it was possible to not have those po diffs appear everytime it's run
<sneek>Okay.
<apteryx>derivates: correct
<derivates>im getting this :: error: base-os: unbound variable
<derivates>hint: Did you forget `(use-modules (base-sys))'?
<derivates>base-sys.scm --> (define-module (base-sys) #:use-module (gnu)
<derivates>asus.scm --> (define-module (asus) #:use-module (base-sys)
<derivates>doesn't make sense
<apteryx>seems good, perhaps the load path?
<derivates>i'm using sudo -E guix system -L ./systems reconfigure ./systems/asus.scm
<apteryx>derivates: ah, did you export base-os?
<apteryx>you need to export it at the top level, else use define-public base-os ...
<apteryx>I mean, you can export as part of the (define-module (base-sys) ... #:export (list of exported variables))
<apteryx>or you can use define-public instead of just define
<apteryx>seems most of my problems with powerpc64le were caused by having failed to restart the binfmt-qemu service after having added support for it
<apteryx>it's now building stuff
<derivates>apteryx: i have already done that, take a look at base-sys.scm https://paste.debian.net/1194246/
<derivates>and this one is asus.scm https://paste.debian.net/1194247/
*apteryx tries
<apteryx>OK, I can reproduce
<apteryx>I don't know quickly like this
<apteryx>it's a good question!
<apteryx>it seems it should work
<derivates>syntax wise is all correct
<derivates>don't i need to do something like (provide 'whatever) like emacs lisp files?
<derivates>is this the real one ^ ?
<derivates>apteryx: what if we try the export thing, instead of (define-public)
<derivates>i tried exporting with no luck
***PotentialUser-60 is now known as Shmiggles
<Shmiggles>Q: When using `guix environment --container`, how does one write shebang lines? E.g. Guix containers do not have a /usr/bin/env. Env is located in $GUIX_ENVIRONMENT, but shebang lines need an absolute path.
<smartineng>Shmiggles: try this: 'guix environment --container --expose=/usr/bin/env'
<wonko7>Hi all!
<brendyyn>yo
<wonko7>how do I track what I've installed through "guix install"?
<brendyyn>guix package -I
<wonko7>I'm looking for something to put in a git and keep track of, and use on other machines
<brendyyn>wonko7: When people want to do that, often they will use a manifest instead
<wonko7>that sounds promising, thanks
<brendyyn>yep. there should be some info in the manual
<tissevert>hello guix !
<mothacehe>hey guix!
<mmac>Can someone give an example on arguments of guix import nix ?
<leoprikler>mmac: 'guix import nix' has not been working for a while and is slated for removal
<mmac>Okay
<mmac>How can use guix lint on my own package defination ?
<leoprikler>make sure it's in a module in guix' load path
<mmac>Okay
<meo>would it be a good idea to add hyperv_keyboard and virtio-scsi modules to default initrd?
<meo>early repl wont work on hyperv and can't install SD on gen 2 VMs
<meo>"won't work" meaning you can't type in the repl without the hyperv driver, as the normal HID ones don't work
<meo>on gen 2 VMs, because of the missing scsi driver, the installation DVD isn't readable, initrd cant mount the installation fs, and crashes into repl... which you can't interact with, because no hyperv_keyboard
***brycecarson is now known as cyberTeX
***require is now known as derivates
<derivates>hi, can anyone tell what this issue might be?
<derivates>In procedure struct-vtable: Wrong type argument in position 1 (expecting struct): #<procedure keyboard-layout (name #:optional variant #:key model options)>
<derivates>this is the only thing i have (keyboard-layout (keyboard-layout "us" "altgr-intl" #:options '("caps:escape")))
<efraim>openjpeg-data is failing to install on powerpc-linux on core-updates
<gagbo[m]>Hi, is there a way/flag to set to limit the number of jobs that run on compilation when using guix package -u ?
<gagbo[m]>I reach load avg of 20 on my machine (4cores 8t HT), I’d like to have a little more control on that
<brendyyn>gagbo[m]: --max-jobs
<brendyyn>also there is --cores
<brendyyn>see guix package --help
<derivates>gagbo[m]: http://guix.gnu.org/en/manual/en/guix.html#Common-Build-Options
<gagbo[m]>Thanks a lot, I just checked the manual page on guix package
<meo>derivates: is that supposed to be (keyboard-layout (keyboard-layout
<derivates>two times the same? yeah
<derivates>it worked fine before, don't know why it's complaining now
<meo>derivates: yeah i checked seems ok
<brendyyn>I used sustitute* to edit a text file and it went from being UTF-8 to ASCII and now the non latin character display as ???
<leoprikler>Hmm, that's weird, shouldn't substitute* use UTF-8?
<leoprikler>brendyyn: I did the following in a Guix REPL and it works:
<leoprikler>,use (guix build utils)
<leoprikler>(with-output-to-file "/tmp/test" (lambda () (display "test\n")))
<leoprikler>(substitute* "/tmp/test" (("test") "テスト"))
<leoprikler>(call-with-input-file "/tmp/test" read)
<brendyyn>try it with japanese in there to start with and replace an unrelated bit
<brendyyn>ok it works..
<leoprikler>I think you need to construct your example in a particularly malicious way.
<brendyyn>ill show you the package i have that exibits it
<brendyyn> https://paste.debian.net/plain/1194264
<leoprikler>Where the lower end of your UTF-8 string overlaps with the characters you wish to replac
<leoprikler>*replace
<brendyyn>with the substitute* it messes up the file. commenting it out fixes it
<leoprikler>I get this: https://paste.gnome.org/pmza6zcdp
<leoprikler>again, from guix repl
<brendyyn>leoprikler: this is mine: https://brendan.scot/xfce4-polkit-mate-authentication-agent-1.desktop
<brendyyn>is it full of ???? for you?
***jx97 is now known as jx96
<leoprikler>indeed, it is
<brendyyn>i have that definition in gnu/packages/xfce.scm and built it with ./pre-inst-env guix build xfce-mate-polkit-autostart
<leoprikler>perhaps you need to set up a port encoding? trivial-build-system is pretty dumb iirc
***rekado_ is now known as rekado
<brendyyn>looks like that is the answer. gnu-build-system.scm has an answer
<brendyyn>why is the default not UTF-8?
<mmac> http://ix.io/2WB6
<mmac>lint output: http://ix.io/2WB7
<mmac>What should I need to fix ?
<mmac>I used nix package definition.
<karabunga>Hi, is it possible to install extensions on Chromium, I dont see an install button on ublock origin page. I tried IceCat but it lacks i11n it is only in English.
<brendyyn>i have ublock origin in my chromium
<Christoph[m]2><morgansmith "I noticed an odd thing. We have "> Has anyone looked into this?
<karabunga>brendyyn I want it too but how did you install it if can I ask?
<karabunga>I think I need to manually find xpi file because ungoogled-chromium is not recognized by extensions store? Tried to find some info about it but search engines return mostly conversations about proposal to install extenstions by guix.
<brendyyn>maybe. i installed it ages ago so maybe it didnt have that problem then
<brendyyn>leoprikler: using with-fluids to set %default-port-encoding just results in another error https://paste.debian.net/plain/1194268
<leoprikler>it looks as though the input is already thought to be weirdly encoded
<rekado>jgart[m]: the minified JS is not okay, but you can easily replace it with the unminified variant and minify it yourself (if necessary)
<brendyyn>yeah which is strange. maybe there is something wrong with the file
<leoprikler>you could try outputting it line by line to see what's up
<brendyyn>i printed all the lines without any substitution and it is ascii again
<brendyyn>even printing the input file that is in mate-polkit unchanged shows up in my terminal as ?????
<brendyyn>why would it work for you though and not me?
<leoprikler>I'm doing this from guix repl, not guix build, so there is some difference
<leoprikler>does it work from guix repl at least?
<brendyyn>what command do you run to build the package
<leoprikler>I didn't build the package, I ran the substitution in guix repl
<brendyyn>i think it only does it in the package
<leoprikler>brendyyn: see install-local in gnu-build-system
<leoprikler>s/install-local/install-locale
<brendyyn>ok i added that, and it needs set-paths too, then it seems to work
<nckx>Morning, Guix.
<brendyyn>im never using trivial-build-system ever again
<nckx>brendyyn: Welcome.
<brendyyn>thanks
<nckx>It's mainly just there to trick people into using it once and learning valuable life lessons.
<brendyyn>314 lessons were not learnt apparently
<nckx>314 people were enlightened.
<brendyyn>its a lot of lines to delete all the unneeded phases from gnu-build-system
<leoprikler>you could also use-modules (guix build gnu-build-system) ;)
<leoprikler>oh, wait, that stuff's hidden
<brendyyn>how would you delete all phases except for two particular ones
***roptat_ is now known as roptat
<brendyyn>Yet another weirdness of substitution. If I have (("^foo.*") "bar"), the substitution matches the end of line character, so I actually need bar\n, else it pulls the next line up on to it. However if I substitute (("^foo.*") ""), then it just deletes the line, apparently putting a newline character in automatically?
<nckx>brendyyn: No, if it were to do that it would insert an empty line.
<nckx>There's no difference in behaviour between the two.
<brendyyn>ok im probably confused then
<brendyyn>i see it makes sense
<nckx>It's the opposite: it it *did* try to be clever and helpfully add a newline, you'd be unable to delete lines.
<nckx>*if
<mange>Hi Guix! I'm just trying to do something with Ruby and Rails for the first time ever, and I'm not sure how I'm meant to do things. Using "rails new" always fails in "bundle install" because it can't install the sqlite3 gem. Installing ruby-sqlite3 and/or sqlite into the profile doesn't help. Can anyone help me?
<roptat>mange, you'll need both ruby and ruby-sqlite3 in the same profile, probably
<sneek>Welcome back roptat, you have 1 message!
<sneek>roptat, apteryx says: would you know what the stubs for translations created by ./bootstrap are useful for? ryanprior was wondering if it was possible to not have those po diffs appear everytime it's run
<mange>roptat: I'm using a separate profile, and I've installed ruby, ruby-rails, ruby-sqlite3, and sqlite. It looks like bundler keeps trying to download and install the ruby-sqlite3 gem from scratch, but fails because it can't find the sqlite header files.
<roptat>mange, weird, I don't use rails, but I have another ruby project
<mange>I feel like I could solve it by either (a) getting bundler to find the already-installed ruby-sqlite3 gem that has the require native library, or (b) getting it to find the sqlite header files so it can build the native library itself.
<mange>I just have no idea how to do either of those things. :P
<roptat>do you maybe have a Gemfile.lock that specifies a different version from what guix has?
<mange>It looks like GEM_PATH is set to something that looks appropriate, but I don't know what other knobs I have to change what bundler does.
<mange>It looks like both are sqlite3 version 1.4.2, as far as I can tell.
<roptat>well, I'd remove the Gemfile.lock file just to be sure
<mange>I mean, "rails new" should be generating the lockfile with whatever versions it uses, I assumed, but I'll have a look.
<roptat>(in the worst case it will regenerate the same Gemfile.lock :))
<leoprikler>brendyyn: (phases (filter ... %standard-phases))?
<mange>I can't see any Gemfile.lock files in my project, only in the vendor/bundle that bundler is building/installing in.
<brendyyn>leoprikler: maybe. anyway i sent you what i have
<roptat>mh, maybe that's a rails thing, I don't see a vendor directory in my project
<brendyyn>sorry if my commit messages are trash
<roptat>apteryx, bootstrap doesn't modify po files, it creates dummy texi files in doc, so that Make can work (otherwise it fails with errors saying that doc/guix.xx.texi doesn't exist)
<roptat>but indeed, the first make updates the po files, but I'm not sure why
<roptat>I don't think it's useful, so we can investigate and make sure it doesn't run
<roptat>mange, sorry I can't help you more than that, I just have one project where I install ruby, jekyll and ruby-i18n in a profile, remove the Gemfile.lock and run jekyll
<roptat>tbh I don't know ruby, but a friend does and it worked for us :)
<mange>Thanks anyway! I feel like there's something I'm missing about how to connect bundler to the pre-built gems that Guix gives me, but I just don't know what it is. I'm about to dig into the bundler docs to see if I can figure it out.
<wonko7>ok this is a stupid problem, maybe you've got a tip for me: guix system reconfigure keeps stalling on "receiving objects", my internet connection isn't that good
<wonko7>I keep hoping it'll work but 5 minutes in (between 10 & 25%) it stalls and stays stuck
<wonko7>anything I can do? to restart from where it left off? or a mirror?
<roptat>wonko7, if you run again the same command, it will try again from where it left off (well, the granularity is the substitute, so if it's always the same substitute that's stuck, that's not good)
<apteryx>roptat: I see, thanks for explaining
<efraim>mange: I have a package for ruby-sqlite3 that I haven't cleaned up for upstreaming yet
<apteryx>so the 'make release' is now blocked by 47808 (guile-git failing to build on i686)
<efraim>oh, nevermind, ruby-sqlite3@1.4.2 is already in guix, mine is for 1.3.13
<efraim> https://git.genenetwork.org/guix-bioinformatics/guix-bioinformatics/src/branch/discourse-ruby-packages/gn/packages/ruby.scm#L2061
<mange>efraim: ruby-sqlite3 is already packaged in Guix, as far as I can tell, just bundler can't find it.
<apteryx>I've relaunched it after disabling i686 as a supported target for now
<mange>My new theory is that bundler is built with an older version of Ruby (2.6.5), rather than the most recent packaged version (3.0.0).
<efraim>I did a lot of ruby packaging last month so there's ~300 gems in that file
<efraim>my non-ruby understanding is that you can't really mix ruby versions
<mange>Yeah, that's my understanding, too. I'm trying recompiling bundler with an up-to-date ruby to see what happens. :)
<mange>It looks like ruby-build-system uses ruby@2.6.5 by default, but ruby@3.0.0 is what's installed when you reference ruby on the command line. That seems like it would cause any packaged ruby gems to be built with a different version to what one might expect.
<mange>Anyway, I'll let you know if this recompilation works.
<raghavgururajan>Hello Guix!
<efraim>hello!
<MJCD>meow
*tissevert feeds MJCD
<apteryx>how can I check which system a derivation is building for?
<apteryx>I've disabled i686-linux from the supported systems, but am I still getting a guile-git-0.5.0 failure
<apteryx>so perhaps another system is affected, but so far I don't know how to tell which system that failing derivation (/gnu/store/68cbw9aji06yshf2fmpf1sa1bh605vd9-guile-git-0.5.0.drv) is for
<nckx>apteryx: The .drv file should contain the system string.
<nckx>...,"/gnu/store/w0mhk0vckqvzgx8gd6bi0h0yf8xrz7ns-guile-git-0.5.0-guile-builder"],"x86_64-linux",...
<apteryx>nckx: ah right, I just saw this now: "armhf-linux"
<apteryx>guess we'll have to fix it
<apteryx>I'm talking about https://issues.guix.gnu.org/47808
<apteryx>perhaps it's due to QEMU emulation though?
<apteryx>(I'm using such emulation myself)
<apteryx>the qemu user emulation thing via binfmt-misc (transparent emulation)
<apteryx>I guess I should retry the same derivation on berlin where real ARM machines have precedence over emulated ones.
<apteryx>I doubt so though, because i686 fails the same and that's native
<nckx>The long last post to the above bug report screws up the location of the reply field here.
<nckx>That aside.
<nckx>Does i686 pass on berlin?
<apteryx>I'll push a new snapshot of the version-1.3.0 branch and retry there
<apteryx>ok, the new snapshot of the branch is created. If you want to try it, all you have to do should be creating a signed tag, e.g. git tag -s -m "GNU Guix 1.3.0rc1." v1.3.0rc1
<apteryx>I don't push these because they quickly become stale for now
<apteryx>otherwise doc/release.org is the reference from the guix-maintenance repo.
<raghavgururajan>Is 1.3.0 out?
<apteryx>raghavgururajan: not yet, 'make release' is failing due to https://issues.guix.gnu.org/47808. Help welcome.
<raghavgururajan>I see.
<mange>efraim, roptat: Final update for tonight, not working. I've managed to get "rails new" to succeed by removing bundler from my profile (apparently there's a version in the ruby package) and using ruby@2.6.5, but it hasn't picked up the Guix-installed libraries so it still fails when I try to run "rails serve".
<mange>It's defeated me for now, so I'll have to come back to it another day.
<roptat>apteryx, nckx I think I know why it's failing
<roptat>there's this structure: https://libgit2.org/libgit2/#HEAD/type/git_config_entry that guile-git defines, but the include_depth is defines as uint64 in guile-git, which is not correct on 32-bit architectures
<roptat>well, that's my fault, I added that structure ^^'
<nij`>Good morning :-D
<sneek>nij`, you have 2 messages!
<sneek>nij`, raghavgururajan says: Tada!
<sneek>nij`, raghavgururajan says: I think you implemented it wrong. You just have to add #:use-module (guix build glib-or-gtk-build-system) at the top. For reference, you can look at telegram-desktop package. :)
<raghavgururajan>Morning nij
<raghavgururajan>sneek, too late bro/sis/whatever.
<abcdw>Hi guix!
<nij`>how's it going
<raghavgururajan>nij`: Was glad to see #47884.
<nij`>You mean my patch? Oh I hope I did it fine...
<raghavgururajan>nij`: Yeah! You can track patches at https://issues.guix.gnu.org .
<efraim>and I was really hoping mange could figure out using guix ruby packages for rails apps
<efraim>sneek: later tell mange I hope you can get rails working with guix packages, I have a half-finished discourse app and service that uses rails :)
<sneek>Got it.
<efraim>sneek: botsnack
<sneek>:)
<efraim>zstd check phase failed on powerpc-linux on core-updates, I think I went OOM
<nckx>roptat: Thanks!
<nckx>That was on my list of suspects‌...
<nckx>Hi abcdw & nij.
<nckx>efraim: Nothing in dmesg?
<roptat>I'm building with a fix on armhf, let's see if that works
<efraim>nckx: I got error 11 when it failed
<efraim>and it said it was out of memory
<efraim>dmesg just lists some segfaults in git which I didn't even notice
<roptat>mh... that wasn't it
<apteryx>roptat: oh I see!
<apteryx>roptat: do you think you'll be able to produce a fix?
<roptat>mh, I tried to change that to unsigned-int, but that doesn't fix the segfault
<roptat>looks like config-entry-value is at fault, when used inside config-fold
<roptat>oh, maybe not
<efraim>yeah, definately ran out of memory
<roptat>weird, I didn't
<roptat>I got a segfault when using config-foreach twice
<roptat>well, on x86_64 too, so that might be a different issue
<roptat>however, this works on x86_64 but fails on armhf: (config-foreach conf (lambda (entry) (format #t "~a -> ~a~%" (config-entry-name entry) (config-entry-value entry)) 0))
<roptat>nevermind, it works now...
<apteryx>yay! :-)
<efraim>well that's embarrassing, I'm running into https://github.com/facebook/zstd/issues/2528 which we reported upstream
<roptat>the test still doesn't pass with make check, but if I copy the code to a repl, it works
<apteryx>strange
<roptat>and include-depth is after the name and value pointers, so it shouldn't play a role here
<apteryx>hmm, berlin doesn't have any ppc64le offload node
<roptat>srcdir=/home/roptat/guile-git ./pre-inst-env guile tests/config.scm doesn't report any issue on armhf
<apteryx>ryanprior: as roptat wrote, it seems the first time we run 'make' the doc-update-po targets seems to run; this is undesirable. If you have an itch you are welcome to look into it and try to find the fix :-)
<apteryx>some weird thing with 'make release' is that if you run it twice the second time it complains about not finding the source tarball
<apteryx>run it thrice, and it's happy again
<roptat>so, running it with the driver reproduces the segfault, but without the driver it passes
<apteryx>nckx: any idea who manages guix-x15.sjd.se? It's offline.
<nckx>Simon Josefsson (the sj in sjd.se)
<apteryx>I see. I'll try pinging them.
<apteryx>thanks!
<apteryx>I think we already know it wouldn't work by now, but 'guix build /gnu/store/68cbw9aji06yshf2fmpf1sa1bh605vd9-guile-git-0.5.0.drv' (armhf-linux) exhibits the same issue.
<nckx>apteryx: I'm adding p9.tobias.rg as a build node, but the firewall is complicating matters (I hope I can avoid having to waste time learning how to set up wg on Debian).
<apteryx>nice (about the build node, not the firewall) :-)
<roptat>oh, I was focusing on the third test, but the failure seems to occur between the second and third test
<roptat>could it be the gc'
<apteryx>nckx: I just ping'd SJ by email
<nckx>👍!
<roptat>looks like replacing pointer->config-entry! with pointer->config-entry in git/config.scm does the trick!
<roptat>but I have no idea why
<roptat>oh, unless libgit2 is reusing some of these pointers, and the gc runs config-entry-pointer-free when freeing an object, while another references the same object
<apteryx>impressive analysis :-)
<roptat>but that sounds a bit silly
<roptat>civodul, https://gitlab.com/roptat/guile-git/-/tree/fix-segfault
<roptat>as silly as it might sound, all tests now pass on armhf
<meo>speaking of which i was running the guix test suite a couple of days ago and one of the tests triggered a segfault in guile
<meo>I assume this isn't intentional?
<meo>the test passed though
<apteryx>meo: that's not normal. If you can reproduce a bug report would be great.
<meo>apteryx: I will
<apteryx>thank you
<jgart[m]>Thanks rekado, we'll make sure not to include minified js
<rekado>jgart[m]: we have a bunch of packages in cran.scm / bioconductor.scm that include a copy of concatenated jquery sources
<rekado>jgart[m]: you could probably use those as a template
<rekado>(the latest and greatest way to minify is to use esbuild)
<jgart[m]>rekado: Thanks! I'll take a look at those. Yes, esbuild sounds really awesome! Ryan Prior has been telling me all about it. I haven't used it yet.
<apteryx>nckx: Simon replied; I just added guix-sysadmin in CC. If you know anything about the wireguard setup feel free to enlight them with a reply :-)
<jgart[m]>rekado: It sounds like the next important javascript tool that we need in guix is https://github.com/rome/tools. According to ryanprior , this could possibly be one way forward with regards to packaging/replacing npm dev dependencies.
<boomerchad>Is gnat packaged for guix? I'm trying to build coreboot for my machine.
<nckx>No.
<nckx>Seems log search is ‘paused’ again but here's the gist: https://logs.guix.gnu.org/guix/search?query=gnat
<apteryx>eh, our only armv7 offload machine is offline on Berlin
<nckx>apteryx: Thanks!
<nckx>I'm new to the whole wg thing myself, too.
<nckx>So will follow with interest.
<apteryx>hopefully mothacehe is around :-)
<jgart[m]>What is the consensus for running tests with tox for python packages?
<nckx>It's actually worse: I *have* set up a wireguard peerage, but then the machine dropped off the 'net for unrelated reasons and I don't remember what I did >_<
<apteryx>roptat: I'll retry building guile-git for an emulated armhf machine with your fix
<jgart[m]>I'm trying to upgrade python-wtforms and the tests fail without using tox. I see one package in gnu/ that currently is invoking tox to run a test suite.
<nckx>jgart[m]: Not sure what's implied by your question but I think the answer is simpler than you think: ‘OK then’.
<jgart[m]>I actually tried building that package and it failed. Is python-funcparserlib broken for anybody else?
<nckx>Otherwise: what's bad about Tox?
<nckx>jgart[m]: Yes. ERROR: tox config file (either pyproject.toml, tox.ini, setup.cfg) not found
<jgart[m]>that's what I got too
<jgart[m]>I got that error when trying to build python-wtforms also
<jgart[m]>* with tox
<nckx>I wonder how that could break.
<jgart[m]>nckx: So, disable tests for python-wtforms and send a patch?
<jgart[m]>I updated python-wtforms to 2.3.3
<nckx>No, try to fix them first.
<PurpleSym>Tests (and their config files) are often not included in the pypi tarball.
<jgart[m]>That version is needed by mediagoblin which we're working on
*nckx is looking at funcparserlib
<PurpleSym>And tox is just a front-end for virtualenv+pytest/nose/….
<jgart[m]>So try run the tests manually instead of using tox?
<nckx>jgart[m]: Are the tests present in the source?
<PurpleSym>There’s usually a command in the tox.ini, which you can run manually.
<jgart[m]>Yes, but a lot of them fail when I try to run them manually with pytest
<jgart[m]>See here https://github.com/wtforms/wtforms/issues/687
<nckx>funcparserlib doesn't ship their tox.ini at all 😳
<jgart[m]>hmm
<PurpleSym>Maybe dependencies missing? tox.ini declares its own dependencies.
<nckx>God, Python packaging is deathbound. ‘Just run poetry pip install tox setup foo devdependencies docker make check’.
*nckx looks forward to running guix environment poetry pip install tox setup foo devdependencies docker make check.
<PurpleSym>Building is usually fine, but there’s no standard entry point for testing.
<jgart[m]>nckx: It looks like it might be missing a few deps also. See inside the poetry.lock file
<nckx>What intrigues me are not all the above things that are sadly the norm in Python land, but just how the package definition got into a state where it's completely broken, with 0 changes to the package itself.
<nckx>I'm still talking about funcparserlib btw.
<civodul>roptat: re guile-git, this change fixes test failures, notably on armhf?
<civodul>(FWIW i did build it pre-release on all the arches Guix supports, but maybe that's non-deterministic)
<jgart[m]>That poetry.lock file looks weird compared to what's in the code for funcparserlib
<jgart[m]>nckx: would you like me to ask upstream about that?
*nckx realises they've made a terrible mistake <https://paste.debian.net/plainh/ee1c9540>
*nckx has no idea what they are doing.
<roptat>civodul, yes, it fixed the tests for me
<roptat>civodul, the problem is I don't really understand why
<nckx>jgart[m]: Do you think it's an upstream problem?
<nckx>jgart[m]: Which poetry.lock file?
<jgart[m]>I'm looking at the git repo on github
<jgart[m]>Does the pypi source not have it?
<jgart[m]>It's in the project root
<nckx>I don't even know which package you're currently talking about :)
<nckx>>‌ I'm still talking about funcparserlib btw.
<nckx>At 0.3.6 that is.
<nckx>One yak at a time.
<jgart[m]>Ohhh sorry
<jgart[m]>yup, poetry.lock doesn't exist yet at 0.3.6
<nckx>I don't see how the original Guix python-funcparserlib could ever call "tox" on itself, lacking as it does a tox.ini, and when invoking nose directly I get the pasted errors.
<jgart[m]>I was looking at the latest commit
<nckx>Yet it obviously worked when it was submitted & committed, I'm not going to question that.
<jgart[m]>Does tox access the internet in order to perform tests?
<nckx>TBH putting this much effort into an old (but latest) release when the code's changed so thoroughly upstream as you note, jgart[m], is not very motivating either.
<jgart[m]>* in the process of performing tests?
<ruffni>i've just installed guix on top of debian and jammed my root partition. guix won't accept /gnu as a symlink. what are my options?
<nckx>jgart[m]: I don't know, but why do you ask?
<nckx>ruffni: Make it not a symlink. What's ‘jammed’?
<ruffni>my root partition is 100% full, `guix pull` can't finish....
<civodul>roptat: ah, not good :-)
<jgart[m]>python-hy uses funcparserlib. See the complaint here to upstream: https://github.com/vlasovskikh/funcparserlib/issues/65 about "the last release of funcparserlib on PyPI is nearly 8 years old."
<jgart[m]><nckx "jgart: I don't know, but why do "> Maybe the tox command that ran those tests for funcparserlib when it was packaged is not the same one that is running now. Maybe some mutation happened. Those are my guesses. I'm speculating now.
<nckx>jgart[m]: Builds can't download anything, so that's out.
<nckx>And the source can't have changed without changing the hash.
<jgart[m]>what else could have changed?
<nckx>Hence my bogglement.
<jgart[m]>that's the million dollar question I guess
<nckx>ruffni: Hm. Can you make any temporary space by moving other things? If not, you can try to copy /store to the root of another partition and try bind-mounting it at /gnu (mount -o bind /dev/sdxy /gnu/store). Last I tried the daemon was OK with that.
<nckx>How big is your root partition?
<ruffni>25G, i guess i'll bind-mount the directory. thanks for the hint!
<nckx>OK, so not tiny but a bit cozy for Guix + another distro. I've been operating under the assumption that you know about ‘guix gc [-d]’ and tried already, but assumptions are my weakness. Maybe you haven't.
<nckx>I find it hard to believe you've filled a 25G partition with Debian and Guix alone with nothing to GC, but it's possible.
<ruffni>i did know about gc; it's a fresh install of guix and the first pull couldn't finish. guix daemon seems happy now
<nckx>Glad to hear that, and sorry for not mentioning it sooner! I tend to assume too much about the other's knowledge. I do try to work on it...
<ruffni>nckx: there's a couple of GB for Tex... but not that much to gc
<ruffni>nothing to be sorry for! thanks for the help!
<nckx>(The monolithic) Tex(live) is notoriously pudgy.
<jgart[m]>nckx: If you find the time could you review this server? https://donotshake.libremiami.org/
<jgart[m]>I'd like to compare it's config to the one you're running
<efraim>got a resonse for my binutils test failure on powerpc, they'd like me to run the test suite on libiberty from gcc also for comparison
<efraim>I love the domain
<jgart[m]>Thank you donotshake for thinking of it ;)
<jgart[m]>We'd like to hook it up to a guix channel. We haven't gotten around to that yet. Maybe we'll offer nightly binaries for this: https://www.olivevideoeditor.org/download.php
<jgart[m]>* nightly substitutes
<Bumblehorse>Would anyone like to help me figure out why my tor service cannot be started?
<nckx>ruffni: Did you run ‘guix gc’ with the ‘-d’ option to delete old generations? Otherwise, Guix keeps a potential lot of old versions just in case you'd want to roll back. And rolling back a user profile isn't something *most* people actually do; they'd just run ‘guix install foo’ again.
*nckx got censored by their network card.
<ruffni>nckx: ... it was a fresh install. no generations, no nothing. right after "apt install guix"
<gr0n>why is there no postfix in the guix repository btw?
<gr0n>is something broken, or am i just blind?
<ruffni>now to something unrelated to my question before: i thought i was smart when i built a new PC (to run guix) and now i have this amdgpu which apparently contained blobs and now i have to run kubuntu and am somewhat sad. i know about the policy of supporting proprietary stuff (which is one of the reasons why i like this project so much), but i still have this brick of a PC running .. well, not Guix System.
<ruffni>do i have to a) define my own linux package, b) buy a better (more free!) graphics card or c) something completely different?
<jgart[m]>nckx: Michael J. Fox rolls back his profiles.
<nckx>gr0n: There was an attempt, I don't know why it wasn't merged. I the meta-reason is that those who run a Guix System mail server (and there are quite a few, like mine) are quite content with OpenSMTPd.
<jgart[m]>ruffni: Are you using bullseye?
<gr0n>nckx: alright, i'll just set up opensmtpd then :)
<ruffni>jgart[m]: testing
<nckx>Grr.
*nckx keeps getting disconnected so it's bye and good luck from me.
<ruffni>jgart[m]: so yeah, bullseye/sid
<ruffni>why?
<Noisytoot>nckx, Why does logs.guix.gnu.org sometimes replace "tobias.rg" with "tobias.rg"?
<jgart[m]>ruffni: just curious
<Noisytoot> https://logs.guix.gnu.org/guix/2021-04-18.log#185310 is "mdevos@tobias.rg it is." on logs.guix.gnu.org, but "mdevos@tobias.rg it is." on my IRC client
<roptat>Noisytoot, to prevent spammers to collect email addresses, probably
<Noisytoot>When it's quoted it isn't
<roptat>then it doesn't work well
<raghavgururajan>nckx: You around? I would like to nuke the current wip-gnome and re-create it based-off of master, with your help.
<apteryx>roptat: I've been trying to build over an emulated armhf-linux machine, but the build of Python segfaults. Ahem.
<roptat>apteryx, can you try on i686-linux then?
<apteryx>well, it's still running, but there were messages like so: qemu: uncaught target signal 11 (Segmentation fault) - core dumped
<apteryx>will do
<roptat>I mean, it works on real armhf hardware I have, so that should be good
<apteryx>I'm running it with './pre-inst-env guix build guile-git --with-git-url=guile-git=https://gitlab.com/roptat/guile-git --with-branch=guile-git=fix-segfault -s i686-linux'
<apteryx>with a phase deleting the provided 'bootstrap' script, as it fails on an unpatched autoreconf call.
<apteryx>(that's from using git rather than a release tarball)
<apteryx>actually no, the package uses git already. I don't know why that phase was necessary then.
<apteryx>ruffni: for the no-fuss solution, I recommend buying an old nvidia or amd desktop card; you can probably get one for a small sum from second hand online shops
<apteryx>I recommend checking https://h-node.org/ to get an idea of what will work well
<apteryx>I sympathize with your for discovering the amdgpu trap; I fell for it myself once ;-)
<apteryx>with you*
<apteryx>roptat: it built fine for i686-linux :-)
<efraim>I bought a GT 730 after I gave my kids my GT 710
<ruffni>apteryx: thanks for the link! i did some research but didn't stumble upon h-node.
<apteryx>it's mentionned somewhere in the Guix manual, but probably as a foot note.
<ruffni>efraim: your kids don't use guix?
<apteryx>fwiw I currently use a geforce 8800 GTS and a geforce gtx 680, both with good results
<apteryx>there's no video acceleration on the former though, but that's usually not a deal breaker for powerful desktop CPUs.
<apteryx>roptat: should we tag a new release for guile-git?
<ruffni>efraim: nvm. was under the impression that 710 was not supported
<roptat>apteryx, yes I think we should
<efraim>Local computer store guy is a friend, he pretended to help look if it was supported by linux-libre
<efraim>He also likes sending the new guys my way when I ask for obsolete parts
<apteryx>roptat: will you send a merge request to their gitlab tracker? that seems to be where it's developed.
<roptat>apteryx, done
<roptat> https://gitlab.com/guile-git/guile-git/-/merge_requests/28
<nckx>raghavgururajan: I am now.
<nckx>raghavgururajan: You can't force-push to the server; you have to first delete the branch (git push origin :wip-gnome), then push your new branch.
<nckx>Your name for ‘origin’ may differ but it's the default.
<efraim>sneek: later tell zimoun changing the zstd test to use compression level 16 worked. I'll commit the change to core-updates.
<sneek>Okay.
<efraim>sneek: botsnack
<sneek>:)
<apteryx>civodul: just a heads up for https://issues.guix.gnu.org/47808; roptat fixed the issue in https://gitlab.com/guile-git/guile-git/-/merge_requests/28. It'd be nice if you could have a look and issue a patch release (tag) when you have a chance :-)
<apteryx>roptat: thank you for fixing it!
<mdevos>is it just me, or is "make" in a guix checkout much faster than it used to be? I'm on core-updates, with a spinning disk.
<raghavgururajan>nckx: Yes, first delete and then re-create. So should I do `git push origin --delete wip-gnome`?
<nckx>I think the two are equivalent here.
<nckx>‘:’ is shorter. 😉
<raghavgururajan>I see. I can do that by being in ~/guix dir right?
<apteryx>mdevos: comparing to long ago, Guile has made great advances at fast compilation with the baseline compiler
<apteryx>it's already the case on master, though
<raghavgururajan>nckx: Nvm. it worked.
<nckx>You always need to be in ~/guix (or an associated worktree) for git to know its worldview.
<nckx>Great!
<raghavgururajan>nckx: So to recreate based-off of master, should I checkout new branch and push?
<derivates>Hello, can anyone tell my I'm getting this error? ice-9/boot-9.scm:1669:16: In procedure raise-exception:
<derivates>In procedure struct-vtable: Wrong type argument in position 1 (expecting struct): #<procedure keyboard-layout (name #:optional variant #:key model options)>
<sneek>derivates, you have 1 message!
<sneek>derivates, nckx says: I hope you got your keyboard-layout problem sorted, but if not (and especially where previously valid code suddenly throws errors): share your entire configuration, it's plausible the real error is elsewhere.
<nckx>I think what you want to do is (1) rebase your local wip-gnome branch onto master (2) delete the remote wip-gnome branch (3) push your local wip-gnome to the server. Is that correct?
<nckx>raghavgururajan: ☝
<nckx>For once, sneek's answer is still relevant!
<derivates>I'm getting the same keyboard error somehow :(
<Noisytoot>sneek: botsnack
<sneek>:)
<raghavgururajan>nckx: I already deleted both remote and local wip-gnome. There were no work there.
<nckx>Well, I think sneek's suggestion is extremely intelligent and good and you should do what she says. (paste.debian.net, or if you were the one using bpaste yesterday, that's fine too.)
<nckx>raghavgururajan: OK, then I guess you want to ‘git checkout -b wip-gnome’ (whilst working on master) and add stuff.
<nckx>Then when ready, just push, since you already deleted the remote branch.
<derivates>Can I share my repo, so it's easier to help me? :)
<nckx>Fine by me, assuming it's filled only with delicious and appropriate content.
<derivates>nckx: https://github.com/anntnzrb/whatever
<raghavgururajan>nckx: Cool! I usually create new branches via worktrees. For example, my local worktree named rg-core-updates tracks the remote core--updates. So when I create new branch/worktree, I will be naming rg-wip-gnome locally, but would like pust to remote as wip-gnome.
<derivates>nckx: thanks man :) I'm just trying to setup a base OS config so my laptop cna inherit, it's giving me a headache!
<raghavgururajan>This is the command I usually use. `git worktree add --track -b <branch> <path> <remote>/<branch>`.
<nckx>That would be too confusing for me but whatever works for you. If you want to push a branch that has a different name locally than remotely you can use ‘git push origin rg-wip-gnome:wip-gnome’, if you didn't already know.
<raghavgururajan>Ah great!
<raghavgururajan>Thanks!
<nckx>My worktrees are boringly named after their local branch which is boringly identical to the remote branch (if applicable).
<nckx>I make plenty of mistakes as is :)
<nckx>derivates: And how do you invoke reconfigure?
<raghavgururajan>I use rg- prefix because, I also want to create worktree of master, but without that prefix there was name conflict with master checked out at ~/guix. So I started using that prefix for everything.
<Noisytoot>Why would you use a different name for a local branch?
<derivates>nckx: check the makefile :)
<raghavgururajan>Noisytoot: I just explained. :)
*Noisytoot doesn't know what a worktree is
<nckx>derivates: That's what I tried, but I get a different error... https://paste.debian.net/plain/1194331
<mdevos>Noisytoot: it's a git thing (see "man git-worktree")
<nckx>Noisytoot: If you keep doing ‘git checkout master’, ‘git checkout core-updates’, … in the same directory every time, you have to recompile almost everything every time, or even re-bootstrap.
<derivates>nckx: right, well, this is my approach on accomplishing what i described above, do you happen to have this setup? maybe I can try replicating
<nckx>Worktrees check out different branches to different directories so generated files stay around.
<derivates>this is my error on the other hand https://paste.debian.net/1194332/
<derivates>strangely enough i get I don't have 'channe;'
<derivates>channel*
<nckx>derivates: No, I don't, I'm afraid. It's been on my to-do list for years but with very low priority.
<nckx>Too low.
<nckx>My machines are sufficiently different that's it's not a travesty that they don't share a configuration.
<derivates>damn :(, anyhow do you think you might be able to help me out? it's probably some syntactic error
<nckx>Mh, I didn't notice the non-free stuff.
<nckx>I'm looking.
<nckx>(Also: cooking.)
<nckx>(Expect accordingly.)
<derivates>i took it all off just to share it here!
<derivates>I'm ashamed of myself
<nckx>Well, my backtrace has betrayed you!
<raghavgururajan>Noisytoot: For hacking on guix, I find it neat to use worktrees for checking out different branches. It keeps bootstrapped files clean.
<derivates>nckx: i'm following a guys project, it should be exactly the same but for some reason it's not working for me :(
<nckx>derivates: I commented out the entire ‘packages’ field in asus.scm ("(packages" → "#; (packages") and it seems to be building fine. No keyboard-layout error.
<derivates>i will try this now gimme one sec
<nckx>#; comments out the entire following S-expression, so you don't have to add separate ‘;'s before each line of it.
<derivates>i'm still getting
<derivates>In procedure struct-vtable: Wrong type argument in position 1 (expecting struct): #<procedure keyboard-layout (name #:optional variant #:key model options)>
<derivates>i'm just using this
<derivates>(keyboard-layout (keyboard-layout "us" "altgr-intl"))
<Bumblehorse>After a fresh system install and running guix pull then sudo guix system reconfigure /et/config.scm, the tor service will not start and I have not made any changes to the os declaration.
<Bumblehorse>Is this a temporary issue being fixed or?
<nckx>derivates: And your repository is exactly as found at that URL with no local changes?
<nckx>E.g., mine says (keyboard-layout "us" "altgr-intl" #:options '("caps:escape"))
<derivates>weird, i just pushed, anyways i will copy this then!
<derivates>actually its (keyboard-layout
<derivates> (keyboard-layout "us" "altgr-intl" #:options '("caps:escape")))
<nckx>git reset --hard -> HEAD is now at f1f67f0
<nckx>derivates: OK.
<derivates>right let
<derivates>let's get rid of this first
<derivates>im getting this error: channel: unbound variable
<derivates>hint: Did you forget `(use-modules (guix channels))'?
<derivates>why aren't you getting this?
<derivates>also are you running `make asus` ?
<nckx>Bumblehorse: Does ‘pgrep tor’ return anything? I've had the Shepherd lose track of it several times in the past. If not, try ‘sudo herd enable tor && sudo herd restart tor’, and report what it says.
<nckx>derivates: No.
<nckx>I never looked at the Makefile.
<Bumblehorse>nckx: it does, it returns 292
<nckx>Bumblehorse: That implies that tor is running. So ‘herd’ says it's not started?
<Bumblehorse>nckx: Yes
<derivates>nckx: right, which command are you invoking? maybe the LOADPATH might distinguish out outputs
<nckx>If it were my machine I'd (sudo) kill 292 and run the two (sudo) herd commands above. If you can afford to kill tor, that is.
<raghavgururajan>nckx: I am getting merge conflicts while cherry-picking a commit. Do you know how to resolve?
<Bumblehorse>nckx: wow that worked, thank you very much.
<nckx>git diff, and then manually resolve the parts between <<<<< and >>>>>. It's pretty low-tech TBH. When done, git add FILE[S] and git cherry-pick --continue.
<nckx>raghavgururajan: ☝
<avalenn>`git mergetool -t vimdiff` is handy too
<Noisytoot>Could someone apply https://issues.guix.gnu.org/47682 (node-once)?
<nckx>Bumblehorse: Sweet. If you have time, please report a bug (that the Shepherd lost track of tor, and what you ran to ‘fix’ it, so basically what we discussed here).
<raghavgururajan>nckx: I see.
<nckx>Bumblehorse: Let's keep track of it now. :)
<nckx>If anyone knows anything about Node, please help out Noisytoot above.
<Bumblehorse>nckx: I sure will
<nckx>Thank you!
<nckx>derivates: The exact command in my paste.
<nckx>guix system -L ./ build ./systems/asus.scm
<nckx>Oh, weird now I do get that error.
<nckx>Guess what I did.
<nckx>rm channels.scm
<nckx>That's what I did.
<derivates>yeah it should be the same i'm just using reconfigure instead
<raghavgururajan> https://share.raghavgururajan.name/rg/BdmFGHJIPtPu7kGV/conflict.txt
<raghavgururajan>nckx ^
<nckx>Then, after commenting out (packages ...) is asus.scm, the command starts building many things.
<raghavgururajan>I am cherry-picking 993de472ed3dfe90e1c4110b6b910c1f74d243ff to newly created wip-gnome (which is current master).
<nckx>raghavgururajan: I'm genuinely sorry you've been stuck with the world's shittiest ‘diff’. Is one entire glib package obviously the right one? I hope so. Then just delete the other one.
<nckx>I'm lacking way too much context to suggest actual actions.
<Bumblehorse>nckx: Just incase you wouldn't mind knowing, it lost track of tor again after a reboot.
<nckx>I don't mind, but I can't help you either ☹ But mention it in the bug report.
<raghavgururajan>Thanks. So do I remove all the lines betweeb <<<< and >>>> ?
<derivates>nckx: build works, but reconfigure won't
<nckx>Bumblehorse: I run a tor node that always boots fine, but I haven't rebooted in a while. I've only encountered your bug during reconfiguration.
<Bumblehorse>I know :)
<nckx>derivates: Ah!
<derivates>i'm running the command atm
<Telc[m]>I'm trying to build my first package "broot" a rust cl utility, I've made good progress with guix import but I'm having trouble with the build of a c library that cargo is trying to work with https://paste.debian.net/1194333/
<nckx>raghavgururajan: No, between <<<< and ==== OR ==== and >>>>. You have to choose.
<raghavgururajan>Ah I see.
<raghavgururajan>Including or excluding those synbols?
<nckx>Basically whether you want the grafted (/fixed) or ungrafted version of the code.
<cbaines>raghavgururajan, there could be changes in both you want to keep though, resolving conflicts is, well, complicated
<nckx>Excluding.
<Telc[m]>here is the broot.scm https://paste.debian.net/1194334/
<cbaines>If you just choose one or the other, you could end up reverting some changes, potentially, it depends what changes have been made
<raghavgururajan>cbaines: I think for this commit, its purely cosmetic.
<nckx>derivates: When I substitute ‘vm’ for ‘build’ I *immediately* get your error. First reaction is wtf. Not sure what that means.
<nckx>But first
*nckx → food.
<derivates>very odd the `build` command works meanwhile `reconfigure` doesn't
<derivates>about the channels.scm file, also i previously had a config.scm laying there which also conflicted a lot
<raghavgururajan>Phew! it worked.
*nckx sated.
<derivates>wait how to i switch to my build after using guix system build
***terpri_ is now known as terpri
<nckx>derivates: Short answer: (keyboard-layout keyboard-layout) → (keyboard-layout (operating-system-keyboard-layout base-operating-system))
<nckx>derivates: s/build/reconfigure/
<nckx>reconfigure is just build + apply.
<derivates>nckx: where exactly do i change the keyboard thing? there are multiple instances of it
<nckx>asus.scm
<nckx>grub-configuration
<derivates>nckx: i think it's working!!!!!
<derivates>bro you'
<derivates>'re the best
<nckx>It should!
<nckx>I am!
<derivates>what was it? something related to the variable scope?
<derivates>not being found?
<nckx>I was hoping someone else would chime in with the long answer 😛 I'm way too tired to answer coherently. But yes, basically. *Inside* (operating-system ...), there's some magic to make the keyboard-layout variable refer to the value of the o-s's own keyboard-layout field. But that magic only works in the same definition.
<nckx>That keyboard-layout is used both a field name and its value makes error messages super confusing.
<civodul>yeah it's a bit too much of keyboard-layout
<civodul>but hey, it's such a nice name, and naming is hard
<nckx>Don't feel pressured to understand this now, btw, derivates. It's not on the test.
*civodul looks at the Java issue: https://issues.guix.gnu.org/31719
<civodul>i think it'd be nice to have in the release
<civodul>though that triggers 570 builds per arch
<derivates>nckx: many thanks man, can you please provide me a few details about you, I will add you to my attributions section once i set everything up
<nckx>civodul: Push it to a separate branch, build it, and cherry-pick it to the release branch if it makes the deadline?
<nckx>🤷
<nckx>A separate branch based on the frozen one that is.
<Noisytoot>raghavgururajan, https://wiki.hyperbola.info/doku.php?id=en:main:chromiums_freedom_flaws
<Noisytoot>raghavgururajan, "Users should be aware that Qt WebEngine is based on Chromium and therefore contains many of the same flaws. Proprietary codecs and other anti-features must be removed at compile time to ensure user's freedom is respected. Due to Qt being a primary component of KDE and many applications, ensuring it is compiled correctly and removing nonfree software is of even greater importance to the Free Software Movement. "
<rekado>Noisytoot: I encourage you to look at how Chromium in Guix is built.
<nckx>derivates: Please don't feel obligated, but I appreciate the gesture and have PM'd you my identity.
<nckx>Which is very secret and hard to find.
<gr0n>nckx's opsec is their primary goal
<civodul>nckx: makes sense!
<civodul>i'm checking locally and will do that afterwards
<civodul>roptat: problem is that ownership semantics of git_config_entry differ between git_config_get_entry and https://libgit2.org/libgit2/#HEAD/group/config/git_config_foreach
<civodul>i'm looking at possible fixes
<civodul>other _foreach bindings may have the same problem
<raghavgururajan>Noisytoot: That's what I mentioned yesterday. Quoting myself "QtWebEngine does bundle chromium stuff. But the non-free parts have been patched.". Please do let us know if there is anything missed to be patched.
<nckx>gr0n: I always wear a dark hoodie whilst hacking. I was told this would do the trick.
<gr0n>do you also run a matrix on your other screen?
<gr0n>that's very important
<nckx>No, but I pipe *all* my shell output through no-more-secrets.
<nckx>I get nothing done but I look cool.
<gr0n>nckx: this is indeed crucial to looking cool
<nckx>😎
<roptat>civodul, I see, that's why the finalizer breaks things in this case
*gr0n wishes he had more time to package a few things into guix... maybe in a month
<roptat>civodul, so my fix is incorrect, as I should still use the finalizer in get_entry
<wonko7>hmmm, xmonad is ignoring my config and I don't get why. xmonad --recompile first complains that /home/me/.xmonad/build does not exist, (which it does) and then fails with: xmonad: ghc: runProcess: runInteractiveProcess: exec: does not exist (No such file or directory)
<andreas-e>Concerning the Java issue, I almost managed to reach openjdk@14 before an out of space error. (Outer space error?)
<andreas-e>If I understand the patch correctly, I can now garbage collect icedtea and openjdk@<=12 and try again.
<wonko7>I can cat ~/.xmonad/xmonad.hs, ls ~/.xmonad/build, and this config works on other distros (same git head), I'm not seeing what I missed
<civodul>andreas-e: oh good; i hope i'll be able to build it entirely!
<wonko7>xmonad is in a user profile rather than the system's, could this be a problem?
<andreas-e>civodul: I have too little space, since I am guix pulling more frequently recently. And having to keep a collection of jdks around may be almost as bad as my collection of texlives, grafted and ungrafted ones.
<andreas-e>Ah, I forgot to gc the ungrafted packages and am not actually freeing any space. Did I already mention that I do not like grafting?
<nckx>wonko7: I just want to answer, although I can't help you. I'd focus on the strange error, and check the output of running it under strace for that file name.
<nckx>The profile ‘should not’ matter.
<nckx>Especially since you're just invoking it manually (I presume).
<wonko7>nckx: I think it's having trouble finding xmonad-contrib?
<wonko7>I've got the ghc-xmonad-contrib in the same profile, not sure what else could be missing
<nckx>Nor I. Sorry.
<nckx>I've never used Guix's XMonad.
<andreas-e>civodul: If you could try the build, that would be nice. It looks as if I do not have enough space left on my harddisk.
<wonko7>ok, this is a haskell thing
<wonko7>I was missing ghc, now it tries to compile but can't import XMonad
<jonsger>do others see this behaviour as well: when I wake up my Guix PC from suspend it takes pretty long to get network connection againg (up to 30s)
<nckx>jonsger: No, 7s here. I ran ‘sudo dmesg --follow -T’ before suspending.
<nckx>Most of the time was just the kernel/driver/hardware starting up.
<jonsger>nckx: ah, thanks
<civodul>roptat: how 'bout this? https://web.fdn.fr/~lcourtes/pastebin/guile-git-config-entry.patch.html
<civodul>the modifications to tests/config.scm reproduce the bug on x86 on master
<roptat>civodul, looks good, but I'm not sure about the changes to the tests
<roptat>I think it would work when building the guix package, but for developpers, the test might fail because there are more configuration available
<roptat>like user.name, etc
<civodul>roptat: i don't think so because we're looking at the bundled "simple-bare" repo
<civodul>so i think the set of config options is what appears in that repo's .git/config file?
<roptat>yeah, but the ~/.gitconfig can interfere I think
<civodul>libgit2 reads that?
<roptat>I think so
<civodul>lemme try
<civodul>ah indeed
<civodul>(it's convenient to hack in "guix environment -CP -l guix.scm"!)
<civodul>roptat: so filtering on "core." options seems to work
<roptat>civodul, no, I have core.editor and core.pager defined in ~/.gitconfig
<roptat>(config-foreach config (lambda (entry) (when (string-prefix? "core" (config-entry-name entry)) (format #t "~a~%" (config-entry-name entry))) 0)) gives me 5 configurations
<derivates>hi, so I did install my asus.scm but now I don't have coreutils lol, don't know what happened
<roptat>strangely enough, core.editor does not appear, but core.pager does
<roptat>derivates, what's in your (packages) field?
<derivates>a few packages for my Asus laptop, but I am inheritting another OS declaration, that should get those as well right?
<nckx>derivates: You're calling append but you forgot (something like) %base-packages.
<roptat>derivates, no, inheriting a declaration means all fields are the same as that declaration, unless you redefine them
<nckx>
<roptat>if you redefine them, it doesn't extend the fields, it overrides them
<civodul>roptat: oh i see; then i'll go with an explicit list
<nckx>derivates: Something similar to earlier should work, like (packages (append (list my stuff ...) (operating-system-packages base-operating-system)))
<nckx>(Untested and un-proofread.)
<derivates>alright, how do I make it so I have all my base packages on base-sys.scm and then on asus.scm I add a few extras
<derivates>nckx: will try!
<roptat>derivates, if you inherit from "foo", you can do something like (package (append .... (operating-system-packages foo)))
<derivates>it seems to be working!
<derivates>I think im getting that hang of this
<derivates>what Im having trouble understand is operating-system-packages and operating-system-keyboard-layout
<nckx>It's one of the more inelegant parts of Scheme/Guix TBH, but it is ‘explicit’ & consistent, so there's that.
<derivates>these are guile keywords right? nothing I have delcared surely, where is this in the manual
<derivates>plus this is very odd because they guy im following the guide doesn't use this at all!
<nckx>They are accessor procedures created as part of a record definition (= an object with fields, which is what operating-systems and packages are).
<nckx>(operating-system <args>) is really just a constructor procedure that returns a record object.
<nckx>s/procedure/procedure call/
<nckx>What do they do?
<nckx>This guy you're following.
<derivates> https://config.daviwil.com/systems
<derivates>a bit of sensitive info that a blind eye can skip though!
<raghavgururajan>nckx: My local wip-gnome is ready. I should just do `git push origin` right?
<raghavgururajan>* `git push origin wip-gnome`
<derivates>nckx: one key thing to spot is LOAD PATH when he invokes guix system tho, different to what we achieved...
<nckx>git push origin rg-wip-gnome:wip-gnome, unless you've stopped using your custom prefix.
<raghavgururajan>Yep stopped using custom prefix xD
<nckx>Ooh, now I want a config. subdomain...
<derivates>that guys website is so cool BTW...
<DavidWilson[m]>lol, thanks :)
<derivates>oh, you're here!
<nckx>😃
<raghavgururajan>nckx: So I should do `git push origin wip-gnome:wip-gnome` instead?
<nckx>derivates: By coincidence or design, DavidWilson[m] doesn't seem to ‘add packages’ like you want to do, anywhere, or I missed it.
<derivates>No he doesnt, but for example I add tlp for my asus
<derivates>I already got it to work just now!
<nckx>raghavgururajan: I think you can omit the last argument, but it depends on git's configuration so far. It will prompt you if so. Go ahead.
<raghavgururajan>Cool!
<derivates>it was what you suggested! (operating-system-packages base-operating-system)
<derivates>actually that time I couldnt even login to GDM had to drop to a TTY with bo coreutils lol
<nckx>Yes, all <foo> records have a <foo>-<field> access procedure for each field. So there's operating-system-packages, operating-system-file-systems, …
<nckx>Similarly, since Guix packages are ‘just’ records, you can use (package-name foo), (package-home-page foo), … on any package foo.
<derivates>do you have any suggestion on my base-sys filesystem? instead of using tmp I was thinking about pointing to dev/null, what do you suggest?
<derivates>its simply because its need tho, the hostname on base system is also not relevant
<raghavgururajan>\o/
<nckx>In other languages it would be ‘foo.packages’, ‘foo.file-systems’ where foo is an operating-system object, but well, Scheme is Scheme and does it this way.
<derivates>I love Scheme/Guile regardless
<nckx>derivates: /dev/null as in, deliberately making it invalid to catch errors? You could do that, but the errors might not occur until boot time, which is... risky. I'd just put (file-systems %base-file-systems) in the base-system.
<nckx>Maybe an empty list, I don't know what that does :)
<derivates>interesting, i was just following the guide, so i can do this? https://paste.debian.net/1194340/
<nckx>‘raghavgururajan pushed a change to branch wip-gnome in repository guix.’ 👍
<nckx>derivates: (cons* %base-file-systems) → %base-file-systems
<nckx>(cons* <element...> <list>) adds 0 or more elements to a list; while it will work here it's pointless.
<raghavgururajan>xD
<derivates>cool! so i don't need to add that /tmp stuff for base system
<nckx>I don't think so.
<nckx>Unless you want it by default on all your systems.
<derivates>nah, just adding as it's a required "field" (?) on (operating-system)
<civodul>roptat: pushed the guile-git fix; lemme know if anything's amiss
<derivates>is the term field correct?
<nckx>OK. And field is correct.
<nckx>Yes :)
<derivates>if (file-system) is a field then what is (operating-system) ?
<nckx>A record.
<civodul>roptat: i was wondering if diff-foreach has the same problem wrt. capturing the arguments to the callback; maybe not, WDYT?
<civodul>anyhow, we should release 0.5.1 in time for the release
<nckx>derivates: info '(guile)SRFI-9' has more technical details if you're interested.
<derivates>thanks
<nckx>derivates: https://www.gnu.org/software/guile/manual/html_node/SRFI_002d9-Records.html#SRFI_002d9-Records
<nckx>If you're into *that* kind of thing.
<derivates>now, you might be thinking i'm bothering too much but why isn't this default: (home-directory (string-append "/home/" name))
<derivates>instead of hard-coded?
<derivates>nckx: thanks, just want to use the correct terminology for when asking for help
<nckx><home-directory> No, that's a fair question.
<avalenn>Is it possible to get a guile debugger on a builder script ?
<nckx>derivates: I think it would be technically possible to make that happen in Scheme... If civodul has time maybe they can explain why it's the way it is, but I think it's just ‘magic is tempting but makes things very hard to debug very quickly’.
<derivates>I added that myself, it works (as for my personal testings), just raised my awareness haha
<civodul>derivates: the default home directory is what you write; see https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/system/accounts.scm#n70
<derivates>okay!
<nckx>Welp.
<nckx>I just came back from the code to say ‘it's magic already’. :)
<civodul>heh :-)
<nckx>What did you try that didn't work?
<nckx>I mean, what caused you to ask ‘why isn't this default: (home-directory (string-append "/home/" name)) <derivates> instead of hard-coded?’
<nckx>sounds like you had a bad experience.
<derivates>I don't know, seeing the variable name set above and then hardcoding the exact value right under it just called my attention
<derivates>i don't know why i usually spot this tiny things, is like my bad habit of making everything a macro in C for readability and avoid repetition
<derivates>bad habit of mine, pre-optimizing stuff
<derivates>kinda weird, now i'm trying to take off `(map specification->package ...)` so I add at the top (gnu packages ...) and somehow im getting
<derivates>error: base-operating-system: unbound variable
<derivates>hint: Did you forget `(use-modules (systems base-system))'?
<derivates>having changed a thing yet
<derivates>just changed to (packages (append (list ...
<DavidWilson[m]><derivates "hint: Did you forget `(use-modul"> You need to add your system config folder to the load path
<derivates>ofc `sudo -E guix system -L ./ build ./systems/asus.scm`
<andreas-e>derivates: Concerning (home-directory (string-append "/home/" name)), you may want to have a look at the OS definitions for our infrastructure at https://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/hydra/modules/sysadmin/overdrive.scm
<andreas-e>It is a nice idea for which you will not be able to apply for a patent because of prior art :)
<derivates>andreas-e: appreciate the resource
<derivates>really weird that it was building fine right before taking off the `(map specification->package ...)` part...
<roptat>civodul, git_diff_foreach doesn't say anything about the pointers
***nothingmuch_ is now known as nothingmuch