<atw>does anyone else use inconsolata in emacs? with the updated inconsolata each character is given twice the space it needs, kinda l i k e t h i s. I have a screenshot if anyone has a recommended image host
<atw>(in the meantime I'm using Noto which is nice and I might stick with it)
<valignatev>Hey Guix! I have a question about modifying phases during the build. Specifically, I want to patch some source file of a cargo dependency. Standard configure phase stores dependencies in a vendor-dir which happens to be "guix-vendor" by default and it unpacks dependencies to a folder that constructed as a package-name + version + .tar.gz. Here's my
<valignatev> question: Is there a generic way of getting a vendor-dir inside a custom phase and how to get a dependency directory without hardcoding it? My current snippet is kinda like this: https://paste.debian.net/1125559/
<valignatev>Hardcoded version works, but I'm sure there's a better way
<str1ngs>valignatev: dependencies are called inputs you can get them like this (assoc-ref inputs "depend")
<str1ngs>valignatev: if the input was called depend. that would return depends output directory
<str1ngs>also this assumes you used depend as the key name for the input
<valignatev>Unfortunately, it only works with inputs but not with cargo-inputs that are declared as #:cargo-inputs argument to a build system
<valignatev>There's a plenty of examples with plain inputs in guix repo, but I failed to find something useful for my case
<valignatev>Another question: how to delete some input from package-inputs by a package name? both delete and delq throw Throw to key `match-error' with args `("match" "no matching pattern" when I'm trying to pass something like `(delete ("input-name" ,input-package) ,inputs) to a substitute-keyword-arguments
<valignatev>Where inputs is a list of pairs like (("name" package) ("name2" package2) ("name3" package3))
<valignatev>I can write a custom predicate, but I wonder if there's something out of the box
<leoprikler>valignatev I'm pretty sure you want to use alist-* functions
<leoprikler>if they end on a !, don't forget to copy-sequence
<valignatev>Yeah, I've tried assoc-remove! and friends without any luck
<leoprikler>you could also use SRFI-1 remove with (lambda (item) (equal? (car item) key))
<valignatev>Hm, I think that the error happens not where I thought it was. It appears that cargo-build-system tries to match on its inputs before the snippet executes. So I shouldn't quote it
<valignatev>I mean, cargo build system expects its inputs alist but gets my quoted code
<leoprikler>all build systems expect an alist of (name package [output])
<valignatev>Yup, it's correct, cargo parses its inputs as is, so I shouldn't quote keyword substitution snippet. With that being said, simplest possible (delete) works now. I quoted substitute-keyword-arguments snippets because of some examples that I've found which I think I didn't fully understood
<valignatev>leoprikler: your suggestions pointed me to the right direction, thanks!
<raghav-gururajan>valignatev May be it is better to do a 'manifest' file, with declaring custom package definitions for your packages of intrest, to 'inhert' original package definitions and remove mentioned inputs.
<valignatev>that's what I did - I declared a new inherited package definition where I removed mentioned input
<valignatev>Is there a way to do (package-arguments) inside of modify-phases? Something liks (modules ...) for source snippet maybe? I've tried to straight up (use-modules (guix packages)) but it can't find the module this way
<valignatev>Specifically, I want something like (package-arguments this-package) inside of my modify-phases
<leoprikler>valignatev: you would have to unquote (,) that either way, because this-package is not bound during build
<leoprikler>depending on your context perhaps ,@ instead of ,
***Server sets mode: +cnt
<leoprikler>Is there a way to refer to the outpuf of a hook in advance?
<nixo>Yes, but since I added also olivetti and poet-theme together with the upgrade, I can't be 100% sure on what's causing it. Btw, undo-tree-move-GC-elts-to-pool has been added in 0.7, and 0.7.1 is out, so hopefully it got fixed
<oriansj>nckx: your btrfs advice to run btrfs check --repair; actually is supposed to be a last resort solution. if you check out my current btrfs notes: https://paste.debian.net/1125586/ I have the current recommended procedure for fixing a btrfs system.
<valignatev>leoprikler: Thanks for your advice to unquoting needed stuff into the phase modification function before it got sent to the build system, it totally worked. I got burned by an infinite recursion once while trying to get this-package arguments while getting this-package arguments but I was able to work around that
<drakonis>hmm, is it strange that my fonts arent updating?
<NieDzejkob>my fonts also aren't updating, I have to run fc-cache each time
<valignatev>Before I do this - is there a way to debug this myself? Some verbosity level or something?
<hexagonal-sun>Also another question if people don't mind, is there a way to speed up the building of '-profile' when a package is installed? It seems to be going really slow on my machine.
<g_bor[m]>Also I see you are running this in make.
<g_bor[m]>Can you tell me something about what you are trying to achieve?
<valignatev>I just packaging a lot of cargo packages and I definitely misplaced some field somewhere
<valignatev>I'm 100% sure that this is an easy typo, but how do I find where it is
<valignatev>In worst case scenario I'll just traverse my undo tree, but I think it's a good opportunity to learn more about how to debug guix
<g_bor[m]>maybe you could try to load the module from a repl, but I am not sure thaat you will get more details...
<valignatev>Whoa, I actually have something more now: unknown location: package: invalid field specifier in form #:cargo-development-inputs. It still doesn't give me a line number though, but it is more useful at least
<sameerynho>how can I ask guix to open up an editor beside emacs for `guix edit` ?
<leoprikler>It normally takes me between 22 and 24 minutes to reply, though.
<g_bor[m]>:) this one was within a minute, but might be an outlier...
<valignatev>Found my issue by rigorously scanning through my undo list. Indeed an easy typo - I places #:cargo-development-inputs outside of (arguments in one package. I wonder why guix doesn't display a line number for such mistake. Probably I should report this
<leoprikler>Well, it was at the end of the 22 minutes I was talking about ;)
<g_bor[m]>I am trying to bisect this installer bug right now.
<roptat>if it's going to have a lot of dependents, probably put it in a separate file, otherwise it's fine in java.scm
<nckx>So not Java, but we don't have a jvm.scm file so whatever.
<NieDzejkob>mbakke: I noticed that you left a comment mentioning upstream's thread-safety concerns with making libcurl reading env vars, do you happen to know where that discussion happened so that I could make sure my patch addresses these concerns?
<NieDzejkob>(I tried searching the GitHub issue/PR tracker, but perhaps I'm using the wrong search terms)
<mbakke>NieDzejkob: I don't have the links at hand unfortunately (it was some mailing list discussion IIRC).
<sirgazil>Looking for boot logs, I found this file called "/var/log/messages" and discovered that it has messages from the time I installed Guix System to date. Is this normal? The file is now ~730 MB.
<kmicu>nckx: complexity bomb called use flags aka package x is broken on my computer but works on default installation.
<drakonis>NieDzejkob: check your PR on curl's repository, daniel replied
<drakonis>kmicu: i dont get it, why not just provide the means to do that and then let people go do whatever
<drakonis>the default package definitions are the ones that will be built with cuirass
<kmicu>drakonis: If we only add means but not test it (so build it at least once) then we will create a lot of broken packages and a lot of support traffic with dissapointed users.
<raghav-gururajan>sirgazil Woah! Thanks for the revalation. I just found out that my '/var/log/messages" is ~230 MB. I believe this is pretty serious. Could you post it to guix-devel or bug-guix please? You can also include that I have the same issue. :-)
<alextee[m]>is it normal that my root partition is 50 gb full now ? even after gc it stays pretty high
<alextee[m]>is there anything i can do to minimize storage used by guix?
<Gooberpatrol66>where can i find documentation about how snippets/patching works
<raghav-gururajan>alextee[m] I usually do this once every 4 weeks. I run the following in this order. First as User: `guix profile --delete-generations` --> `guix package --delete-generations` --> `guix gc --delete-generations`. Then as Root: `guix profile --delete-generations` --> `guix package --delete-generations` --> `guix system delete-generations` --> `guix gc --delete-generations`. This might be useful for you. :-)
<kmicu>alextee[m]: you could note hashes of those qemu packages and inspect what holds them.
<raghav-gururajan>alextee[m] I usually do this once every 4 weeks. I run the following in this order. First as User: `guix pull --delete-generations` --> `guix package --delete-generations` --> `guix gc --delete-generations`. Then as Root: `guix pull --delete-generations` --> `guix package --delete-generations` --> `guix system delete-generations` --> `guix gc --delete-generations`. This might be useful for you. :-)
<jojoz[m]>Anyone here have / know of any programming language using Guix as the canonical package manager? Like, even when Guix is not the system package manager of the distro.
<NieDzejkob>I need help with regex-fu. I've got this: (substitute* "scripts/xdg-screensaver.in" (("(?<!ERROR: )xset") (which "xset"))), but guile's regexes don't support negative lookbehind. I have to match 1. xset at the beginning of an indented line, 2. if xset, 3. not match xset in an ERROR string
<NieDzejkob>or is the preferred way of doing this to add a PATH entry in a wrapper or at the top of the script?
<jojoz[m]>Is that even a good idea? It feels like it would be -- Guix today has basically the same features as e.g. Stack does for Haskell.
<kmicu>Hi jojoz[m]: I don’t think there’s any. Idris experimented in using Nix but that’s not the thing too.