You are here

IRC logs for #guix, 2017-01-17 (GMT)

[00:06:28]* ryanwatkins has quit (Ping timeout: 245 seconds)
[00:06:55]* ryanwatkins has joined #guix
[00:18:26]* erliphant has quit (Quit: WeeChat 1.4)
[00:19:23]* lfam has quit (Ping timeout: 245 seconds)
[00:27:39]* Valheru has quit (Quit: Lost terminal)
[00:30:41]* arescorpio has joined #guix
[00:33:49]* roptat has quit (Ping timeout: 248 seconds)
[00:47:18]* ryanwatkins has quit (Ping timeout: 245 seconds)
[00:58:08]* ryanwatkins has joined #guix
[01:01:51]* rgrau` has quit (Ping timeout: 240 seconds)
[01:10:17]* lfam has joined #guix
[01:13:04]* adfeno has quit (Quit: ERC (IRC client for Emacs 25.1.1))
[01:15:09]* ryanwatkins has quit (Remote host closed the connection)
[01:19:16]* zacts has quit (Ping timeout: 240 seconds)
[01:22:56]* mekeor has quit (Ping timeout: 240 seconds)
[01:26:06]* ziz15 has joined #guix
[01:30:22]* ziz15 has quit (Quit: Leaving)
[01:32:28]* mekeor has joined #guix
[01:33:36]* Nyxus has quit (Ping timeout: 240 seconds)
[01:41:06]* iyzsong-w has joined #guix
[01:49:55]* GrimKriegor has joined #guix
[01:50:16]* GrimKriegor has quit (Read error: Connection reset by peer)
[01:50:28]* daviid has quit (Ping timeout: 240 seconds)
[01:50:57]* propumpkin has joined #guix
[01:52:10]* GrimKriegor has joined #guix
[01:52:35]* albertoefg1 has joined #guix
[01:52:42]* albertoefg1 has left #guix ()
[01:53:35]* copumpkin has quit (Ping timeout: 256 seconds)
[01:54:32]* GrimKriegor_ has joined #guix
[01:56:51]* GrimKriegor has quit (Ping timeout: 240 seconds)
[02:23:08]* rekado_ has joined #guix
[02:23:46]* joshuaBPMan_ has quit (Remote host closed the connection)
[02:25:10]* rekado has quit (Ping timeout: 258 seconds)
[02:34:04]<rekado_>ghc-pandoc no longer builds because of a build failure in ghc-quickcheck-instances
[02:34:30]<rekado_>there are duplicate instance declarations :-/
[02:37:39]* Guest51196 is now known as sturm
[02:37:59]* sturm has quit (Changing host)
[02:37:59]* sturm has joined #guix
[02:48:35]* albertoefg has quit (Quit: Simple IRC: The quit option.)
[02:59:10]<davidl>is it possible to get a progress bar with the guix system reconfigure command?
[02:59:41]<rekado_>davidl: no, there is no such feature.
[03:00:02]<davidl>rekado_ ok. Anyone working on it, or is it on a future feature list?
[03:00:22]<rekado_>I don’t know of anyone working on this.
[03:01:12]<davidl>rekado_ ok. would be nice to have.
[03:01:15]<lfam>The thing being counted by the progress bar would probably not reflect the time remaining very well. I guess you could count the number of derivations that remain to built. But it couldn't guess how long it would take to build each one
[03:03:10]<davidl>could it perhaps make a gross estimate by making a system call checking the processor and also by the size of the software?
[03:04:02]<lfam>Perhaps :) I wonder if anyone has tried this sort of thing before?
[03:04:24]<lfam>Personally I'd rather work to get a faster build farm :)
[03:05:37]<davidl>Faster build farm is probably a better priority. Im pretty far down the list of persons to ask for priorities xD
[03:07:52]<lfam>It's just that you might not wonder how long reconfiguring will last if you can just download substitutes for everything
[03:08:21]<lfam>If you lack fast internet, or don't want to use substitutes, that's another story
[03:08:49]<lfam>I don't mean to discourage you from working on a progress bar, by the way. If you are motivated, you should try it :)
[03:10:20]<davidl>I think it would be fun to try but I don't know any scheme dialect. It would be fun to learn Racket but Im not fast enough with my school-work to find extra time for it.
[03:26:03]* lfam has quit (Ping timeout: 245 seconds)
[03:29:56]* tg has quit (Ping timeout: 255 seconds)
[03:47:39]* ArneBab_ has joined #guix
[03:52:01]* ArneBab has quit (Ping timeout: 256 seconds)
[04:08:11]* iyzsong-w has quit (Ping timeout: 240 seconds)
[04:09:48]* psachin has joined #guix
[04:15:01]* arescorpio has quit (Quit: Leaving.)
[04:33:50]* iyzsong-w has joined #guix
[04:51:27]* iyzsong-w has quit (Quit: ZNC 1.6.4 -
[05:01:20]* enderby has left #guix ("ERC (IRC client for Emacs 25.1.1)")
[05:01:21]* albertoefg has joined #guix
[05:01:42]* albertoefg has left #guix ()
[05:01:50]* zacts has joined #guix
[05:03:19]<efraim>sneek: later tell civodul libxslt, libxcb and xcb-proto all currently rely on python-minimal-wrapper, I'm trying them out with python2-minimal, and I also changed xorg to python2-minimal, so that should fix the python3 dependency of python2
[05:03:19]<sneek>Got it.
[05:03:24]* tg has joined #guix
[05:03:26]<efraim>sneek: botsnack
[05:06:50]* MC8 has joined #guix
[05:08:42]* MC8 has left #guix ()
[05:11:02]* CharlieBrown has joined #guix
[05:11:19]<CharlieBrown>Has anybody added GNU Ring?
[05:27:33]<efraim>There were nearly ready patches on the mailing list, but we decided to hold off until they started using a real build system
[05:56:09]* shanemikel has joined #guix
[06:00:00]* braunr has quit (Remote host closed the connection)
[06:01:46]* albertoefg has joined #guix
[06:01:54]* albertoefg has left #guix ()
[06:02:44]* copumpkin has joined #guix
[06:05:32]* propumpkin has quit (Ping timeout: 248 seconds)
[06:45:11]* janneke has quit (Ping timeout: 240 seconds)
[07:54:23]* shanemikel has quit (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
[07:54:27]* efraim has quit (Remote host closed the connection)
[07:54:43]* efraim has joined #guix
[08:01:01]* csanchezdll has joined #guix
[08:13:24]* roelj has joined #guix
[08:14:46]* jonsger has joined #guix
[08:16:41]* braunr has joined #guix
[08:20:36]* alezost has joined #guix
[08:40:54]* snape has joined #guix
[08:48:24]* alezost has quit (Ping timeout: 256 seconds)
[09:00:41]* mothacehe has quit (Ping timeout: 240 seconds)
[09:06:40]* civodul has joined #guix
[09:07:16]<civodul>Hello Guix!
[09:07:16]<sneek>Welcome back civodul, you have 1 message.
[09:07:16]<sneek>civodul, efraim says: libxslt, libxcb and xcb-proto all currently rely on python-minimal-wrapper, I'm trying them out with python2-minimal, and I also changed xorg to python2-minimal, so that should fix the python3 dependency of python2
[09:08:49]<civodul>efraim: it's a build-time dependency, so does it really matter?
[09:10:51]* adfeno has joined #guix
[09:12:51]* rgrau has quit (Read error: Connection reset by peer)
[09:14:20]<rekado_>it is ugly from a bootstrap perspective
[09:19:59]* rgrau has joined #guix
[09:24:17]* alezost has joined #guix
[09:28:27]<ZombieChicken>Where can I find the config.scm for the LiveUSB?
[09:35:02]<efraim>Like rekado_ said
[09:39:45]* mekeor- has joined #guix
[09:51:47]* shanemikel has joined #guix
[09:52:17]<ZombieChicken>nvm, I think I found the .scm file
[09:53:29]* shanemikel has quit (Client Quit)
[10:09:45]<civodul>ZombieChicken: gnu/system/install.scm
[10:09:51]<civodul>is that the one you found? :-)
[10:10:09]<civodul>rekado_: right, it's not great
[10:10:21]* adfeno has quit (Read error: Connection reset by peer)
[10:10:51]* adfeno has joined #guix
[10:20:28]<adfeno>Hi #guix! :)
[10:22:01]<adfeno>I might have found an issue with the secure of our mailing list when receiving from an SMTP server.
[10:22:18]<adfeno>s/the secure of/the secure connection of/
[10:24:00]<adfeno>I'm unable to send patches to guix-devel. My email client is configured to use SMTP with TLS, and it seems that it only fails sending if the recipient is guix-devel (I have tested with other email addresses, not mine, and not from same service I use).
[10:31:35]<civodul>adfeno: it would be surprising if were improperly set up
[10:31:43]<civodul>there are hundreds of mailing lists on it :-)
[10:33:21]<adfeno>The timeout is so huge that even I get disconnect from IRC due to lack of replies.
[10:34:28]<adfeno>(Because Gnus mode for Emacs performs synchronously, so it locks my activity during sending of messages, and so ERC mode for Emacs cannot reply to keepalives).
[10:38:06]* alezost has quit (Quit: I live in GuixSD <> and Emacs <>)
[10:40:21]<rekado_>adfeno: have you considered using SMTP asynchronously, e.g. with msmtp?
[10:41:47]<adfeno>rekado_: I'm considering using the async Emacs package. Which allows me to use the smtpmail package asynchronously.
[10:41:59]* snape has quit (Remote host closed the connection)
[10:42:15]<adfeno>s/\(smtpmail\)/\1 Emacs/
[10:44:18]* knicklux has joined #guix
[10:44:41]* knicklux has quit (Remote host closed the connection)
[10:46:11]<adfeno>Now let's see... I'll try sending an email to someone else (khal developer), using normal smptmail (synchronous).
[10:46:18]<adfeno>Hope I don't timeout.
[10:47:24]<adfeno>Yep.... It's done :)
[10:51:42]* wilo has quit (Remote host closed the connection)
[10:54:19]* wilo has joined #guix
[10:56:48]* jmd has joined #guix
[11:00:54]* phant0mas has joined #guix
[11:22:38]* wilo- has joined #guix
[11:22:51]* wilo has quit (Remote host closed the connection)
[11:26:58]* wilo has joined #guix
[11:27:09]* wilo- has quit (Remote host closed the connection)
[11:32:31]<phant0mas>hey civodul did you start the build on hydra?
[11:32:41]<phant0mas>good morning :)
[11:34:40]<adfeno>Hi, good morning phant0mas :)
[11:35:27]* ng0 has joined #guix
[11:36:30]<ng0>I succeded with building palemoon yesterday. Now I just need to clean up bundled software, fix the config (for example, do not use the default start page) and then it's ready to be distributed :)
[11:37:57]<ng0>I'm building it again right now because I had to correct one path, but if you are curious, you can checkout my browser/palemoon branch from .. just note that the start page it connects to is unfortunate and needs cookies etc.
[11:38:28]<ng0>and the browser might include feature we don't want, I need to fine tune that as well
[11:40:22]<ng0>(i hope I removed the phases which were just named in cursing at the build system)
[11:42:18]<ng0>also the objdir is currently hardcoded, so I need info on how this will be called on other architectures..
[11:43:26]<ng0>(objdir (string-append "obj-x86_64-" "unknown-" "linux-gnu")) it is for x86_64
[11:43:47]<ng0>can I simulate i686 hardware?
[11:44:59]<ng0>or will the objdir for i686 simply be obj-i686-unknown-linux-gnu ?
[11:48:14]<ng0>one major version increased since I started with this and they still need this autoconf from '99 :/
[12:00:40]<rekado_>ng0: why do you need the phase “mozconfig_init”?
[12:02:17]<ng0>it's all a mess which needs cleanup. I tried to solve this the way it was documented before (run mach once to init state dir, run again to actually configure, etc)
[12:03:12]<ng0>i think the best way to see that there are two approaches is to look at the inofficial palemoon nix recipe, then at the AUR archlinux recipe, and at the Gentoo palemoon-overlay
[12:03:19]<ng0>mach has a weird system
[12:03:58]* thomasd has joined #guix
[12:04:24]<ng0>like, it took me weeks of failing, and now about 2 weeks to realize that it wants to be invoked from within the build dir, and not the src dir
[12:04:38]<rekado_>but I wonder why you patch the configure template, adding a lot of options that you don’t seem to use
[12:04:52]<ng0>i need a base
[12:05:09]<ng0>then I will rewrite the package definition that it uses the options
[12:05:18]<rekado_>re build vs source dir: you can use “#:out-of-source? #t”
[12:05:20]<ng0>first I wanted to get to the point where it actually compiles
[12:05:34]<ng0>but what does it do?
[12:05:46]<rekado_>does patching the configure template help compiling it? I don’t see how this has an effect.
[12:05:51]<rekado_>maybe I’m misunderstanding
[12:06:01]<ng0>the configure template is empty otherwise
[12:06:11]<ng0>there's just one option in there
[12:06:16]<ng0>which is the browser one
[12:06:50]<ng0>and I very much doubt that mach is smart enough to figure out that I want it to use system libaries on its own
[12:07:15]<ng0>of course right now it doesn't use any system libraries, but like I said I need a compoiling base first
[12:07:51]<rekado_>no, the configure template contains a lot of options
[12:07:52]<ng0>there was this weird "mach package" which constructs a tarball and I spent a while to figure out wether I need to extract the tarball.
[12:08:00]<rekado_>such as “--with-system-jpeg”
[12:08:34]<ng0>oh.. sorry I used some parts of my previous work from gentoo.
[12:08:34]* jonsger has quit (Ping timeout: 260 seconds)
[12:08:44]<ng0>I will take a look at the configure file again
[12:08:46]<ng0>thanks :)
[12:13:20]<ng0>hu. you mean browser/config/mozconfig ? Are we talking about the same file?
[12:13:31]<ng0>this includes just: ac_add_options --enable-application=browser
[12:13:53]<ng0>that's somehow not even used by mach
[12:14:24]<ng0>but I will check later if I'm wrong
[12:16:10]<ng0>or I skipped that because of some other guix specific issue. In any case, I need to revisit that part and comment on it
[12:23:17]<ng0>Petter: how is the go-build-system going?
[12:23:43]<rekado_>the configure script (when generated from actually calls mach.
[12:25:12]<ng0>Okay, then I will fix that part, and if contrary to expectations it shouldn't work, I will comment it. That's lacking in most parts of the package right now, comments
[12:25:22]<ng0>thanks for the feedback :)
[12:30:56]* divansantana has joined #guix
[12:33:40]<ng0>for the little reaction I got on mozjs-38, I think I will contact the fedora maintainer today and ask for help
[12:36:48]<rekado_>ng0: here’s a simpler definition for autoconf 2.13:
[12:38:12]<ng0>thanks, I will take a look at the differences as soon as I can rebase again (building right now)
[12:40:42]<ng0>the "guix build software on systems which do not run guix" part of the HPC presentation sounds interesting :)
[12:43:03]* Fulax has quit (Ping timeout: 258 seconds)
[12:43:06]<roelj>Does 'parse-command-line' only parse one option?
[12:43:10]* Fulax has joined #guix
[12:44:26]<ng0>rekado_: yeah that looks cleaner :)
[12:45:02]<ng0>I also had one typo in my palemoon package, so I will add the changes from your autoconf, rebase and push again
[12:47:16]<ng0>I must admit that I haven't spend much time on autoconf and wanted to clean it up aswell, same for apng :)
[12:56:56]<ng0>there was also a typo in autoconf, it's tar.gz. I didn't notice because it's been in my store for so long
[12:58:28]<ng0>or they recently changed the file
[12:58:41]<ng0>but the stamp is still 1999, so it must've been me
[12:59:20]* jmd has quit (Remote host closed the connection)
[13:10:20]<ng0>I have to go now, ttyl
[13:10:21]* ng0 has quit (Quit: The way out is via the door. Why is it that no one will use this method?)
[13:14:27]* MicroCheapFx has quit (Read error: Connection reset by peer)
[13:14:42]* adfeno has quit (Quit: Will be back)
[13:19:09]* MicroCheapFx has joined #guix
[13:28:40]<civodul>phant0mas: no sorry, will do (provided hydra is not too busy :-))
[13:33:40]* civodul has changed the topic to GNU Guix | | FOSDEM: | videos: | bugs: | patches: | paste: | log:
[13:39:20]* janneke has joined #guix
[13:43:50]* mekeor- has quit (Ping timeout: 240 seconds)
[13:51:42]<civodul> looks useful
[14:04:18]* MinceR has quit (Ping timeout: 258 seconds)
[14:05:57]* MinceR has joined #guix
[14:30:57]<rekado_>civodul: interesting.
[14:34:57]* adfeno has joined #guix
[14:35:12]* csanchezdll has left #guix ("Killed buffer")
[14:36:22]<roelj>Can anyone walk me through how `guix package -i <package>' loads the module wherein the package is located, and then binds the package to a variable>
[14:37:02]<roelj>I think it ends up on process-actions, but I'm not sure what 'opts' there is.
[14:37:18]<adfeno>roelj: I'm not sure if I understand...
[14:37:19]* psachin has quit (Ping timeout: 260 seconds)
[14:37:46]<roelj>Or is there a way I can debug step-by-step (like with GDB setting breakpoints) for Guile?
[14:37:54]<adfeno>... But so far, each .scm file holds (define-packages ...) that tell what the package is.
[14:38:10]* jin has joined #guix
[14:38:19]<roelj>adfeno: Yes, but how does Guix find the package module?
[14:38:39]<rekado_>roelj: the start point is at guix/scripts/package.scm
[14:38:55]<adfeno>I think it is "guix/packages.scm"
[14:39:05]<rekado_>roelj: Guix has to turn the specification string into a variable.
[14:39:15]<rekado_>adfeno: no, it’s actually as I wrote.
[14:39:31]<adfeno>Oh, OK
[14:40:30]<roelj>rekado_: So, it does (process-query '(--install "<name>"))?
[14:41:33]<roelj>rekado_: Oh no.. opts is an association list with at least containing (query . 'install).
[14:41:53]<rekado_>I don’t think that part is so interesting, actually
[14:42:11]<rekado_>roelj: guix uses specification->package+output, then turns the result into a manifest entry
[14:43:18]<civodul>yup, in (gnu packages)
[14:43:47]* jonsger has joined #guix
[14:43:58]* avoine has joined #guix
[14:44:10]<rekado_>roelj: that procedure uses %find-package, which uses find-best-packages-by-name
[14:44:16]<civodul>(package-location (specification->package "guile"))
[14:44:16]<civodul>=> #<<location> file: "gnu/packages/guile.scm" line: 135 column: 2>
[14:45:10]<rekado_>and that looks up things in the result of fold-packages
[14:45:57]<roelj>And fold-packages does module-map, which looks in a module?
[14:47:52]<roelj>Ehh, I can't find the definition for module-map
[14:50:23]* MicroCheapFx_ has joined #guix
[14:51:31]<jin>i get error on bran core-updates when run 'make':
[14:51:50]<jin>ERROR: no code for module (json)
[14:52:05]<rekado_>jin: you need to install guile-json
[14:52:46]<jin>rekado_: ok i will try
[14:53:28]* MicroCheapFx has quit (Ping timeout: 255 seconds)
[14:53:39]* snape has joined #guix
[14:54:02]<rekado_>roelj: geiser tells me (module-map proc module)
[14:54:02]<rekado_>A procedure in module (guile).
[14:55:18]<roelj>I can't find it in the Guile Reference manual
[14:55:40]<civodul>it's undocumented, for wizards only ;-)
[14:56:20]<rekado_>roelj: you can see the definition in ./module/ice-9/boot-9.scm of the Guile sources.
[14:56:26]<rekado_>but it’s disappointingly short :)
[14:57:41]<roelj>hahaha, yes, dissappointingly short
[14:57:55]<roelj>But, now I can continue the walk-through again
[14:58:12]<roelj>Luckily, hash-map->list is in the manual ;)
[15:00:20]<roelj>Is module-obarray short for "module object array"?
[15:01:00]<civodul>something like that
[15:01:08]<civodul>but you probably don't want to go this far :-)
[15:01:42]<roelj>It's very discouraging already.. not in the manual, no easy (define (module-obarray ...)) result with grep..
[15:03:46]<civodul>what are you trying to do?
[15:04:03]<civodul>obarrays are an internal thing, you shouldn't be fiddling with it
[15:05:02]<roelj>I'm trying to load a symbol when all I have is a string that should match (<record-type-name>-name sym).
[15:05:10]* efraim has quit (Ping timeout: 255 seconds)
[15:05:44]<roelj>And I believe this is what must be done with a <package> when a user enters its name on the command-line.
[15:06:26]<civodul>so basically, you should mimic 'fold-packages', which is the entry point
[15:07:10]<roelj>I have stolen the implementation of fold-packages, and adapted it to my record type. (very hard ;))
[15:07:23]<civodul>roughly it (1) determines the file names of the relevant modules, (2) converts them to module names, (3) calls 'resolve-interface' on these module names to load the modules, (4) traverses the list of exported bindings, (5) selects only those that match 'package?'
[15:08:06]<civodul>(1) is 'scheme-files'
[15:08:15]<civodul>(2) is 'file-name->module-name'
[15:08:22]* efraim has joined #guix
[15:08:26]<civodul>and so on :-)
[15:09:07]* mekeor- has joined #guix
[15:09:25]<roelj>So... what does fold-packages actually return? What does it look like?
[15:09:35]<roelj>A list of <#package >s?
[15:11:37]<rekado_>that depends on what you pass to it
[15:12:49]<rekado_>you can make it return a list of all packages, or you can use it to count packages, …
[15:13:03]<rekado_>a fold is very flexible. What it does depends on the procedure you give it.
[15:13:21]<roelj>Depending on PROC ofcourse..
[15:14:24]<rekado_>(fold-packages (lambda (pkg res) pkg) #f)
[15:14:34]<rekado_>this will give you the last package fold-packages encountered
[15:15:14]* Helius has joined #guix
[15:15:46]<rekado_>,pp (fold-packages (lambda (pkg res) (cons (package-name pkg) res)) '())
[15:15:56]<rekado_>and this will give you a long list of all package names.
[15:16:23]<roelj>I see
[15:27:54]<civodul>roelj: you can check at ~6mn
[15:29:21]* mordocai has quit (Quit: ZNC 1.6.2+deb1 -
[15:31:07]* mordocai has joined #guix
[15:34:03]<roelj>civodul: thanks! specification->package looks like magic
[15:42:35]<civodul>that's what it is! ;-)
[15:42:51]<civodul>you'll also like 'specification->package+output'
[15:43:28]<roelj>Yes! Because it also works while waving with a stick ;)
[15:43:39]* geemili has joined #guix
[15:44:32]<roelj>I'm reading "into" it ;)
[15:45:19]<roelj>It's fascinating that there are so many places it touches.
[15:47:17]* thomasd has quit (Ping timeout: 252 seconds)
[15:48:55]<Apteryx>Morning, Guix! Any idea where the "%default-substitute-urls" list is defined for *guix-daemon* ?
[15:51:45]<civodul>Apteryx: it's a configure-time option
[15:52:05]<civodul>IOW it's hard-coded in the guix-daemon binary
[15:52:16]<Apteryx>I see! That explains why I couldn't find it in the scm files ;)
[15:52:31]<civodul>yup :-)
[15:52:49]* lxo has quit (Ping timeout: 256 seconds)
[15:53:06]<Apteryx>I am trying to extend the default substite-urls to include the new bayfront server :)
[15:53:12]<Apteryx>In my config.scm
[15:53:37]<Apteryx>Is this something worthwhile to do or before I know it it will be in master?
[15:56:53]<Apteryx>In I could find: guix_substitute_urls=""
[15:59:32]<civodul>on GuixSD, you just need to add it to your guix-configuration thing
[15:59:56]<civodul>i have this in 'services':
[16:00:11]<civodul>(modify-services %desktop-services (guix-service-type config => (guix-configuration (inherit config) (substitute-urls '("" "")))))
[16:00:25]* lxo has joined #guix
[16:00:33]<civodul>in practice bayfront is faster, but it has few substitutes to offer right now :-)
[16:00:58]<Apteryx>OK, thanks!
[16:01:47]<Apteryx>I think if you imported (guix store) you could also use "%default-substitute-urls" in place of the "https://mirror.hydra... part".
[16:02:44]<Apteryx>It seems to be the one used by the default guix-configuration, according to the manual.
[16:02:53]<Apteryx>and/or code ;)
[16:09:27]* daviid has joined #guix
[16:12:59]* zacts has quit (Quit: WeeChat 1.6)
[16:14:46]<Apteryx>I'm Do I need to use some module for 'config' to be a defined symbol, or is this something taken care of by (guix-service-type config => ... ) ?
[16:14:52]* zacts has joined #guix
[16:16:17]<civodul>Apteryx: no, 'config' is introduced by this use of 'modify-services'
[16:17:59]<Apteryx>OK! thanks.
[16:28:37]* snape has quit (Remote host closed the connection)
[16:30:29]* mekeor- has quit (Quit: fully-automated luxury queer space communism – with free software!)
[16:31:55]<roelj>civodul: I've got it to work for my own record types!
[16:34:49]<civodul>woohoo! glad it works!
[16:38:06]<Apteryx>I'm now trying to figure out what the gexp for the public key should look like, to put directly to the authorized-keys field of my guix-configuration record
[16:38:22]<Apteryx>Do we have an example of this somewhere?
[16:38:46]* janneke has quit (Ping timeout: 255 seconds)
[16:42:44]<efraim>here's my acl file:
[16:48:45]<Apteryx>efraim: Thanks! So if I'm to use this in my config.scm file, should I start the key definition at (public-key ... ? And I guess I must then import the public-key record? Here's a snippet of what I'm trying to do:
[16:54:41]<Apteryx>Or /me is reading chapter 4.6 on g-expressions
[16:57:21]* joshuaBPMan_ has joined #guix
[17:05:23]* joshuaBPMan_ has quit (Remote host closed the connection)
[17:10:16]* wilo has quit (Read error: Connection reset by peer)
[17:10:25]* wilo has joined #guix
[17:13:38]* wilo- has joined #guix
[17:14:35]* quigonjinn has quit (Remote host closed the connection)
[17:14:44]* wilo has quit (Ping timeout: 252 seconds)
[17:15:38]* quigonjinn has joined #guix
[17:17:04]* civodul has quit (Quit: ERC (IRC client for Emacs 25.1.1))
[17:17:12]* enderby has joined #guix
[17:20:59]<Apteryx>Looks like it's easiest to leave this as a file for now
[17:22:32]* albertoefg has joined #guix
[17:23:24]* janneke has joined #guix
[17:24:17]* joshuaBPMan_ has joined #guix
[17:25:07]* Helius has quit (Ping timeout: 255 seconds)
[17:25:51]* albertoefg has left #guix ()
[17:26:12]* roelj has quit (Quit: ERC (IRC client for Emacs 25.1.1))
[17:32:14]<Apteryx>Another question: what is the preferred location to add locales? My system config or my user profile? Or does it not matter.
[17:40:06]<mekeor>Apteryx: i'm not sure, but i'd guess, if your computer is used by people speaking different languages, everyone should use the user profile. otherwise, system-wide? – my guess.
[17:41:43]<Apteryx>mekeor: Thats seems reasonable. I was wondering if it would make any difference for the software, I guess not, the same way a package doesn't care if it's installed system-wide or in your user profile, it works the same.
[17:42:46]* jonsger has quit (Ping timeout: 256 seconds)
[17:45:54]* ng0 has joined #guix
[17:46:34]<ng0>I'm back. and I hit runpath issues. is there an example of how to add an .so to a runpath of another .so ?
[17:46:51]<rekado_>depends on the build system
[17:47:11]<ng0>for mach I use gnu build-system
[17:48:05]<rekado_>ng0: take a look at serd
[17:48:26]<rekado_>or better: r
[17:48:40]<rekado_>(using make-flags instead of a build phase)
[17:49:31]<Apteryx>Oops! Seems the master branch is broken:
[17:51:09]<Apteryx>Have to go!
[17:51:55]<rekado_>Apteryx: rm gnu/system.go && make
[17:54:02]<Apteryx>That seems to work, thanks! What is the explanation for this?
[17:54:31]<ng0>r doesn't work for my case. which is like:
[17:54:34]<ng0>/gnu/store/m8vkaw2ghwjjr4fxp4m1s07x5l1qvdbi-palemoon-27.0.3/lib/palemoon/ error: depends
[17:54:35]<rekado_>it’s an ABI break
[17:54:36]<ng0>on '', which cannot be found in RUNPATH
[17:54:45]<rekado_>where is libnspr4.os?
[17:55:00]<ng0>need to cd there first
[17:57:21]<ng0>ng0@wasp /t/g/P/o/d/lib> ls -al
[17:57:22]<ng0>lrwxrwxrwx 1 ng0 users 34 Jan 17 12:03 -> ../../nsprpub/pr/src/./*
[17:58:18]<ng0>there are many more runpath issues, but some can be fixed by actually using system libraries instead of bundles
[17:58:37]<ng0>I know the binary works because I was able to run it from the /tmp/out path
[17:59:56]<ng0>I think I can search for this in bug reports, but I don't know how to fix it for guix if I really need to change something.
[18:00:46]<ng0>icecat does a thing for libxul
[18:01:01]<ng0>and libxul also appears
[18:02:50]<rekado_>why is this a symlink? It should be the final location.
[18:03:15]<ng0>yeah... some are even symlinks to /tmp
[18:03:16]<rekado_>(string-append "LDFLAGS=-Wl,-rpath=" (assoc-ref %outputs "out") "/lib/R/lib")
[18:03:45]<rekado_>this tells the linker that the $out/lib/R/lib directory should be on the RUNPATH.
[18:03:47]<ng0>maybe the tarball unlinks and this is why I should use the tarball which is created in the end
[18:04:00]<rekado_>this doesn’t sound right.
[18:04:18]<ng0>only because I was too lazy to type in a full sentence:
[18:05:12]<ng0>"mach package" creates a .tar.bz2 in the end, Gentoo uses this tarball and unpacks it, while others (like myself) ignore the tarball and just use the folders
[18:06:27]<ng0>so I could add (string-append (assoc-ref %build-inputs "nss") "/lib/bla/foo")) to the runpath
[18:07:39]<ng0>yeah, the tarball no longer includes symlinks, just files without symlinks
[18:10:45]* htgoebel has joined #guix
[18:20:16]* mekeor has quit (Remote host closed the connection)
[18:25:02]* alezost has joined #guix
[18:38:04]* janneke has quit (Ping timeout: 255 seconds)
[18:41:41]* Nyxus has joined #guix
[18:45:55]* phant0mas has quit (Remote host closed the connection)
[18:46:24]* mekeor has joined #guix
[18:47:01]* ransom has quit (Ping timeout: 255 seconds)
[18:54:10]* Valheru has joined #guix
[18:59:37]* misterhat has joined #guix
[19:00:01]<misterhat>hi friends
[19:01:54]<mekeor>hi misterhat (:
[19:03:54]* jchmrt has quit (Ping timeout: 260 seconds)
[19:04:02]* adfeno has quit (Quit: Lavando louça e ausente)
[19:07:54]* jmd has joined #guix
[19:08:03]* janneke has joined #guix
[19:20:14]* Hermit has joined #guix
[19:20:47]* shanemikel has joined #guix
[19:21:33]* misterhat has quit (Quit: WeeChat 1.6)
[19:40:50]* shanemikel has quit (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
[19:45:31]* albertoefg has joined #guix
[19:46:08]* lfam has joined #guix
[19:47:55]* civodul has joined #guix
[19:49:46]<lfam>nckx: Can you move that cups-filters change to staging?
[19:49:52]* alezost has quit (Quit: I live in GuixSD <> and Emacs <>)
[19:50:19]<dadinn>hi all
[19:50:26]<cbaines>dadinn, hey :)
[19:52:21]<dadinn>just a question, been looking at the ways to run Guix, and the "System Installation" download, even though it says USB install AFAIU is a qemu raw image to boot from, not really an iso image to write on a USB drive, and install Guix (like eg. Debian installer)
[19:53:09]<geemili>dadinn: I put it on a USB just fine
[19:53:59]<geemili>I used `dd` to put it on the USB drive
[19:54:04]* jonsger has joined #guix
[19:54:10]<cbaines>dadinn, ISO images are for writing to optical media (e.g. cd/dvd)
[19:54:39]<cbaines>Some images, sometimes called hybrid images can be used as an ISO or USB image
[19:54:49]<cbaines>Unfortunately the guix installer is not yet one of those
[19:55:08]<dadinn>geemili: hmm... I've beet discussing it before here, that it can't be booted from under KVM, therefore I would be surprised it could be booted just by writing the 0s and 1s to a USB stick
[19:55:39]<davexunit>using 'dd' to write it to a usb stick works just fine
[19:55:52]<davexunit>done it a bunch of times, as have others. it is indeed a raw disk image.
[19:56:09]* albertoefg1 has joined #guix
[19:56:26]<dadinn>davexunit: why it can't be booted as an iso then?
[19:56:35]* albertoefg1 has left #guix ()
[19:56:46]<davexunit>it's not an ISO
[19:56:59]<davexunit>a raw disk image is different from the ISO file format.
[19:57:02]<lfam>ISO is different from a disk image, with its own type of filesystem
[19:57:12]<lfam>It's intended for use on optical disks
[19:57:17]<davexunit>I don't know the details, I just know that it is different.
[19:57:25]* albertoefg has quit (Read error: Connection reset by peer)
[19:57:33]<dadinn>lfam: hmm, it seems I had some misconceptions here, then :(
[19:58:12]<lfam>You can definititely run it with KVM / QEMU. But I guess that VPS services that offer KVM virtualization have some extra thing that requires the ISO format.
[19:59:07]<lfam>Our disk image is specifically intended to be written to a USB flash device and booted. If that doesn't work, it's a bug :)
[20:00:23]* jchmrt has joined #guix
[20:00:27]<dadinn>I see
[20:01:55]<mekeor>does anybody have a guix package definition for emacs with using 'athena' (libxaw) x-tookit?
[20:06:56]* mothacehe has joined #guix
[20:14:41]<lfam>nckx: I moved that cups-filters commit to staging
[20:18:08]* shanemikel has joined #guix
[20:21:06]* mothacehe has quit (Ping timeout: 255 seconds)
[20:22:40]<civodul>lfam: thanks for the webkitgtk update!
[20:22:47]<civodul>just saw the announcement on oss-sec, and woow
[20:24:25]<lfam>civodul: I'm not the only Guix contributor that was already working on the update, either! :)
[20:25:44]<civodul>we'd like to hear good news like this more often :-)
[20:27:30]<lfam>Yes, it really warmed my heart
[20:30:38]* shanemikel has quit (Quit: My MacBook Air has gone to sleep. ZZZzzz…)
[20:32:09]* shanemikel has joined #guix
[20:36:08]<mekeor>ACTION compiles webkitgtk :D
[20:36:49]* shanemikel has quit (Ping timeout: 255 seconds)
[20:38:17]<lfam>mekeor: Yeah... hopefully we have substitutes soon :)
[20:43:52]* Hermit has quit (Quit: WeeChat 1.3)
[20:44:11]<mekeor>is there a way to make 'guix package -m' or 'guix system reconfigure' either (1) show all packages to be installed, marked as 'to-be-build locally' or 'there is a substitute', and then ask if that's fine for me; or (2) just install the last system completely available as substitutes?
[20:46:09]<lfam>mekeor: (1) In practice, --dry-run will you what will be substituted and what will be built from source. It doesn't take grafting into account, but grafting is an order of magnitude faster than building in most cases, and you should never disable it except when debugging.
[20:46:22]<lfam>I mean to say, "--dry-run will tell you what..."
[20:47:14]<mekeor>(seems a similar question was aked before )
[20:47:36]<lfam>There *was* a bug that made grafts slow in some cases, but it's fixed on the master branch.
[20:47:54]<lfam>Fixed in 0aeed5e310504a9ef2cf6a2b2a7e76086eb8c2fc and the preceding commit
[20:48:16]<mekeor>alright, i'll check out --dry-run, thanks lfam :)
[20:50:22]<lfam>Right, in my limited knowledge, it's a use case that Guix doesn't really meet right now, since Guix is a build-from-source system that transparently substitutes binaries when they are available. But my understanding of the implementation is still weak, so I don't know how easy or hard it would be to do what was asked there.
[20:51:50]<lfam>mekeor: I'm curious, did you do `guix pull` and now find yourself wondering how you can go back?
[20:55:10]<mekeor>lfam: yes, i did `guix pull` and then i did 'guix package -m' (as user) and 'guix system reconfigure' (as root) and i didn't like that i didn't know how long it would gonna take
[20:56:53]<lfam>`guix pull` is one tool that I think suffers because many of us have an alternative to that particular flavor of dog food. We keep a Guix Git repo that we build and use, and that gives us way more flexibility than the one-way `guix pull`.
[20:57:39]<lfam>Working from the Git repo lets us use arbitrary commits, and test changes at will.
[20:58:24]<civodul>ah ha :-)
[21:00:03]<lfam>It's not great for everyone that's unfamiliar with Git :/
[21:05:38]* daviid has quit (Ping timeout: 245 seconds)
[21:06:30]<ng0>rekado_: I know again why I did it like this. the configure flags get transported on to other subdirectories/ files, and let the configure phase fail once it enters "js/src" (which happens probably because no java,javac,javah,jar,jarsigner is found
[21:09:49]* mystified has joined #guix
[21:17:17]<ng0>or maybe not.. but to not carry these build flags on and on would be good. haven't pushed an updated yet
[21:20:23]<ng0>ah, because out of source does not work in this case
[21:20:37]<ng0>and I thought I was almost done
[21:21:22]<rekado_>lfam: I agree. I would love for a better “guix pull” to exist because right now I have to perform updates on my partner’s laptop. It’s just not easy enough.
[21:23:33]* jmd has quit (Remote host closed the connection)
[21:26:25]<lfam>And it's not just the user interface / experience. There is also the trust issue
[21:26:46]<lfam>But, I don't see a reason for one of those concerns to block improvements to the other
[21:29:08]<ng0>- can't configure in the source directory - can't configure completely outside of it --- what... decide on one way
[21:29:50]<rekado_>ng0: if you replace the configure phase you have to check how gnu-build-system would usually handle configuration out-of-source
[21:30:12]<ng0>configuration works
[21:30:24]<ng0>it's just that it breaks once it does js/src
[21:30:34]<rekado_>what means “does”?
[21:30:35]<ng0>with the way I had it before, this did not happen
[21:30:40]<ng0>does enter
[21:30:47]<rekado_>what is “it”?
[21:30:55]<rekado_>is it configuration or building?
[21:30:57]<ng0>it expects a configure file, and finds none
[21:31:19]<civodul>rekado_, lfam: i agree, "guix pull" is a shame
[21:31:21]<rekado_>(you wrote “configuration works” a few lines up)
[21:31:33]<ng0>works up to the point until
[21:31:34]<lfam>That's harsh, civodul!
[21:31:44]<civodul>well, yes, but it's kinda deserved
[21:31:46]<lfam>We just need to improve it :)
[21:31:52]<civodul>i feel bad about it
[21:32:02]<ng0>if I find no way to work around this, I will stick with my version and comment on it why I chose this
[21:32:20]<lfam>Do we have a consensus about how the UX should improve?
[21:32:31]<civodul>i tend to procastrinate non-trivial things, partly because i rarely have big chunks of time available
[21:32:39]<lfam>I do the same thing
[21:32:41]<civodul>lfam: more or less
[21:33:00]<civodul>there's this channel idea that seems to be consensual
[21:33:06]<civodul>though we got little feedback in fact
[21:33:26]* mystified has left #guix ("Leaving")
[21:33:39]<ng0>the thread got so long that I stopped paying attention
[21:34:18]<lfam>I was thinking a "small" improvement would be to enable it to accept arbitrary commits to pull from. That would at least allow a basic roll-back funtion, assuming the user could determine which commit they wanted.
[21:35:12]<civodul>so we'd use git directly instead of downloading the generated tarball
[21:35:28]<lfam>Hm, I assumed that cgit could provide snapshots of arbitrary commits
[21:35:36]<civodul>oh, maybe it can
[21:35:48]<lfam>Do you want me to look in to it?
[21:35:53]<cbaines>I think its configurable, at least the archive type
[21:36:03]<lfam>Is it a feature we want to provide?
[21:36:04]<civodul>lfam: sure!
[21:36:15]<rekado_>but they are generated on demand
[21:36:24]<rekado_>i.e. different timestamps embedded
[21:36:38]<lfam>But does it matter for `guix pull` as it is now?
[21:36:44]<rekado_>and caching would have to be done by the web server
[21:37:05]<civodul>i'd really like to switch to guile-git since we'll have to do that anyway
[21:37:34]<civodul>i think the timestamp issue doesn't matter right now
[21:37:49]<lfam>I guess that the current `guix pull` must leave a lot of trivially different tarballs in Savannah's cache
[21:38:12]<civodul>but it's the cache's job to evict them when needed
[21:38:25]<lfam>Right, I'm not suggesting we try to manage it for them :)
[21:39:14]<rekado_>how do we handle ABI breaks?
[21:39:45]<lfam>Right now we just re-build all of Guix from scratch
[21:39:53]* roptat has joined #guix
[21:40:25]* mystified has joined #guix
[21:42:45]<civodul>we have to rebuild it from scratch i think
[21:42:57]<civodul>problem is that with Guile 2.2 it takes ages
[21:43:29]* albertoefg has joined #guix
[21:44:17]<ng0>ah, rekado_ i know where I got the idea of ac_add_* : the official instructions!
[21:44:32]<mekeor>Q: why does nothing happen when i execute 'guix package -f emacs-athena.scm' on this file:
[21:44:36]* jin has left #guix ()
[21:44:47]<rekado_>oh, wow: rofi + stumpwm is great!
[21:45:10]<rekado_>rofi is like ido and stumpwm is a bit like emacs
[21:45:33]<lfam>The snapshot generator is actually really fast! I requested a snapshot of a very early commit, and Savannah started to send it immediately
[21:46:37]<rekado_>ng0: in that case please generate the file from scratch with “display”, not by substitition. And please comment why it’s needed :)
[21:46:39]<ng0>even when it says windows, this is also valid for gnu systems because build system from hell something is broken or whatever. I will try to mess around some more and see if I can stick with #:configure-flags, otherwise I'll switch back
[21:47:10]<ng0>I've used substtitute because there is a file you can copy
[21:47:10]<OrangeShark>mekeor: the file has to evaluate to a package. So you can either remove the define-public or just add emacs-athena to the end
[21:47:41]* albertoefg has left #guix ()
[21:48:17]<lfam>Off-topic but Obama just commuted Chelsea Manning's sentence. She'll be free in May 2017 :)
[21:49:05]<rekado_>woo! It’s about time!
[21:50:13]<OrangeShark>mekeor: if you want to be able to `guix package -i emacs-athena`, you can put the file as gnu/packages/emacs-attena.scm where the gnu directory would be in your GUIX_PACKAGE_PATH environment variable
[21:50:21]<ng0><ot add: *if* trump changes nothing in 5 months
[21:51:00]<ng0>this palemoon build system is really stupid. I hope I can make it accept the build flags just through the flags
[21:51:23]<OrangeShark>so like ~/guix-packages/gnu/packages/emacs-athena.scm and the GUIX_PACKAGE_PATH would be ~/guix-packages
[21:52:06]* joshuaBPMan_ has quit (Remote host closed the connection)
[21:52:07]<mekeor>thanks, OrangeShark :)
[21:52:27]<lfam>If Trump tries to "un-pardon", then the institutions of justice in the USA will be even worse than I suspected
[21:54:54]<lfam>I remember that `guix pull` already accepts arbitrary URLs. So I don't think it's necessary make `guix pull` take a "commit" parameter
[21:55:41]<lfam>civodul, rekado ^
[21:55:45]<civodul>lfam: re Manning, woow!
[21:55:50]<civodul>at last
[21:56:16]<civodul>now for Snowden, Assange, etc.
[21:57:00]<lfam>Yes, and begin to respect the principles of habeus corpus, fully fund the public defenders, etc. So much work to do!
[21:58:49]<ng0>but I forgot about: so I think they have an --disable-official-build or whatever the function was called to not use the official themed stuff
[21:59:12]<lfam>civodul: How about we just document in the manual how to write a URL that will download an arbitrary commit for `guix pull`?
[21:59:42]<ng0>(--disable-official-branding I meant)
[22:01:26]<rekado_>it would be neat if I could tell Guix to use a different version of Guix for the current command
[22:01:50]<rekado_>e.g. guix package -i foobar --guix-version cabba9e
[22:01:52]<lfam>Interesting :)
[22:02:46]<rekado_>this would minimise requests for keeping every variant of a piece of software in Guix’s history.
[22:03:36]<lfam>In practice, lots of Guix is broken after only a few months. Important test suites *expire*, and source code becomes unavailable upstream
[22:04:28]<lfam>The latter can be fixed easily, but I don't have any ideas about fixing the former
[22:05:05]<roptat>sg hi, I can't make current master anymore
[22:05:12]<roptat>I get "gnu/system.scm:191:4: In procedure module-lookup: Unbound variable: #{% file-system-needed-for-boot?-procedure}#"
[22:06:36]<rekado_>roptat: rm gnu/system.go && make
[22:06:55]<civodul>lfam: yes, that would already be an improvement
[22:07:10]<lfam>Okay, on the way
[22:07:33]<civodul>ACTION apologies to everyone hitting the ABI break issue
[22:08:08]* janneke has quit (Ping timeout: 245 seconds)
[22:08:21]<roptat>civodul, thanks it works !
[22:10:33]* enderby has quit (Remote host closed the connection)
[22:13:04]* pagurus has joined #guix
[22:18:50]* lxo has quit (Ping timeout: 240 seconds)
[22:29:38]* janneke has joined #guix
[22:32:26]* pagurus has quit (Ping timeout: 240 seconds)
[22:44:59]* jonsger has quit (Ping timeout: 260 seconds)
[22:50:30]<mekeor>OrangeShark: how do i make my package visible in my manifest? i put the define-public back in into emacs-athena.scm. i defined $GUIX_PACKAGE_PATH. i moved emacs-athena.scm to $GUIX_PACKAGE_PATH/gnu/packages/. i inserted (use-modules ... (gnu packages emacs-athena)) into my manifest.scm. still, 'guix package -m manifest.scm' results in emacs-athena being unbound...
[22:52:17]<mekeor>nevermind, it works! =)
[22:52:59]<mekeor>nevermind, it doesn't work... omg
[22:53:33]<mekeor>the first error is: emacs-athena: unknown package
[22:54:50]* x1n4u has quit (Ping timeout: 240 seconds)
[22:54:57]* x1n4u has joined #guix
[22:57:20]* lxo has joined #guix
[22:57:47]* civodul has quit (Quit: ERC (IRC client for Emacs 25.1.1))
[22:58:07]* SovereignBleak has joined #guix
[23:01:20]* mystified has quit (Quit: Leaving)
[23:11:32]<cbaines>mekeor, if its a module, you need to use define-module, and export the package (e.g. using define-public)
[23:11:57]<cbaines>if its not a module, you need to use (use-module ...) style imports, and make sure that the file evaluates to the package
[23:12:07]<cbaines>It sounds like you could be mixing the two styles
[23:13:29]* pagurus has joined #guix
[23:13:36]* pagurus has quit (Remote host closed the connection)
[23:16:55]<mekeor>cbaines: yes, i'm mixing it up. but i was thinking i got it right now but it doesn't work still:
[23:19:14]<cbaines>I think your getting close, guile doesn't like the package declaration
[23:19:27]<cbaines>that is the "source expression failed to match any pattern"
[23:20:21]* GrimKriegor has joined #guix