IRC channel logs


back to list of logs

<drakonis>guix install
<drakonis>oops, `guix install <packages>`
<Cassio>this is to install Guix packages. I want to install globally **Node** packages that _are not_ in the Guix default channels
<ekaitz>Cassio: you can't directly but you can trick the npm -g with a local npm
<ekaitz>Cassio: search tutorials on installing npm packages with no root privileges and they'll show you how to do that
<ekaitz>you can also use npm without the -g and then use .node_modules/<package>/bin/program
<ekaitz>Cassio: <-- something on this line
<alethkit>Does anyone have an example of a service using gexp-text-config fields that I can copy? I keep getting "Invalid value for field config" errors.
<anadon>Bump on
<anadon>Back at 8 EST
***the-porcupirate is now known as porcupirate
***the-porcupirate is now known as porcupirate
***rekado_ is now known as rekado
<blake2b>hiya guix, I'm trying to use the gexp->script function (gexp->script "current-home" #~(begin (getenv "HOME") ...)) in a package to create a script that can be used both in the build process but also with the code generation mechanisms that the package I'm working on performas (which isn't a (wrap-program...) issue, unfortunately).
<blake2b>in the repl's store-monad, the derivation builds fine. but I get: "Unbound variable: gexp" when trying to build the package, even though (guix gexp) is included in the module definition
<blake2b>I've tried (with-imported-modules ... (use-modules (guix gexp)), #:modules `((guix gexp)), and declaring (use-modules ...) in the definition, all to no avail
<Ribby>Can you guys host the firewall-config or firewalld? It's a firewall program from red hat.
<Ribby>is there a way to software install deb files on guix?
<cehteh>in a vm?
<sneek>atka: wb!!
<Ribby>compiling source code may have some dependency problems than compiling problem.
<Ribby>Is that the new update for guix? Is it box? Sure, I'll try it out. I wonder what kind of os are available. Dependencies for komorebi wallpaper manager thing.
<anadon>Ribby: Looks like the `debootstrap` package meets your needs.
<anadon>Also just `dpkg`, which exists.  No `apt`, but that makes sense.
<Ribby>What exactly makes sense
<dongcarl>Not sure if people saw, but promising cool news for rust packagers:
<Aurora_v_kosmose>Does that mean gcc rather than llvm compilation?
<anadon>Looks like it, but it still has some failures.
<anadon>Ribby: depends.  What exactly are to trying to do?
<Ribby>Trying to figure out those deb files. GUI way or the CLI way? We got debootstrap and dpkg. dpkg seems to be the earlier program than apt. Apt is said to be easier, but it might have its limitations.
<anadon>Ribby: The GUI way?  Again, what exactly are you trying to do?  What is the product of the task you are trying to accomplish?
<Ribby>Well, there's the deb and then there's the source code.
<anadon>So, how stable do you want this?
<Ribby>As in how stable the installation process?
<anadon>For your purposes, you probably want to install `dpkg` and all the packages listed in the `apt install` line from guix.  Then, download the `komorebi` .deb from github and install it with `dpkg`.  This should work, but it is possible that the dependencies in guix are missing or the wrong version.  If you have time, I encourage you to make a new
<anadon>guix package for komorebi and submit the patch.
<littlebobeep>So Xen hypervisor is not compilable on Guix yet?
<Ribby>Sounds good.
<anadon>littlebobeep: I see it packaged,and Linux runs fine under it therefore so would a guix system.  Unless I'm missing something?
<Ribby>Somehow, I can't get the dpkg command working.
<Ribby>Well, I can use boxes until then.
<anadon>Ribby: What do you see?  Use the debian pastebin
<Ribby>My sys can't support virtual extension just yet, I was too ambitious? lol
<anadon>Ribby: You didn't install dpkg.  `guix install dpkg`.  If you did and it still isn't there, that's probably a bug.
<anadon>*Anadon is not a guix expert.
<Ribby>Okay, it's workng.
<littlebobeep>anadon: Oh sorry I should have checked... have you used Xen on Guix?
<littlebobeep>btw where is that web page where you can actually SEARCH for package names, as official page is very limited (can someone fix that?)
<anadon>littlebobeep: No, installed on top of Ubuntu.
<Ribby>Okay, I went with dpkg's installation. Command: sudo dpkg -i komorebi-2.1-64-bit.deb Result:
<Ribby>Something about a read-only system?
<Ribby>I think I need to read the command list for specifics.
<littlebobeep>Hmmm aarch64 is not listed as supported ISA for Xen... any reason for this?
<anadon>littlebobeep: VMs and Hypervisors require a ton of architecture specific work and extensions so it probably just hasn't been developed yet.
<anadon>Ribby: Uhg.  I suppose it has to be that way.  There might be an option to specify a different root install dir.  You might be stuck with the "ordained" method of making it into a guix package.
<anadon>Ribby: `dkpk --root=/` probably.
<littlebobeep>anadon: Hmm okay well I just looked at package definition for Xen and I see nothing specific added having to do with armhf and it claims to support that ISA
<apteryx>I can't find a way to generate texlive formats that'd include hyphens with fmtutil-sys in a package (texlive-polyglossia); any tip? The current package definition looked like
<apteryx>and the build fails due to "Package polyglossia Warning: No hyphenation patterns were loaded for `latex'" (I think)
<atka>hi guix, booting into guix installer on ryzen 4750g, radeon,pcspkr both black listed. I've been hung for 10 minutes with: udevd[197]: no sender credentials received, message ignored
<atka>any tricks to get guix installer to run on stubborn hardware?
<atka>got it, had to blacklist amdgpu as well
<abrenon>hi guix
***lukedashjr is now known as luke-jr
<kitty1>abrenon: yo
<jpoiret>hmmmm, does kmscon work with kms disabled? if so we could make it the default option in the installer
<jpoiret>iirc kmscon is not really maintained anymore too
<civodul>Hello Guix!
<jpoiret>lilyp: oh noes, someone already fell for your mail
<rekado>sneek: later tell apteryx I’ve been trying to fix polyglossia for months, but haven’t been successful. There’s an open bug report about it.
<abrenon>oh, april's fool mail ?
<rekado>sneek: botsnack
<jpoiret>abrenon: yup
<abrenon>missed that : )
<rekado>in guix/store/deduplication.scm there’s a version of dump-port that might no longer be needed since the version in (guix build utils) accepts an optional len argument
<abrenon>that's excellent ! thanks for the laugh lilyp !!
<kitty1>what is this email yall are referring to? I havent connected any email to anything related to guix yet lmao
<rekado>sneek later tell apteryx This is my old stash of polyglossia-related changes:
***iyzsong-www is now known as iyzsong-w
<kitty1>abrenon: lmao nice
<atka>sneek: botsnack
<tschilptschilp23>Hi guix!
<attila_lendvai>is there anyone who is using geiser to interactively develop guix code? how do i make sure that the guile that geiser starts in my emacs is loading the same code that a make -j does in the terminal?
<attila_lendvai>for me it seems to be loading .go files from .cache/guile/ccache/3.0-LE-8-4.6/..path../guix/gnu/build/linux-container.scm.go
<minikN>Hello, how would one mount a simple nfs network share in guix? I've searched the docs but couldn't find anything.
<jpoiret>minikN: wouldn't a usual file-system with type nfs work? just a though
<jpoiret>thought *
<minikN>I dont know if it would. I couldn't find anything related to that in the docs.
***iyzsong-www is now known as iyzsong-w
<littlebobeep>attila_lendvai: Is there a way to config it to use .scm directly and not the .go files?
<minikN>jpoiret: I guess hasn't been merged?
<attila_lendvai>littlebobeep, that's not really an option. i want to load all of guix into it, and interactively develop the code. i think it would be prohibitively slow to load everything from .scm.
<littlebobeep>attila_lendvai: Yeah for interactive development though don't you need .scm files? About slowness, do you know how to benchmark this?
<attila_lendvai>littlebobeep, i don't even know how to make it work. in fact, i'm not even sure what's happening: i get an error at shell+make, but i don't get it in geiser. my assumption is that the syntax rules i've changed are not alive when loaded into geiser.
<jpoiret>minikN: that seems to be about having a root NFS, not a simple nfs mount
<attila_lendvai>is there an expert in macros around? in (gnu services configuration) i have i really hard time to teach DEFINE-CONFIGURATION to accept for the (TYPE DEFAULT-VALUE) also (TYPE) and simply TYPE forms, and use 'DISABLED as the default value when not specified. any hints would be appreciated!
<attila_lendvai>i did the same for match-record recently, but that one is using define-syntax, while this one is using a helper function and syntax-case
<jpoiret>just a heads-up, capital letters are used for variables, bound names are fine in lowercase
<attila_lendvai>i just want to keep what i write readable for humans
<jpoiret>maybe i spent too much time reading guile docstrings but that read weird to me :p
<jpoiret>what exactly are you trying to do?
<jpoiret>i'm reading the define-configuration code rn but i'm not very familiar with how it's used
<jpoiret>seems to me that only (TYPE) and (TYPE DEFAULT-VALUE) are supported
<jpoiret>not TYPE
<jpoiret>it would definitely be possible to support that syntax but i don't think it'd be desirable
<jpoiret>about 'disabled as the default value when not specified, wouldn't it also be an issue wrt. change in behaviour?
<attila_lendvai>jpoiret, in parallel i'm also replacing the use of 'disabled with *unspecified*
<attila_lendvai>jpoiret, and cleaning up all usages of define-configuration
<jpoiret>btw, i was thinking that instead of using symbols to denote the disabled value (which would clash with a possible actual value of 'disabled), you could use something fresh, like (define config-disabled (list 'disabled)), so that (eq? config-disabled (list 'disabled)) is #f unless you're really using config-disabled
<jpoiret>FTR, quoted lists may not be fresh, whereas list and cons always return fresh list objects
<attila_lendvai>it all seems to work out pretty well, but i'm stuck at this last step
<jpoiret>so do you want the value of a field without a default value set to be *unspecified*? or 'disabled? i didn't really get it
<attila_lendvai>jpoiret, *unspecified*, but i didn't want to complicate my initial question, which is unrelated to the 'disabled -> *unspecified* refactor.
<jpoiret>what did you already modify? you said you modified match-record
<attila_lendvai>jpoiret, that is an orthogonal patch: (but implementing something similar)
<attila_lendvai>jpoiret, what i'm stuck with can be added to vanilla master. in fact, to simplify things, i'm trying to do it on top of vanilla master first
<jpoiret>attila_lendvai: you'd have to modify to include (default *unspecified*)
<attila_lendvai>jpoiret, the issue is how to "redirect" the syntax-case... in master it's only matching on (field-type def ...), but i want it to match on a simple symbol, too
<jpoiret>that's what I was saying earlier, (field-type) will work, and adding the bare field-type case is useless imho
<jpoiret>you could technically do it, but it'll require some indirection
<jpoiret>the same is true for (define-record-type* ...)
<attila_lendvai>jpoiret, it's not useless, but aesthetics. arguably useless, but why would i need to write (field1 (maybe-string) "") instead of (field1 maybe-string "")?
<jpoiret>because it's simpler syntax?
<jpoiret>having more cases makes for a more unclear experience
<jpoiret>although, you could make a case for the whole interface to be changed
<jpoiret>right now it doesn't have the flexibility of define-record-type*, ie all its arguments are positional
<jpoiret>it'd be better if you could write (field1 (type maybe-string) (default "helloes") ...)
<jpoiret>and switch all of them up freely
<attila_lendvai>jpoiret, not in my view. d-c is a layer on top of d-r. if it's not any/much less verbose, than why not just use d-r?
<attila_lendvai>then all it would add is serialization
<jpoiret>which is already a huge deal :p but yeah, for sure
<attila_lendvai>then serialization support should be added to define-record*
<jpoiret>but still, adding () is not the biggest deal
<jpoiret>right, that could also be interesting it itself
<attila_lendvai>i'll postpone this issue then, and send a first patch without eliminating the ()
<jpoiret>in *
<jpoiret>actually, define-configuration is pretty ugly
<jpoiret>the first branch of the if that i was talking to you about will actually never be hit i think
<jpoiret>because earlier, field-default is set to #''undefined if there's no specified default value
<jpoiret>and that if actually matches on that field-default
<attila_lendvai>it's ugly indeed i think. i'm still trying to grasp hygienic macros, and it doesn't feel like the best testbed for excercises... :)
<jpoiret>oh actually no it'll be hit, but it's very ugly
<tschilptschilp23>Hi! I'm having an issue ssh-ing into a qemu-guix-guest (set up through installer): I haven't use guix as an openssh-server so far, so quite possibly it's something obvious! The qemu host is a debian-11, I'm forwarding ports as with all the remaining vms.
<tschilptschilp23>Well, I have used the guix' openssh-server before, but just on a guix host -> guix-vm setup. This is not what I'm after right now.
<tschilptschilp23>I think this vm is borked anyway, will make a fresh one.
<PotentialUser-84>hi guix!
<sneek>PotentialUser-84, you have 1 message!
<sneek>PotentialUser-84, acrow says: After installing your new R library did you try uninstalling and then reinstalling the main R package? I'm just guessing after thinking about your problem for awhile. I'm guessing that this will rebuild your RPATH and enable that new library.
<PotentialUser-84>i was trying to build guix from source during the installation
<PotentialUser-84>but got this problem
<PotentialUser-84>cannot get linux-libre from
<jpoiret>hmmmm maybe the PotentialUser nicknames are transient and shouldn't be picked up by the bot
<PotentialUser-84>also not found here
<PotentialUser-84>and here
<PotentialUser-84>and literally all sites
<PotentialUser-84>tried in stable and lates builds
<PotentialUser-84>nothing here also
<PotentialUser-84>oh wait
<PotentialUser-84>substitutes works
<jpoiret>are you trying to install a specific kernel version or is that the default one? and are you using guix 1.3?
<PotentialUser-84>default one
<PotentialUser-84>from source
<PotentialUser-84>guix pull --no-substitutes
<jpoiret>it's highly unlikely that 5.4.20 is the default one for guix
<PotentialUser-84>i dunno
<PotentialUser-84>i just booted guix stable image
<PotentialUser-84>parted my disk
<PotentialUser-84>mounted partitions
<PotentialUser-84>started herd store
<jpoiret>my guess is that you're not using the fresh guix pull'ed guix
<jpoiret>what does `which guix` tell you?
<PotentialUser-84>oh, i need start installation to answer
<PotentialUser-84>so i boot 1.3.0 stable image
<PotentialUser-84>so, i booted
<PotentialUser-84>which guix returns /run/current-system/profile/bin/guix
<jpoiret>after guix pull'ing? if so, you're still not using the freshly pull'ed guix
<PotentialUser-84>when i try to to guix pull --no-substitutes it returns me an erorr about linux libre headers which are not found
<PotentialUser-84>i tried to init system without guix pull
<jpoiret>ohh, the error's on `guix pull` itself? sorry i hadn't caught that
<PotentialUser-84>also with --no-substitutes
<PotentialUser-84>and faced same problem
<PotentialUser-84>with linux-libre-5.4.20
<PotentialUser-84>i will make a paste
<PotentialUser-84>so, as i see, it means guix is not reproducible without substitutes
<PotentialUser-84>and sure if i use binaries from ci it will work
<PotentialUser-84>but my goal was to build system from source
<jpoiret>i'm trying to understand where those headers come from
<jpoiret>i also have them in my store for some reason
<jpoiret>isn't there a more complete traceback from when you tried doing `guix pull`? something like `this error occured while trying to build x` `can't build x because its dependencies can't be built`
<PotentialUser-84>jpoiret: i think u mean this
<jpoiret>can you go into .cache/guix/checkouts/, one of the folders inside should be a clone of the guix repo. Can you tell us what the latest commit is? (topmost entry of `git log`)
<jpoiret>if it did successfully pull there ofc
<jpoiret>ah actually no, it won't be an issue with that
<PotentialUser-84>i cannot pull
<PotentialUser-84>i mean
<PotentialUser-84>i kinda can
<PotentialUser-84>git works
<PotentialUser-84>but then it starts to build packages
<PotentialUser-84>and i face same problem with linux-libre source code
<PotentialUser-84>which is not available
<PotentialUser-84>wich does not exists*
<PotentialUser-84>so as i understand problem maybe related to some package wich requires non default linux-libre version
<jpoiret>yes, i'm trying to see if that old guix's gcc-toolchain has a ref to these linux-libre headers
<jpoiret>you don't ever see the `Computing Guix derivation /` right?
<PotentialUser-84>i dont
<jpoiret>soooo, i have bad news for you
<jpoiret>but also a workaround
<PotentialUser-84>use binaries?
<jpoiret>you won't be able to locally build the newer guix because the 1.3.0 era gcc-toolchain can't be built because of this
<jpoiret>but, you can totally hop onto any linux distro you like/have, install guix's dependencies and build it locally following
<jpoiret>then, you'll be able to generate an install image by doing `./pre-inst-env guix system image -t iso9660 gnu/system/image.scm`
<jpoiret>you won't need to run `guix pull` on the install image because it'll already have the newest guix (but you should still be able to)
<PotentialUser-84>yeah it's great
<PotentialUser-84>but i also has this problem without guix pull
<jpoiret>by the way, if your motivation for building guix locally is protection against malicious prebuilt binaries, downloading the 1.3 installer image already breaks that promise
<PotentialUser-84>when i just trying to initialize system
<jpoiret>yeah, if you want to build anything locally on the 1.3 image it's going to fail for the same exact reason
<jpoiret>you could also just download the latest image from the website if you don't care about downloading binaries
<PotentialUser-84>it was more like "hm, am i able to do this" thing
<PotentialUser-84>so okay
<jpoiret>building from git is pretty easy as long as you can get the deps
<PotentialUser-84>but what if i will build from git and then try to install system with no subsitutes
<PotentialUser-84>that's an interesting question
<jpoiret>it'll work with the new version
<jpoiret>the issue here is that for `guix pull` to succeed and give you a newer guix, it still needs to use the gcc-toolchain of the old guix (1.3.0), which it doesn't seem to have locally, so it'll try building it but can't do so because one of its dependent can't be built
<PotentialUser-84>okay so, i am gonna install guix with bins then build guix from git in it and try to do this again
<jpoiret>i wonder how swh fallback would work with this (i've never use it though, maybe someone else could chime in)
<PotentialUser-84>what is swh?
<jpoiret>software heritage
<apteryx>has anyone managed to have hyphenation working with LaTeX in Guix?
<sneek>apteryx, you have 2 messages!
<sneek>apteryx, rekado says: I’ve been trying to fix polyglossia for months, but haven’t been successful. There’s an open bug report about it.
<sneek>apteryx, rekado says: This is my old stash of polyglossia-related changes:
<apteryx>rekado: it seems the dtx provides all the files in my case after extraction
<apteryx>except "/tex/latex/polyglossia/arabicnumbers.sty", it seems
<tschilptschilp23>totally useless having destroyed a functional vm, I rebuilt a new one, and now started laughing about a fool on too much coffee too.
***sebbu2 is now known as sebbu
<apteryx>sounds like you're having a blast, eh
<tschilptschilp23>you can believe me, I do. If you have a hint, what I should do with it, I'm all ears and in a destructive mood...
<rekado>apteryx: my attempts to fix polyglossia date back to before the most recent upgrade; could have been with texlive 2019
<civodul>is it me or xfce4-terminal stopped supporting hyperlinks?
<civodul>and i can't start terminology, nor gnome-terminal
<civodul>(the former crashes, the latter wants dbus thingies)
<civodul>any tips on how to get a fancy terminal that supports hyperlinks?
<abrenon>civodul: is there a very new version which would drop this support ?
<abrenon>cause I'm running it right now and can still open the one displayd in this chan at 14:59:39
<abrenon>or even when I spawn a jupyter-noteboo, for that matter
<civodul>abrenon: oh wait, i'm talking about terminal hyperlinks; for instance, if you run "guix show emacs", the location and license should be clickable
<attila_lendvai>python-bip39, a simple python package, 1 month pending:
<abrenon>Oo is that a thing ?
<abrenon>ok, it definitely doesn't work, I have no idea when it stopped working because I never knew that was supposed to be possible
<rekado>works for me in gnome-terminal
<civodul>abrenon: ah ha! i'm quite sure it used to work in xfce4-terminal as well
<civodul>dunno what happened
<apteryx>civodul: gnome-terminal requires GNOME IIRC, or at least some component of it because it's engine is D-Bus based or something equally crazy
<abrenon>all the time wasted when I could've used that cool feature ^^'
<civodul>heh :-)
<civodul>apteryx: yeah i figured it's something like that
<civodul>so i'll have to spawn a VM just to test a hyperlink-capable terminal
<apteryx>sounds a reasonable thing to do in 2022 ;-)
<apteryx>through a web browser
<civodul>right, that's the only bit i'm missing :-)
<civodul>then again, when will shell-mode/comint support that, i wonder
<apteryx>rekado: do you want to team up trying to fix polyglossia?
<apteryx>I can put my branch somewhere and we can try to debug things
<podiki[m]>kitty supports links by default I believe (though with ctrl+shift click I think)
<rekado>apteryx: I can try to help, but realistically speaking I cannot commit to debugging this.
<civodul>podiki[m]: oh thanks, much faster than spawning a GNOME VM :-)
<jpoiret>anyone know how channels are made available to guix? bin/guix doesn't seem to set-up channels, neither does etc/profile in the guix pull profile
<podiki[m]>I think termite as well (my previous favorite) though not sure how maintained now, maybe a community fork picked it up after original developer stopped
<unmatched-paren>hi guix \o
<unmatched-paren>i have this substitute*, but for some reason it doesn't work
<unmatched-paren>(substitute* "ftdetect/scheme.vim" (("autocmd") "autocmd!"))
<unmatched-paren>i don't see anything wrong with it...
<unmatched-paren>ice-9/eval.scm:196:27: Wrong type to apply: "autoload"
<civodul>podiki[m]: ah, but kitty wants 'xdg-open', what's the package that provides it?
<unmatched-paren>civodul: xdg-utils i believe
<civodul>coolio, thanks
<podiki[m]>although I bet you could change that in kitty's config to use your browser command directly?
<podiki[m]>I haven't tried customizing kitty much but seems like it has a a lot you can set
<apteryx>rekado: OK :-)
<unmatched-paren>^ the above substitute* is from my attempt to package vim-guile:
<unmatched-paren>but there's an issue that might be fixed by changing autocmd to autocmd!
<podiki[m]>the error says "autoload" though...?
<unmatched-paren>oh yeah...
<unmatched-paren>ok, now i have no idea what's wrong with it
<unmatched-paren>this package uses the `copy-build-system`, and one of the things in the install-plan is `autoload`, though i can't tell how that would cause it
<apteryx>rekado: my error message is the same as this:, so I've been thinking it's related to hyphenation
<rekado>apteryx: for reference, this is the bug report that prompted me to work on it:
<rekado>apteryx: I wonder if this is related:
<rekado>we seem to be having a problem with our pdflatex.fmt (and possibly also the other format files)
<rekado>they were built in an environment where babel and all the hyphenation stuff didn’t exist
<apteryx>that's why I'm trying to run 'fmtutil-sys' in the package definition as a temporary solution
<apteryx>but so far it doesn't seem to build the hyphenation support that is missing
<apteryx>I'll try adding babel to the mix
<jpoiret>unmatched-paren: try adding an extra quote on the install-plan replacement for the second package
<rekado>no, if the problem really is with how the fmt files are generated then we can only rebuild *those*. Adding something else to the environment *later* won’t work.
<rekado>obviously, I can’t say this with certainty, but that’s what the koma-script bug suggests.
<jpoiret>like so: ''(("autoload" ...))
<apteryx>rekado: my rebuild-formats phase prints this:
<apteryx>I'm running "fmtutil-sys" "--byfmt" "latex" "--byfmt" "xelatex" "--fmtdir=web2c"
<unmatched-paren>jpoiret: thanks!
<unmatched-paren>...and the plugin still doesn't work :)
<jpoiret>install-plan wants to pass its argument list as is to the builder (which is ... debatable)
<apteryx>rekado: oh! it seems to have worked with babel!
<apteryx>now I get ! LaTeX Error: File `bidi.sty' not found., and I can steal from your diff
<apteryx>progress :-)
<apteryx>we probably should have a texlive-latex-base which has all the formats correctly built, and turn the current texlive-latex-base into texlive-latex-base-bootstrap or something
<apteryx>another option would be to add some build-side & profile hooks, but that seems a bit wasteful
<rekado>yes, unrolling that bootstrap loop was what I was thinking about too.
*rekado should note that “texlive-latex-base” and “texlive-base” are terrible names
<rekado>apteryx: feel free to take whatever you find useful in that big diff!
<apteryx>civodul: still running my system with the new fiberized Shepherd; no issues so far
<vagrantc>as someone who doesn't knowingly use any fancy shepherd features, would i expect to notice anything new with the new shepherd? pretty much just use it to boot the system
<civodul>apteryx: yay! i think i'll reboot tonight
<civodul>i tend to rarely reboot
<civodul>vagrantc: it might boot a bit faster, logging is improved, and the ssh-daemon service is inetd-style
<civodul>that's the user-visible side of things
<jpoiret>civodul: i've been trying to find to no avail where the channels are added to %load-path in the guix script
<jpoiret>any idea where it might be?
<civodul>jpoiret: apologies, i meant to reply and then got distracted
<civodul>so, lemme check
<jpoiret>no worries :) a grep %load-path in guix/ didn't turn up anything relevant (at least from what i could tell)
<civodul>jpoiret: see %package-module-path in (gnu packages)
<civodul>it calls package-path-entries, and that gives the entries of the current profile (the 'guix pull' profile)
<jpoiret>arf, exactly what i was trying to look up but i didn't end up looking in gnu/
<civodul>BTW, re hyperlinks:
<jpoiret>ouch, so it's a top-level mutation
<civodul>it is!
<civodul>it has to be done early
<jpoiret>that's why i couldn't find it in the codepath
<jpoiret>(i'm trying to see if a guix pull profile nested into a profile would still be able to pick up other channels)
<apteryx>civodul: (about rebooting) me too; part of the reason is that it used to take 5 min (now 3, not too bad), the other reason because I need to enter my passphrase 3 times pre GRUB and 3 times post GRUB ;-)
<apteryx>(LUKS passphrase -- root on encrypted 3 drives in RAID1)
<civodul>apteryx: d'oh! indeed
<civodul>for me it's more to keep track of what i was doing before i interrupted
<djeis>Does anyone know if there's already a solution to making ovmf/efi VMs using libvirt atop guix system? Because I think managed it, but I needed to make a tweak to the ovmf package to do it.
<PotentialUser-77>Could someone update the libusb package pls? The new version seems fixed problems when connecting iphone.
<apteryx>I like how xelatex uses fonts via fontconfig
<podiki[m]>libusb has a lot of dependents :|
<podiki[m]>does lualatex also? I remember using lua or xelatex since both were easy to do fonts unlike standard latex (at least a bunch of years ago)
<apteryx>podiki[m]: not sure about lualatex, I've never used it
<podiki[m]>at least for me I've use lualatex or xelatex interchangable I think
<podiki[m]>I haven't needed special features beyond regular latex, but fonts were always difficult there
<PotentialUser-77>Will update libusb breaking dependencies? I really don’t know these things.
<podiki[m]>well updating it would require the 1000 or 2000 packages that use it to be rebuilt, which is typically reserved for branches that won't be merged for some months
<podiki[m]>is there a particular package that needs the libusb update? you could use package transformations to do that just for that:
<akonai>Is the plocate package broken? It tries to find the updatedb database in it's store directory, which errors out since the store is immutable
<PotentialUser-77>oh it’s not a building problem. usbmuxd can’t connect to my phone correctly with libusb 1.0.24. And it is fixed in 1.0.25. That’s why i want to update it.
<akonai>looking at the plocate package, sharedstatedir is set to the output in the store which seems like an error
<PotentialUser-77>i install usbmuxd in the user profile and execute it with ~sudo usbmuxd -z -f --verbose~. Then i get error output after iphone plugged in: libusb: warning [parse_config_descriptors] config length mismatch wTotalLength 39 real 30
<PotentialUser-77>libusb: error [parse_config_descriptors] descriptor is not a config desc (type 0x00)
<PotentialUser-77>i go to github and find it an error of version 1.0.24 and is fixed in version 1.0.25.
<PotentialUser-77>Can i update it if i remount the store to rw and alter libusb.scm manually
<jpoiret>no, that's not how you should do it
<unmatched-paren>you should ****NEVER**** manually edit the store
<akonai>PotentialUser-77: you should define either a new package or a derivative package using the already existing package definition
<jpoiret>you can try `guix build --with-latest=libusb libusb` first and see if it builds
<jpoiret>if so, you can then try `guix package -i usbmuxd --with-latest=libusb`
<unmatched-paren>PotentialUser-77: you can use (package (inherit ...)) to create derivative packages
<unmatched-paren>and then change some fields
<unmatched-paren>like this:
<jpoiret>you should use (package/inherit libusb ...) instead
<jpoiret>otherwise there can be issues with grafts
<unmatched-paren>extended example: (package/inherit foo-v1 (name "foo-v2") (arguments (modify-keyword-arguments (package-arguments foo-v1) ((#:foo-argument old-version-of-foo) (cons 84829 old-version-of-foo)))))
<unmatched-paren>...hum, ok :P
<vagrantc>rekado: so, i haven't fixed your pcie problems on the rockpro64, but your updates to avoiding openssl worked nicely, and were fairly easy to refresh for even newer u-boot ...
<apteryx>what can I do when meson fails finding a library?
<vagrantc>rekado: that said, guix system reconfigure works fine for me with current master, your patched 2022.01, and 2022.04-rc5 for me ... so the installation process seems correct to me
<unmatched-paren>apteryx: couldn't you try to see which package it is in the file, then `guix shell pkg-config -Df (package file)`, and try to `pkg-config --libs` or `pkg-config --cflags` the library?
<apteryx>woff2 lacks a pkg-config file
<unmatched-paren>most of the time, meson uses pkg-config i think
<unmatched-paren>ah, that is probably the issue
<apteryx>it bails out when there are no .pc files? it could, I don't know, test it, autotools style
<unmatched-paren>i'm not entirely sure, it probably will bail out
<unmatched-paren>usually it'll use pkg-config or cmake (if installed) unless the package is a known weird library like GL or Vulkan, in which case it'll use whatever it's been programmed to do when it encounters one of said stupid libraries
<unmatched-paren>apteryx: you mean testing if -l(library) works?
<unmatched-paren>s/one of said stupid libraries/said stupid library/
<unmatched-paren>bad choice of wording :)
<apteryx>seems it uses pkg-config and falls back to cmake:
<unmatched-paren>but (name of pkg-config library) != (name of .so)
<unmatched-paren>let me find an example
<unmatched-paren>of course, the build system also needs to know where to -L, which in this case is the store
<unmatched-paren>how does autotools handle that?
<unmatched-paren>ok, i found an example
<unmatched-paren>oh, wait, apparently not an example
<apteryx>ah, here's also compiler.find_library()
<unmatched-paren>ok, an actual example: x11.pc
<apteryx>so perhaps if I substitute dependency() for compiler.find_library() it may help
<unmatched-paren>x11's library is libX11, not libx11, so -lx11 would probably not work
<unmatched-paren>and obviously many libraries have dependencies...
<unmatched-paren>here's an extract from cairo.pc: Requires.private: gobject-2.0 glib-2.0 >= 2.14 pixman-1 >= 0.30.0 fontconfig >= 2.2.95 freetype2 >= 9.7.3 libpng xcb-shm xcb >= 1.6 xcb-render >= 1.6 xrender >= 0.6 x11 xext
<unmatched-paren>(yeah, its whitespace is weird, not sure why)
<vagrantc>rekado: i wonder if the NVMe support is somehow interfering
<unmatched-paren>checking if -lfoo works sounds like a pretty bad way of locating libraries, ngl
<unmatched-paren>i could see how cmake looks for libraries, but i'd have to wear sunglasses or the cmake source code would burn my eyes
<unmatched-paren>actually, why not, for the fun of it :)
*unmatched-paren books an ophtalmologist appointment just in case
<unmatched-paren>first sign of horrors ahead: the directories are Capitalized
<unmatched-paren>um, why did qutebrowser freeze up as i opened the Source directory? uh oh...
*unmatched-paren has never seen so much *.cxx
<apteryx>yep, Meson's find_library, which uses the compiler fixed it
<unmatched-paren>cmake has an XML parser, a Visual Studio(R) project generator spanning thirty-six files, a graphviz file writer, what seems to be implementations of multiple cryptographic hash functions, lexers and parsers for Java and Fortran, a generator for DEBs, RPMs, FreeBSD packages, nuget packages, cygwin packages, and windows installers, a Qt GUI, a Curses GUI, an (approximately) 100-file testing framework
<unmatched-paren>(with a code coverage system), and a plugin API.
<unmatched-paren>I have barely looked at any of its files, and I am already traumatized.
<unmatched-paren>... I think i'll close this tab now.
<florhizome[m]>Hi guix,
<florhizome[m]>the go importer hangs when I try to import the newest rclone, because rclone lists submodules of a package (azure/go–autorest) as single dependencies, though they obviously aren’t singularly packaged. I just imported and built that package now, can I somehow include it and import again so that the package and submodules would not be imported?
<florhizome[m]>unmatched–paren: I basically built most of these nwg–shell packages the last day btw!
<unmatched-paren>oh, neat!
<singpolyma>florhizome[m]: if you put the package in your local get fork and run the importer from preinstenv I think it will skip it as already existing
<terramorpha>I everyone, when I manipulate "file-like objects", is there a way to get it's `name` field in a generic way ?
<apteryx>grep for 'file-like->name' for a non-general workaround
<apteryx>used in the pulseaudio service
<tribals>Hello! :)
***alMalsamo is now known as littlebobeep
<tribals>I want to try to contribute a package update to upstream. I followed instructions from manual in section "Building from Git". So, now I have a git copy of whole Guix, can edit package definitions and test it's building. But I want to battle-test it if I can. One such way could be to use that updated package in, eg. CI environment - run it on some load and see it will not fail. So, I want to use that updated package in other project (whose dependencies
<tribals>managed with guix). How can I do so? You see it: I want to keep working in "upstream" source because it is simply, *but* I want to use it *before* submiting to upstream (or trying to do so)
<singpolyma>tribals: you can ./pre-inst-env guix install
<singpolyma>Or shell
<tribals>singpolyma: That's actually a problem. I don't want to depend on ./pre-inst-env
<tribals>Could I just "pull from my local copy of upstream"? Or something
<singpolyma>tribals: well, you could pull or time machine from your repo and actually run that guix as your "normal" one if you really want
<tribals>I didn't understood yet what is a channel. Could that be done with channel?
<tschilptschilp23>tribals: this is very helpful on channels: You could eg place your package definitions in a github (or something else) repo and then pull&and install or test 'the same way' as if it would in the official repos...
<civodul>apteryx: i'm running that newfangled shepherd and it works like a charm so far!
<tribals>tschilptschilp2: That's actually a thing I want to avoid. I want to stay in Guix (local) repo.
<singpolyma>tribals: channel contains only packages, not guix
<singpolyma>If you extract your package module you can just use guix install -L.
<tribals>I also overwhelmed by this kind of messages:
<tribals>;;; note: source file /home/tosh/projects/guix/guix/ui.scm
<tribals>;;; newer than compiled /home/tosh/projects/guix/guix/ui.go
<tribals>Is there a way to disable it or something?
<tribals>singpolyma: isn't a guix repo a channel by itself? I.e. a "channel" is a collection of packages, and guix repo is a collection of packages?
<singpolyma>tribals: find -name '*.go' -delete
<singpolyma>tribals: the main guix repo has packages but also the rest of guix itself
<civodul>tribals: more importantly, run "make" to make sure .go files are up-to-date
<tribals>do I need to keep "packages" thing in sync with "rest of guix" thing?
<tribals>civodul: Just looked at Makefile, seems it is generated. Is there any "build automation" for Guix itself? Like "make do-useful-thing-like-update-specified-package-to-new-version"?
<civodul>tribals: that's not "building" per se, but there's:
<tribals>civodul: thank you
<jab>howdy guix!
<tribals>civodul: > that's not "building" per se
<tribals>I agree. Actually I'm looking for something more "general". There is no such thing for now
<civodul>tribals: what kind of automation do you have in mind?
<tribals>civodul: the notion of "building" is very vague nowadays. Basically, people meant "do whatever it need to be done in order to do useful thing", where "useful thing" varies from "just compile source code" to "lint sources before pushing it to remote git repo" to "just bring my application dependencies so i can reach them" to "manage kubernetes cluster"
<tribals>Basically, I want to do all that, and more
<civodul>tribals: ah sure, so it won't manager your kubernetes cluster, for sure :-)
<civodul>but other than that, there's "guix lint", "guix deploy", that kind of thing
<tribals>This is why I'm very interested in Guix! To me it looks very promising!
<littlebobeep>civodul: What is newfangled about shepherd?
<jab>littlebobeep: I suppose you are referring to the fiber-ized shepherd. That speeds up guix system's boot time.
<littlebobeep>jab: Where can I read about this?
<jab>littlebobeep: I will send you a link
<jab>just a sec
<jab>There is also
<jab>If you are running guix system, then you can actually test it.
<jab>The second link show you how.
<tribals>I just noticed that invoking `./pre-inst-env`'ed guix cause warning about stale compiled files, but running guix comes from local copy, and compiled files comes from guix in my "guix-home"
<tribals>Eg `~/.guix-home/profile/lib/guile/3.0/site-ccache/guix/utils.go`
<tribals>I'm missing something?
<jab>I had some fun sanitizing record fieldnames today. It
<jab>is always fun to learn now things.