IRC channel logs


back to list of logs

<nly>How do I combine two patches into one?
<nckx>nly: In which context?
<nckx>In a git repository: git rebase -i HEAD~$number_of_commits_back
<nckx>Then ‘squash’ or ‘merge’.
*nckx does that every 3 minutes, or so it feels like.
<nly>I think in a similar context, i send a patch, maintainer requests update kind of situation. It's easier with one patch?
<nly>Thanks, one question, will rebasing also merge other commits since then?
<nckx>nly: An interactive rebase just opens your favourite (well, configured) $EDITOR. Exactly which commits are merged, squashed, reordered, reworded, or even dropped is entirely up to you. If you exit without changing anything, nothing will change.
<nckx>I can't parse your line before your question.
<nckx>nly: Probably worth looking for a quick tutorial if you don't feel comfortable with what you see in your editor. Not really something I can explain over IRC.
<nly>Got it, thanks
<nly>btw, Don't you use Emacs/magit?
<nckx>I do, but don't usually give out magit-specific instructions to others who might not ;-)
*nckx → cookin'.
<OverSampled>Hello again
<OverSampled>So, I'm trying to get Nouveau to use my DP to HDMI 2.0 port to power a TV at 3840x2160@60hz; Some tips have pointed me to a kernel module parameter nouveau.hdmimhz=600
<OverSampled>I tried booting with that, and I realize it may just not work, but I can't figure out if the driver actually picked up that config
<OverSampled>Is there a way to see that?
<OverSampled>(besides just /proc/cmdline)
<OverSampled>I also was confused by all of the kernel arguments having '--' in front. Is that new for linux, specific to linux-libre, or am I just crazy?
<nckx>OverSampled: Neither, those aren't used by Linux but by the Guix System user space.
<OverSampled>So how do I pass in my own arguments?
<nckx>The -- don't really mean anything, I guess they're just there to look familiar.
<nckx>OverSampled: To modules? Like you did. If they're on /proc/cmdline, it worked.
<OverSampled>the --root, etc show up on the cmdline too though?
*OverSampled is still confused
<nckx>The kernel command line is a lawless place. It's just a string, containing whatever the boot loader put there. The kernel (and its modules) looks at it and handles what it recognises, ignoring the rest. User space can do the same. I'm not sure what exactly you're asking?
<nckx>As for nouveau: modules are entirely free to handle or ignore arguments (or be buggy and do something in between), there's no real way to see if something ‘worked’ if the module doesn't choose to printk some random stuff.
<nckx>‘modinfo nouveau’ says it should work: hdmimhz:Force a maximum HDMI pixel clock (in MHz) (int)
<nckx>I have no idea what the point of ‘600 MHz’ is or how it would solve your problem. Anything from nouveau in dmesg?
<nckx>Anyway, the Guix initramfs looks at the kernel command line too, and picks out the tokens it happens to recognise. In this case they all start with ‘--’ but they just as well could not have.
<OverSampled>from what I gather, Hdmi 1.2 had a max ~300mhz pixel clock; The driver for th displayport detects the adapter but may not recognize it's 2.0 (600mhz) capable
<nckx>(There was a big to-do several years back because systemd took Linux's ‘debug’ parameter to mean ‘debug me, too!’ and spewed so much useless vomit that it locked up systems. Linus was displeased.)
<nckx>OverSampled: Ah. I'd be rather suprised if the module didn't print anything informational to the kernel log (‘I'm using 600MHz whee’) but that's its prerogative. None of this is enforced, everyone does things differently, even inside the kernel.
<nckx>Does nouveau provide a /proc, /sys, or why not, debugfs interface where you might be able to read these things?
<OverSampled>I was able to get it to do 60hz (requires more than 300mhz) with some finagling, and I saw someone say it worked with proprietary drivers, I think
<OverSampled>I can look
<OverSampled>Let me restart with the parameter in place
<nckx>Actually, having said that, I think there's a way to pull out module parameters using one of those pseudo-fs'es, too.
<nckx>Ah! /sys/module/$foo/parameters!
<nckx>(But still, for something to show up on the kernel command line and not be ‘seen’ by a module would be a pretty unlikely bug.)
<OverSampled>@nckx, Sorry, probably missed something?
<nckx>OverSampled: Take a look at /sys/modules/nouveau/parameters.
<nckx>There should be a hdmimhz file you can cat.
*nckx doesn't have nvidia hw.
<OverSampled>Yes, it's there
<OverSampled>Sadly, it hasn't changed anything -- still comes up black when using 60hz
<OverSampled>Oh well, I guess I'll have to fiddle with it more later
<OverSampled>I should probably focus on the other problem: updating guix seems to have fixed the "every character is an unknown symbol" in firefox, but a lot of things now just show up as whitespace
<OverSampled>Especially numbers
<nckx>OverSampled: I'm about to buy a DP→HDMI adapter myself; is it a tricksy space?
<OverSampled>Just be sure to get a hdmi 2.0 if you're trying to do 4k
<nckx>OverSampled: Don't know what to say. I've never had any font problems like that…
<nckx>I didn't know there were multiple revisions. Thanks.
<nckx>OverSampled: And this is only with IceCat?
<OverSampled>I haven't seen it anywhere else
<OverSampled>xfce terminal still crashes if I try to set it to use the "system font" (whatever that is)
<OverSampled>Hello quiliro
<nckx>OverSampled: Could you paste( your ‘fc-list’ output?
<quiliro> if the guix manual has 200 000 words i can translate 300 per day
<quiliro>or maybe 400
*nckx wc -w doc/guix.texi
<nckx>122292 doc/guix.texi
<nckx>Only half ☺
<nckx>(And wc has a simlistic idea of ‘word’. ‘a’ is a word.)
<OverSampled>you can take the character count and divide by five
<nckx>I guess that's how quiliro got their number (189804).
<OverSampled>wgetpaste depends on wget being in the path, but doesn't have it as an input aparently
<nckx>OverSampled: The eternal debate ☺ Although I think this is a clear case of ‘shoul be’ for obvious reasons. I'll add it.
<OverSampled>The debate of whether dependencies should be added?
<nckx>Of which dependencies should be added as inputs and which should be left to the user to compose (‘late binding’). For example, even in Guix you want an application to look for fonts in the environment, not use a hard-coded list of inputs.
<nckx>I'm not familiar with wgetpaste, but given the name and what it does I'd say wget should just be an input.
<nly>Is there any reason by ublock(extension for icecat and chromium) didn't make it into guix packages?
*nckx is giving PC support on the phone if that helps explain their lack of coherence here.
<OverSampled>Can it not be a requirement that it pull in the things it needs if they don't exist?
<OverSampled>But otherwise use the one that already exists in the profile?
<nckx>nly: No (proposed) mechanism for how extensions for Icecat would be packaged, installed, and found.
<OverSampled>(So if you have something else that supports the wget api, it would use that?)
<OverSampled>nckx is awesome
<nly>1. packaged: like so
<nly>2. installed and found: Mbakke suggested some mechanism, i'll have to look
<nckx>OverSampled: Inputs in Guix are unconditional. So either it refers to wget or it doesn't. Now, we could add code to check if ‘which wget’ returns something and use it, otherwise fall back to the /gnu/store/…/wget input, but… yech. I think that's a few bridges too far and think any reviewer would agree. ☺
<nckx>nly: I'm happy with my (auto-updated, per-user) IceCat extensions but that would be a good feature to add!
<OverSampled>nckx, this starts to edge on the only territory I'm not quite happy about quix for :P
<nckx>The (relatively) fixed dependency graph?
<OverSampled>nckx I'm used to living on Gentoo, where libraries/drivers/features aren't built in unless something requests them
<nckx>OverSampled: I used Gentoo for years (and Exherbo for more) so I'm no stranger to it ☺
<OverSampled>I've seen a few small references on how to simulate USE flags, but they're all focused on either changing single packages or system-wide Make-file arguemnts
<nckx>But I don't quite understand wha—oh, USE flags.
<nckx>—t you mean, was what I was going to type. I thought you meant something dynamic at run time.
<nckx>OverSampled: Have you used Nix?
<nckx>They have something closer to USE flags: packages take arguments (it's how they get all their dependencies), but these arguments can also be (for example) a ‘withIPv6Support’ flag that changes the result.
<nckx>so you can do things like ‘vlc = { webcamSupport = true; useFfmpeg = false; }’
<nckx>That's just a made-up example.
<OverSampled>That's nice; makes senes
<nckx>I made heavy use of that when I was still a wee Nixer; probably because I came straight from Exherbo.
<nckx>I don't want to chase you away (I switched entirely to Guix from Nix, after all) but it's worth taking a look.
<OverSampled>Is there any support for selecting minimum inputs?
<nckx>In Guix?
<OverSampled>well, either
<OverSampled>but it seems to me that "useFfmpeg = false" would force it to build a version of vlc without FFMpeg
<OverSampled>wheras what I'm looking for is "requires VLC with at least webcam support; ffmpeg is optional"
<nckx>In Nix: you can ‘zero out’ some inputs (so you'd more likely use ‘ffmpeg = null’ instead of my made-up ‘useFfmpeg’ flag) and ffmpeg will not be available while building
<nckx>this might make VLC's ./configure script disable ffmpeg support nicely, or (and this is the big but) you end up with a broken package.
<nckx>In practice this is such a maintenance burden that nothing's ever tested.
<nckx>Which is why I've soured on the whole idea.
<nckx>Optional? As in, load at run-time?
<OverSampled>yeah, that's why the messages I've seen trying to ease Gentooers into guix by saying "It's like USE-flags, but they don't have to be specified in the package" makes no sense to me
<nckx>(In Guix, there is no support for package ‘flags’ at all. The way to customise packages is to write a custom replacement that can inherit from the original. More work, maybe, but more powerful and much less fragile in practice.)
<OverSampled>Optional as in it depends on a version of vlc with at least webcam support. if you update vlc to have ffmpeg before or after building, it won't care (but may have to rebuild -- I'm not picky)
<nckx>OverSampled: As one who's used both (or all three, if you count Nix) that argument to win Gentoo converts makes zero sense to me.
<nckx>Sounds like a good way to disappoint everyone when they do try out Guix.
<OverSampled>nckx, Anyone could do that on gentoo without USE flags though (you'd make your own ebuild) -- so that's definately losing a feature
<nckx>I'm starting to see where you're coming from.
<OverSampled>one mentions was here:
<OverSampled>(search use-flags)
<OverSampled>no hyphen
<nckx>But that's not how functional package management works: there is no ‘rebuild using whatever happens to be already built’.
<nckx>You build everything against an exact (to the point of bit-identical) dependency, not whatever you have lying around.
<OverSampled>nckx, I can get behind that
<OverSampled>The thing I miss is the ability to not require code to be built that I won't use
<nckx>I'm not saying there are no drawbacks to that (my hot CPU at this moment is testament to that, althoug I spent all my Gentoo/Exherbo days compiling anyway).
<OverSampled>For instance, I have radeon drivers installed due to Guix's package for Mesa building all of them without question
<OverSampled>Whereas Gentoo would only build the one I'm actually going to use
<nckx>OverSampled: I feel you. While Guix can be called a ‘source-based’ distribution, it doesn't have all features that people (correctly or incorrectly) associate with that term.
<nckx>It's closer to ‘binary’ distributions in that respect (although the dichotomy is false): mesa.rpm depends on radeon.rpm, why?, because it does. 😛
*nckx has never used an RPM distro and it probably shows but you get my point.
<nckx>It's 03:40 here, I should get myself to bed.
<OverSampled>I've had to touch one for work a bit. It's actually really easy to download the source package and build it yourself using their tools
<OverSampled>So, is it too late for Guix to add some of these? Does no-one else want them?
<nckx>I'd say that Guix gives you the tools to do the same (I could build my system without a single radeon dependency with some effort), but it's not as easy as setting a flag somewhere. The upside is I'm not bound to someone's choice of flags.
<OverSampled>no-one's bound to Gentoo's choice of flags...
<OverSampled>You can edit ebuilds just as much as guix packages
<nckx>> So, is it too late for Guix to add some of these? Does no-one else want them?
<nckx>I think it's safe to say this won't happen in Guix unless many people get hit by a bus. Consensus is against a heavily templated ‘if foo… else bar…’ set of packages. Sorry.
<nckx>But: you can edit guix packages just as much as ebuilds, too ;-)
*nckx must really to bed. G'night! 😴
<nly>Wow, I learned quite a bit from this conversation^
<nly>g night :)
<nckx>nly: Really? Because I'm frustrated at how poorly I'm expressing myself ☹
<nckx>Nice to hear. Thanks.
*OverSampled wishes there was a Guix meetup near him
<OverSampled>Thank you nckx ,have a good night
<nckx>If you can at all afford to come to FOSDEM, please do!
*nckx really AFK now, promise.
<OverSampled>I can't say I feel much better about my one peave than before, but at least I still love the rest of Guix
<OverSampled>It still feel's like I'm being given bundlewear when I download big packages :P
<nly>Isn't that due to how software works? For example: You include a whole package, when you need just one function from a library
<OverSampled>nly, many things take build flags for features
<nly>I mean, it's not automatic, someone has to add that option
<OverSampled>So when you build from source, you can build without some features, and it won't require those libraries
<nly>got it
<OverSampled>On Gentoo, you can add those options to the package description.
<OverSampled>So that part's not automatic, which is what the Guix guys keep saying
<nly>Ah, now I understand
<OverSampled>The automatic part is the dependency propogation: If I don't need that feature, it won't install that feature's libraries (and their whole dependency tree)
<nly>This sounds like a nice feature to have
<OverSampled>It is indeed! It's why we said the lack of this feature makes Guix less like a 'normal' source-based distro: Most of the other source-based distros build from source specifically to build only the options needed
<nly>But, even the automatic part would have to be implemented in a "functional" way.
<nly>I think you want even more customization than, For example emacs; emacs-xwidget; emacs-gtk?
<OverSampled>nly, as nckx said, Nix allows for non-package "arguments" as input which can deterministically define the output
<OverSampled>nly, that's the way a 'binary' distro would do it
<OverSampled>If you look in the USE flags section on that page, you'll see all the feature toggles that package has
<nly>There's local and a global one
<OverSampled>the global ones are standardized distro-wide to mean the same thing. The local ones are up to the package maintainer
<nly>Right, and it appears to me that you could even combine flags?
<reepca>doesn't it basically boil down to making certain inputs not available in the build environment and possibly changing some configure flags, usually? Seems like writing some package transformation functions to make that relatively painless shouldn't be too hard.
<nly>30 flags (local + global) is a lot of permutations, excluding any possibility of combining them too.
<OverSampled>nly, that's why it's a source-based distro
<OverSampled>If the results were deterministic and cached like Guix, the most common configurations would likely be available
<OverSampled>reepca, I keep hearing that. Do you really want to do that for every package?
<OverSampled>In Gentoo, that's the package maintainer's responsibility
<OverSampled>the "someone has to specify it" part people keep saying.
<OverSampled>In a distro where that's not supplied in the package description, you're not going to take the effort to remove it "eh, I'll just let it include all of these features I don't need"
<reepca>So is the difference that in Gentoo users need to add the features they want, rather than remove the ones they don't want/need?
<OverSampled>reepca, kinda :P
<OverSampled>but in general, that's handled by the dependency tree
<OverSampled>It is true, when using Gentoo, you're much more likely to say "Eh, I'll just let it not include these features I don't need that much"
<nly>to be fair, once these zillions of pkg variations are added maintaining them would be effortless with guix
<OverSampled>nly, that's why I'm looking at guix from a Gentooer perspective
<nly>A guix channel would be a great place to try it out
<reepca>I'm trying to catch up on the concept of USE flags right now, if I understand correctly it's basically a collection of keywords that an entire profile is customized with?
<OverSampled>reepca, That's how people seem to think their use is
<OverSampled>You can put them in your Make.conf to ue them everywhere
<OverSampled>But you usually do them per-package
<OverSampled>Some packages will require others with a specific use flag enabled or disabled
<OverSampled>many use flags are disabled by default until you enable them
<reepca>so the main utility is that someone else has already figured out how to tweak the build to honor those flags?
<OverSampled>pretty much
<reepca>but I imagine that for packages that share a build system and conventions, it should be pretty similar, right?
<OverSampled>maybe, I've not really written any
<OverSampled>I wouldn't trust putting in the config the same way blindly
<OverSampled>I guess for some of the major ones, you could use a channel someone else has done the work to remove said feature from lots of package
<OverSampled>But like you said, most gentooers would be looking for the other way around: all the packages defaulting to not having features, then enabling them later
<reepca>on an unrelated note, how does one grep for something that looks like an option? somecmd | grep "--with" doesn't work...
<nly>Maybe a macro like this? OverSampled
<nly>you would start with a minimal package then define new packages by adding flags
<nly>very basic and probably won't work
<OverSampled>I like it though!
<OverSampled>It brings us back to the many reasons I like Guix :D
<OverSampled>Because you can modify packages in place like that, there's pretty much no reason you couldn't make a Gentooer friendly channel (keep wanting to say overlay, the Gentoo parlance :P)
<reepca>well, 'modify in place' isn't the word I'd use, it's actually creating a new package with everything not specified defaulting to the old one.
<reepca>(functional programming nitpick)
<nly>OverSampled too late, I've already applied for a patent! :P
<OverSampled>It's getting later here too.
<OverSampled>Any chance y'all can help me get my IceCat's font to work?
<Blackbeard[m]>OverSampled: what's the matter?
<reepca>If you think about it, it's getting later everywhere, all the time.
<OverSampled>reepca, Time flies like an arrow, fruit flies like a banana
<OverSampled>lots of characters are showing up as tabs (or whitespace anyway) instead of what they're supposed to be
<OverSampled>not every character, but numbers usually do
<reepca>OverSampled: time waits for no man. No man is an island. Therefore, time waits for an island.
<Blackbeard[m]>OverSampled: for a moment I thought you were talking about a font called Time and one called Banana
<OverSampled>reepca, Are you sure time isn't waiting for Odysseus?
<Blackbeard[m]>OverSampled: can I see an screenshot?
<Blackbeard[m]>what fonts are you using,?
<Blackbeard[m]>where did you set them?
<reepca>the nuclear option: 'guix package -i font-.* && fc-cache -f'
<Blackbeard[m]>yep pretty much that ^
<Blackbeard[m]>but I had to run fc-cache as root
<OverSampled>Download ALL the fonts!
<Blackbeard[m]>oh no, you don't need to install all of them
<reepca>OverSampled: I still have 18 different package outputs starting with "font" from when I tried a similar approach
<reepca>I should probably clean up my profile sometime
<OverSampled>Do you have any suggestions on which ones to get, then?
<reepca>aha, found a page I visited from way back then that had this nifty environment variable: FC_DEBUG. It wants a number indicating the debug level.
<reepca>font-gnu-unifont I think has served me well
<reepca>I vaguely recall having to modify my .emacs to default to it though
<OverSampled>So, any idea what xfce is thinking is my "system font"?
<reepca>since it would default to some hardcoded font that guix doesn't (or didn't) have
<OverSampled>it crashes when I try to use it
<Blackbeard[m]>OverSampled: the manual has a section for recommended fonts
<Blackbeard[m]>Application Setup (GNU Guix Reference Manual)
<OverSampled>seems like some of those should be included in the example config.scm for desktops on the install medium
<reepca>Would putting a font in an operating-system's 'packages' field make it available for all users?
<brendyyn>guix package -I font|wc -l => 65
<OverSampled>reepca, I'm trying it now; would it not?
<reepca>OverSampled: well, I just did a quick M-x guix-edit fontconfig, looks like /run/current-system-profile/share/fonts is hardcoded to be searched by it.
<reepca>so yes
<OverSampled>yes it would, or yes it would not?
<reepca>yes it would make it available, sorry that was unclear
<reepca>I do know that certain x server-side fonts are installed by default (%default-xorg-fonts), though. Is icecat not able to use those? I've never actually tried to write a program that does any text rendering...
<OverSampled>It's using something, just not well :P
<OverSampled>I don't get it; I ran 'sudo guix system reconfigure /etc/config.scm', but nothing looks different
<reepca>OverSampled: what does 'fc-list' say?
<OverSampled>It doesn't show any of the ones I added
<reepca>mmm, fc-cache -f?
<reepca>I suspect the cache is kept in a per-user directory
<OverSampled>I also changed my user's "comment", but that didn't change the login screen's text
<reepca>The login screen's text? Graphical login or tty login?
<reepca>ls /run/current-system/profile/share/fonts?
<OverSampled>does seem to have them
<reepca>hm, I just realized that I haven't tried reconfiguring my system since gdm was made the default
<OverSampled>So, I'm stuck?
<reepca>does fc-list still not mention any of the system fonts after running fc-cache -f?
<OverSampled>yeah, it does not
*OverSampled shrugs
<reepca>what all is in that system font directory?
<OverSampled>I installed DeJavu as a user and it fixed firefox
<OverSampled>sorry, IceCat
<reepca>And there definitely are fonts installed for the system that aren't installed for your user?
<OverSampled>at this point, after I installed DejaVu for the user, it would only be the CJK opentype one, and maybe freetype
<OverSampled>but yes
<OverSampled>and very obviously before dejavu
<reepca>I just tried stracing fc-list, and grepping for /run, didn't see any system calls doing anything with it
<reepca>that's very strange, it should be built to search there...
<OverSampled>hmm, especially strange becuase it did have a few
<OverSampled>compare to the one from before I installed any fonts tonight:
<OverSampled>aparently the ghostscript ones are pulled in by something else?
<reepca>The ghostscript fonts are apparently included with fontconfig
<reepca>as a default
<reepca>Yeah, that's really strange, it can find the Cantarell stuff in the system profile just fine, but not certain other stuff, even though it can find other fonts of the same type as the ones it can't find in the user profile...
<OverSampled>What do you use to change audio settings? Alsamixer isn't a package?
<reepca>It's in alsa-utils
<reepca>though personally I use pavucontrol.
<OverSampled>Goodnight all!
***slyfox_ is now known as slyfox
<marusich>Hello, Guix! To improve the latency, download speed, and availability of substitutes, the Guix project has decided to resume distribution of substitutes via the Amazon CloudFront CDN for a limited time.
<marusich>This only concerns the distribution of substitutes; the substitutes themselves will still be built on the same build farm as before, at
<marusich>Starting at 05:15 UTC on Monday, April 29th, requests for substitutes that are sent to will be served by the CDN instead. This is expected to last up to 4 months. No downtime is expected during the transition.
<marusich>If you are already using for substitutes, you do not need to make any changes in order to continue using it. After 4 months, we will stop using the CDN, and the maintainers and Guix system administrators will re-evaluate its use at that time.
<marusich>If you prefer to bypass the CDN, you can connect to directly as before. If you are using Guix System, you can override the list of default substitute servers with a service declaration like this one:
<marusich>Happy hacking!
<Blackbeard[m]>marusich: thank s
<Blackbeard[m]>marusich: are there any privacy concerns about amazon
<marusich>The community has discussed that aspect of using Amazon on the mailing lists. I encourage you to search here for more information and decide for yourself whether you want to use the CDN or not:
<marusich>If you decide you do not want to use the CDN, you can use a service declaration like the one I've pasted above to ensure that your requests bypass it.
<marusich>And of course, if you prefer not to use any substitutes, you can disable them, too.
<marusich>For example, Hartmut raised his own concerns here, which we discussed:
<nckx>marusich: Nice announcement ☺
<civodul>Hello Guix!
<nckx>civodul: o/
<g_bor>hello guix!
<jonsger>hm. Don't know if it makes really sense to add an AppArmor profile for guix-daemon, because guix-daemon access so many files...
<civodul>jonsger: yeah that sounds difficult
<civodul>though there's an SELinux thing for guix-daemon, right?
<jonsger>I know. tbh I'm doing it to learn more about AppArmor and guix isn't the easiest start :P
<civodul>heh :-)
<jonsger>but it's interesting to see where guix and guix-daemon is writing files. I tought it would be mostly /gnu/store...
***MinceR_ is now known as MinceR
<jonsger>I tried to build your recently posted vm-live.tmpl, but I got some "not allowed to access" error and wondered why, because the permissions where fine. AppArmor wasn't happy :P
<roptat>hi guix!
<civodul>hi roptat!
<roptat>civodul, I've just pushed the patch for bootstrap
<roptat>I also removed doc/guix.*.texi and doc/contributing.*.texi and added them to .gitignore
<roptat>if you run autoreconf alone now, it will fail, you have to run ./bootstrap
<roptat>but I wonder how guix pull builds the manuals now?
<roptat>so now these files are generated and we will no longer be bothered by updates to doc/*
<roptat>yeah my /home/tyreunom/.config/guix/current/share/info only has
<roptat>no more translated manuals :/
<civodul>roptat: oh wait, 'guix pull' does not build them
<civodul>it assumes the texi files are there
<civodul>i had misunderstood that part
<roptat>can we have it rebuild the texi files?
<civodul>sure, we could
<civodul>what's the command again?
<civodul>no, not that one :-)
<roptat>well, it needs po4a to generate the texi files, and then the xref_command from doc/
<roptat>you can assume the po files are there :)
<roptat>oh, I found yesterday that not all gnu/packages/*.scm files were included in the guix-packages domain
<roptat>is there a reason for that?
<civodul>maybe we should revert for now, sorry about that
<civodul>the code used by 'guix pull' is in (guix self)
<civodul>so we would need to do the po4a dance there
<civodul>we could do xref_command as well but that's more involved
<civodul>WDYT, roptat?
<roptat>I think I see how to add po4a here, but indeed xref_command looks a bit more complicated
<civodul>i suppose xref_command would have to be written in terms of substitute*
<civodul>could you revert the commit that removes texi files while we work on this?
<roptat>I did it on the same commit as the update to bootstrap
<roptat>how to test modifications to (guix self)?
<civodul>run "make as-derivation"
<civodul>or "guix pull --url=$PWD"
<roptat>I see
<roptat>I think I can build the texi file with po4a
<roptat>but xref_command is a lot more difficult to translate in terms of substitutes*
<civodul>you'd also need a PO file "parser"
<roptat>also substitute* doesn't work on multiline, does it?
<civodul>probably not
<roptat>what if we have @pxref{Invoking\nguix pull} for instance?
<civodul>if you want we can revert and postpone to after 1.0, so we can iron out more important things in the meantime
<roptat>could we write a crazy texi peg parser? :D
<roptat>ok, reverting sounds more reasonnable
<civodul>note that Guile provides the (texinfo ...) modules
<civodul>but i'm not sure they'd successfully parse the whole manual
<civodul>worth a try!
<civodul>but yeah, reverting sounds more reasonable for now :-)
*civodul connects the installer's "Reboot" button to an actual reboot action
<davidl>Propagated inputs do not seem to be installed atomatically when I use the trivial build system. Are you supposed to handle the installation of those manually when using the trivial build system?
<roptat>civodul, `(#<input: 15> "Nonalphabetic @-command char: '" #\* "'")'
<roptat>and later `(#f "Unknown command" footnote)' on
<davidl>my package has multiple propagated inputs, but guix package -I only shows the package itself has been added after installed with guix package -f mypackage.scm
<pkill9>for some reason guile has now decided to stop not letting me traverse back and forth the history :3
<pkill9>before it wasn't interpretting <ctrl-[p/n]>
<pkill9>or arrow keys, it was spitting out control characters into the command line
<civodul>roptat: we should fix that
<roptat>civodul: just trying texi->stexi
<roptat>But it doesn't parse the beginning of the file, so I'm loosing a bic of info
<roptat>I don't think I'll use it after all
<civodul>roptat: texi->stexi is arguably more than what you need here
<civodul>basic string substitution would be good enough
<civodul>nevertheless it'd be nice to fix that parser someday ;-)
<roptat>I don't know how to do these substitutions... I have a simple peg parser for po files, which can output an association list for translations
<roptat>but how can I look for and substitute @(p?)(x?)ref{[^,}]*
<civodul>roptat: you could use 'substitute*' with the same regexp, but that wouldn't work with multi-line matches, i think
<civodul>roptat: actually it might work with multiline matches, given that the regexp/newline flag isn't set by default
<civodul>who knows
<roptat>for me ".*" has always matched up to the end of line (including \n)
<civodul>(define r (make-regexp ".*"))
<civodul>(regexp-exec r "a\nb")
<civodul>→ #("a\nb" (0 . 3))
<civodul>so apparently '.' matches newline characters, unless the regexp is built with regexp/newline
<civodul>so 'substitute*' may well work unmodified in your case
<roptat>I tried (substitute* "test" (("@ref\\{[^,\\}]*") "a")) on a file containing "some @ref{ab\ncd} text" and got "some acd} text"
<roptat>I think I found a solution, testing now
<civodul>is it a documented IceCat feature that Date.getTimezoneOffset() returns 0?
<civodul>or a we doing something wrong?
<civodul>(it would make sense from a privacy viewpoint)
<civodul>roptat: what's the status for
<roptat>ah forgot about it... it shouldn't be too hard
<roptat>weird, I get Use of uninitialized value $args[1] in sprintf at /gnu/store/hc45kpci274a1cnmmq1z9bcf6dhjgijf-po4a-0.55/lib/perl5/site_perl/5.28.0/Locale/Po4a/ line 130. in guix pull now
<civodul>not "in" guix pull i guess :-)
<roptat>but the same command outside of this environment work
<civodul>re DNS, there are very few days left, so you still think you can get it done?
<civodul>if not we'll live with, but would have been nice
<roptat>I think I can send something today
<civodul>that'd be great, but note that we can also postpone if you prefer
<roptat>actually, you can already use the file I have sent and we can deal with certbot later
<roptat>what certificates need to be updated exactly?
<roptat>they are currently managed outside of guix
<roptat>(there's only a cron job to renew them, but they are not declared in the config)
<civodul>so there are several things: (1) setting up DNS delegation for and having a "ci" subdomain, and (2) running the web site on, which requires having proper certbot support
<civodul>the most urgent bit is #1
<civodul>having the web site at can definitely come later
<civodul>for #1 we need to get the FSF sysadmins in the loop, and that might take them a few days
<civodul>well, even a few *working* days
<roptat>so (1) is already done with what I sent last time
<roptat>having as the website can also be easy if we don't want to manage it: we can point it to the current server and the sysadmins only have to add that name to the name in the server bloc/vhost
<roptat>if we want to manage the website on one of our servers, we will need certbot support
<roptat>as well as for anything we want to manage ourselves
<roptat>so the first step is that we update berlin and bayfront to add the knot service, so they publish
<roptat>then, once that's in place and they both resolve, we can ask the sysadmins to make a delegation for us
<civodul>ah alright
<roptat>of course you will have to modify hydra/modules/sysadmin/dns.scm so ci points to the right IP
<roptat>and add anything that you want
<roptat>what I sent was more of an example
<roptat>the service definitions I added to berlin and bayfront should be working
<civodul>can you remind me what you sent where?
*civodul has a hard time following everything :-)
<roptat>I sent to guix-devel@
<civodul>ah ok, so everthing is already in guix-maintenance?
<roptat>not yet, I only sent a patch
<roptat>the subject was "DNS delegation"
<roptat>oh and we'll need certbot support for ci, no?
<civodul>so would point either to only, or to the CDN
<civodul>so... no certbot i guess?
<roptat>if it points to the CDN, I don't think so
<civodul>we need to be able to switch back and forth between the CDN and berlin
<roptat>but if it points to berlin, berlin will need a certificate for that domain
<civodul>oh right, but that's easy
<roptat>yes indeed
<roptat>I think we got a plan :)
<civodul>so, the patch:
*civodul wonders why they didn't apply it
<civodul>i must have created a deadlock :-/
<civodul>could you push this patch to maintenance.git?
<civodul>then i can reconfigure bayfront and maybe berlin, though i'd need to synchronize with rekado
<roptat>civodul, it might be that the environment doesn't have the right locale
<roptat>I think we need to run po4a in a UTF-8 locale
*jonsger likes the new vm template :)
<civodul>roptat: yes, in (guix self) we set GUIX_LOCPATH & co. to run makeinfo
<civodul>you could do the same here
<civodul>does anyone know the name of the package that displays icons on the Xfce desktop?
<roptat>civodul, actually I think it's because po4a is looking for msgfmt
<roptat>and there's no PATH set I think
<jonsger>mhm, replacing xfce with mate increases the size of the qcow2 image around 1,2G...
<roptat>it worked \o/
<roptat>on to the next error...
<dalz>I'm using `invoke ` to call an installer script inside `trivial-build-system`'s builder. Said script is failing. Is there a way to see it's output?
<dalz>david-l: invoke tells me the script failed with error code 127, but i see no output from the script itself
<dalz>I'm sure it exists
<dalz>Only stderr is logged?
<dalz>I'll see, thank you
<roptat>isn't 127 "file not found"?
<roptat>so either the script file doesn't exist or it specifies an interpreter that doesn't exist / isn't accessible in the build environment
<dalz>roptat: I'm sure the script exists, the interpreter is #!/bin/sh
<dalz>Is that the issue?
<roptat>it should be /gnu/store/...-bash-.../bin/sh
<dalz>i'll fix it, thanks
<civodul>roptat: weird thing: i get " unbound variable" even though (sysadmin dns) is included
<roptat>there might be an error in that file then
<roptat>I'm stupid: no code for module (gnu services knot)
<roptat>should be (gnu services dns)
<civodul>oh i see
<civodul>next i'm getting a type error in the knot service code: (string-append "[" transfer "]")
<roptat>the list of actions is documented as a list of symbols, so maybe the code isn't in sync with doc
<roptat>yes, the service uses format-string-list
<roptat>so you can try to use '("transfer") in the action field of the knot-acl-configuration
<roptat>and we should fix the doc, or keep that as is, but fix the service
<roptat>what is better?
<civodul>i don't see any such field
<civodul>a list of symbols sounds good, dunno
<civodul>your call!
<roptat>civodul, it's in bayfront.scm
<roptat>oh it's an error in format-string-list actually
<roptat>it takes into account the fact that it could be a symbol, except if there's only one element in the list
<roptat>civodul, fixed
<roptat>so I think I'm close to fixing the manual generation, but I get this weird things in the generated .texi after replacing @ref etc: "Manuel de r??f??rence de GNU Guix"
<roptat>I have (setenv "LANG" "en_US.UTF-8")
<roptat>after setting GUIX_LOCPATH
<roptat>but I guess this is because I'm manipulating strings inside a guile process that's run with another locale
<civodul>try (setenv "LC_ALL" "en_US.utf8")
<civodul>maybe it won't change anything but it's good practice
<civodul>you probably need a setlocale call for the Guile process itself
<swedebugia>Hi :)
<Blackbeard[m]>swedebugia: hi ٩(◕‿◕。)۶
***amiloradovsky1 is now known as amiloradovsky
<Blackbeard[m]>amz3: ٩(◕‿◕。)۶
<pkill9>hi :)
<Blackbeard[m]>pkill9: :D
<nckx>Hullo #guix.
<amz3>Blackbeard[m]: :D
<Blackbeard[m]>amz3: ٩(◕‿◕。)۶
<amz3>what's up #guix lands?!
<amz3>ready for 1.0?
<amz3>I did not try guix system for a long time myself, maybe it is time to remedy that
<amz3>best time if nay
<amz3>I only using guix as guile package manager :)
<amz3>oh! I got a parenthesis wrong which made my program run but completly broken
<amz3>long time it did not happen.
<amz3>It is related to 'if' which accept 1 or 2 branches
<civodul>No rule to make target 'gnu/packages/patches/soundtouch-CVE-2018-14044-14045.patch', needed by 'all-am'.
<civodul>we got a problem!
<roptat>civodul, did you see the patch I sent for (guix self)?
<civodul>ah no
<civodul>roptat: not yet!
<civodul>lemme see
<roptat>take your time, I'm going to bed soon anyway
<roptat>but if you're OK, I can push the patch tomorrow morning (or you can do it before me if you want)
<civodul>i'm getting things like: error: 'version.texi', included in 'doc/guix.zh_CN.texi', also included in 'doc/guix.texi'
<roptat>ah, that's because "version.texi" is not translated in the po file I think
<roptat>so both files refer to the same version.texi