IRC channel logs

2022-03-06.log

back to list of logs

***trip is now known as Guest6651
<jonsger>civodul: I rather wait on the reply of the patch submitter :P
<SeerLite[m]>f1refly: Oof, are you updating Alacritty?
<f1refly>I'm trying
<f1refly>:(
<f1refly>what do I do when I need a package with a specific minor version? when we already define rust-x-0.1 -> 0.1.8 but i need 0.1.15 instead?
<f1refly>would i declare a new public-define rust-x-0.1.15?
<singpolyma>f1refly: could you not update the existing one?
<f1refly>i don't know if that would break other packages that might rely on the existing minor version 0.1.8
<singpolyma>Only one way to find out ^_^
<singpolyma>And I would *really* hope not
<f1refly>can i somehow find out without building every dependency?
<f1refly>my laptop is not that strong
<singpolyma>How many things depend on it?
<singpolyma>You could try one and if it works that's a very good sign
<f1refly>can i find out programatically what packages depend on a package?
<singpolyma>guix refresh -l or something like that I think
<singpolyma>Or for direct inputs I just use grep
<f1refly>i'll try once i get guix to build the dependency in question
<f1refly>but is there anything wrong with having minor versions?
<f1refly>it's not like they hurt, right?
<singpolyma>The issue is largely the missed opportunity for the upgrade, I think
<singpolyma>From a technical PoV of course adding works fine, but then you have things depending on a scale version when a newer version is packaged
<sneek>Yey! phf-1 is back!
<jgart>has anyone been able to display channel news for custom channel with `guix pull --news`?
<jgart>or has anyone tested that?
<nckx>You, something tells me...
<jgart>Yes, I've tested it
<jgart>and no luck
<jgart>but was wondering if anyone else had to their success?
<nckx>
<nckx>Ignore that awkward silence.
<jgart>John Cage laughs...
<nckx>Did you wait >4 minutes on purpose? That's dedication to the joke if so.
<nckx>Not me, I'm just lazy. Which also serves as answer to your actual question.
<jgart>No, I waited 4 minutes and 33 seconds...
<nckx>(My client doesn't show seconds but I guessed
<nckx>as much)
<jgart>I'm just bored
<jgart>and annoyed at `guix pull --news`
*jgart needs to read and write more code
<jgart>nckx, this month singpolyma will give a talk on writing guix packages with js instead of guile: https://man.sr.ht/~whereiseveryone/guixrus/meetup.md
<nckx>I can produce only so many awkward silences before things get awkward.
<nckx>It's ehm
<nckx>it's an interesting concept?
<lumberjack123>Why JS? What is wrong with Scheme? Would this be accepted into Guix for some reason?
<nckx>Null, null, no.
<singpolyma>lumberjack123: JS because it is already supported by guile and so an easy place to start
<jgart>nckx, https://paste.sr.ht/~singpolyma/4cde2beca8c427eeec1895c272024fd1e497af67
<jgart>I think there may be an updated API for the above since that paste
<nckx>I'll try to pop in if BBB works here.
<jgart>nckx, cool!
<jgart>raghavgururajan will be hosting the guix documentation meetup this month
<jgart>I think he'll make an announcement soon about it on guix-devel
<nckx>Cool.
<nckx>That JS package sure is... a JS package.
<nckx> Very JS. Yes.
<singpolyma>Heresy, I know
<jgart>That's as librejs as it gets
<nckx>I'm just trying to imagine how (even hypothetically :-) someone can look at and few brackets and think 'ooh, scary' and then at... that and find it not only sane but friendly. Zany world!
<jgart>don't worry, we're not planning to rewrite the guile daemon in node
<nckx>and = a, my keyboard blows.
<nckx>It might be written in JS.
<nckx>jgart: That's at worst and lateral move from C++.
<nckx>Oh ffs.
<jgart>probably would be easier to crowd source the daemon rewrite
<jgart>we'll all have to face our daemon some day
<nckx>Rimshots pierce the awkward silence, the crowd relaxes.
<Noisytoot>Is evaluating a string necessary?
<Noisytoot>for the JS version of buildPhase
<nckx>My daemon is apparently in JS 'crowd sourced' from Stack Overflow answers.
<drakonis>AH AH AH
<jgart>`(string-reverse "AH AH AH")`
<nckx>JavaScript encryption.
<jgart>JsPG
<nckx>I just read drakonis' message in the Counts' voice. *shrug* 'ONE strictly typed code block! TWO...! Ah ah ah'
<nckx>Stringly you hunk of autocorrecting joke-ruining junk.
<drakonis>heh, that's the exact thing i was going for
*nckx found the 'auto-correct aggressiveness' slider and ratchets it down from 'raging meth fiend' to 'off'. 👍
<nckx>What a strange default.
<nckx>I'm going to use this thing to passively absorb #content in bed, which is clearly what it was made for. Good night Guix.
<jgart>g'night!
<iyzsong>hello, any recommendation for sxml transforming tutorials or examples? i'm writing a 'home-git-service-type', thinking something like '(user (name "foo"))' (sexp) -> '[user]\n name = foo' (gitconfig).
<iyzsong>answer myself, this seem good: https://www.more-magic.net/docs/scheme/sxslt.pdf, and its "More information" links too :)
<jab>So guess who got himself a new SSD and wants to install guix with full disc encryption ? This guy!
<atka>nice, sounds fun
<jab>atka. Thanks. What would use say is the easiest way to do full disc encrption with guix? btrfs or LVM & etx4
<jab>?
<atka>I do luks + btrfs personally
<atka>or luks + xfs
<jab>oh yeah...guix supports XFS now. I guess I forgot that.
<ams-hash[m]>To install everyday packages like vim should I use the cli or declare it in my file?
<Aurora_v_kosmose> https://issues.guix.gnu.org/54268#7 Should I just... delete the vendored parts & figure out how to copy & use guix-provided ones at build-time, or should I try to get in touch with upstream to remove them?
<raghavgururajan>Hello Guix!
<atka>hello
<Aurora_v_kosmose>Actually what would be the best way to manage a dependency on jquery & bootstrap in Guix?
<jab>ams-hash[m]: I like the idea of declaring all my packages, but day to day I just prefer to use the cli
<jab>raghavgururajan: howdie partner
<sneek>Yey! maximed is back!!
<maximed>xelxebar: Try defining (define do-foo (syntax-rules () ...)) (without the define-syntax) and likewise for do-bar. Then do-foo and do-bar are syntax transformers and not just macros, if I've got my terminology right, so you could do (let-syntax ((foo* (if ... (do-foo #'(do-foo exp exp* ...)) (do-bar #'(do-bar exp exp* ...))))) ...)
<maximed>You could also let foo* use syntax-case for more flexibility (usually, things like has-foo? need to be decided at expansion-time, not run-time)
<maximed>There's also some procedure for extracting the syntax transformer procedure from a macro (module-ref + macro-transformer)
<maximed>That's rather Guile-specific though, not portable to other Schemes.
<ams-hash[m]><jab> "ams-hash: I like the idea of..." <- But wouldn't this make you less able to recreate the system
<ams-hash[m]>Harder*
<Lumine>Good morning
<maximed>'scm_gettext' uses 'scm_to_locale_string', which can be problematic when the current locale does not have a sufficiently expressive character encoding (say, ISO-8859-1). Should it instead use scm_from_utf8_string and use bind_textdomain_codeset to tell gettext to produce UTF-8 strings?
<maximed>oops wrong channel
<jab>ams-hash[m]: You can always generate the manifest.scm file from your currently installed packages.
<jab>guix package --help should have the option listed.
<florhizome[m]><civodul> "regarding Git checkouts, you can..." <- how would that look exactly?
<ngz>sneek later tell rekado If you look at 280097b71f01608795fbf38ac6d87fd61fe16798, it seems there's a bug in `simple-texlive-package', as non-generated files should be handled in locations argument, but aren't.
<sneek>Okay.
<f1refly>when I invoke guix from my pre-inst-env, it tells me "note: source file x.scm newer than compiled x.go" a bunch of times, is that something I should fix?
<Michal_Atlas[m]>from my experience:
<Michal_Atlas[m]>not at all, it interprets the changes, but it's slower than if you run make again and compile all the new changes
<Michal_Atlas[m]>s/all the new changes/them/
<cedb>I setup a machine offload which "passes the test": `guix offload test` but i get this error when i try to run `guix pull`: http://ix.io/3RuF
<ams-hash[m]>How do I change the dwm config. I installed it from my config.scm file so it's compiled the default dwm. I want to know where I can change the config
<mekeor[m]>ams-hash: do you need to configure dwm before it's compiled? (like st?)
<singpolyma>mekeor[m]: yes
<f1refly>can someone check if rust-dlib@0.5 is building when you import it? it fails with a rustc error for me, apparently indicating the upstream is broken
<f1refly>but there's no tickets open for the github repo
<f1refly>it builds when i build it with cargo
<f1refly>hmm
<gnoo>what's the error?
<mekeor[m]>singpolyma, ams-hash: then you will need to write your own guix-package-declaration for your own version of dwm, afaik
<gnoo>yeah, just use git-checkout
<SeerLite[m]>f1refly: `cargo test` fails
<f1refly>alright, i'll just skip them. if upstream fails and they use it the tests are not my problem
<SeerLite[m]>f1refly: I figured out why it fails
<f1refly>missing std before it?
<SeerLite[m]>The Cargo.toml excludes a directory that's used for testing
<f1refly>hm
<SeerLite[m]>So the directory is there in the repository but not the tar that Guix downloads
<SeerLite[m]>in the tar*
<SeerLite[m]>Previous versions don't have this exclude
<f1refly>will you create a ticket for that?
<SeerLite[m]>Hmm I don't know. Should I? I mean it doesn't feel like excluding it is incorrect
<f1refly>if it isn't created automatically and deleting it causes the tests to fail it's incorrect imo
<singpolyma>Packages aren't normally expected to contain tests
<SeerLite[m]>No? Then why does cargo-build-system run `cargo test` in its check phase?
<f1refly>it runs fine when i set tests? #f
<singpolyma>SeerLite[m]: because we in guix want to run tests :) so ideally you pull from an upstream source that has tests
<SeerLite[m]>Ohh. So should we get rust-dlib from the git repo instead?
<singpolyma>That's what I would suggest
<pkal>Is package-mapping the right thing to use if I just want to replace an input of a package (non-recursivly) with a different package.
<pkal>(In my case I am trying to build Emacs 24.3 with ijg-libjpeg instead of libjpeg-turbo)
<f1refly>i have the first dependency of alacritty in working order
<f1refly>._.)/
<florhizome[m]><pkal> "Is package-mapping the right..." <- Since the last cu there are functions like modify–inputs (adapt to other inputs) for your convenience to do that.
<ams-hash[m]><mekeor[m]> "ams-hash: do you need to..." <- Yea so how do I? Just make the confing in .config and recompile
<pkal>florhizome[m]: cu?
<jonsger>has some one an idea how to get the following working with gexp package definition: `("PATH" ":" prefix (,lib-a ,lib-b)) ?
<jonsger>`("PATH" ":" prefix (,lib-a)) works with no issues, so I wonder if one needs to do a list or something alike...
<florhizome[m]>core–Updates
<florhizome[m]>the last one was better known as core–updates–frozen I think ;P
<pkal>florhizome[m]: So you'd say I should do something like (package (inherit foo) (inputs (modify-inputs (package-inputs foo) (replace "libjpeg" ijg-libjpeg))))
<florhizome[m]>yes this is pretty much how i recall it
<florhizome[m]>if it’s not in the manual you should find enough examples in the source.
<pkal>I must be doing something wrong, because I still get error messages that libjpeg is missing :/
<SeerLite[m]>jonsger: I think that should work. Do you get an error?
<jonsger>yeah: wrong-type-arg "string-append" "Wrong type (expecting ~A): ~S" ("string" #f) (#f) -> dont get that error if its only one ,lib-a...
<mekeor[m]>ams-hash: first, create a git-repository in /some/path/my-guix-packages (https://guix.gnu.org/en/manual/devel/en/html_node/Creating-a-Channel.html#Creating-a-Channel)
<mekeor[m]>ams-hash: second, add your local channel to your guix-channel-list: https://guix.gnu.org/en/manual/devel/en/html_node/Using-a-Custom-Guix-Channel.html#Using-a-Custom-Guix-Channel
<mekeor[m]>ams-hash: in /some/path/my-guix-packages, create a file and write a package declaration for your custom dwm (while inheriting from the official dwm-package): https://guix.gnu.org/en/manual/devel/en/html_node/Defining-Package-Variants.html#Defining-Package-Variants
<mekeor[m]>ams-hash: create a git commit for the newly added (or modified) scheme-file containing your package declaration (`git add .; git commit -m 'added own dwm'`). run `guix pull`. install your custom package with `guix install dwm-ams-hash` or so :D
<ams-hash[m]>Thanks mate
<mekeor[m]>ams-hash: for the second step, note that you can simply specify your git-repo-path in the guix-channel-list like this: (channel ... (url "/some/path/my-guix-packages"))
<florhizome[m]><pkal> "I must be doing something wrong,..." <- You can of course always just copy the inputs field over and make the modification there, see what that does.
<florhizome[m]>is guix‘ profile concept from gentoo or from nix?
<raingloom>hey could someone with a big beefy machine help build blender for me? i think it wants like, idk, 16 gigs of ram, but maybe it's only running out because i have /tmp in RAM too.
<raingloom>it's a pretty small change: just add gmp to its inputs.
<florhizome[m]>(I just saw that gentoo use flags correspond to „profiles“)
<ams-hash[m]>Thanks I was also wondering how I'd use emacs a wm. I installed it and exwm but i can't get it ti show up in my display manager
<florhizome[m]>raingloom: yeah that doesn’t sound like a great idea, to put /tmp into RAM
<raingloom>florhizome[m]: takes pressure off my SSD. limited write cycles and what not.
<raingloom>it's not usually a problem, only big honking packages cause any issue.
<gnoo>anyone here that uses wayland but not use elogind ? does your wayland session crash when you switch terminals ?
<verkty[m]>raingloom, I could help you build blender.
<verkty[m]>But how?
<florhizome[m]><raingloom> "it's not usually a problem, only..." <- Hm did you have a problem with that before?
<f1refly>i defined rust-dlib@0.5.0 in crates-io.scm, it's a dependency of rust-wayland-sys@0.29.4. rust-wayland-sys builds fine when I invoke guix on it independently.
<f1refly>But when I try to build rust-wayland-client@0.29.4 which depends on rust-wayland-sys@0.29.4, it says it couldn't find rust-dlib@0.5.0, only the previous version rust-dlib@0.4.2
<singpolyma>f1refly: using inputs or cargo-inputs ?
<f1refly>thank you, found the issue
<ams-hash[m]><ams-hash[m]> "Thanks I was also wondering..." <- Anyone?
<djeis>ams-hash: the exwm package doesn't provide an xsessions desktop entry.
<djeis>However, if you create a .xsession file that launches emacs and runs exwm-enable then exwm will be your "default" selection.
<ams-hash[m]>Alright thanks mate
<djeis>Have you used exwm before, or emacs in general?
<ams-hash[m]>I've used emacs before
<ams-hash[m]>Doom emacs for a fair bit. I've tried system crofters pre made exwm config
<ams-hash[m]>I'm gonna build my own hopefully
<djeis>Cool, then yea- if you've launched exwm with .xinitrc and startx before you can basically symlink .xinitrc to .xsession
<ams-hash[m]>Alright
<alethkit>Do I need to add my user to a group in order to use NetworkManager commands without root?
<Aurora_v_kosmose>Not sure if we're using polkit, but there's a way to mark specific connections/configurations as available for all users.
<Aurora_v_kosmose>Otherwise you do need privileges to use commands where they aren't marked as such
<alethkit>Just checked: Polkit is being used in guix, and my user is in the netdev group.
<SeerLite[m]>Being in netdev allows me to activate or deactivate connections, but not create new ones. For that I need sudo
<ternary>So I'm currently trying to package something that builds with meson, but internally calls out to cargo to build a rust portion of the program. Can I do something like extracting the cargo configure phase and adding after the normal meson configure phase? Would that even work?
<Aurora_v_kosmose>SeerLite[m]: Ah I see.
<f1refly>what does it mean when guix tells me "failed to prepare local package for uploading"?
<f1refly>It tells me the "searched package name: `mint`", but there is no package named mint in the requirements for the package i'm trying to build
<Aurora_v_kosmose>Can I establish links to store locations during the build of another package?
<f1refly>a quick dependency check didn't show a package named mint as well, so I'm quite confused where this might come from
<ngz>ternary: Yes, you can use phases from other build systems. See, e.g., python-cysignals package.
<SeerLite[m]>f1refly: Maybe it's for a dependency?
<SeerLite[m]>No wait that doesn't make sense
<SeerLite[m]>Still, have a look inside the build dir (guix build -K) maybe you find where it's coming from f1refly:
<f1refly>I'll see, first I'll finish packaging this event lib
***alMalsamo is now known as lumberjack123
<ternary>ngz: Oh that seems easy enough, thanks. I am having a problem that I'm sure is a dumb thing, but I can't get it to load (guix build cargo-build-system). It just throws a "no code for module" error when I add that to the modules key in arguments
***iyzsong- is now known as iyzsong
<f1refly>okay, there has to be a problem where something indeed uses mint
<f1refly>it'd be neat if guix could tell me what it is by itself, but checking the files will work i guess
<civodul>efraim, ngz: there's a Rust patch set awaiting review, thought you might be interested :-) https://issues.guix.gnu.org/53995
<ternary>Alright, I really don't understand the way the modules key works with package arguments. I can import meson-build-system and gnu-build-system, but not others like cargo-build-system and python-build-system. Does that have anything to do with the fact that the package itself is using meson-build-system? I can't even copy and paste what python-cysignals is using without getting a "no code for module"
<ternary>error
<ngz>civodul: Maxime already made a review the OP didn't react to, AFAICS.
<ngz>ternary: Do you #:use-module (guix build-system whatever) in the module?
<ternary>Yeah, I tried adding both (guix build-system cargo) and (guix build cargo-build-system)
<singpolyma>ternary: this is trying to (use-modules) in a build step?
<ternary>singpolyma: I'm trying to expose cargo-build-system's %standard-phases so I can add it to my list of phases. I am doing (arguments `(#:modules (((guix build cargo-build-system) #:prefix cargo:))))
<Aurora_v_kosmose>ngz: Any examples of files being symlinked or copied from different packages into a given package during build?
<ternary>Basically copying what python-cysignals does to use gnu-build-systems's configure step
<Aurora_v_kosmose>ngz: I was looking in the manual for a rough description of the environment in which builds occur but...
<ngz>Aurora_v_kosmose: I think flare-game does that.
<Aurora_v_kosmose>ngz: So it seems. Nice. Thanks.
<phodina[m]>Hi there,
<phodina[m]>do you know what is the best way to convert map of strings into one string in Guile?
<drakonis>have you tried using string-append?
<Michal_Atlas[m]>Hello, sorry to bring guile here, but #guile seems very empty, `list-matches` doesn't seem to me to match any substring containing a null, is this intended behaviour? Or am I making an error perhaps? `(list-matches "a.*c" "ab\x00c")` doesn't match anything, even though in another language it does and removing `\x00` obviously matches and so does changing it to `\x01`.
<Aurora_v_kosmose> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=985916#32 I'm hitting this problem. Any suggestions?
<Aurora_v_kosmose>(Precisely the issue is with bad glib interactions with Guix in Foreign System mode.)
<phodina[m]><drakonis> "have you tried using string-..." <- I usee it before, but the issue was the expression had an extra parentesis and removing them solved the issue- string-append then concatenated all the strings
<drakonis>oh
<drakonis>i figure you've not used quasiquoting then?
<drakonis>you can use it to move the contents of the list out of it
<Michal_Atlas[m]><Michal_Atlas[m]> "Hello, sorry to bring guile here..." <- and It seems the reverse is also kinda broken, a "\x00" regex matches the same things as does ""
<Michal_Atlas[m]>is this due to some C interaction?