IRC channel logs

2022-08-10.log

back to list of logs

<acrow>I know the committers are very busy but I want to point at https://issues.guix.gnu.org/32947#29 as an opportunity. It has been in gestation now for a long time and I think it has now been carefully reviewed. I don't want to see a second generation of attempts to acquire xalan to bitrot.
***cap2 is now known as cap
<ordoflammae>Or is there a way to add an xinit session to SLiM or GDM?
<ordoflammae>I can't figure out a way to do that either.
<acrow>ordoflammae: if you've got your .xinitrc ready to go then you might want to install xinitrc-xsession. It allows sddm (what I'm using, but I think it is more general than that) to offer whatever you have cooked up in .xinitrc as an option on login.
<ordoflammae>OK, yeah, that's exactly what I'm looking for. I already use xinit-xsession in Arch, but I couldn't find an equivalent in Guix
<ordoflammae>Was mostly looking in the src code, forgot about packages.
<acrow>Yes, so many choices!
<ordoflammae>Appreciate the pointer. I'm kinda' feeling a bit lost in Guix, and I've been using Arch for a while, so not exactly a newbie.
<ordoflammae>It's mostly trying to figure out what's appropriate for what I need that's difficult.
<acrow>ordoflammae: Hang in there.
<ordoflammae>Yeah, just gotta get over the learning curve.
<acrow>Which one? :)
<acrow>I keep discovering new ones.
<ordoflammae>XD
<ordoflammae>I mean, Arch was like that when I first started out too.
<ordoflammae>But once I got used to the way the system "thought", it was much easier to figure out the information I needed.
<sektor[m]>I've been enjoying learning about Guix for the past few months.
<ordoflammae>It's been fun.
<ordoflammae>I was using Nix for a bit, but the config language irritated me beyond measure.
<ordoflammae>I was constantly thinking to myself, "If only this was done in Lisp".
<ordoflammae>Well, lo and behold...
<sektor[m]>I did try Nix for a day; the language was not to my liking.
<ordoflammae>It's really not intuitive.
<ordoflammae>I get that some people know it really well.
<ordoflammae>But I already knew Lisp, so the transition to Guile was much easier than to Nix's language.
<sektor[m]>JSON meets semicolons with Haskell style.
<ordoflammae>Yeah, pretty much.
<sektor[m]>I don't mind Haskell, to be clear; especially when used with Unicode. Makes things much better for screenreaders IMHO.
<ordoflammae>I haven't had a bunch of experience with Haskell, but I've heard it leaned so much on the functional programming style that it became very difficult to learn practically
<singpolyma>Nah, like most things it's only hard to learn if you have a bad teacher
<ordoflammae>I meant use
<ordoflammae>XD
<ordoflammae>acrow: I can't get the xinitrc file to be created as an executable, at least, I think that's the problem
<singpolyma>Most people who have trouble with Haskell get bogged down in stuff that isn't related to Haskell at all, but is popular in the community (like learning about free monads or whatever)
<ordoflammae>Haha, yeah, culture counts for a lot.
<acrow>ordoflammae: Just "cd; chmod 755 .xinitrc".
<ordoflammae>It's being managed by guix home
<sektor[m]>Maybe I will revisit it. Been doing a lot of Rust of late.
<acrow>ordoflammae: I don't have mine managed by guix-home bc I use it for experimentation. So, I imagine you have a '(plain-text ...)' in your home-config. IIRC, guix allows you to just supplement that with either a mode attribute or an explicit chmod set to something like. #o755.
<ordoflammae>OK, thanks.
<kitty4>Yo, how's everyone going?
<sektor[m]>Pretty well, yourself?
<podiki[m]>ordoflammae: I was using xinitrc-xsession from arch and missed it, so made sure it made its way here :)
<kitty4>sektor[m]: so-so
<oriansj>chmod 0750 is much safer than 0755
<clarity_>man, I'm excited about messing with guix
<apteryx>rekado: yes, but I don't see on which package/config it pulls it
<clarity_>I'll have time to start messing with it next week I think
<Cairn>clarity_: It's fun!
<clarity_>yeah. I love scheme
<clarity_>I've been working on my k3s cluster
<clarity_>I should wrap hat stuff up this week
<kitty4>scheme is nice, I just wish I had a lisp machine with a simple guix-like package manager on a plan-9 like OS and I would be happy lmao
<clarity_>why do you need a lisp machine?
<clarity_>retro computing?
<ordoflammae>Lisp is just generally great!
<ordoflammae>A modern-day lisp machine would be really cool.
<kitty4>I meant like, I wish there was a modern performance open hardware lisp machine
<kitty4>but retrocomputing is cool too!
<ordoflammae>But I don't think the idea has enough push behind it to actually be economically feasible
<ordoflammae>I would definitely use one if one was available
<ordoflammae>But too few people have not been introduced to the joys of Lisp
<clarity_>I mean isn't modern hardware is fast enough?
<iyzsong>well, modern software is slow..
<clarity_>you think?
<clarity_>there's a lot of bad programmers out there
<ordoflammae>Lisp machines are also specifically built to handle lists efficiently.
<ordoflammae>Most machines today do not do that.
<ordoflammae>It's a hardware thing.
<ordoflammae>Now, given, most computers today are fast enough it doesn't matter much.
<ordoflammae>But it can still matter.
<clarity_>you can do rolled lists or other data structures
<clarity_>skip lists are pretty cool
<ordoflammae>I don't know what those are.
<ordoflammae>XD
<ordoflammae>I know linked lists and vector lists.
<ordoflammae>Plists, Alists, etc.
<clarity_> https://en.wikipedia.org/wiki/Skip_list
<ordoflammae>Huh, very interesting.
<ordoflammae>Unfortunately, wouldn't really work with Lisp's way of doing things.
<clarity_>yeah, it'd be an association list
<ordoflammae>What's a rolled list?
<ordoflammae>I looked that one up, and didn't get anything.
<clarity_>it's a list of vectors
<ordoflammae>Ah, I see
<clarity_>so you'd have like 100 items in each node of the list
<ordoflammae>TBH, modern-day computers really don't need speedups like that.
<ordoflammae>Unless you're doing something really low-level in Lisp
<clarity_>yeah, it's not needed
<ordoflammae>Something that needs that kind of efficiency
<ordoflammae>What would be really neat would be a system that could be configured and controlled completely in Lisp
<ordoflammae>Guix is a good start on something like that.
<ordoflammae>Emacs pairs really well with it.
<clarity_>that's like the old school lisp systems at mit
<ordoflammae>It could be an interesting project to try and bundle together Guix, Emacs, StumpWM, and Nyxt, as well as keep them relatively well updated.
<kitty4>emacs is cool and I use it daily, but it really needs to be remade from scratch lmao
<ordoflammae>Also with decent defaults.
<kitty4>with assumptions challenged
<ordoflammae>kitty4: yeah, true.
<ordoflammae>I'm using
<ordoflammae>Emacs for this right now
<ordoflammae>I'm wondering if it would be better to make a shrunk-down version of Emacs itself, but within a larger framework that could handle much more
<kitty4>emacs is a great exploration of a lisp interpreter, and its a solid text editor, but I usually find simple unix terminal tools to be a lot nicer for things like chatrooms and the such personally, glad your enjoying that tho :)
<ordoflammae>Haha, yeah.
<ordoflammae>It's really good as long as you don't try to stretch it too much.
<ordoflammae>But it should really be split into two different programs.
<ordoflammae>I'm planning on trying at some point.
<ordoflammae>Just as a toy project sort of thing.
<ordoflammae>Making an editor inside a larger window-manager that behaves like Emacs in a lot of ways.
<ordoflammae>I will say though, if you want stability, Emacs is really good for the job.
<ordoflammae>Sometimes it's nice to use something that doesn't change very much.
<kitty4>I don't know much about anything, but with my limited knowledge my dream system would just be plan9-alike OS, emacs-but-cooler/more-unixy system, a guix-like manager for packages/configurations, and having it all made from scratch as well documented as possible on a modern lisp machine, imagine that lmao
<ordoflammae>What is Plan9? I've seen it mentioned a few times.
<ordoflammae>kitty4: yeah, exactly.
<ordoflammae>That's a perfect description of my dream machine setup.
<clarity_>I think the reason why they needed lisp machines was because function calls were so slow
<clarity_>they're fast now, and every language is getting lambda's all of the sudden
<kitty4>I haven't messed with plan9 myself yet, but from my understanding its made by a lot of the same people as UNIX was, and decided to take the "everything is a file" to the extreme, with everything being its own file/server/io/whatever
<ordoflammae>Huh, weird.
<ordoflammae>Were they looking for some particular benefits, or just seeing where it went?
<kitty4>I've seen certain friends do some really wack stuff with it, but I don't want to misrepresent plan9 so I would reccomend just looking it up yourself lmao
<clarity_>that's like hurd except distributed
<ordoflammae>clarity_: That's sorta' true, except that the big thing with Lisp machines is that the architecture is based off of list manipulation.
<ordoflammae>So it becomes much more efficient at a hardware leve.
<ordoflammae>*level
<ordoflammae>kitty4 clarity_: OK, I'll look into it sometime.
<ordoflammae>It sounds very interesting.
<clarity_>ordoflammae, that makes sense. I haven't heard that aspect of them yet
<ordoflammae>Yeah, I only realized that recently.
<clarity_>they covered them in the SICP course where I learned/fell in love with scheme
<clarity_>they simplified it to what I just said, function calls are slow, so they need a special processor
<ordoflammae>Now, I haven't had a lot of experience with scheme, is there a particular flavor most people use?
<clarity_>freaking java and c++ have lambda's now
<clarity_>it varies
<clarity_>guile is the gnu onoe
<ordoflammae>Yeah, gathered that.
<clarity_>chicken scheme is the one that translates to c code
<ordoflammae>Although it doesn't seem super widely used.
<ordoflammae>Just Guix, from what I can tell
<clarity_>then, chez, I believe it's from cisco, is the fastest
<ordoflammae>And a few other things.
<ordoflammae>OK, thanks, I'll look into those flavors.
<clarity_>then, racket is popular and has a large community, but it's deviating from the standard
<ordoflammae>I've seen chicken mentioned a couple of times, but not much.
<ordoflammae>I saw racket, but the documentation is just really hard to work with.
<kitty4>racket seems neat, I need to mess with it some time
<ordoflammae>Not to mention that the dragging images around in the IDE really weirded me out.
<clarity_>there's also clojure which is scheme forthe java virtual machine. it integrates with java's libraries, so you can use their threaing abstraction
<ordoflammae>Maybe not for any good reason, but still.
<ordoflammae>Is clojure a scheme? I always categorized it more on the Lisp side.
<clarity_>I do a lot of javascript which is based on scheme, so it has some of the goodies
<ordoflammae>Yeah... javascript...
<kitty4>I really want to see a self reflective scheme with a fructure-like interface and a scratch-like discovery mechanism
<kitty4>felt like saying that on the topic of things I want to see lmao
<ordoflammae>I really loath javascript, although it could just be because it's so popular that people tend to write really poor code
<clarity_>yeah, clojure is similar to scheme. It doesn't have call/cc tho
<clarity_>it has some data structure abstractions for concurrency
<clarity_>naw, coder schools are popular, so half the devs copy and paste from stackoverflow
<ordoflammae>Yeah, I knew it was 1-namespaced (or whatever it's called), but I'd still thought of it more as a Lisp because of the =defn= syntax
<clarity_>you can write well optimized javascript code fairly easy if you know what you're doing
<kitty4>I never understand the stackoverflow memes I always see around, maybe its because I
<kitty4>I'm not really much into anything, but it never seems that useful lmao
<clarity_>it has an event loop/callback queue instead of REPL
<clarity_>single threaded, so the libraries have thread pools
<ordoflammae>It's really useful for certain things, but people, being people, have a tendency to copy-paste without understanding.
<kitty4>yeah I never get that, like, if I would ever copy and paste something its because I completely understand what I'm doing
<ordoflammae>So if I have an issue with something that I just started using, frequently I'll find the answer on stackoverflow.
<kitty4>I suppose its a difference in
<ordoflammae>kitty4: If only more people thought like that.
<clarity_>fast javascript code literally just has everything memoized and optimize everything around putting functions in parallel on the callback queue whenever possible
<ordoflammae>clarity_: I was thinking more of poor coding style that seems like it's encouraged by the standard library
<ordoflammae>But I haven't seen many examples of good coding style in Javascript
<kitty4>I both am not too deep into anything and care about learning, meanwhile it seems like a lot of people into software are in cults heavily involving modern capitalist "just get shit done even if it blows up in your face and get a quick buck/short gratification" mentality lmao
<clarity_>yeah, they have a linting system and another code formatting system
<clarity_>it's attracted so many noob devs that they have a lot of tools to encourage good coding style
<ordoflammae>It's the culture of laziness, no one cares about quality.
<ordoflammae>That's everywhere, not just programming
<clarity_>I had a job last year where they had me as a staff engineer, paid me a ton, and had me train coder school devs
<ordoflammae>Cool.
<clarity_>yeah, they're all like, "tell me how to do this in 2 minutes or I'm gonna be mad"
<ordoflammae>XD
<clarity_>they messed up a lot of basic stuff and didn't care
<clarity_>when I got there, it took an hour to transpile 28 packages to run the app. I was like, "oh gawd.."
<kitty4>yknow, maybe I should learn the very basics of "applied programming" some time rather than basically just knowing whatever you would call "pure programming" of just fucking around with lisp, haskell, some esolangs/novel things, etc. randomly and reading about things only relevant to that kind of thing lmao
<ordoflammae>The attention span of people nowadays is something like 30 seconds.
<clarity_>normally, it refreshes within 1-3 seconds on code changes
<ordoflammae>kitty4: true, except that you can't simply sustain quick-and-dirty approaches very long practically
<ordoflammae>There has to be some theory there.
<ordoflammae>But people tend to like to polarize to one side or the other.
<kitty4>yeah, I think I have the opposite bias tho, its important to know how to actually utilize the tools to some extant too I would imagine, to better be able to tinker around and play with things. The other bias seems much more common, but both aspects can probably mutually benefit eachother
<ordoflammae>The academics in their ivory towers and the workers down in their mud trenches.
<kitty4>at least thats what I would imagine
<ordoflammae>The academics having no practical knowledge, and the workers having no perspective.
<clarity_>yeah
<clarity_>I worked through college, so I kinda got both sides
<ordoflammae>Nothing wrong with being in the mud, so long as you know what you're doing there.
<ordoflammae>And nothing wrong with glancing over the world, so long as you are doing something with that perspecitve.
<kitty4>no reason one themselves has to totally fall into that pit, although I think I would like to be bias more towards the ivory tower side of things :P I do need to find something to do to learn a bit more of practical/applied...
<kitty4>I mean, the truth is I am leaning from the ground onto the side of the tower on a spot with no mud, I need to do more in general either way tbh
*kitty4 flops over
<ordoflammae>And honestly, computers aren't the be-all-end-all.
<ordoflammae>It's just a tool.
<ordoflammae>No reason to stress over every detail
<ordoflammae>Plodding can actually get you somewhere.
<kitty4>plodding?
<ordoflammae>One step at a time
<ordoflammae>Versus getting burned out because you tried to sprint across the mountain in a day
<kitty4>ah
<whereiseveryone> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=57098
<KiranShila[m]>What is the canonical way to run pytest as the check phase for a python package? I'm working with a package that has tests marked as skip for pytest but run (and fail) when tested as part of the default python-build-system tests
<apteryx>(invoke "pytest" "-vv" "tests") is pretty much it
<apteryx>overriding the phase, not forgetting the (when tests? ...) boilerplate.
<apteryx>guix lint will tell you if you do
<KiranShila[m]>Nice, thank you
<KiranShila[m]>It also seems that this package's test rely on a `python setup.py develop` install instead of the normal `install`, has anyone run into this? It seems like something wonky with extension modules
<apteryx>can't tell, like this.
<apteryx>some are using pep 517 new fashion python build systems
<apteryx>see python-isort for an example
<KiranShila[m]>Yeah this is all PYTHONPATH bologna, I'm going to have to build the path that points to the lib dir
<Cairn>apteryx: Thanks for the commit!
<apteryx>Cairn: thanks for properly reporting the thing :-)
<Cairn>Trying to report when I can! =)
<Cairn>Just waiting on my guix pull, then I'll check to make sure it works on my laptop. I'm sure it does
<Cairn>Now I just have to get around to submitting patches...
<apteryx>eh, one thing at a time!
*apteryx -> bed
<apteryx>o/
<unmatched-paren>Hello Guix :)
<rgherdt>hi
<FriendFX>I recently installed Guix (ssytem distribution) on my Thinkpad L14 with XFCE, but no sound card is recognised. What can I do?
<atka>FriendFX: check dmesg for warnings about firmware related to soundcard, and keep in mind guix uses the libre kernel by default
<atka>most likely needs a blob if it works fine on other distros
<FriendFX>atka: How would I identify an issue in dmesg?
<FriendFX>Ah, maybe this:
<FriendFX>[    4.399693] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 5
<FriendFX>[    4.399695] sof-audio-pci-intel-tgl 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
<FriendFX>[    4.399698] sof-audio-pci-intel-tgl 0000:00:1f.3: DMICs detected in NHLT tables: 2
<FriendFX>[    4.399714] sof-audio-pci-intel-tgl 0000:00:1f.3: Direct firmware load for intel/sof/sof-tgl.ri failed with error -2
<FriendFX>[    4.399715] sof-audio-pci-intel-tgl 0000:00:1f.3: error: sof firmware file is missing, you might need to
<FriendFX>[    4.399736] sof-audio-pci-intel-tgl 0000:00:1f.3:        download it from https://github.com/thesofproject/sof-bin/
<FriendFX>[    4.399753] sof-audio-pci-intel-tgl 0000:00:1f.3: error: failed to load DSP firmware -2
<FriendFX>[    4.400072] sof-audio-pci-intel-tgl 0000:00:1f.3: error: sof_probe_work failed err: -2
<unmatched-paren>FriendFX: please paste large chunks of text into paste.debian.net instead of irc, thanks :)
<atka>FriendFX: in the future pleas use a paste service for more than 3 lines
<atka>FriendFX: looks like you have an unsupported card
<FriendFX>Sorry for the noise
<atka>np, its a common mistake
<FriendFX>atka: What can I do about the unsupported card?
<atka>FriendFX: !
<FriendFX>atka: I interpret that as "nothing", correct?
<atka>FriendFX: check your messages
***meo is now known as catties`
***catties` is now known as meo
<antipode>Can the builds of evaluation 528710 be restarted (https://ci.guix.gnu.org/admin/evaluation/528710/restart)? It has some "cannot build missing derivation" again.
<nckx>I guess someone silently did?
<antipode>Looks like it.
<nckx>(Fine…)
<antipode>nckx: There are again some "cannot build missing derivation", though fewer: https://ci.guix.gnu.org/build/1179201/details
<antipode>logs.guix.gnu.org's certificate is expired, or my clock is running two at least days early
<nckx>Oy. Thanks for the report.
<nckx>Not After
<nckx>Wed, 19 Oct 2022 07:17:07 GMT
<nckx>antipode: ☝
<nckx>(Unless the same quiet lurker fixed that too, in which case, please announce that; but I'm assuming some overzealous caching for now.)
<antipode>Still seeing ‘Websites prove their identity via certificates, which are valid for a set time period. The certificate for logs.guix.gnu.org expired on 8/9/2022.’, though it disappeared after a shift-reload.
<antipode>Solved?
<nckx>Guess so.
<nckx>I mean, yes, but I can't say why.
<nckx>logs.guix is mildly unusual in that it's not hosted on berlin like the rest of guix.gnu., but on bayfront.
<nckx>So it's normal that the certificates are different and out of ‘sync’. But I don't know why you didn't get the ‘new’ certificate which should have been in place since (and was created on) 21 July.
<nckx>A most cursory look does not indicate that someone re{started,loaded} nginx just now 🤷 Blame your browser, it's easy and fun.
<pkill9>does anyone have an example of an elegant way to create wrappers for packages?
<jpoiret>pkill9: what kind of wrappers?
<unmatched-paren>pkill9: What exactly are you trying to do?
<unmatched-paren>Ah, jpoiret's too fast :)
<pkill9>e.g. you give it a package and it produces another package that wraps the binary of the given package
<unmatched-paren>I guess you could do something that:
<jpoiret>i think you can check icedove-wayland
<pkill9>I want to wrap executables and references to those executables with a specified HOME directory
<unmatched-paren>oh
<jpoiret>icecat-wayland *
<pkill9>i mean I can work it out myself, I thoguht maybe someone has already done it
<pkill9>i ahve actually already done it before but ye
<jpoiret>oh, maybe i'm wrong and that variant exists only in *that* other channel
<unmatched-paren>there *is* ungoogled-chromium-wayland
<pkill9>and I am pretty sure it was suggested to add a tool that wraps all the executables in a profiles
<pkill9>profile*
<pkill9>like you could programmatically wrapp all the executables in a generated profile
<pkill9>that's really what I want to do, I think that would be most elegant
<jpoiret>icedove/wayland is a good example
<jpoiret>hmmm, if you use manifests i don't think it'd be too hard
<jpoiret>same with guix home
<unmatched-paren>I guess you could also write a procedure that takes a package and creates a new one by adding a phase that finds all the executables in $out/bin and $out/sbin, then wraps them
<pkill9>i dont' want to modify the existing package as I don't want to rebuild it, I want to create a new package that calls the given package's executables
<unmatched-paren>Ahh
<unmatched-paren>Okay, that's easy.
<jpoiret>icedove/wayland does so
<pkill9>I'll just have to do it myself, I'm lazy :D
<unmatched-paren>jpoiret: Oh, cool.
<jpoiret>you can find it in gnuzilla.scm
<pkill9>I'm setting it up so it sets the home directory for each program as ~/.appdata/<package>-<version>
<unmatched-paren>Ah, yeah, so does ungoogled-chromium/wayland
<jpoiret>the issue is that often you have to copy a bunch of things, not just an executable
<pkill9>so it dumps all it's configuration and cache in there
<pkill9>in it's own prefix
<jpoiret>maybe "containers" would be a better isolation method
<unmatched-paren>Also, $XDG_DATA_HOME might be better than .appdata :)
<pkill9>im gonna symlink all the other stuff so they are caught in the environment variables
<jpoiret>i'm using quotes as i'd rather use the namespace primitives than the huge containers runtimes
<pkill9>nah containers are complex
<jpoiret>not that much!
<jpoiret>esp. if you only want to use the mount namespace
<jpoiret>well, it's a step above "export HOME=" for sure
<jpoiret>but it'd be more reliable
<unmatched-paren>`man unshare` is the correct reference here, I believe
<pkill9>maybe I will use containers sometime
<jpoiret>you could even write it in guile, guix has the primitives down
<pkill9>why would it be mroe reliable?
<jpoiret>well, programs would actually run in a usual environment, but without access to anything in your home
<jpoiret>like, what's stopping a program from using /home/$USER/ directly?
<pkill9>well it's not a sandboxing solution, just an organising thing
<pkill9>but it would evolve into sandboxign ya
<jpoiret>and you wouldn't have to care about each application's default paths
<jpoiret>like with the XDG_DIRS
<pkill9>yea
<jpoiret>but yeah, in the meantime using env vars will be faster :p
<pkill9>well for now I'll use $HOME
<pkill9>yea
<pkill9>really though the programs should just use $HOME and not assume /home/$USER is the home dir
<pkill9>the real solution is a pull request :p
<nckx><assume /home/$USER> I just peeked in and am noping back out.
<unmatched-paren>nckx: In case you thought that a program was actually doing that: it's theoretical :)
<nckx>Ooh.
<unmatched-paren>I mean, I hope it's theoretical.
<jpoiret>i'm about to bridge that gap with 10 lines of giule
*nckx yeps back in.
<jpoiret>guile *
<unmatched-paren>nckx: pkill9 wants to stop applications from littering their home dir, so they are trying to wrap them with a script that sets HOME
<nckx>IC.
<nckx>> %AppData%
<nckx>I… C…
<unmatched-paren>(I did suggest they use $XDG_DATA_HOME instead of ~/.appdata.)
<nckx>So you did, sorry for snarking before finishing the backlog.
<nckx>Do dangling refs in ~/.cache/guix/checkouts/xxx eventually get GC'd?
<jpoiret>i think so
<jpoiret>but they're only checked on `guix shell` invocations iirc
<nckx>‘guix shell’?
*nckx thunks.
<jpoiret>arf, oops, i was thinking about the guix shell cache
<jpoiret>I don't think there's any gc mechanism for those checkouts
<nckx>OK. That was my suspicion (but it's hard to grep a negative :). Thanks!
<jpoiret>how would you even keep a link between what's in the store and the checkouts?
<jpoiret>seems like something highly non trivial
<nckx>I'm not talking about expiring whole checkouts; but the kind of pruning that git does over time.
<nckx>It will eventually beg you to GC unreachable commits.
<nckx>If that's what you meant too, I don't understand the store reference (heh).
<jpoiret>oh, i thought you wanted to remove whole checkouts if they were not used anymore as a source for anything installed
<tissevert1>hello
***tissevert1 is now known as tissevert
<unmatched-paren>tissevert: Hi :)
<jpoiret>i was thinking, couldn't we hijack the .interp field of the ELF files we have to wrap the programs?
<jpoiret>that way we wouldn't have to move them anywhere
<tissevert>what is the difference between gnu/package/node.scm and gnu/packages/javascript.scm ? packages in javascript.scm like mathjax still seem to require nodejs to build : S
<nckx>jpoiret: That should be handled by last-expiry-cleanup, but I didn't check if it's fully implemented (since it's not what I'm after right now).
***attila_lendvai_ is now known as attila_lendvai
<Guest11>hpc.guix.info 's ssl cert expired yesterday.. not sure who is the right addressee, but i guess they are around here somewhere ;)
<jpoiret>i don't have that issue
<jpoiret>you should try refreshing without the cache
<jpoiret>scratch that
<Guest11>weirdly the message disappeared upon reload :)
<jpoiret>I had an exception for it, for some reason
<jpoiret>I removed it and now i'm getting the issue as well
<jpoiret>and it's on HSTS lists so i can't even add an exception back
<Guest11>ah, for some reason i have an exception now, too (even though i wasn't sure about ff's when-to-add-the-exception user interface)
<jpoiret>i use ff as well and it doesn't let me add an exception because of HSTS
<jpoiret>weird
<Guest11>and now when you reload, is there an exception or not? i couldn't click on any "add exception" button, but there it is :)
<jpoiret>well, the certificate seems to work now :)
<rekado>i still get the expiry warning
*rekado restarts nginx
<rekado>shepherd doesn’t restart nginx
<rekado>looks like a shepherd problem on ci.guix.gnu.org
<rekado>herd status also just hangs
<apteryx>I think civodul hinted at such problems recently
<apteryx>rekado: #56674
<nckx>rekado: I don't, did you do something?
<nckx>You can just pkill -HUP nginx rather than go through Shepherd. But what's worse: I can't SSH in (again…).
<nckx>After refreshing 4 times I finally get served (according to FF) an expired certificate. Refreshing once more I get the correct one again.
<nckx>What's going on? We don't use a CDN?
<Guest11>guix.gnu.org and issues.guix.gnu.org seem to be down now; i guess they're all on the same server?
<faust45>hi guix!
<nckx>Yes.
<unmatched-paren>Hmm, yeah, they're all down for me now
<unmatched-paren>faust45: Hello
<rekado>nckx: no idea what’s going on
<rekado>I tried “herd restart nginx” which just sat there
<rekado>then I noticed guix.gnu.org is down
<rekado>but nginx was still running
<rekado>so I killed nginx
<rekado>and started it again, manually
<nckx>Yes, it was, although it was randomly serving one of two certificates to people.
<rekado>yes, very weird
<rekado>I saw that too
<faust45>guix system reconfigure  /  doesnt work, ci.guix.gnu.org is unavailable
<rekado>faust45: bad timing; nginx has been restarted
<nckx>Thanks for reporting, faust45!
<nckx>We're discussing it (FWIW) right now.
<rekado>faust45: should be up now
<rekado>nckx: nginx runs now, manually
<unmatched-paren>Yes, it's back :)
<rekado>can’t talk to shepherd
*nckx softly closes the iDRAC connection without anyone noticing.
<rekado>I still have an SSH connection; took >30s to connect, tohugh
<nckx>Heh. I waited for 30s before reporting failure :)
<faust45>cool, work now!!
<nckx>hpc.guix.info is still flip-flopping between certs.
<nckx>04:DE:5E:… (good) and 03:BB:3A:… (bad).
<Guest11>nckx: yes, i get the same
<civodul>damnit, wazup
<nckx>I've debugged some nginx weirdness in my life but this is new.
<civodul>hpc.guix.info is on bayfront, does that one also have a problem?
<nckx>Ah.
<nckx>Yes, antipode reported it for logs.guix. Strictly speaking they were reporting an ‘expired cert’ which I couldn't reproduce, but it was certainly this is hindsight.
<rekado>that’s also bayfront
<nckx>I know.
<nckx>I didn't know hpc was.
<rekado>neither did I; only noticed it moments before civodul responded
<nckx>herd restart nginx on bayfront also… waits. I won't say freezes yet.
<rekado>(read nginx.conf)
<nckx>Service nginx could not be started.
<nckx>Service nginx has been started.
<nckx>I cannot trigger the flip-flopping now.
<nckx>Careful optimism fills my room.
<Guest11>nckx: same here :) yay
<faust45>any one using kmonad?
<civodul>nckx: yes, same here; i triggered it in the browser a few times and now it's ok
<civodul>didn't do anything in the meantim
<civodul>+e
<nckx>I can't find any occurences of ‘HUP’ in maintenance.git. Is nginx not reloaded after certificates are refreshed? That would lead to this behaviour, since different workers can serve different states.
<nckx>civodul: I merely restarted nginx.
<nckx>Which is overkill, but worked.
<civodul>on bayfront?
<nckx>Yes.
<civodul>ok
<civodul>well, mysteries of nginx?
<nckx>Not really, unless we provably reload it.
<civodul>nckx: re nginx reloading, there's a certbot hook in bayfront.scm i think, but we're not using it yet on berlin IIRC
<nckx>Why couldn't it be the other way 'round, we could pretend everything was logical :)
<civodul>heh
<civodul>and so berlin.guix is unreachable?
<nckx>No, I think it's fine now, but don't know exactly why. rekado probably does.
*nckx *really* has to go.
<nckx>I wasn't supposed to be here. Nobody saw me.
<civodul>o/
<apteryx>civodul: home ssh service fixed with d9a0ccf13f
<civodul>apteryx: thanks!
<apteryx>sorry for the breakage!
<jpoiret>i'm puzzled by https://issues.guix.gnu.org/msgid/874jylf1v8.fsf@riseup.net
<civodul>i wonder if there are others
<apteryx>civodul: I would happen when service writers mix *unspecified* with maybe values
<apteryx>which now expects 'unset
<apteryx>it would*
<faust45>do any one know is kmonad works with cirillic?
<jpoiret>if I set #:unwind? #t for the general call-with-error-handling, the error is properly caught by catch, so I thought that non-unwinding error handlers had priority over unwinding ones, but I can't seem to reproduce such a thing
<civodul>apteryx: yes, more generally anytime a service explicitly checks for unspecified/unset
<rekado>I wouldn’t call berlin usable at this point
<rekado>“herd status” is frozen, couldn’t “herd restart nginx”
*civodul looks
<rekado>SSH login takes 30+ secs
<apteryx>civodul: *unspecified* can be used outside of the define-configuration machinery
<rekado>no idea what’s going on
<civodul>'herd status' works for me
<apteryx>but I'd recommend using define-configuration and abstract away the maybe implementation
<civodul>rekado: some time ago nckx & i hit a similar issue, but i forgot to document it: it had to do with "nginx -s restart" being stuck because it was trying to write to the anonip pipe and nobody was reading on the other side
<civodul>we had to manually restart all the anonip services
<civodul>and then restart nginx
<apteryx>civodul: that's documented as #56674, no?
<civodul>ah yes: https://issues.guix.gnu.org/56674
<civodul>well that's part of the problem
<civodul>the other part of the problem is that anonip seems to be misbehaving
<civodul>or actually, maybe we need to have the nginx shepherd service depend on all the relevant anonip services?
<civodul>WDYT rekado?
<rekado>oh
*jonsger[m] wonder if thats the issue I've seen, when nginx didn't start after a reboot...
<rekado>no idea how to fix this
<rekado>jonsger[m]: if you’re not using anonip probably not
<jonsger[m]>oke, will investigate if it happens next time, if ever...
<civodul>rekado: we'd need to change nginx-shepherd-service so it can be passed a list of shepherd "requirements" (a list of symbols)
<civodul>(assuming i understood the problem correctly)
*apteryx has a weird issue with Wrong type to apply: #<syntax-transformer lightdm-configuration-greeters> unless I byte compile the module
<orneb>Hi, Libreoffice is missing the menu bar with Swaywm installed and no DE. Firefox and keepassxc shows the menu bar so I don't think this is due to some themes not installed/configured properly. How can I debug this?
<orneb>*Icecat
<jpoiret>apteryx: wdym "unless you byte compile the module"?
<jpoiret>what's the context exactly
<jpoiret>"wrong type to apply: #<syntax-transformer ...>" happens when you change a procedure to syntax, but don't recompile the modules that use it
<apteryx>jpoiret: I'm working out kinks on (gnu services lightdm) (not yet added): https://paste.centos.org/view/1c4c115b. I define a configuration using define-configuration. It does some introspection to fake polymorphism on the greeter configurations, via variable name manipulation. Apparently if the module is not byte compiled, the bindings made by define-configuration are not finalized or something,
<apteryx>appear as syntax-transformer instead of procedure. The error trying to run the module after a change without byte compilation: Wrong type to apply: #<syntax-transformer lightdm-configuration-greeters>
<apteryx>the error disappears if I byte compile the module
<apteryx>I should probably get rid of the introspective part, even if that costs some code duplication and rigid type checking.
<jpoiret>where do you do that introspection?
<jpoiret>define-configuration gives you mostly new syntax, so you'll have to be able to feed that at read time, not at run time
<apteryx>one place is at line 325. Basically anytime class-name/class-of is used
<nckx>orneb: I don't have any themes installed and wouldn't know how to configure them: https://tobias.gr/lo.tmp.png
<jpoiret>basically, you're trying to use syntax-transformers at run time, that's impossible
<jpoiret>(not technically impossible but it at least doesn't work the way you think it does)
<apteryx>at the REPL, the type is not syntax-transformer, but procedure, which I don't quite understand
<apteryx>perhaps the details are burried in (guix records)
<jpoiret>hmmmm, that may be because what you're using is syntaxically aliased to an actual procedure
<jpoiret>did you try accessing it with (module-ref ...) in the repl?
<apteryx>(module-ref (current-module) 'lightdm-configuration?) -> syntax-transformer
<jpoiret>right, that's the issue
<apteryx>but: (class-of lightdm-configuration?) -> procedure-class
<jpoiret>what does `lightdm-configuration?` tell you?
<jpoiret>that should tell you what it's aliased to
<jpoiret>what's weird is that the error disappears when byte-compiling
<apteryx>$5 = #<procedure %lightdm-configuration?-procedure (obj)>
<jpoiret>see the % at the front? that's the actual procedure it's aliased to
<jpoiret>it works in (class-of lightdm-configuration?) because Guile starts by reading the code, and when stumbling upon lightdm-configuration? it applies the corresponding syntax-transformer, which ends up with (class-of %lightdm-configuration?), which when eval'd gives you the result you got
<jpoiret>but when you (module-ref (....) 'lightdm-configuration?), the syntax-transformer is never applied because it is never read, rather, you get the raw syntax-transformer object that it refers to
<jpoiret>if i were you, i'd move greeter-session->greater-configuration-pred to syntax
<jpoiret>but i'm not sure how you'd be able to do greeter-configuration->greeter-session
<nckx>orneb: You'd never guess, but this is caused by a missing ‘dbus’ package. Try adding dbus to the same profile and see if the menu bar appears.
<jpoiret>my bluetooth gets turned on every single system resume, anyone know how to disable that?
<apteryx>jpoiret: thanks for the idea. I'll try greeter-session->greater-configuration-pred as syntax.
<orneb>nckx: I'm not familiar with dbus configs, I need to read some docu about it. Thanks anyway.
<nckx>Not config, install.
<nckx>guix shell --pure libreoffice -- soffice → no menu bars
<nckx>guix shell --pure libreoffice dbus -- soffice → menu bars!
<nckx>I'm guessing you're situation A & I'm situation B.
<podiki[m]>dbus the great mystery of the desktop experience
<orneb>Is that a command to run?
<podiki[m]>dbus = don't bother understanding ....? :-P
<nckx>I don't recommend running a ‘desktop’ without D-Bus, even if that desktop is Sway, unless you're willing to debug ‘mysterious’ stuff like this.
<nckx>orneb: I'm assuming you installed Guix yourself and know enough to manage packages.
<nckx>orneb: How did you install libreoffice?
<podiki[m]>with just a plain WM you may want to launch your WM with dbus-run-session (or dbus-launch?) that helped me with weird dbus issues
<nckx>Good point.
<unmatched-paren>i just have this in my sway.conf: exec dbus-daemon --session --address=unix:path=$XDG_RUNTIME_DIR/bus
<podiki[m]>which I never did on Arch (though it doesn't hurt it seems), wonder if it is something about how Guix handles dbus/system services?
<jpoiret>unmatched-paren: and you also set DBUS_SESSION_BUS_ADDRESS manually, right?
<podiki[m]>right, just making sure a (user) dbus is running with your session
<apteryx>jpoiret: perhaps I can call eval myself?
<apteryx>(eval ... (module-ref ... syntax-transformer))
<unmatched-paren>jpoiret: nope
<jpoiret>podiki[m]: because of systemd launching the session bus itself ... maybe
<jpoiret>unmatched-paren: then i'm wondering how apps are able to find the session bus
<unmatched-paren>maybe there's a default if it's not set?
<nckx>I have (dbus-service). I don't think I invoke dbus-daemon by hand but I can't guarantee it.
<jpoiret>apteryx: still not, because syntax is applied at read time, not at eval time
<orneb>nckx: Yes I installed Guix myself. I declared the libreoffice package in my desktop.scm file.
<podiki[m]>I use %desktop-services and then just dbus-run-session
<nckx>orneb: I'd suggest adding (dbus-service) to your (services …) field but there seem to be many different ways to skin this 🐈.
<apteryx>jpoiret: hmphf
<nckx>But I don't use %desktop-services.
<unmatched-paren>Oh, I do have dbus-service.
<unmatched-paren>that's probably why.
<podiki[m]>should we have some "Guix Desktop hints/tips" somewhere? there haven't been many, but dbus and also some quirks with using multiple profiles have come up
<unmatched-paren>I guess my exec is redundant, then.
<podiki[m]>like how we have some things for applications on foreign distros
<apteryx>jpoiret: the only other idea I can think of is reach into the guts of guix records, to access the actual binding
<apteryx>not too appealing
<Guest11>i'm
<Guest11>trying to build a system configuration, but get this error: https://termbin.com/smez . can anyone help me interpret or otherwise figure out what went wrong?
<jpoiret>apteryx: yeah, that's the issue with having too much syntax
<unmatched-paren>Guest11: Please show the system config itself, otherwise the error is meaningless :)
<civodul>apteryx, jpoiret: (srfi srfi-9) and (guix records) inline predicates, accessors, etc. by making them macros
<civodul>so you can't just @ them
<Guest11>unmatched-paren: https://termbin.com/iobj
<Guest11>it's currently mostly a dummy-config which i intend to expand to the desired functionalities...
<unmatched-paren>Guest11: I think you might be missing some ungexps
<unmatched-paren>Actually, no
<unmatched-paren>Or... maybe you are?
<unmatched-paren>Try this:
<unmatched-paren>Hmm. No, that won't work.
<orneb>nckx: thanks, I'll try adding the dbus-service later. If that does not work alone, I can also try the config suggested by unmatched-paren.
<unmatched-paren>It's almost certainly a problem with that gexp.
<nckx>Sounds like a plan, orneb. Let us know if it helps.
<apteryx>civodul: hm, so is it possible to safely programatically access guix records-produced predicates and constructors? Or should I abandon trying to do anything like that?
<Guest11>unmatched-paren: thanks for the pointer :)
*unmatched-paren opens gnu/bootloader/u-boot.scm
<apteryx>as I said, I can get rid of the introspective part of https://paste.centos.org/view/1c4c115b at the cost of some extra code duplication and boilerplate
<Guest11>unmatched-paren: IIRC i just copied the contents of install-allwinner-u-boot
<unmatched-paren>You might need to import (gnu bootloader)
<unmatched-paren>Oh!
<unmatched-paren>You're missing (guix gexp)!
<unmatched-paren>Forgetting to import (guix gexp) often causes some really cryptic errors :)
<Guest11>i still get the same error...
<unmatched-paren>Hmmm...
<unmatched-paren>Sorry, I have no idea :(
<Guest11>np, thanks anyways
<Guest11>the error i get is for a build for unzip-6.0 .... which is a base-package, i presume? or a prerequesite for the build process itself?
<orneb>nckx: Sure. Another thing that I need to understand with Sway is how to set the environment variable MOZ_ENABLE_WAYLAND=1 to run icecat under wayland. The /etc/environment file is read only, can I declare this variable in my desktop.scm and is this explained in the manual?
<podiki[m]>stuff like that is likely for your .bash_profile/.zprofile, standard env variable setting
<podiki[m]>or guix home maybe (I haven't used it so can't comment there)
<nckx>orneb: It's read-only because it's managed by Guix. You can extend it with (simple-service 'the-environment session-environment-service-type `(("MOZ_ENABLE_WAYLAND" . "1"))) or set it in your user's shell initialisation files.
<nckx>Me, I just have firefox package that sets that in a wrapper. You could make one in ~/.local/bin/icecat, which would have the tiny advantage of not polluting your global environment with an Icecat-specific variable.
<nckx>The problem with shell initialisation files is that few people launch their GUI browser from the shell.
<podiki[m]>oh, I set some in a .xinitrc which is how I launch my desktop session
<podiki[m]>but there should be something similar for most display managers right? ...though who can keep track of all of it
<gnucode>hello guix!
<unmatched-paren>hi gnucode
<apteryx>jpoiret: also, it works after byte compiling the module, so I'm tempted to leave it at that, although that's suboptimal :-)
<jpoiret>it does seem weird to me that it would work after byte compiling though, but Guile works in mysterious ways sometimes
<jpoiret>for it to be accepted as is i think an explanation of why it does would be necessary
<nckx>podiki[m]: Sure, I just mean that some people add them to /etc/profile, ~/.profile, or even ~/.bashrc and are then confused when it doesn't ‘work’.
<podiki[m]>...I'm sure I never did that, no
<podiki[m]>and that's why my xinitrc and profile files are commented saying why I set X related variables in xinitrc
<dirtcastle>guix manuals are not detected by emacs. idk if they are downloaded or not tbh. where to download and install info files.
<jpoiret>are you on guix system?
<dirtcastle>nope. arch linux. installed guix binary on top.
<dirtcastle>if u tell me where to get to texinfo files that would be enough.
<jpoiret>you can find them under ~/.config/guix/current/share/info/
<dirtcastle>thanks!
<Guest11>building unzip for aarch64 fails on guix's cuirass, but the log is almost too minimal: http://ci.guix.gnu.org/build/1170017/log/raw
<Guest11>does it simply need a new try?
<pashencija[m]>I can build it on my aarch64 machine to check
<Guest11>i ran into that before when cross-compiling from x86-64
<pashencija[m]>Sorry, just discovered I cannot
<Guest11>you can not check or you can not build?
<nckx>Guest11: That's what we call a ‘rare transient error’, an old Aztec phrase for ‘happens constantly’. I've restarted the build.
<Guest11>nckx: thanks!
<Guest11>also: lol
<Guest11>when cross-compiling: shouldn't my x86-64 machine get unzip from the substitute server (now that it succeeded)?
<nckx>Substitute availability is cached for a while.
<nckx>Your local guix won't immediately go out & check for substitutes again after getting a 404.
<Guest11>i see. so it's feierabend for me ;) or can i flush that cache manually?
<nckx>I have a standard ‘sudo rm -rf /var/guix/substitute/cache/* ~/.cache/guix/substitute/*’ I yank from C-r whenever I need to.
<nckx>If that doesn't help, then something else is going on, and maybe you're not building the exact derivation you think you are and/or I restarted.
***stampirl_ is now known as stampirl
<pashencija[m]>I run `./pre-inst-env guix refresh -u feathernotes` in guix tree and it fails with `guix refresh: error: mkstemp: Read-only file system`
<pashencija[m]>I run that in a guix repo clone inside my home directory
<nckx>To my surprise that reproduces here.
<antipode>pashencija[m]: If you do "./pre-inst-env guix show feathernotes", what location does it mention?
<nckx>pashencija[m]: as expected: openat(AT_FDCWD, "/gnu/store/72bj8gi5hrrv4iircb3p8hkpiimkkiyj-guix-module-union/share/guile/site/3.0/gnu/packages/task-management.scm.TspMGr", O_RDWR|O_CREAT|O_EXCL, 0600) = -1 EROFS (Read-only file system)
<nckx>But that doesn't explain why it happens.
*pashencija[m] sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/b8ae122eff0e77ae0eeb8340d15da7ff91cdf6da
<nckx>This checkout is pretty… ehm, ‘degraded’ though.
<pashencija[m]>I'm at b21d05d232ec0aba5abec20e83cc52c1d5163cc3
<antipode>For whatever reason Icedove isn't getting new messages but messages are being sent
<antipode>pashencija[m]: How many copies of the Guix channel does "./pre-inst-env guix describe" contain (just trying something)
<antipode>Likewise without "./pre-inst-env"
<pashencija[m]>One copy for the both
<antipode>(Including, forks if any)
<antipode>I can't reproduce with 'hello' on d519305d83d08058e4def2c4d72fe62102d9599d (which does not have feathernotes)
<pashencija[m]>Can you try with b21d05d232ec0aba5abec20e83cc52c1d5163cc3?
<pashencija[m]>Seems to be a regression
<pashencija[m]>antipode: I also cannot reproduce with 'hello'
<pashencija[m]>I suspect it fails only with packages that have upgrade
<antipode>Even if I "downgrade" hello first by changing the version and hash, I cannot reproduce with hello
<antipode>Trying b21d05d...
<podiki[m]>can't reproduce with mesa as my test case, on 6b5e3931bb83d589ff47263cc3bfd5eb236a3954 (works both in pure env and not)
<pashencija[m]>Does 6b5e3931bb83d589ff47263cc3bfd5eb236a3954 exist?
<antipode>"make" fails
<antipode>"failed to compile guix/build/clojure-build-system.scm"
<unmatched-paren>antipode: `make clean-go`
<pashencija[m]>Can you try to refresh feathernotes?
<podiki[m]>pashencija: oh, err. that might be from local commit
<podiki[m]>6aa648f8d6f8bc59781beacd0a84f2c640f6e005 is probably the upstream commit
<podiki[m]>that's pre-feathernotes, sorry
<antipode>unmatched-paren: Why?
<antipode>It doesn't do new macro stuff.
<unmatched-paren>I hit that, and resetting the build fixed it.
<unmatched-paren>That specific error with `clojure-build-system`, I mean.
<antipode>No macros with a different ABI, or a procedure being turned in a macro or the other way around
<unmatched-paren>it might have been `make clean` that fixed it
<unmatched-paren>i'm not sure
<unmatched-paren>guix's build system is weird -.o.-
<pashencija[m]>make clean didn't help me
<pashencija[m]>Here's an issue https://issues.guix.gnu.org/57120
<antipode>I've done some test case mimimalisation & submitted bug report.
<antipode>Somehow the 'define-with-docs' breaks things.
<unmatched-paren>antipode: Oh, are you Maxime? I didn't realize you changed your nick :)
<apteryx>gnome-themes-standard is obsolete, no?
<apteryx>it's been removed in debian in 2018: https://tracker.debian.org/pkg/gnome-themes-standard
<apteryx>I guess we can use just 'adwaita-icon-theme' now
<apteryx>obsoleted by gnome-themes-extra, apparently
<pashencija[m]><unmatched-paren> "antipode: Oh, are you Maxime..." <- They hide from me XD
***A_Dragon is now known as banned
***banned is now known as Guest5108
<iska>hii
***Guest5108 is now known as A_Dragon
<unmatched-paren>iska: Hi :)
<iska>I think zrythm needs a version bump
<iska>it's currently in a 2 year old alpha x3
<iska>and lots of errors
<unmatched-paren>You could update it and send a patch :)
<iska>yeah I'll try
<iska>would be nice if someone would help though
<unmatched-paren>iska: Have you packaged anything before?
<iska>unmatched-paren: I've tried packaging ZMusic (GZDoom sound engine) but currently it fails either at or before configure stage
<iska>though that package isn't in Nix repos either, it might not be my lack of skill
<unmatched-paren>iska: Put the logs on paste.debian.net or something, it's probably nothing too bad
<iska> https://paste.debian.net/1249929
<iska>here's the build log
<iska> https://paste.debian.net/1249930/
<iska>and this is the file I'm using
<iska>ZMusic does build just fine with `guix shell [some libs if you want full version] -D gzdoom`
<unmatched-paren>iska: Your `let` form is wrong
<iska>ahhh
<unmatched-paren>you close the list of variables before you finish adding them
<unmatched-paren>(let ((...) (...)) (...))
<iska>lmao
<unmatched-paren>it tries to call `bin` as a procedure
<unmatched-paren>but it can't find that :)
<unmatched-paren>btw, that package's style is a little outdated
<unmatched-paren>What's that 'dumb license'?
<iska>I just copy-pasted gzdoom + other things
<unmatched-paren>Looks like a crayon license *sigh*
<iska>dumb is the library for modules
<unmatched-paren>btw, you should try to unvendor everything in thirdparty/
<iska>that's as unvendored as I should get it
<iska>at least according to gzdoom's definition
<unmatched-paren>Guix's definition is "100% unvendored" :)
<unmatched-paren>Unless the thing that's vendored is specific to that package, there's always a way to unvendor it
<iska>I'm scared to remove it, gzdoom's comment says you can't without a lot of work
<unmatched-paren>Hmm, if it's a lot of work, then not removing it is okay
<unmatched-paren>but you should try at least
<iska>I need a successful vendored build first
<unmatched-paren>Okay, doing it incrementally, good idea :)
<iska> https://paste.debian.net/1249931/
<iska>I fixed the (let) but it still errors
<iska>hmm
<unmatched-paren>one moment, i'm just fixing some things up in that package, you won't need that let
<iska>tyvm
<unmatched-paren>iska: woot, i got it to build
<unmatched-paren>Oh, wait.
<unmatched-paren>It doesn't :(
<iska>was about to scream
<iska>oof
<iska>a newer version might help, this one's 2 years old
<unmatched-paren>looks like the cmake file is faulty?
<iska>(I was too lazy to use the tarball)
<unmatched-paren>CMake Error at CMakeLists.txt:212 (add_subdirectory):
<unmatched-paren> add_subdirectory given source "thirdparty/game-music-emu" which is not an
<unmatched-paren> existing directory.
<iska>ahh
<iska>I know
<iska>remove the part that deletes game-music-emu
<unmatched-paren> https://paste.sr.ht/~unmatched-paren/6dca5e06fab1e2ef1ca02b99746fc32c345a1ddd <- so far
<unmatched-paren>you'll need to import (guix gexp) in addition to the modules you already have imported
*unmatched-paren afk
<unmatched-paren>actually, not afk yet :)
<unmatched-paren>it's building now, past the 'configure phase
<iska>successful build
<iska>successfully built /gnu/store/sanl45dsq09kgczr5bb2d4sfbafxsp3p-zmusic-1.1.3.drv
<unmatched-paren> https://paste.sr.ht/~unmatched-paren/0af0e4c1ae0448758f37b36f1ef89714dc60bd75 <- new version, also contains a style improvement
<iska>thank you so so much friend
<unmatched-paren>now the next test, does it run? :)
<iska>I wanted to build a gzdoom-based game against it
<iska>gonna try in a bit
<unmatched-paren>after you do that, you'll want to investigate unvendoring more of third-party/, then you can send it as a patch :)
<unmatched-paren>also, you should add a comment explaining why `#:tests? #f`
<iska>#:tests? #f because gzdoom did so
<iska>again I basically copied gzdoom and changed some things
<unmatched-paren>try reenabling them, see what happens
<unmatched-paren>also, if you aren't able to unvendor things, you should add a comment explaining why
<iska>noted
<iska>your newest version fails to build
<unmatched-paren>Does it?!
<unmatched-paren>It works for me.
<unmatched-paren>Ohh
<unmatched-paren>I misspelled thirdparty/ as third-party/ :)
<unmatched-paren>in the snippet
<iska>bruhh
<iska>with the misspell fixed it builds fine
<iska>thank you so very much
<unmatched-paren>No problem :)
<atka>unmatched-paren: o/
<trevdev>o/ unmatched-paren
<jab>hmmmm....so I do like that issues shows clearly if a bug is opened or not, via the green vs. red button. I wonder how hard it would be to get debbugs-gnu-search be as visually forward. I sometimes have a hard time knowing if a bug is open or not in debbugs.
<apteryx>is there a way to have a clean listing of the versions of the packages used in a manifest/profile?
<unmatched-paren>apteryx: Couldn't you just use `guix package --list-installed --profile=<PROFILE>` for profiles?
<apteryx>right, this should work. and then if I swap <PROFILE> for $GUIX_ENVIRONMENT I could get it for the current 'guix shell'
*apteryx tries
<acrow>vagrantc: When you have time. https://paste.debian.net/1249941/
<vagrantc>i always have time, i just try to use it for too many things at once!
<acrow>:)
<apteryx>unmatched-paren: worked, thank you!
<apteryx>perhaps we should sort the output; at least when the profile is generated from a manifest
<apteryx>the disorder is not helpful.
<acrow>vagrantc: I hope it doesn't go, BOOM.
<vagrantc>if it does, i hope it's pretty
<atka>:)
<acrow>vagrantc: Chris went hiking to the Pratt Lake Basin and I did this. Hmmm... not sure that was fair.
<iska>(value "no code for module ~S")
<iska>whenever I try to `guix pull` my repo this happens
<iska>it only has a package (and it seems valid)
<vagrantc>acrow: that looks 99.752% done!
<antipode>rekado: For git-version updating there's already a patch, see my response to ‘bug#39885: Bioconductor URI, fallback and time-machine’
<acrow>vagrantc: Cool. A crude weapon.
<vagrantc>acrow: how fiddly would it be to display the license after the copyright holders?
<apteryx>I'm running a desktop VM in QEMU and seeing things like: "ntpd[219]: bind(25) AF_INET6 fec0::b8f7:61ab:9a57:652d#123 flags 0x11 failed: Cannot assign requested address"; is this expected?
<cwebber>rekado: did you ever figure out what "configure: error: cannot run C compiled programs." meant
<cwebber> https://logs.guix.gnu.org/guix/2018-09-06.log
<cwebber>because I am suddenly hitting that and am thoroughly confused
<unmatched-paren>apteryx: Could you not do `guix package --list-installed --profile=<PROFILE> | sort`?
<antipode>cwebber: Are you crosscompiling?
<cwebber>no
<cwebber>:P
<antipode>What's being compiled?
<unmatched-paren>Or maybe: guix package --list-installed --profile=<PROFILE> | sort | awk '{ print $1 "@" $2 }'
<cwebber>guix itself
<unmatched-paren>to get a short-form list
<cwebber>./configure spits that out
<cwebber>I see dthompson also hit that https://logs.guix.gnu.org/guix/2016-08-11.log
<cwebber>but
<cwebber>whyyyyyy
<cwebber>why is it happening
<antipode>Is this with "guix pull", "guix build guix" or "let's checkout Guix, run ./bootstrap, ./configure --localstatedir=/var, etc."?
<apteryx>unmatched-paren: yes, but that's a poor UI :-) we already sort in many places (e.g. while installing from a manifest). We don't sort for -I because it shows the package in the order they were installed; but that's not exactly useful when the packages were installed from a manifest :-)
<cwebber>guix environment guix and then inside that ./bootstrap && ./configure --localstatedir=/var
<cwebber>I've never run into this before
<pashencija[m]>cwebber: YES
<pashencija[m]>You have gcc instead of gcc-toolchain
<antipode>Nitpick: "guix environment guix" -> "guix shell -D guix", the old API is sort-of deprecated.
<cwebber>oh
<antipode>Shouldn't make a difference though.
*cwebber a guix old timer
<unmatched-paren>guix environment <FOO> = guix shell --development <FOO>, guix environment --ad-hoc <FOO> = guix shell <FOO>
<antipode>As a general recommendation, adding --pure to "guix shell" (or "guix environment") is recommended for debugging, to eliminate interference from the environment as a variable.
*antipode = maximed, if you didn't know
<cwebber>oh yeah I should try pure
<pashencija[m]>Just install gcc-toolchain into profile
<pashencija[m]>I assure you it will fix the issue
<antipode>In case that fails you can try "--container" too, though I hope it doesn't come to that.
<vagrantc>acrow: i have a patch, where do i send submissions :)
<antipode>pashencija[m]: That's not neccesary.
<antipode>I do not have gcc-toolchain installed in the profile,
<pashencija[m]>It is
<antipode>yet "guix shell -D guix" + ./configure --localstatedir=/var etc. works for me.
<pashencija[m]>XD
<pashencija[m]>Just let them try that
<pashencija[m]>I ran into the same issue on two machines a couple of hours ago
<pashencija[m]>guix install gcc-toolchain really fixes that
<antipode>pashencija[m]: Please send bug report with details.
<pashencija[m]> https://guix.gnu.org/manual/en/html_node/The-GCC-toolchain.html
<antipode>"guix shell -D guix" is supposed to take care of putting the dependencies of guix in the environment, including gcc.
<pashencija[m]>If you need a complete toolchain for compiling and linking C or C++ source code, use the gcc-toolchain package
<pashencija[m]>I do not consider that a bug
<pashencija[m]>antipode: Why?
<antipode>"guix shell -D guix" adds all dependencies required for compiling guix to the environment.
<antipode>This includes the GCC stuff.
<pashencija[m]>antipode: Does it add gcc-toolchain?
<vagrantc>acrow: no license for this project, are you trying to get me hooked on proprietary software? :)
<antipode>pashencija[m]: Technically not gcc-toolchain but rather its individual components IIRC, but otherwise yes. If it doesn't, that's a bug.
<acrow>vagrantc: Hah
<cwebber>okay
<cwebber>--pure fixed it
<cwebber>thanks antipode
<pashencija[m]>O_o
<antipode>Confirmed its gcc-final + glibc + ..., not the wrapper gcc-toolchain.
<antipode>(gnu/packages/commencement.scm + gnu-build-system.scm)
<pashencija[m]>antipode: _Technically_ I cannot run guix on my device as it does not pass device tree to the kernel
<pashencija[m]>antipode: Ok. But for me, it fixed the issue
<acrow>vagrantc: I suppose what I would do next is try to sort those copyrights. I suspect that might also uncover something else I didn't anticipate. Note that it's only as pretty as the input and the input is not without blemishes.
<vagrantc>acrow: also need some whitespace leading the Files: entries ... and "Files:" not "File:"
<acrow>vagrantc: easy peezy.
<vagrantc>acrow: yeah, give me the blemishes :)
<apteryx>anyone tried packaging turbovnc?
<vagrantc>acrow: but seriously, i have a patch :)
<acrow>vagrantc: so early, that would be a surprise.
<vagrantc>acrow: https://paste.debian.net/1249956/
<vagrantc>acrow: and on reviewing my own patch, i have more fixes
<antipode>sneek: later tell rekado: did you ever figure out what "configure: error: cannot run C compiled programs." meant
<sneek>Okay.
<antipode>sneek: later tell rekado: Nevermind, copied the wrong thing.
<sneek>Okay.
<antipode>sneek: later tell rekado: For git-version updating there's already a patch, see my response to ‘bug#39885: Bioconductor URI, fallback and time-machine’
<sneek>Okay.
<antipode>Does copy-paste work for any Icedove user?
<vagrantc>acrow: ok, maybe we're only at 93.326%
<acrow>vagrantc: I haven't applied the first patch yet.
<acrow>vagrantc: patch-0 applied. running....
<vagrantc>acrow: https://paste.debian.net/1249957/
<vagrantc>acrow: oops, that's against the unpatched
<vagrantc>acrow: anyways, still need a space before the files liens
<vagrantc>acrow: er, lines
<acrow>vagrantc: Looks good. It also occurs to me trim back the filenames. I did that in the last version.
<vagrantc>acrow: trim back?
<acrow>vagrantc: I also will add a --detail option that will list out the info for every file individually then you can really get down in the dirt on this.
<unmatched-paren>Is Guix supposed to run under both Guile 2 and Guile 3, or only Guile 3?
<acrow>vagrantc: -d /home/fpp/my-src-dir/penguins.scm -> penguins.scm
<apteryx>jpoiret: I found the culprit in lightdm.scm; it was the order of usage of the syntax in the file
<vagrantc>unmatched-paren: it's supposed to run under either 2.2 or 3.0 i think ...
<apteryx>some procedures were using syntax define later in the module
<vagrantc>acrow: ah, yes, would be very helpful to trim out the top-level directory
<vagrantc>acrow: but this is coming around nicely!
<acrow>vagrantc: More ideas will come to me later. I didn't get your second patch in yet...
<acrow>vagrantc: So, that last one includes the first, right? Just need to back up before applying....
<vagrantc>acrow: yes
<ordoflammae>Is there a way to keep Guix from downloading substitutes for a particular packages (e.g. Emacs Packages)? I'm running into an issue because emacs-straight-el was built with a slightly different version of Emacs than I am using.
<ordoflammae>I'm installing the packages from Guix Home
<acrow>vagrantc: I think that second patch went wide of the mark. I'm reverting to your first patch.
<vagrantc>acrow: what did you not like about it?
<vagrantc>acrow: it certainly accomplished what i wanted :P
<acrow>It took a required arg out of a formatting string. Besides failing to apply.
<vagrantc>maybe i mangled the patch
<vagrantc>acrow: would be helpful to be able to use a revision control system or something fancy like that :)
<acrow>Yeah, that's what I think. The first one worked perfectly.
<vagrantc>well, my working copy works nicely enough
<nckx>ordoflammae: If your straight-el package doesn't use the exact same package definition as the substitute server, you won't get a substitute for it, so I doubt that that's really your problem. However, to answer your question, some hack like ‘guix shell -D --no-grafts PACKAGE… && guix {install,build,…} --no-substitutes PACKAGE…’ usually accomplishes that. Download the inputs with substitutes enabled, but build the final package locally. Can be f
<nckx>inicky in edge cases but normally works.
*nckx confusing IRC & e-mails again.
<ordoflammae>Does anyone have any experience using Guix Home and Profiles together? Is this a good idea, or should I choose one or the other?
<ordoflammae>I can't figure out how to combine them effectively.
<acrow>You know I've got that; but, I can see where this is going... Can I just email you the ,v file?
*nckx → 😴💤, good night #guix.
<vagrantc>acrow: what's a ,v file?
<ordoflammae>nckx: thanks.
<acrow>It's the suffix for an RCS file.
<vagrantc>ah yes, now i see where this is going
<vagrantc>acrow: just give me the file with licensing that indicates i can use it and i'll keep a copy of it in the debian packaging :)
<vagrantc>acrow: where indicates i can use it means licensed under a free software compatible license...
<ordoflammae>nckx: I'm not sure what the issue would've been then. It's throwing an emacs-version-changed error, and mine has some extra stuff on it.
<ordoflammae>"GTK+ Version ..., cairo version ..."
<ordoflammae>That's not in the straight_el compiled package