IRC channel logs

2021-11-02.log

back to list of logs

<jab>ajarara: that's good.
<jab>I will say, I think my second Covid shot was defective though.
<jab>Ever since I got it I keep hearing this voice in my head, "Vote for Biden. Vote for Biden."
<ajarara>it's in the medical disclaimer actually
<lilyp>Der hier wählt Olaf. Der wählt Olaf. Olaf, Olaf, Olaf, und, ähm... (Olaf) Olaf!
*nckx voted for Biden. Twice.
<lilyp>Lassen sie mich raten, sie wählen bestimmt…
<jab>ajarara: ahh. I must have missed that annoucement.
<lilyp>Ja das ist richtig, Baerbock
<jab>nckx, I could use some more advice... https://notabug.org/jbranso/linode-guix-system-configuration/src/master/opensmtpd-records.scm That's my current code for the opensmtpd-service using (guix records). I would like to get my linode guix server using it. What's the easiest way to go about doing that?
<jab>My linode server is currently using (gnu services mail) for dovecot...which overrides my opensmtpd-service-type in opensmtpd-records.scm.
<jab>I feel like I should probably start merging my opensmtpd-records.scm into (gnu services mail).
<jab>I could also start writing the documentation for (opensmtpd-records). It supports most opensmtpd options now.
<nckx>jab: I'm not sure what the lowest-effort way is for you, but you can either opensmtpd-service-type -> (@ (jab services mail) opensmtpd-service-type), and similarly for opensmtpd-configuration, or change your (gnu services mail) import line to ((gnu services mail) #:hide (opensmtpd-this opensmtpd-that)).
<nckx>I guess I'd go for the first since it's not more work.
<mekeor[m]>6piz7wk: icecat is based on an outdated firefox version. this is valid even for icecat-beta (which is packaged for guix)
<jab>nckx: I understand that second option. #:hide would only have a few things to hide...
<jab>I don't understand your first option.
<nckx>It is not valid for ‘IceCat’ as a whole.
<nckx>jab: https://paste.debian.net/plainh/53970a56
<jab>nckx: thanks
<nckx>mekeor[m]: E.g., I'm currently running IceCat 91.2.0 and building 91.3.0.
<nckx>Well, 91.3.0-guix0-preview1, to give it its proper name, because it's not a release, ssh.
<jab>nckx: just so we're on the same page, I'm not using config-file. I'm using a (opensmtpd-configuration (pkis (list (opensmtpd-pki (domain "smtp.gnucode.me") (cert "/path/to/cert") (key "/path/to/key")))))
<nckx>I know! I copied that from my actual mail server configuration, which I edited & tested to make sure I wasn't selling you bullshit.
<nckx>Hence ‘gnu’ and not (say) ‘jab’.
<mekeor[m]>nckx: where are 91.2 and 91.3 packaged?
<nckx>mekeor[m]: Sekrit branch for cool ppl only: https://git.savannah.gnu.org/cgit/guix.git/log/?h=gnuzilla-updates
<nckx>Mark sent a mail about it recently but I'm coming up dry…
<nckx>…nvm, it wasn't to the lists.
<jab>nckx gotcha.
<nckx>mekeor[m]: Despite the ‘guix0’ name, this isn't something the Guix project made up, it's directly from an IceCat maintainer.
<nckx>Just not a full official release.
<nckx>(But also: sweet substitutes! https://ci.guix.gnu.org/jobset/gnuzilla-updates)
<mekeor[m]>nckx: cool, this is the commit on gnuzilla which upgraded it to 91: https://git.savannah.gnu.org/cgit/gnuzilla.git/commit/?id=1537880dac3087d3779543303f0df83432831166
<talos>Hi hi, just quick question: So this means IceCat will be upgraded right? What about GnuZilla proper, will it be added to the repos? Or are we just sticking with icecat and icedove? Just wondering. I have no problem with either solution.
<nckx>talos: (1) Yes. Personally, I don't consider (2) likely. What does GNUzilla add?
<mekeor[m]>what is gnuzilla proper?
<nckx>The GNU counterpart to the complete Mozilla suite.
<talos>Indeed. I thought gnuzilla proper was just GNU's version of Seamonkey
<nckx>I don't think that's still a thing though?
<mekeor[m]>this? https://en.wikipedia.org/wiki/Mozilla_Application_Suite ? it's discontinued anyways
<talos>I haven't seen them upgrade it in forever, who knows if it's still s- yup lol
<nckx>Thought so.
<mekeor[m]>seamonkey is dead
<mekeor[m]>well, apparently seamonkey still exists but without mozilla: https://en.wikipedia.org/wiki/SeaMonkey
<talos>Ah
<mekeor[m]>anyways, the gnuzilla-git-repository barely contains more than icecat: https://git.savannah.gnu.org/cgit/gnuzilla.git/tree/
<nckx>I thought SeaMonkey was never a Mozilla thing & that was the point.
<nckx>Never used it though.
<talos>I see! Well, I suppose that's that. The last time I used Seamonkey... it was called Netscape Navigator lul
<nckx>Yeah.
<M6piz7wk[m]>how do i reset a tor service on guix?
<nckx>I meant that there never was a Mozilla Seamonkey.
*M6piz7wk[m] can't find that in https://www.gnu.org/software/shepherd/manual/shepherd.html#Invoking-shepherd
<nckx>‘reset’?
<talos>Shouldn't be herd restart tor?
<nckx>🤷
<M6piz7wk[m]>like `systemctl reset tor`
<M6piz7wk[m]>on systemd
<mekeor[m]>reset or restart?
<nckx>Doesn't really answer the question.
<M6piz7wk[m]>or `service reset tor` on OpenRC like stop and start a service
<nckx>What does that *do*?
<M6piz7wk[m]>Stop and start a service?
<nckx>So… restart? As talos said, herd restart.
<nckx>Not reset.
<M6piz7wk[m]>ah oke
<mekeor[m]>even with systemctl / systemd it's not called "reset", it's called "restart", 6piz7wk
<M6piz7wk[m]>thanks
<nckx>"systemctl reset" does not seem to be a thing.
<M6piz7wk[m]>x.x
<M6piz7wk[m]>my head hurts like heall okay u.u
<talos>Unless you mean to reboot lol
<nckx>reset-failed is, which might be similar to ‘herd enable’.
<nckx>M6piz7wk[m]: Shouldn't have had that 7th spooktini.
<mekeor[m]>6piz7wk: here it's described in the guix manual: https://guix.gnu.org/en/manual/devel/en/guix.html#Services
<nckx>talos: A great way to restart services!
<M6piz7wk[m]>nckx: i was testing a new pillow and it caused a minor thrombosis that is taking long time to dissolve u.u
<talos>lol yup nckx
<M6piz7wk[m]>no spooktinis!
<nckx>Uh… ouch. Get well extremely soon.
<talos>Speaking of spooky stuff, no trick or treaters came here, prolly cuz we live in an apartment complex. Sadness lol
<M6piz7wk[m]>nckx: should be better in 20 min.. waiting for a blood thinner to ehh thin the blood
<M6piz7wk[m]>unless i misdiagnosed myself due to the terrible headache and that making it worse in which case if you hear screaming from general direction of czechia it's me
<nckx>My nephew came over, twice! Front & back door… (we live in Europe, so not actually a thing here, but he enjoys our fakery anyway).
<talos>Aww~
*nckx keeps an ear out for the general direction of Czechia whilst picturing self on small map to better orientate.
<nckx>OK I think the screams will be coming from behind the yew tree.
<talos>BTW I am switching to Matrix and doing the bridging thing to libera, cuz my crappy connection via IRC keeps having me reconnect, but Matrix handles reconnections better
<nckx>Cool!
<nckx>I wish there were more {and, }better Matrix clients.
<talos>At least Matrix makes it seem transparent so it doesn't bother others like IRC lol, is what I'm getting at. And I agree nckx!
<talos>But I do love IRC, I just wish my connection did too
<talos>I've been on various IRC networks for probably about 20 years now
<nckx>I'm very grateful for matrix.org bridging Libera.
<nckx>I prefer IRC but it's an acquired taste.
<nckx>Like eyeballs.
*nckx mmmm.
<talos>Haha, I see :D
*nckx first and nervously tried IRC ~7 years ago.
<nckx>Y'know, when it was already ‘dead’.
<nckx>I'm not sure any of the things that were going to replace it still exist.
<talos>ICQ, AIM, MSN.. all dead. IRC still remains!
<nckx>The occasional XMPP fanperson (no insult intended, but people who love XMPP *really* love XMPP) urges us to switch.
<nckx>That was mainly during the dark days of Freenode summer.
*the_tubular *really* loves XMPP
<nckx>😊
<the_tubular>I'm planning to use IRC through XMPP though, so it will be pretty transparent
<talos>With something like bitlbee?
<the_tubular>Yes, I know about biboumi
<the_tubular>But there are some XMPP server that can do both too IIRC
<nckx>That sounds nice. In Guix?
<vivien>If we compare Matrix and XMPP, XMPP wins because there’s a service for an XMPP server but no service for a Matrix server.
<vivien>However, I don’t think prosody does IRC
<the_tubular>No, not in guix sadly nckx :(
<the_tubular>I'm still looking for a good XMPP server software though, I'm not satisfied with the "big ones", I might try to pack it for guix when I find it
<nckx>Rad.
<M6piz7wk[m]>Aha! Medical science! Like computer but with solved halting problem
<nckx>I hope we never solve that halting problem. Immortal oligarchs sound horrible.
<nckx>(I have no idea what you meant, but if it means you're feeling better, I'm glad :)
<M6piz7wk[m]>i think we already fixed the halting problem by using a timeouts
<M6piz7wk[m]>btw. care t o help me with this?... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/d00e6597d5814ca14a532c868e86594c7c67549b)
<M6piz7wk[m]>this is file sourced from a gateway file (guix system build gateway.scm) to configure the systems
<M6piz7wk[m]>i don't know how to make it to create the kreyren user once sourced x.x
<M6piz7wk[m]>and i don't like the "using variables" method
<nckx>Maybe some other time. Partner will literally kill me (her words) if I keep typing at my imaginary internet friends (her words).
<nckx>Night all o/
<vivien>If you go to sleep, we disappear :(
<M6piz7wk[m]>also if you take those pesky pills that weirdo in white cloak gave you rawrrr
<M6piz7wk[m]>also can i get that in writting.. seems like a great witness statement for when i need it
<M6piz7wk[m]>since i couldn't possibly do X when i am imaginary~ No taxes ever again~
<mekeor[m]>nckx: hahah sameeee
<M6piz7wk[m]>ehww macbook
<mekeor[m]>6piz7wk: you need to run guix system reconfigure gateway.scm if you want to apply that OS-declaration to your currently running OS
<M6piz7wk[m]>oh sorry i should explain the issue better
<mekeor[m]>yes
<M6piz7wk[m]>```
<M6piz7wk[m]>/home/kreyren/Repositories/grilumops/src/users/kreyren.scm:53:0: error: (operating-system (users (cons* (user-account (name "kreyren") (comment "Jacob Hrbek") (group "users") (shell (file-append bash "/bin/bash")) (supplementary-groups (quote ("wheel" "netdev" "audio" "video"))))))): missing field initializers (bootloader host-name file-systems timezone)
<M6piz7wk[m]>```
<M6piz7wk[m]>I don't know how to integrate the abstracted usecase which is: once the file gets loaded then declare kreyren user
<jgart>M6piz7wk[m], https://github.com/bqv/rc/blob/live/rc/packages/systemd.scm
<M6piz7wk[m]>eh?
<M6piz7wk[m]>since it seems that once `operating-system` gets declared it just thinks that it's time for deployment and ignores any further instructions
<mekeor[m]>6piz7wk: did you read the message you posted?
<mekeor[m]>6piz7wk: it says "missing field initializers (bootloader"
<M6piz7wk[m]>yes that's the issue i don't want to declare bootloader, etc.. there
<M6piz7wk[m]>i just want to declare the user in that file and the rest in other file(s)
<M6piz7wk[m]>since this deployment works by applying different logic depending on the system
<M6piz7wk[m]>... or at least does so on nixos.. trying to port it x.x
<mekeor[m]>i see. i guess you gotta use guile-modules for this. then use (use-module) etc
<mekeor[m]>maybe read the guile section about modules
<M6piz7wk[m]>i was looking at that, but it seems to be more complex then desired
<M6piz7wk[m]>since ideally i just want to define:... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/fbfddc3821515e0efe560d3f1b46d1488433186d)
<M6piz7wk[m]>Xenguy: thanks your name reminded me that i also have to track xen integration in my setup
<mekeor[m]>6piz7wk, just use one module to define e.g. the user. then use another module to put the user-definiton into an os-definition. ENJOY
<M6piz7wk[m]>but that seems too complex for lisp u.u
<mekeor[m]>also maybe just read a little of code of the guix repo. there's lots of similar code
<M6piz7wk[m]>i was thinking just `(append (user-account` or something
<mekeor[m]>6piz7wk, just take your time to understand stuff, don't be impatient
<M6piz7wk[m]>i am thus why i just abtracted it and managing everything in one fallback file atm
<M6piz7wk[m]>and tracking things that i've changed for reproducibility
<mekeor[m]>e.g. here's a definition of icecat-source https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/gnuzilla.scm?h=gnuzilla-updates&id=5396c8146884f26cd7399e27c46bd5bfd44155c0#n699 and then here it's been used: https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/gnuzilla.scm?h=gnuzilla-updates&id=5396c8146884f26cd7399e27c46bd5bfd44155c0#n879
<mekeor[m]>you gotta do the same as the mentioned gnuzilla.scm, just across multiple files (using modules!)
<M6piz7wk[m]>i am not sure how i feel about the files being expression dependent on one another as the design requires it to be more modular since it should work by sourcing files.. so i can't just easily hardcode it everywhere like that
<M6piz7wk[m]>more like i want to "construct" the `operating-systems` derivation
<mekeor[m]>you don't need to source files. just use (use-module) to import variables from another file/module!
<mekeor[m]>anyway, you got this
*mekeor[m] leaves
<M6piz7wk[m]>eh? it doesn't look like it fits the usecase.. ideally i want to do this:... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/dd0f3bfe48b8497bcf4eded97dc5717aa092b424)
<M6piz7wk[m]>so that it "constructs" the `operating-system` instead of "sourcing variables" across which seems to require hard-coding
<mekeor[m]>maybe use an empty bootloader and overwrite it in the second file
<M6piz7wk[m]>... but i guess operating-system would have to be more flexible in terms of declaration for that
<mekeor[m]>an os without bootloader doesnt make sense
<M6piz7wk[m]>mekeor[m]: but then there might be a usecase where this method just provides an empty value where it's not expected
<M6piz7wk[m]>e.g. systems withotu bootloader i would think
<M6piz7wk[m]>mekeor[m]: eh? makes sense for jails
<M6piz7wk[m]>or for kubernetes depending on the setup
<mekeor[m]>you got this 6piz7wk
<M6piz7wk[m]>i would have to rewrite how operating-systems works though! U_U
<mekeor[m]>keep it small
<mekeor[m]>kiss
<mekeor[m]>and dont be a troll
<M6piz7wk[m]>i am not trolling.. i am trying to make that kiss thus why i am concerned about complexity
<M6piz7wk[m]>like in your proposal you are proposing `(define ABC...)` and then declaring it as `(something (source ABC))` which i can't do as i can't do the hardcodding with `source`
<M6piz7wk[m]>it should just be `(load ...)` that builds the `operating-systems` like a database
<M6piz7wk[m]>Like i am not missing something obvious am i? x.x
<M6piz7wk[m]>The `(operating-systems)` is basically a function with a lot of arguments that once triggered carries on with it's payload and checking for expected input (bootloader, etc..)
<M6piz7wk[m]>If it doesn't get that it will fail so it's very limited in terms of defining logic since it has to be constructed with either hardcoding through modules, declaring elaborative systems of variables or making a wrapper that generates the operating-systems
<M6piz7wk[m]>Instead of declaring it as a e.g. "list" that builds and once it's finished just doing something like `(guix-build-system)` to build it?
<M6piz7wk[m]>so that i could do:... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/fea811483bf8d5cd4fc40edeba542d2773dda437)
<jgart>I'm trying to build dwm in a guix shell with a one liner:
<jgart>guix shell -D dwm coreutils -- env CC=gcc FREETYPEINC=/gnu/store/j3f5hx6yvhlj3sapiipigkwg05b49nwn-freetype-2.10.4/include/freetype2/ make
<jgart>but I'm getting these errors: https://paste.sr.ht/~jgart/8645b86a032f8e545bd425d3eb1dc2445ef505a0
<jgart>Is there a better way to set up dwm to be built from guix shell *without* defining a guix.scm file?
*M6piz7wk[m] sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/e6f4f30513f36a649ae14406b0979e6004baea68
<M6piz7wk[m]>oh you are building it in the repo
<apteryx>avp: hi!
*M6piz7wk[m] sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/998b1392063faae16e13f2f64a4aad05c7575fe8
<apteryx>sorry about missing your message earlier; I haven't gotten a chance yet! lemme try it now
<M6piz7wk[m]>which seems like that's why you have the errs?
<M6piz7wk[m]>checking out the tag/6.1 the command provided builds it for me... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/d177d6a5c53d8d5d50f705a9ef8975b7872435ec)
<apteryx>avp: another thing I've encountered with guile-ssh were non-deterministic test suite failures (0.13.1): https://issues.guix.gnu.org/51391
<apteryx>avp: OK, got it to build. Will put its test suite under a stress test (100 builds)
<M6piz7wk[m]>i've written down my issue in case anyone see an alternative solution that i don't x.x ... i will do more research in that before i dare to submit it to guix-devel though
*M6piz7wk[m] sent a md code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/f91cdfb10887a64cc8405ba3ef354b594b0d7b23
<M6piz7wk[m]> * ```md... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/c834316619ac61a4d786247c124a274452a4785e)
<M6piz7wk[m]> * # Proposal to make guix system deployment more flexible... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/29e54196bde942c0f622c34ca56b8400304f55f0)
*M6piz7wk[m] is now worried that libera.chat doesn't shorten a long walls of text into a URL for him to just flood the channel
<M6piz7wk[m]>it does.. good
<M6piz7wk[m]>oh it does so by separating it in 3 lines.. i am sorry x.x
<apteryx>I'm trying to test 'guix offload' in my checkout, but it says: $ ./pre-inst-env guix offload test -> guix: offload: command not found; any clues?
<M6piz7wk[m]>apteryx: On first look it seems like your pre-inst-env program is making the expected command not accesible in your environment
<M6piz7wk[m]>try it outside of it?
<apteryx>thanks; the reason I do it this way is that I want to test with an unreleased version of guile-ssh that I bumped to in my checkout
<apteryx>so I was hoping './pre-inst-env guix offload test' would be a simple way to smoke test it
<dissent>what is the cause of "cannot build derivation" "dependenices couldn't be built" on system reconfigure
<M6piz7wk[m]>apteryx: provide a copy of the `pre-inst-env` then? assuming that being a custom-built script or soemthing alike
<M6piz7wk[m]>dissent: failure to build the dependency on first look? :p provide the log
<apteryx>M6piz7wk[m]: the pre-inst-env is the 'try before you install' script that gets produced after ./configure in a guix checkout
<M6piz7wk[m]>oh i see.. second thing that comes to me is an outdated environment that doesn't have the offload subcommand
<apteryx>it sets stuff such as GUILE_LOAD_{COMPILED,}PATH and others
<apteryx>but it's definitely a thing about the environment, thanks for having me looked that way
*M6piz7wk[m] is definition of incompetent when it comes to guix atm, but does his best to help x.x
<M6piz7wk[m]>i guess `guix pull` ?
<M6piz7wk[m]>since it seems that the offload is a newer feature
<apteryx>M6piz7wk[m]: much appreciated, thanks
<apteryx>although here I don't think guix pull will help; guix offload has been with us for a while actually
<apteryx>I'll look into that pre-inst-env wrapper
<dissent>M6piz7wk[m]: upon reconfigure i get https://termbin.com/s03y
<dissent>when i read the log i get https://termbin.com/rlsv
<M6piz7wk[m]>Does `--verbose=5` give you more info to why it failed?
<apteryx>I think it was something cached in my build tree; after 'make clean' && configure --localstatedir=/var --sysconfdir=/etc; ./pre-inst-env guix offload test seems happy
<M6piz7wk[m]>My hypothesis is that your hardware influences the build which causes it to fail?
<M6piz7wk[m]>ah i see
<M6piz7wk[m]>So solved?
<apteryx>seems so :-)
<M6piz7wk[m]>yay i was helpful ^=^
<M6piz7wk[m]>... unless you just wiped the cache and are now building it again only for it to fail again because reproducible
<apteryx>avp: I've answered to the issue with my test result; I don't see an immediate change
<apteryx>hmm, perhaps guix-daemon calls 'guix-offload', so perhaps the way I test this is bogus
<apteryx>sneek: later tell ciodul; I may have asked this before (apologies if I did), but what's an easy way to test a newer guile-ssh with guix offload? do I need to run the daemon from the checkout?
<sneek>Okay.
<dissent>M6piz7wk[m] definitely gives more info how do i capture/pipe the output?
<apteryx>sneek: later tell civodul I may have asked this before (apologies if I did), but what's an easy way to test a newer guile-ssh with guix offload? do I need to run the daemon from the checkout?
<sneek>Okay.
<apteryx>I'm off to bed; good night/day!
<M6piz7wk[m]>dissent: `command | curl -F 'f:1=<-' ix.io` ?
<M6piz7wk[m]>apteryx: night~
*M6piz7wk[m] goes AFK
<M6piz7wk[m]>if anyone knows the answer to this https://git.dotya.ml/RiXotStudio/grilumops/src/branch/ALPHA/proposal.md then let me know x.x
<dissent>does seem that guix system reconfigure can be piped
<avp>apteryx: Thanks!
*M6piz7wk[m] created https://issues.guix.gnu.org/51563
<dissent>M6piz7wkhk[m] https://termbin.com/tajr
<M6piz7wk[m]>output of /var/log/guix/drvs/pr/nl8g1ky1z3l3dfp4llh50w5qzd2qz4-webkitgtk-2.34.1.drv.bz2 plz
<M6piz7wk[m]>dissent^
<dissent>m5piz7wk[m]: https://termbin.com/g6tnz
<M6piz7wk[m]>i don't see any failure in that did you get the requested file?
<M6piz7wk[m]>maybe /tmp/guix-build-webkitgtk-2.34.1.drv-0/build/CMakeFiles/CMakeError.log will have more info?
<M6piz7wk[m]>dissent:
<dissent>M6piz7wk[m]: the strange thing is... there is no /tmp/guix-build*
<M6piz7wk[m]>> CMake Error at Source/cmake/OptionsGTK.cmake:212 (message):
<M6piz7wk[m]> libsoup 3 is required. Enable USE_SOUP2 to use libsoup 2 (disables HTTP/2)
<M6piz7wk[m]>Maybe this is the issue?
<M6piz7wk[m]>cmake is such a hell to debug -w-
<dissent>i thought so too and installed `libsoup`
<M6piz7wk[m]>name: libsoup
<M6piz7wk[m]>version: 2.72.0
<M6piz7wk[m]>seems that the libsoup needs bumping
<M6piz7wk[m]>try to bump it locally and see if the build passes?
<dissent>by bump it you mean `guix upgrade libsoup`?
<M6piz7wk[m]>meaning open gnu/packages/gnome.scm:4767:2 and changing version on 3.0
<M6piz7wk[m]>or set USE_SOUP2 as suggested
<M6piz7wk[m]>which is probably path of least resistance
<M6piz7wk[m]>Should be enough to define it here https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/webkit.scm#n244
<M6piz7wk[m]>as -DUSE_SOUP2
<M6piz7wk[m]>dissent: ^
<dissent>hehe okay >.>
<M6piz7wk[m]>also file a bug to https://issues.guix.gnu.org as this is packaging issue
<M6piz7wk[m]>also try running `guix pull` if you didn't already as it might be already fixed
<M6piz7wk[m]>but unlikely since it doesn't seem to have it on master branch
<dissent>M6piz7wk[m]: word, thanks for you time and help man/woman. i'll go ahead and file the report.
<M6piz7wk[m]>did you just assume my gender
<M6piz7wk[m]>:P
<dissent>:D
<M6piz7wk[m]>ping me the bug i will submit a patch
<dissent>earlier i submitted by first patch ( to the docuemntation ) -- this will be first bug report... any advice
<M6piz7wk[m]>i use guix for not even 2 days so just say that i said to do it to establish confidence of doing things that such veteran as myself told you to do
<M6piz7wk[m]>but in terms of a helpful advise just provide info how to reproduce the issue and what the issue is.. bonus points for making it short and understandable
<dissent>lol thats real zero to hero of you -- this will be first bug report... any advice
<dissent>oops
<dissent>okay i submitted the reprot
<M6piz7wk[m]>link it once it gets approved plz
<dissent> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=51564
<M6piz7wk[m]>submitted
<dissent>fist bump
<M6piz7wk[m]>social distancing 🔪
<M6piz7wk[m]>:p
<dissent>lol
<M6piz7wk[m]>the guix issue tracking is kinda lame.. there is no CI testing the proposed change
<EdLin>I keep getting an error message when running guix reconfigure, it fails to compile webkitgtk.
<M6piz7wk[m]>EdLin: Does it look like this ? https://issues.guix.gnu.org/51564
<M6piz7wk[m]>submitted patch like 2 min ago :p
<EdLin>I have no GUI or web browser currently installed, so can't tell.
<M6piz7wk[m]>-- Could NOT find LibSoup: Found unsuitable version "", but required is at least "2.99.9" (found LIBSOUP_INCLUDE_DIRS-NOTFOUND)
<M6piz7wk[m]>CMake Error at Source/cmake/OptionsGTK.cmake:212 (message):
<M6piz7wk[m]> libsoup 3 is required. Enable USE_SOUP2 to use libsoup 2 (disables HTTP/2)
<M6piz7wk[m]>check your output
<M6piz7wk[m]>patch: https://issues.guix.gnu.org/issue/51564/attachment/1/0/1
<dissent>if ya don't know run `guix system --verbosity=5 reconfiure <path to config>`
<EdLin>how do I check the output?
<M6piz7wk[m]>basically adding the `-DUSE_SOUP2`
<EdLin>dissent: was that to me?
<dissent>yes
<M6piz7wk[m]>yep
<EdLin>I see that error.
<EdLin>so, how long before the fix propagates do you think?
<M6piz7wk[m]>try my patch then.. if it fixed the issue then consider saying it did on 51564@debbugs.gnu.org
<EdLin>how do I try your patch?
<EdLin>I have no web browser or working GUI right now
<M6piz7wk[m]>no idea actually.. checking the manual
<M6piz7wk[m]>i think it has to define a channel
<EdLin>I'm a guix noob, not sure what you mean.
<M6piz7wk[m]>i use guix for 2 days so pretty noobish myself
<EdLin>2 days and did a patch for it. I'm impressed.
<M6piz7wk[m]>i am just amazing at doing what cmake says yes
<dissent>he/she/its no beginner to gnu/linux it seems :D
<M6piz7wk[m]>just 14years but i am pretty sure that someone is going to say that the patch is garbage in few min
<EdLin>I've been using it since 1992 or so.
<EdLin>kernel 0.95
<EdLin>so is there a way to make guix reconfigure work right now or....?
<M6piz7wk[m]>reading manual w8
<dissent>haha since 2019 but more seriously in the past year.
<EdLin>dissent: ah-hah, covid made you use gnu/linux!
<dissent>there is some truth to that...
<EdLin>lol
<dissent>definitely made me more concerned about using free software.
<M6piz7wk[m]>hmm if you don't mind me giving a code that i am not confident in knowing what it doing for sure i can give you a codeblock that tries to redefine the webkitgtk package with my patch
<EdLin>I wouldn't know how to use it probably.
<M6piz7wk[m]>just paste it in your configuration file i think
<EdLin>is it short enough to post here?
<EdLin>I don't have a browser but I did manage to add tmux... :)
<EdLin>so pasting kinda works
<EdLin>byobu seems to be broken tho
<EdLin>which is my prefered way to do tmux.
*M6piz7wk[m] sent a scm code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/ea3a9fed4b56e166b0259a09f234e51bf737d969
<M6piz7wk[m]>i ain't responsible for what it does though
<EdLin>I don't see it, I'm using IRC so I got a URL
<M6piz7wk[m]>should be enough to put it at the top of your `<file>.scm` in `guix system build <file>.scm`
<EdLin>you must be on matrix, I can't see it on this end
<M6piz7wk[m]>this works? http://ix.io/3DFA
<EdLin>I have no browser.
<M6piz7wk[m]>`curl http://ix.io/3DFA > file` then ?
<EdLin>I'm lucky I at least got irssi to work.
<EdLin>if I hadn't known about that....
<EdLin>ok, I'll try curl
<M6piz7wk[m]>i am more like using my experience from Nix hoping it works on guix though
<M6piz7wk[m]>probably do `guix system build` instead of recongifigure to make sure it works
<M6piz7wk[m]>if it does then just do `guix system reconfigure` and it should pull the cached build
<EdLin>I don't have curl either.
<EdLin>I'll try to install curl... hopefully it won't break
<M6piz7wk[m]>`guix shell curl` then ?
<M6piz7wk[m]>it will get you curl in a temporary shell
<EdLin>?
<M6piz7wk[m]>*subshell
<EdLin>oh, shoulda done that I guess.
<M6piz7wk[m]>`guix install curl` works too
<EdLin>I have the code now.
<M6piz7wk[m]>optionally using `wget`
<EdLin>where do I put it?
<EdLin>config.scm?
<M6piz7wk[m]>well try to put that at the top of the config.scm or whatever your parse in guix system and below use-modules
<M6piz7wk[m]>it might do horrible things though as i am not qualified for this x.x
<M6piz7wk[m]>but looks sane logically
<M6piz7wk[m]>... to the guy who is not qualified to do this at least
<dragestil>Hello, how do I get the development version of gnutls on guix? i'm getting <https://stackoverflow.com/questions/52722096/build-emacs-and-gnutls-not-found> but on guix instead of ubuntu
<M6piz7wk[m]>FWIW the derivation provided is just copy from upstream with "-DUSE_SOUP2" added
<M6piz7wk[m]>dragestil: elaborate development version.. the latest guix has version 3.6.15
<EdLin>M6piz7wk[m]: it didn't work, I put it bellow the modules stuff too.
<M6piz7wk[m]>what's the output
<M6piz7wk[m]>just summary of the output is fine e.g. file not found at blah blah
<EdLin>"did you forget use-modules guix packages?
<dragestil>M6piz7wk[m]: the thing is that guix shell --development works, so either it gets the dev gnutls or decided to add --with-gnutls=something
<M6piz7wk[m]>EdLin: oh add (use-modules (guix channels)) at the top then
<M6piz7wk[m]>there should be (use-modules) already so just add it there
<M6piz7wk[m]>dragestil: o.O still no idea what do you mean by development
<dragestil>me neither because that's what the error message complains. i'm guessing it's a different kind of gnutls
<M6piz7wk[m]>what err message
<dragestil>it's in the so link i sent: configure: error: The following required libraries were not found: libXpm libjpeg libgif/libungif libtiff gnutls Maybe some development libraries/packages are missing?
<dragestil>
<M6piz7wk[m]>seems like it.. add them?
<dragestil>sorry, the link i sent has this error message: configure: error: The following required libraries were not found: gnutls Maybe some development libraries/packages are missing? If you don't want to link with them give --with-gnutls=no as options to configure
<dragestil>?
<M6piz7wk[m]>ehh full output?
<dragestil>that's the relevant part
<M6piz7wk[m]>what are you building then?
<EdLin>M6piz7wk[m]: it's still breaking
<M6piz7wk[m]>EdLin: with what?
<dragestil>emacs (as in the so link)
<EdLin>I added each line as the errors suggested
<EdLin>now it's breaking with lgpl
<M6piz7wk[m]>EdLin: what it complains about then?
<EdLin>did you forget to use use-modules form?
<EdLin>I had to ad 3 lines
<EdLin>add*
<EdLin>because your fix wasn't enough
<M6piz7wk[m]>try adding `(define-module (gnu packages webkitgtk) #:use-module ((guix licenses) #:prefix license:))` at the top
<EdLin>how do you cut and paste in tmux again?
<M6piz7wk[m]>dragestil: Seems like your emacs definition doesn't have gnutls as defined dependency.. try adding it?
<M6piz7wk[m]>EdLin: shrug x.x
<dragestil>what do you mean? I'm trying to build emacs
<M6piz7wk[m]>dragestil: how are you building it though? Looks like some custom definition?
<M6piz7wk[m]>as upstream has gnutls@3.6.15 defined
<dragestil>git clone https://git.savannah.gnu.org/git/emacs.git && ./configure && make
<dragestil>git clone https://git.savannah.gnu.org/git/emacs.git && cd emacs && ./configure && make
<M6piz7wk[m]>why not just `guix install emacs` ?
<dragestil>yeah but that's not the version needed by the building process
<dragestil>because i want to build the HEAD from source :)
<M6piz7wk[m]>which one
<M6piz7wk[m]>commit?
<EdLin>M6piz7wk[m]: it seems to be building, but it failed.
<M6piz7wk[m]>EdLin: failed with what?
<EdLin>build of gnome shell failed, and 3 packages couldn't find dependencies.
<EdLin>webkit also failed
<EdLin>with exit code 1 during configure I think
<M6piz7wk[m]>log plz
<EdLin>looks like the same libsoup cmake error
<EdLin>I put your code in my config.scm
<EdLin>how do I paste the log?
<raingloom>EdLin: the recommended paste bin is: https://paste.debian.net/
<M6piz7wk[m]>git clone https://git.savannah.gnu.org/git/emacs.git && ./configure && guix shell -D acl@2.2.53 alsa-lib@1.2.4 cairo@1.16.0 coreutils@8.32 dbus@1.12.16 giflib@5.2.1 gmp@6.2.0 gnutls@3.6.15 gpm@1.20.7 gtk@3.24.24 gzip@1.10 harfbuzz@2.6.4 jansson@2.12 libice@1.0.10 libjpeg-turbo@2.0.5
<M6piz7wk[m]>libotf@0.9.16 libpng@1.6.37 librsvg@2.40.21 libsm@1.2.3 libtiff@4.1.0 libx11@1.6.10 libxft@2.3.3
<M6piz7wk[m]> libxml2@2.9.10 libxpm@3.5.13 m17n-lib@1.8.0 mailutils@3.13 ncurses@6.2 pango@1.44.7 pkg-config@0.29.2 texinfo@6.7 zlib@1.2.11 -- make
<M6piz7wk[m]>dragestil this should give you all dependencies to build emacs
<EdLin>raingloom: how do I use that from the cli?
<raingloom>EdLin: you can upload the log file afaik
<EdLin>how do I upload it from the cli?
<M6piz7wk[m]>EdLin: `guix system ... | guix shell curl -- curl -F 'f:1=<-' ix.io` ?
<M6piz7wk[m]>`guix system ... 2>&1 | guix shell curl -- curl -F 'f:1=<-' ix.io` to also include sterr
<dragestil>hmm the only relevant package i can spot is gnutls@3.6.15 which i have already installed
<M6piz7wk[m]>dragestil: i took those from `guix search emacs` so all of them are allegedly needed to build emacs
<EdLin>M6piz7wk[m]: the curl stuff wouldn't resolve the host
<dragestil>i'm not sure the deps of the emacs availabe in guix and the deps of the latest dev version of emacs are the same
<EdLin>M6piz7wk[m]: it seems to have pasted it but I got no URL
<M6piz7wk[m]>EdLin: try again it happens sometimes.. optionally make sure you have a `ping gnu.org` working to resolve domains (if not add `nameserver 1.1.1.1` in `/etc/resolv.conf`)
<EdLin>this time it resolved, but no URL
<EdLin>it appears to have uploaded it....
<M6piz7wk[m]>dragestil: well see if it works then? :p
<M6piz7wk[m]>EdLin: oh i assume it's too long then
<M6piz7wk[m]>Try `guix system ... 2>&1 | tail -150 | guix shell curl -- curl -F 'f:1=<-' ix.io`
<EdLin> http://ix.io/3DFJ
<EdLin>I did it without the tail because I thought it wasn't too long
<M6piz7wk[m]>no idea then x.x seems like it's still using the guix-defined package instead of the definition we did
<EdLin>maybe I shouldn't have distro-hopped to this, is there frequent breakage or if I come back to it it'll be working probably OK?
<M6piz7wk[m]>the stable channel should be stable.. latest is meant to break
<EdLin>how do I use the stable channel? I was using the default
<EdLin>brb, need coffee
<M6piz7wk[m]>afaik by using the 1.3.0 tag but i am not sure how to define it
<M6piz7wk[m]>probably wait for someone more competent like allegedly nckx for that O.o
<M6piz7wk[m]>I guess you could add this to your config.scm to tag the specific channel but nto sure... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/2a92dabda5ba5fdf2419da4b956947033e75381e)
<dissent>M7piztwk[m]: how do you tackle manuals? spot reading or cover to cover?
<dragestil>is there a command to print the definition of a package?
<EdLin>M6piz7wk[m]: you pasted it matrix-style again, it doesn't show up here properly
<M6piz7wk[m]>dissent: full page and Ctrl+F lawyer-style
<M6piz7wk[m]>dragestil: none that i am aware of, but `guix search package` will show you the definition location and exact line of it
<dragestil>ok thanks
<M6piz7wk[m]>EdLin: http://ix.io/3DFP .. see channels in GUIX reference manual
<EdLin>I don't have a browser.
<M6piz7wk[m]>but probably waiy for someone more qualified to do this
<M6piz7wk[m]>x.x
<EdLin>maybe this is for some other time, when it's working right.
<M6piz7wk[m]>EdLin: from cli you can do `guix shell links -- links https://guix.gnu.org/en/manual/en/html_node/`
<M6piz7wk[m]>it's optimized to work in cli :p
<dragestil>is there documentation about what `guix shell` does exactly?
<M6piz7wk[m]>dragestil: https://guix.gnu.org/en/manual/devel/en/html_node/Invoking-guix-shell.html#Invoking-guix-shell
<M6piz7wk[m]>also `info guix shell`
<dragestil>is there any lower level documentation?
<M6piz7wk[m]>`guix shell --help` ? :p
<dragestil>M6piz7wk[m]: installing gnutls-dane fixed my problem with building emacs
<M6piz7wk[m]>yay~
<dragestil>i'm guessing it contains a dev version of gnutls
<dragestil>M6piz7wk[m]: thanks
<M6piz7wk[m]>i don't think i helped much but u r welcome x.x
<dragestil>:)
<efraim>morning guix!
<mothacehe>hey guix!
<sneek>Welcome back mothacehe, you have 2 messages!
<sneek>mothacehe, apteryx says: thank you for unlocking cufbc on the CI! What was it related to? Was it a Cuirass issue, or something else? I've recreated the branch, and Cuirass has yet to rebuild it it seems (~9 hours ago)
<sneek>mothacehe, apteryx says: i'm still having problems getting the core-updates-frozen-batched-changes built by the ci; any hint as to what was wrong the last time you checked?
<mothacehe>apteryx: looks like it is fixed now :)
<efraim>should I be poking core-updates-frozen-batched instead of core-updates-frozen?
<jpoiret>dragestil: you can also use `guix shell -D emacs-next`
<jpoiret>since emacs-next is emacs 28 (not the HEAD but shouldn't be too far)
<dragestil>does that get gnutls-dane?
<dragestil>i wonder which deps satisfy the gnutls dev version
<jpoiret>well guix has the latest released version. Maybe it wants the git HEAD though?
<jpoiret>by the way, if your EDITOR environment variable is properly configured, `guix edit gnutls-dane` opens the definition of gnutls-dane
<jpoiret>(it is read-only though)
<jpoiret>apparently, gnutls-dane is only gnutls with unbound added to its dependencies, so i don't think emacs does require that
<jpoiret>maybe you didn't have gnutls in your path?
<dragestil>guix edit does not work well dumb terminal
<dragestil>in emacs shell mode :)
<jpoiret>what is your EDITOR?
<jpoiret>you could set it to emacsclient if you use that
<jpoiret>that's what i do (although i don't use shell mode)
<dragestil>would be nice to have a `guix dump`
<dragestil>that dumps the definition in stdout
<jpoiret>in lisp it's pretty hard to know the extent of the definition
<jpoiret>you can get one location, for example of the (package ...) line, but getting the whole parenthesis and only that should be harder
<jpoiret>also, `EDITOR=less guix edit gnutls-dane`
<jpoiret>with EDITOR=cat you'll notice that you get the whole file
<florhizome[m]><efraim> "should I be poking core-updates..." <- I think you should look for a more involved person to answer but i think yes
<ss2>Hello!
<jpoiret>dragestil: ok my dumb ass that's running on core-updates forgot that very fact... on master, we only have 3.6.15, whereas on c-u there's 3.7.2
<florhizome[m]>maybe some other guix can chime in.
<jpoiret>so maybe guix shell --with-latest=gnutls -D emacs (if that doesn't break other things), or even better, use a manifest for it
<florhizome[m]>ss2: hello and morning @ all
<dragestil>jpoiret: ok, i'm not sure if the problem is the number version though. it seems to me that gnutls and gnutls dev version are two different "packages"
<dragestil>also it is still a mystery how guix shell -D manages to satisfy the deps for gnutls dev version
<dragestil>since gnutls-dane is not a dep in the emacs package definition
<dragestil>in debian the dev version is called something like libgnutls28-dev
<jpoiret>dev versions are packages with only headers in other distributions. In guix, sometimes the package has an output 'lib' that is similar to that, but often that isn't the case
<jpoiret>here gnutls doesn't have one
<jpoiret>dragestil: did guix shell -D work?
<dragestil>yes
<dragestil>hence the mystery
<jpoiret>well then it's because without it it couldn't find gnutls
<jpoiret>you don't have it explicitely installed in your profile right?
<dragestil>i do
<ss2>I'm trying to load guix shell in a clean checkout of Guix. It fails though with the following error: https://paste.rs/ELq
<dragestil>with gnutls installed -> not working; with gnutls gnutls-dane and installed -> working; with guix shell -D -> working
<dragestil>*with guix shell -D on a profile without gnutls-dane -> working
<jpoiret>try `. ~/.guix-profile/etc/profile` in your shell
<jpoiret>if you've just installed it, you'd need to logout-login to make it have any effect
<jpoiret>because environment variables are sourced only on login by default, whereas guix shell/environment explicitly set them (that's the point)
<dragestil>i'm pretty sure i sourced it before trying
<dragestil>after all, I didn't do any extra sourcing before or after installing gnutls-dane
<jpoiret>ss2: the problem here is that guix.scm isn't related at all to `guix shell`
<jpoiret>it's just the (guix) module
<ss2>ups, makes sense. :)
<vivien>Hello Guix !
<abrenon>hi guix
<abrenon>I thought I understood the "ask for the interpreter along with the library you want" in environments to tests python or haskell libraries
<abrenon>but now with guix shell I'm completely lost
<abrenon>I don't understand why the auto-loading of guix.scm adds a magic '-D'
<abrenon>and now I always fail to prepare development environments
<lilyp>-D should only be for the guix.scm
<lilyp>and it uses that because guix.scm indicates you want a development environment for the package in it
<attila_lendvai>so, i have 7 guix import related patches, they are functional independently, but they pretty much all depend on each other in succession. shall i send it as one patchset, or as multiple patches, and note the dependencies. my impression is that the latter is preferred, but i think that is much more complicated for everyone...
<lilyp>I find it hard to believe that your patches are both independent and interdependent at the same time.
<lilyp>This is not Schrödinger's mailing list, simply send them as one cohesive thing if you believe them to be cohesive.
<attila_lendvai>lilyp, topically independent (e.g. one is fixing this and that, the other is smartening up the go importer), but the second one is uselessly broken without the fix (or sometimes doesn't even apply)
<raghavgururajan>Hello Guix!
<attila_lendvai>but i have decided to send ahead the more independent ones while i'm testing/prettying up the others
<lilyp>Btw. I'm at 20% building webkitgtk
<lilyp>I should have a fix pushed later today
<attila_lendvai>first one is a pretty straightforward addition of licences and their detection. someone may even decide to apply right now: https://issues.guix.gnu.org/51566
<vivien>lilyp, are you packaging libsoup 3?
<lilyp>The JSON license is not a free license afaik.
<lilyp>vivien: No, you can build against libsoup 2, but you have to explicitly set a configure flag
<lilyp>An input is missing too
<attila_lendvai>oh, wow, this is somewhat... annoying: "This license uses the Expat license as a base, but adds a clause mandating: “The Software shall be used for Good, not Evil.” This is a restriction on usage and thus conflicts with freedom 0. The restriction might be unenforcible, but we cannot presume that. Thus, the license is nonfree."
<attila_lendvai>this means that any go project whose transitive closure of several dozen dependencies contains anything with json licence doesn't qualify for guix? that locks out stuff like the go ethereum implementation...
<lilyp>yep
<attila_lendvai>that's sad. i have sent an answer to the patch to clarify the situation, but i may have straight away close it then... :/
***wielaard is now known as mjw
<jpoiret>someone thinks they're pretty smart and clever adding a funny clause to their license -> some years down the line, some GNU distribution gets in a conundrum
<jpoiret>this should be the prime example of butterfly effect
<attila_lendvai>although, it's not that sad: the only json reference is that one of the many licences of https://github.com/apache/arrow
<jpoiret>i've seen some go code transitively depending on this
<attila_lendvai>shall i just "forget" the json entry from among the 12 (!) licences of https://github.com/apache/arrow ?
<lilyp>No
<lilyp>Unless you can remove the nonfree code, no arrow for you.
<lilyp>If you company believes it does no evil (then it is wrong for one, but) it can host its own channel
<attila_lendvai>no company here, i'm just a guy who wants geth and swarm bee in guix
*attila_lendvai is investigating the situation
<jpoiret>maybe you could get lucky and the json licensed code is patchable
<jlicht>isn't it only an (optional) part of arrow that is JSON-licensed?
<attila_lendvai>i see no sign of json in https://github.com/apache/arrow/blob/master/NOTICE.txt
<attila_lendvai>but it's present in: https://github.com/apache/arrow/blob/master/LICENSE.txt
*attila_lendvai opens an issue to ask
<jpoiret>apparently it's for "json.org" and "JSON_checker"
<jpoiret>although there is no reference in the code to JSON_checker outside of the NOTICE and LICENSE files
<jpoiret>from LICENSE.txt: "To avoid the problematic JSON license in your own projects, it's sufficient to exclude the bin/jsonchecker/ directory, as it's the only code under the JSON license."
<attila_lendvai>jpoiret, hurray! thanks for finding that!
<jpoiret>although i cannot find it myself
<jpoiret>it is the rapidjson dependency which is problematic apparently, but see `guix edit rapidjson`
<attila_lendvai>jpoiret, looks like it was (re)moved from arrow, and only the now irrelevant note remained in licence.txt, right?
<jpoiret>maybe. Although it could just depend on it, but not be bundled
<attila_lendvai>FWIW, the go importer's output doesn't mention rapidjson, and it doesn't skip anything
<jlicht>attila_lendvai: https://github.com/Tencent/rapidjson/issues/1000 is the 'upstream' discussion on this issue;
<jlicht>so it seems the C-c C-v blurb seems to be a bit silly ;)
<attila_lendvai>FTR, i have opened an issue at them: https://issues.apache.org/jira/browse/ARROW-14550
<attila_lendvai>i have deleted json from the license patch: https://issues.guix.gnu.org/51566
<attila_lendvai>^ a good candidate for getting applied straight away
*attila_lendvai is afk
<florhizome[m]>in home configuration, how am i supposed to enter new lines to bashrc? rn just source some scripts.
<florhizome[m]>man says "a list of file-like-objects" ... does that mean i have to define it first?... i tried many combinations of (bashrc (list ("source...")) now with quotes and quasiquotesand whatnot...
<florhizome[m]>always getting "wrong type to apply"
<jlicht>florhizome[m]: (list ("source...")) still 'applies' "source..."
<jlicht>if you want a list with "source..." as the first element, try (list "source...")
<jlicht>florhizome[m]: but I do think `plain-file' makes more sense for your use-case; check the docs at https://guix.gnu.org/manual/en/html_node/G_002dExpressions.html for a very extensive explanation
<florhizome[m]>well now i get a backtrace and it says "open-file" fails.
<florhizome[m]>I saw some home configurations where they just appended strings to their bash-profile. (and i think that should be reasonable - you shouldn't have to learn about the different file-like-objects to append some simple text to your shell configs...) so i thought it would be possible. maybe they are on a different branch though.
<jpoiret>yes, there are many different guix home branches all over the place, with differing code
<florhizome[m]>another thing:
<florhizome[m]>shouldn't the hash produced with guix download always match into (sha256 (base32 ""))
<florhizome[m]>I'm getting "#<&invalid-base32-character character: #\space string: "0rwcg9sd5rv7gjwapcd1jjk6l16w0p3j7wkicq1rdch4c0kch12 p">" for the hash returned from gnome-desktop-settings 38 . the space in the end is somehow magically inserted.
<jlicht>florhizome[m]: it would help if you share some code snippets using a paste service; saying you are not interested in learning to solve diagnose your issue, while not sharing more details about what you are trying to achieve leaves me with precisely 0 actions that might help you ;)
<florhizome[m]>ah nvm i messed some stuff up...
<florhizome[m]>well i probably should just wait until "c-u-f" or some derivation emerges on master but i've succumbed to try to just update some dependencies locally to be able to finish the "build gala" mission i entered some days ago^^
<jpoiret>florhizome[m]: that's the way to do it! try using a manifest for that, it makes testing a breeze
<jpoiret>unless you need some new/fixed guix feature of course
<stikonas>hi, does anybody here manage cert for https://bootstappable.org/ ? We were told that let's encrypt certificate is expired
<jpoiret>the FHS is a bit utopic https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch04.html#purpose18 : "/usr should be shareable between various FHS-compliant hosts"
<talos> /buffer 9
<talos>oops
<talos>lol
<talos>Good day all~
<roptat>hi guix!
<lilyp>stikonas: missing an r
<stikonas>lilyp: oh yes. thanks it hsould be https://bootstrappable.org/
<stikonas>ir might be civodul that manages it, but I don't remember
<M6piz7wk[m]>resending https://git.dotya.ml/RiXotStudio/grilumops/src/branch/ALPHA/proposal.md in case anyone can help u.u
<old>Hi.  Anybody working on fixing webkitgtk?  Seems like libsoup version is too old since webkitgtk bump at 8797a07ac0
<old>Newer version of libsoup breaks ABI and might not work with other packages.  Also, it requires newer version of glib which will almost certainly break some packages
<M6piz7wk[m]><old> "Hi.  Anybody working on fixing..." <- i've submitted patch to use -DUSE_SOUP2
<M6piz7wk[m]>See https://issues.guix.gnu.org/51564
<jlicht>M6piz7wk[m]: that link gives me a 404
<lilyp>I submitted a patch as well, but it still fails to build
<M6piz7wk[m]>oh my patch sucks u.u
<M6piz7wk[m]>> make[1]: *** [CMakeFiles/Makefile2:1302: Source/WebCore/CMakeFiles/WebCore.dir/all] Error 2
<M6piz7wk[m]>Err2 is ENOENT no? So i assume mangled instruction?
<M6piz7wk[m]>```
<M6piz7wk[m]>/tmp/guix-build-webkitgtk-2.34.1.drv-0/webkitgtk-2.34.1/Source/WebCore/Modules/async-clipboard/ClipboardItem.cpp:45:80: note: couldn't deduce template parameter ‘<template-parameter-1-1>’ return Blob::create(context, Vector { utf8.dataAsUInt8Ptr(), utf8.length() }, Blob::normalizedContentType(type));
<M6piz7wk[m]>```
<M6piz7wk[m]>-> Use different commit?
<M6piz7wk[m]>.. and blame upstream for having insufficient QA
<dissent> the libsoup problem was fixed for me after a git pull and reconfigure.
<roptat>M6piz7wk[m], I think Error 2 for a Makefile means the error happened at recursion level 2 (so in a call to $(MAKE))
<roptat>or simply that something is broken, I don't think it uses the usual meaning of error numbers
<lilyp>I think error 2 means error in some submake
<roptat>this is not useful at all, the actual error is somewhere before in the log
<roptat>(usually in the few lines above, but for a parallel make it can be way before that)
<lilyp>yeah, we all have it, plus Mark wrote it in the ML
<roptat>you also pasted a message from the compiler, but it's just a note, not an error, so not useful either to determine what went wrong :)
<M6piz7wk[m]>roptat: meh cmake is so weird
<roptat>in that case, it's not cmake, it's make itself ;)
<M6piz7wk[m]>it seems to complain about syntax error though
<M6piz7wk[m]>roptat: i still blame cmake for it! :p
<roptat>mh, maybe a few line above you'll find the actual error, and then the note explains it, idk
<M6piz7wk[m]>yep looks like a syntax error to me
***do is now known as w1gz
<lilyp>I'm trying to build 2.34.4, can someone else try to disable unified builds?
***robin__ is now known as robin
<mort1>Hello Everyone!
<dissent>oops nope false alarm still have the error
<lilyp>also, now that I notice it, we might want to package angle ourselves, so that we can unbundle it in the browser engines
<nckx>Morning, Guix.
*M6piz7wk[m] doesn't know how to disable unified builds so he can't help.. he's willing to add derivation to his config to donate processing power for the compilation as lily said that being a limiting factor
<nckx>guix.gnu.org has been brought to a controlled stop; please stand by.
<M6piz7wk[m]>stop as in the website not stop as in GNU Guis is deprecated right
<jpoiret>gnu Guix is now deprecated
<lilyp>GNU Guix is now deprecated, embrace Nix or go back to Gentoo :P
<nckx>M6piz7wk[m]: No, GNU Guix is done now.
<nckx>We had a good run, but got bored, and it's time for something new. We're very excited to announce that Guix is now part of the Meta® family, and we can't wait to see what's next! 🎉 🚀
<nckx>We'll be removing all non-Web-browser packages in a few minutes.
<katco>that is some dark humor there nckx
<vivien>GNU Guix is now an NFT rug pull^W opportunity for investment
<nckx>Oh, no, wait… I have confirmation that guix.gnu.org is back up. False alarm I guess.
<nckx>…for now.
<nckx>🦇
<jpoiret>no, i was already burning a GNU Windows installation iso
<nckx>Anyway: stikonas: certificate manually renewed (don't ask, please don't ask), thanks for noticing!
<stikonas>nckx: I'm just the messenger...
<nckx>Sorry to interject, but I think what you mean is GNU+Lindows.
<stikonas>somebody else noticed and otld me
<M6piz7wk[m]>nckx: but i just almost learned how the guile thing works! hug it i am forking it
<stikonas>nckx: thanks for renewing
<ajarara>should guix.gnu.org redirect to https? Did it never do that?
<M6piz7wk[m]>jpoiret: was thinking that GNU would do that with the source code that M$ released in +- 2006 :p But instead it's ReactOS
<jpoiret>nckx: i had never heard of Lindows. Great read!
<M6piz7wk[m]>ajarara: would argue for onion service instead.. but like is there even anything that needs encrypting? it all seems as static page with public things
<lilyp>well, we can try to pull the GPL bits from the XP leak and see how far we get
<vivien>If there are GPL bits in it, then the whole thing is GPL, right?
<nckx>ajarara: It never has. There's a very low priority bug to make it do that.
<jpoiret>M6piz7wk[m]: it's just as you said, a static page with public things. No need for tor. Notice that https *is* encryption if that's what you want
<nckx>Fun fact*: I think rms used to be against redirecting or something? Not saying he still is, that was ages ago. *may not contain fact.
<lilyp>vivien: Not if they're just using them as tools for compilation
<M6piz7wk[m]>but i don't want randos on the internet knowing that i am vising guix.gnu.org u.u
<vivien>lilyp, oh ok
<jpoiret>maybe some *cough* nonfree channels *cough* should run on tor to hide themselves from the FSDG police
<lilyp>like if they require gcc because msvc sucks
<nckx>M6piz7wk[m]: The shame!
<jpoiret>M6piz7wk[m]: if by randos on the internet you mean your ISP, then yeah
<M6piz7wk[m]>ISP, routing companies, NSA, CIA, FBI, josef next door that has weird contraptions connected to the cable, sharks in the ocean biting the cable and the worst of the worst.. theee website owner!
<vivien>My bank noticed that I donated money to an US organization once, and they asked me to fill in a form saying I don’t have to pay taxes there, imagine if my ISP knows I’m visiting gnu.org.
<jpoiret>I don't want tor entry nodes to know I use tor
<M6piz7wk[m]>ohhh two in a row.. Integrate monero!
<M6piz7wk[m]>.. so that ican submit bug bounties ^-^
<jpoiret>monero is on guix iirc
<M6piz7wk[m]>but i can't do bug bountise
<M6piz7wk[m]>*bouties
<M6piz7wk[m]>also the https://my.fsf.org/civicrm/contribute/transact?reset=1&id=50 doesn't work on tor~
<M6piz7wk[m]>also i am still having issues with https://git.dotya.ml/RiXotStudio/grilumops/src/branch/ALPHA/proposal.md in case anyone can help x.x
<jlicht>M6piz7wk[m]: still a 404 for me :)
<jgart>guix pull: error: Git error: the index is locked; this might be due to a concurrent or crashed process
<jgart>has anyone ever gotten that?
<lilyp>Perhaps you're pulling as someone else is pushing?
<jgart>I'm on a single user machine
<lilyp>We probably all are :)
<lilyp>if it's not on the remote, then perhaps a local process really did crash
<lilyp>iirc the git checkouts ought to be in .cache/guix
<jgart>I just restarted my machine but I'm still getting the same error
<jgart>unless the cache is corrupt
<lilyp>probably corrupt cache
<jgart>and I'm not getting a good error message for it
<jgart>is it safe to remove the cache?
<jgart>and just pull everything again?
<jgart>rm ~/.cache/guix/ -rf
<lilyp>removing stuff from .cache ought to be safe per XDG standards IIRC
<lilyp>if you want to mess with things only slightly however
<lilyp>you could try manually releasing the lock
<nckx><is it safe to remove the cache?> It must always be or you've found a big serious bug.
<jgart>nckx, cool
<jgart>thanks nckx and lilyp
<davidl>the guix-install.sh has an important bug: in several places "~root/.config..." is found, but when you quote "~root" it does not expand - just try /bin/sh -c "echo \"~root\""
<jgart>seems like that fixed it. waiting on pull now
<davidl>this means that mkdir -p /root/.config is not created, nor its contents.
<jgart>what's left for guix-install.sh to support runit?
<jgart>Is anyone working on that feature?
<davidl>jgart no idea
<nckx>davidl: Lol. That is brutal.
<davidl>yeah, got a fail on a fresh red hat server.
<nckx>apteryx: These were introduced in e61fe664a4a3fd9ae09ff1890cc1dc3285ab3634, could you take a look (and either revert or adjust the changes)?
<jgart>does anyone know how the cache can become corrupt?
<jgart>what are some things that might cause it to become corrupt that are known?
<nckx>apteryx: ‘foo ~root’ will work, ‘foo "${HOME_ROOT}"’ will work, but ‘foo "~root"’ will not do what you intend.
<lilyp>dying processes
<nckx>Where $HOME_ROOT is an example, not an existing magic variable.
<jgart>what causes dying processes in guix? or what are some known examples of dying processes that have subsequently caused a corrupt cache?
<davidl>nckx: by the way, did you find time for reviewing that bash-bcu package I sent in as #51512?
<lilyp>your typical power outages and stuff like that
<lilyp>A rogue OOM killer maybe :P
<jgart>ah ok
<jgart>guix pull up to date again
<nckx>davidl: Yes! …in that I have a half-finished draft to finish. (◍•ᴗ•◍)
<M6piz7wk[m]><jlicht> "6piz7wk: still a 404 for me :)" <- fix your damned browser then! That service is 99.8% uptime! -w-
<lilyp>now you can enjoy the webkit failure like the rest of us
<M6piz7wk[m]>what do you even need webkitgtk for
<vivien>You need it for gtk+
<lilyp>Hmm, what could one possibly need webkitgtk for? 🤔️
<lilyp>vivien: no, you need gtk+ for webkitgtk
<vivien>Ah.
<vivien>In any case, you need it for a dependency of guile-gi
<lilyp>and i don't get why, because guile-gi has the same typelib stuff like all other typelib bindings
<lilyp>so it shouldn't require webkit (it does use it for some examples, but those are optional)
<vivien>lilyp, are you involved with guile-gi as a developer?
<vivien>(that’s a trick question)
<M6piz7wk[m]>vivien: all the more reasons to not use gtk! :P
<lilyp>perhaps instead of blaming people's browsers you might want to look into your repository configuration
*M6piz7wk[m] should probably add `--keep-going` to his management
<vivien>It fails on c-u-f, because some tests are failing, and I don’t really know why.
<abrenon>spawning a haskell REPL has become a total nightmare since I started using guix shell for my projects
<lilyp>vivien: looking at the ci build log, something is fails inside the string tests
<lilyp>do you have a build log of that for me?
<vivien>lilyp, once you fix the string tests, more tests fail
<vivien>The string tests fail because #\<unicode> is not recognized by the reader, try replacing it with (call-with-input-string "<unicode>" read-char) and the string test passes
<vivien>I’ll send you the test failures
<florhizome[m]><jpoiret> "unless you need some new/fixed..." <- Well ... If i had only one wish... the meson fix 👀
<lilyp>is that a guile 3.0.2 vs guile 3.0.7 thing?
<lilyp>if so it might be a regression in guile
<florhizome[m]><M6piz7wk[m]> "what do you even need webkitgtk..." <- Nyxt, emacs-webkit...
<lilyp>either way, I'd use (string-ref "<unicode>" 0) or dedicated conversion functions where needed
<vivien>#\◌̀ is the culprit
<vivien>I’ll make a patch
<florhizome[m]> Actually why ist guix using gcc 7.5 as default compiler? is that not... pretty old 👀
<vivien>florhizome[m], if you want to use a newer gcc, you will need to recompile almost everything
<vivien>That’s why it is not touched in master, but it is updated in core-updates*
<podiki[m]>what's with gtk+-3 on i686 core-updates-frozen failing (svg test?)...is that sorted out somewhere else?
<jpoiret>isn't that because there's no rust on i686, hence no librsvg?
<podiki[m]>I thought there was something about this on batched changes, but doesn't seem built there too?
<podiki[m]>jpoiret: is that a new test? or needs to be disabled on i686?
<jpoiret>no idea.
<jpoiret>you might want to disable that test though if it actually cannot run because of the missing svg handling
<podiki[m]>Batched changes branch had some changes to pixbuf/svg stuff, maybe better to see how that shakes out
<podiki[m]>Hopefully merged to c-u-f soon as we march to release
<vivien>lilyp, so when I fix the character, I get a value of 9676, which is a "dotted circle"
<vivien>So, I don’t know what happens, but the combining character (accent) is replaced with a dotted circle when read through guile
<lilyp>that's strange
<lilyp>you def ought to send a report to bug-guile with an MWE and a comparison to Guile 3.0.2
<vivien>Maybe that’s a problem with the source code encoding though
<vivien>Or the editor
<vivien>Maybe the author of test/string.scm has a clever editor that puts a dotted circle so that the combining character doesn’t stay alone.
<abrenon>: (
<vivien>So the other test failures were because I was building outside of guix, in a guix shell
<vivien>I’ll polish the substitution and send a patch to guix first
<vivien>lilyp, as always, I noticed I messed up something in the patch just after submitting it, sorry: https://issues.guix.gnu.org/51447 That does not explain why it’s not a problem on master, though…
<vivien>I will test the following hypothesis: the new guile reader reorders combining characters.
<lilyp>big if true
<vivien>Not true, fortunately.
<vivien>The individual bytes in the source code are: (utf8->string (u8-list->bytevector (map char->integer '(#\x23 #\x5c #\xe2 #\x97 #\x8c #\xcc #\x80))))
<vivien>And if I call (call-with-input-string <> read), I get an exception with guile 3.0.7 but not an exception with 3.0.2
***xgqtd_ is now known as xgqt
<lilyp>yeah, this is probably a bug in Guile 3.0.7 I must say
<vivien>Oh, but it’s also a bug in the old reader
<lilyp>wdym?
<vivien>because the dotted circle + accent is parsed as accent: (call-with-input-string (utf8->string (u8-list->bytevector (map char->integer '(#\x23 #\x5c #\xe2 #\x97 #\x8c #\xcc #\x80)))) read) returns #\1400 with 3.0.2, which is the accent, and not the dotted circle that comes before it
<vivien>(call-with-input-string (list->string '(#\x23 #\x5c #\x25cc #\x0300)) read)
<vivien>It returns #\1400, so #\x0300
<vivien>and not #\x25cc, which is the dotted circle
<vivien>(#\x23 is hash, #\x5c is backslash)
<lilyp>$1 = "#\\◌̀" (without the read)
<vivien>Yes, that thing is read as the accent with guile 3.0.2, and as the dotted circle combined with accent with guile 3.0.7
<lilyp>(call-with-input-string $1 read)
<lilyp>$2 = #\◌̀
<vivien>I’m running guile in a guix shell --container
<lilyp>scheme@(guile-user)> #\1400
<lilyp>$1 = #\◌̀
<lilyp>scheme@(guile-user)> (call-with-input-string (string #\1400) read)
<vivien>(well, the reader fails with guile 3.0.7 anyway)
<lilyp>$2 = ̀
<lilyp>This is a bug
<nckx>roptat: Any interest in <http://issues.guix.gnu.org/39530>?
<lilyp>though it's the same across both versions interestingly
<roptat>nckx, oh right, I have other stuff to do, but I'll come back to it at some point
<vivien>your $2 test gives the same bug on 3.0.2 and 3.0.7, yes
<nckx>Np, same, just ran into an interrupted download & wondered :)
<lilyp>in any case, I'm not sure we'd want this patch, because strings.scm tests requires combined characters
<lilyp>so perhaps using #\1400 might work instead
<lilyp>as it produces the same character (I hope?)
<vivien>I substitute the dotted circle + accent with #\1400
<vivien>(for guile-gi)
<vivien>It produces the character that needs to be tested
<vivien>well, in fact (call-with-input-string (string #\1400) read) produces the symbol #\1400, so I’m not sure it’s a bug in guile
<lilyp>are you sure about that?
<vivien>almost, (symbol? (call-with-input-string (string #\1400) read))) gives #t (and a new reader bug)
<vivien>"unexpected ")""
<vivien>By the symbol #\1400, I mean (string->symbol (string #\1400))
<vivien>(eq? (call-with-input-string (string #\1400) read)) (string->symbol (string #\1400)) is #t plus a reader bug
<vivien>Silly me
<jlicht>M6piz7wk[m]: or fix your damn ACL; grilumops is not a public (or existing) projecta
<M6piz7wk[m]>oh SH2%!^
<M6piz7wk[m]>i forgot to make it public
<M6piz7wk[m]>YOU SAW NOTHIGN
<jlicht>;)
<vivien>(eq? (call-with-input-string (string #\1400) read) (string->symbol (string #\1400))) works (parens mismatch)
<lilyp>yeah, they both give the same symbol
<M6piz7wk[m]>here https://git.dotya.ml/RiXotStudio/grilumops/src/branch/ALPHA/proposal.md
<M6piz7wk[m]>in case anyone asks it was always public and i am not incompetent
<M6piz7wk[m]>x.x
<lilyp>of course you are, mangled username
<M6piz7wk[m]>eh?
<M6piz7wk[m]>it's not mangled just encrypted u.u
<M6piz7wk[m]>aaaa i am incompetent i coudn't even fix the webkitgtk sufficiently why did you tell me i was living a happy life in a fantasy u.u
<lilyp>another note regarding competence: I don't think your scheme would provide much advantage over the declarative operating-system
<M6piz7wk[m]>elaborate? O.o
<lilyp>like in the worst case you'd simply define a service extending accounts-service-type and add your kreyren user through that
<M6piz7wk[m]>but that's hardcoded hotfix assuming that `(operating-system)` already has a defitnition to declare the user accounts
<lilyp>operating system already has a way of adding user accounts though
<lilyp>in fact, it has multiple
<M6piz7wk[m]>it can't be done easily across multiple files though
<M6piz7wk[m]>since as soon as the (opratating-systems) is declared it just triggers to build
<M6piz7wk[m]>*operating-system
<lilyp>uhm, no it doesn't?
<lilyp>you can (define my-base-os (operating-system ...))
<M6piz7wk[m]>eh?
<lilyp>and then either (operating-system (inherit my-base-os)) at the end of your file
<M6piz7wk[m]>the inherit is unexpected though as that breaks modularity
<lilyp>or (define my-specialized-os (inherit my-base-os) ...)
<M6piz7wk[m]>since it requires a hardcoded definition
<lilyp>(define my-specialized-os2 (inherit my-specialized-os) ...)
<lilyp>forgot the (operating-system ) around the inherit in those defines, but you get the point
<lilyp>what about it breaks modularity and requires "hardcoded definition"?
<lilyp>you can (define (my-os-transformer base) (operating-system (inherit base) ...))
<lilyp>probably missing a bracket there at the end
<lilyp>it's called functional programming, use it
<M6piz7wk[m]>e.g. the `user/kreyren.scm` is expected to be loaded to set up the user kreyren and after that load `(operating-systems)` without depending on the user/kreyren.scm definition
<M6piz7wk[m]>so that i can just `;(load "/users/kreyren")` for the build to just not define user `kreyren`
<M6piz7wk[m]>... and it being separate for easier integration in CI/CD
<lilyp>if you'd rather compose you config using load and the like, you might be interested in m4
*M6piz7wk[m] got tor dc, reading the messages
<M6piz7wk[m]>lilyp: the `(inherit name-of-whatver)` is hardcoded as it requires the `name-of-whatever` which breaks the highlighted expected modularity
<lilyp>uhm, no?
<M6piz7wk[m]>m4?
<M6piz7wk[m]>eh?
<lilyp>name-of-whatever is simply a-variable
*M6piz7wk[m] is even more confused
<lilyp>there are numbers of ways of binding variables, including global definitions, sure
<lilyp>but you can also bind them as function arguments
<M6piz7wk[m]>So basically defining a wrapper that wraps the `(operating-systems)` and defines a values to it?
<lilyp>I'd term it a transformation function of type (<operating-system>) -> <operating-system>
<lilyp>though you probably want to be smarter than that and not define everything in terms of one big hammer
<lilyp>also, scheme has a comment for an entire code block
<M6piz7wk[m]>lilyp: That seems like a very complex solution as it seems to require a standardized types that provide a translation layer for the values in `(operating-systems)` ?
<lilyp>You might be thinking in buzzwords rather than code or patterns.
<lilyp>Again, what is it you're trying to achieve? I'd assume you want to deploy distinct configurations that nevertheless share some similarities
<M6piz7wk[m]>lilyp: The projected end-goal is being able to maintain +200 systems at once from a public repository that enables public review and contribution in a transparent Continuous Delivery to do push-based deployment.
<M6piz7wk[m]>My current solution is to define logic per hostname, domain and location of the files that are sourced to apply either globally, domain-wide or only to the system.
<M6piz7wk[m]>So basically porting this https://git.dotya.ml/OpenVolt/nyxtumops to guile.
<M6piz7wk[m]><lilyp> "You might be thinking in..." <- Looks like you are describing an implementation that i want to avoid.. Could you provide an example of defining user called `kreyren` on all the systems?
<M6piz7wk[m]>Like i want to avoid this kind of configuration https://framagit.org/tyreunom/system-configuration which requires one file with `(operating-system)` defined per system which requires a duplicate code and is not scalable
<roptat>to be honest, it's not the cleanest :)
<lilyp>well, you could define (my-operating-system-generator hostname domain location)
<lilyp>and this generator could unconditionally add kreyren or
<drakonis>M6piz7wk[m]: thinking of it in terms of nix lang would yield some fairly gnarly code
<lilyp>you could alternatively define %my-global-base-users s.t. kreyren exists and use that as base in my-operating-system-generator
<M6piz7wk[m]>generator seems like it's too complex of an implementation for lisp though? I am more like looking for a lisp that i can add/remove components so that i could do (list (append (user-name "kreyren")
<M6piz7wk[m]> (shell "/bin/bash")
<M6piz7wk[m]> ...))
<M6piz7wk[m]>drakonis: it's abstract is designed to be flexible across implementations without being implementation-dependent
<lilyp>too complex for lisp?
<M6piz7wk[m]>yes? Like the presented would be much easier as it's just building a list of data
<drakonis>you seem to be making it pointlessly difficult?
<drakonis>also, how is that too complex for lisp?
<M6piz7wk[m]>like list would in my mind deprecate the need of any generator and expanded on the functionality?
<lilyp>well, sure, but (append (users-for-hostname hostname) (users-for-domain domain) (users-for-location location) (list kreyren) %base-accounts) is not that complex
<M6piz7wk[m]>well the complexity for this kind of deployment grows exponentially from my experience with it on NixOS so that is too complex..
<M6piz7wk[m]>as i can imagine it getting unmaintainable after 20 systems
<lilyp>that depends on how eager you are to introduce diamond problems
<drakonis>i'm not sure if i follow the complexity you're talking about
<M6piz7wk[m]>also there are usecases for e.g. user kreyren needing different shell and/or home directory per domain and/or system so that already gets really complex on the proposed
<lilyp>(define (kreyren-user-generator domain system) ...)
<lilyp>I think at that point you might want to start using keyword arguments and simply pass the entire argument list, but Guix shows that this can be very maintainable
<lilyp>(see build-systems)
<drakonis>what you're describing doesn't seem very complex to build
<drakonis>instead of trying to go for the 1:1 port, try starting small
<M6piz7wk[m]>lilyp: that is still a translation layer that significantly increases the maintenance though and i would have to rework it each time guix updates the definition compared to just list of data..
<M6piz7wk[m]>drakonis: that's what am i doing.. i don't expect 1:1 port i am following the designed abtract and projected end-goal
<lilyp>If the operating-system ABI changes, chances are you're fucked either way
<lilyp>so that point is moot imo
<M6piz7wk[m]>and starting small thus the stripped definition using only `user/kreyren` atm
<drakonis>it really does not come off as such
<M6piz7wk[m]>lilyp: yes, but if it changes i can just change the identifiers in the list and their positions comparing to days of work adapting a translation layer
<lilyp>you call it days of work, I call it sed
<M6piz7wk[m]>especially if the translation expands more functionality on top of `operating-system` that might limit it
<M6piz7wk[m]>lilyp: it's not way just sed if the definition changes too much
<lilyp>I dare you to write something that does more than operating-system
<M6piz7wk[m]>lilyp: i wrote a WIP proposal about it now. :p
<M6piz7wk[m]>i rather dare you to show me a better way of managing this scenario
<lilyp>okay, I revise my dare:
<lilyp>I dare you to write something that does more useful than operating-system
<M6piz7wk[m]>which is: define a user called `kreyren` across two systems that are not containing duplicate code and are expandable
<vivien>I dare you both to fix webkitgtk ^.^
<lilyp>So I guess (load "users/kreyren.scm") disqualifies your own solution
<lilyp>great, now we finally have some common ground to work with
<M6piz7wk[m]>lilyp: to clarify i think operating-systems does a lot.. just the definition is too limiting from the way i look at it now
<apteryx>vivien: why did webkitgtk suddenly broke in the first place? Perhaps an upgrade to fix CVE?
<lilyp>then maybe change your viewport
<vivien>apteryx, yes that’s it
<lilyp>apteryx: yep,
<lilyp>I submitted a patch that fixes the configure phase, but build fails halfway
<apteryx>OK. Can we add libsoup3 that we have on cufbc as an extra libsoup on master, and have it used by just webkitgtk there?
<vivien>apteryx, you also need to take glib, if I understand correctly
<lilyp>not necessary, but also not doable
<apteryx>ah yes, libsoup3 pulled a newer glib
<M6piz7wk[m]>lilyp: in an imaginary world where i can just do this https://git.dotya.ml/RiXotStudio/grilumops/src/branch/ALPHA/src/users/kreyren.scm to define the values in the `operating-system` and then trigger the build on demand later in the code..
<M6piz7wk[m]>That's implementation independent and very expandable as it's just `(load "users/kreyren.scm") that can be easily defined in CI/CD on file change
<M6piz7wk[m]>lilyp: i like the idea of a common ground to work with though
<M6piz7wk[m]>i just don't see how to get there without wrapper or variable system
<lilyp>I really don't understand why you feel the need to box a single user in an operating system
<apteryx>perhaps the upgrade should be reverted? how bad is the CVE? if it's not easily exploited we could do like Red Hat (we accessed the risks and chose to not fix it).
<apteryx>:-p
<lilyp>you'd have to ask lfam, but it's an ACE
<M6piz7wk[m]>lilyp: i feel the need to define a one user on 200 systems in a maintainable way
<M6piz7wk[m]>while note that the user name and definition might change per system or at it's declaration
<lilyp>Which still doesn't explain the way you go around it
<M6piz7wk[m]>How else to go around it?
<lilyp>(define* (kreyren #:key hostname ... #:allow-other-keys) (user-account ...))
<lilyp>or more generic (define* (users #:key hostname ... #:allow-other-keys) (list ...))
<lilyp>inside that function you can decide to load stuff from other files or whatever
<lilyp>again, functional programming
<M6piz7wk[m]>but then i have to inherit it in `operating-system` afaik
*nckx ran vim by accident on berlin today to celebrate \o/
<vivien>nckx, did you manage to exit it?
<lilyp>No?
<nckx>vivien: Only after a nonzero number of seconds regressing into my past.
<M6piz7wk[m]>like i can do `(inherit users)` and have the (define* users ...) to load the file names in the `users` directories that end with *.scm
<M6piz7wk[m]>lilyp: eh?
<lilyp>you can write your operating system as (operating-systems ... (users (users #:hostname hostname ...)) ...)
<lilyp>the inheritance thing was mentioned on the assumption that you have a sane config with only a few knobs to adjust
<vivien>I would not call the function "users", because it would clash with the users field of the operating-system record
<M6piz7wk[m]>is the `(operating-systems`a typo or are you proposing to make a definition of `operating-systems` that translates into an `operating-system?
<lilyp>under that assumption, you'd only have to inherit your system like one to three times to get to the final definition
<M6piz7wk[m]>s/?/`?/
<lilyp>s/systems/system/
<M6piz7wk[m]>one to three times per system defitinion?
<nckx>vivien: Guix does that all the time, keyboard-layout keyboard-layout.
<lilyp>well, it's saner than 20 huge ass function calls per definition, no?
<nckx>lilyp: https://xkcd.com/37/
*nckx crawls back into their code-hole…
<lilyp>I omitted the hyphen for this exact reason
<M6piz7wk[m]>i don't understand your solution, elaborate?
<drakonis>nckx: xkcd is perpetually relevant
<drakonis>its amazing
<jlicht>so.. what would be the correct term for a group of g
<bavier[m]>nckx: nice speed on the xkcd reference :)
<jlicht>*uix machines
<nckx>lilyp: That doesn't work, its absence attracts more attention.
<lilyp>That was the intention
<nckx>bavier[m]: And what an ancient one I turned out to remember! Wow. Paper.
*M6piz7wk[m] is even more confused
<drakonis>M6piz7wk[m]: again, you're still thinking about the problem from the wrong angle
<drakonis>you're trying to smash your original design into a different language
<M6piz7wk[m]>help me see other angles then!
<M6piz7wk[m]>i am trying to adapt the original design into a different lang
<M6piz7wk[m]>while preserving the functionality
<lilyp>You're just sugarcoating what drakonis said
<lilyp>Your original design is broken in the context of Guix, it cannot be made sane from an FP perspective.
<M6piz7wk[m]>x.x
<lilyp>You can only adapt alternative solutions that serve the same end goal
<lilyp>(defining 200+ systems)
<M6piz7wk[m]>ok wait
<drakonis>look, what i mean here is that you're not trying to take advance of scheme for your problem
<lilyp>s/advance/advantage/
<drakonis>yes, i don't know how this happened
*M6piz7wk[m] sent a scm code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/3c6721cd4ae36cbe441abd085b350a31b3f131a9
<M6piz7wk[m]>I have two systems with this same file each different name
<M6piz7wk[m]>how do i define user `kreyren` on both of them?
<drakonis>you know you can declare blocks separately, right?
<M6piz7wk[m]>no?
<drakonis>they're lazily executed
<drakonis>see, that's the problem here
<M6piz7wk[m]>eh?
<drakonis>you could define the user record separately and simply include it in the user list
<M6piz7wk[m]>fwiw i don't know how to make the issue more simplified
<lilyp>i.e. (define my-users (list (user-account ...))
<M6piz7wk[m]>drakonis: i can't the `(operating-system)` is immutable
<drakonis>you're approaching it from the mindset of a nix user
<lilyp>and then (users (append my-users %base-users))
<drakonis>this is what's causing you so many issues
<M6piz7wk[m]>damned nix! should have never be on that thing!
<drakonis>its fairly trivial to do what you want
<M6piz7wk[m]>so i am defining a my-users which is muttable and i am assigning it a list that then expands in `(operating-systems)` ?
<M6piz7wk[m]>so i can just change the list to overwrite the values whenever needed and it will then expand in `(operating-system)` ?
<M6piz7wk[m]>that seems as optimal if so
<lilyp>that can work, but is still dirty af
<lilyp>You won't win in the 100% immutable category
<M6piz7wk[m]>bcs the `name` in `(operating-system (users (user-account (name "kreyren")))` is not on higher level then the rest of the configuration right
<M6piz7wk[m]>so i have to maintain the order of derivations?
<M6piz7wk[m]>.. which seems like a huge pain
<drakonis>do you?
<drakonis>so, what i can tell you is that you could generate a list of users from a directory containing scheme files and then use it as input
<M6piz7wk[m]>yes? as for that to not be dirty it would have to be e.g. `(operating-system (users (user-account (name "kreyren" (shell "/bin/sh"))))` instead of `(operating-system (users (user-account (name "kreyren")(shell "/bin/sh")))`
<drakonis>its not complicated.
<M6piz7wk[m]>drakonis: that would be perfect if it can be expandable without hardwritten code in other files
<drakonis>at this point, i'd suggest you to play around with scheme for a little bit
<drakonis>you're very much having a hard time picking up on how to use scheme
<M6piz7wk[m]>oje x.x
<drakonis>also you're pretty much loading the piece of code in the file into the main one
<drakonis>its not a complicated thing, is it?
<M6piz7wk[m]>it woudn't be if `(operating-system)` wasn't immutable.. since the proposed does't seem to fit the usecase
<M6piz7wk[m]>but i assume that you were referring to `(define-public` for those?
<drakonis>use (define) for it
<drakonis>you don't have to operate on operating-system, you can do it separate and then use the defined code to build it together
<drakonis> https://guix.gnu.org/manual/en/html_node/Invoking-guix-deploy.html
<drakonis>have you seen this?
<M6piz7wk[m]>i can't define `(operating-system)` more then once bcs it executes it though..
<M6piz7wk[m]>.. eh what
<drakonis>that's because you're executing the function?
<drakonis>you're not defining it?
<drakonis>again, you should really play around with scheme for a bit
<podiki[m]>yes, come to the lisp light
*M6piz7wk[m] goes to play then as he's overwhelmed
<podiki[m]>there is no better drug
<podiki[m]>err
<podiki[m]>language
<drakonis>i figure there should be enough scheme docs to teach you how to better use it
<drakonis>i should go implement a crypto library in guile
<drakonis>it'll be fun.
<lilyp>you mean the low-level stuff or high-level bindings?
<drakonis>low level stuff
<drakonis>no bindings here
<lilyp>hmmmm, side channels
<drakonis>its a experiment though
<drakonis>its not for prod
<dissent>In Arch, I would put a custom keyboard layout in `/usr/share/X11/xkb/symbols` where would the equivalent go in Guix? Just confifg.scm?
<florhizome[m]>so if it's possible for GCC that higher Versions then default are defined, couldn't this be done for other core packages, too, esp in a major updating process 🤔
<drakonis>you can define that, yes.
<drakonis>you can do it globally on the build system or per package in the definitions for the build system
<dissent>Or would it be better to just put the same files in `.guix-profile/.../.../X11/`?
<jlicht>"its not for prod" - said by everybody, always
<drakonis>i think you can define the keyboard layout in the config files?
<drakonis>yes.
<drakonis>everyone says that, then it goes into prod
<florhizome[m]>dissent: You have a system and at least one user profile where such things go .. they are reflected in your env vars
<florhizome[m]>I don't think you should put stuff manually in your system Profile though.
<vivien>I don’t think you even can.
<drakonis>imagine the person rewriting linux in rust seeing their project replace linux lmao
<drakonis>maybe guix home allows it?
<drakonis>i haven't checked that in some time now
<drakonis>looks like you can indeed pass a layout file
<florhizome[m]>It would go in your system declaration
<dissent>florhizome[m]: okay i'll just have to look at the documentation more.
<florhizome[m]>Maybe xorg looks into other places in userspace, too, you could put sth there manually maybe or with guix home.
<drakonis>the library is pretty much just for learning more scheme.
<drakonis>since i want to do some ciphers
<florhizome[m]>why does this not work? if i just cd into the directory and do it from the repl it does. but during build it gives "cannot find file" (for the delete function) or "#f" back (destroying the lambda) (for the copy function)... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/dde897be74f3553d7f22f654a61115f4d4f2f55f)
<lilyp>florhizome[m]: this looks like the good old trying to unpack itself argument
<lilyp>you might want to copy to a temporary directory first, then remove the source, then move to the destination
<lilyp>and with that I'm taking a nap for today
<munksgaard>I'm having trouble building oclgrind. Here's my scm file http://paste.debian.net/1217970/ and I'm getting the error `ld: /gnu/store/pyxv49lqkpkqh38mlwqhs8dd05sy528l-llvm-12.0.1/lib/libLLVMSupport.so.12: error adding symbols: DSO missing from command line`
<munksgaard>Does anyone have any idea what I'm missing?
<munksgaard>It seems like it cannot find llvm when linking, but I've tried to pass it the flags for where to find it
<drakonis>munksgaard: refer to other packages that use llvm and cmake
***mark__ is now known as mjw
<munksgaard>drakonis: They don't seem to be doing anything special, as far as I can tell
<florhizome[m]><lilyp> "you might want to copy to a..." <- * ist confused
<raghavgururajan>Getting "404 Not Found" while accessing manual.
<raghavgururajan>on guix site
<nckx>raghavgururajan: Can you share your exact link? I tried a few but there are many options.
<nckx>E.g. https://guix.gnu.org/en/manual/devel/en/html_node/ works.
<nckx>Actually I can't get any to fail.
<bdju>do you have to guix pull before doing guix weather to get up-to-date info?
<drakonis>hmm, yes?
<mekeor[m]>i'd guess that in both cases -- before guix-pull and after guix-pull -- it respectively retrieves information about the respective packages
<mekeor[m]>but it's just a guess
<bdju>just wasn't sure if the weather command itself was fetching the latest info, but I guess it makes sense
<bdju>I gave it a manifest file as argument, but that part probably doesn't matter
<nckx>mekeor[m]: Yes.