<bobpollaco>OK, I'm subscribing to it. Thank you buenouanq. I have to leave now. Happy hacking!
<kevinfish>how do I find out what package a certain file/program is in?
<sneek>Welcome back kevinfish, you have 1 message.
<sneek>kevinfish, rekado says: The alsa-utils package provides “alsamixer”, which you can use to adjust the volume.
***Piece_Maker is now known as Acou_Bass
<jest_a_prank>I installed GuixSD at the last night, and I still got unbootable GuixSD without tweaking grub menuentry. In the menuentry, the script like this was put there: `search --file --set /gnu/store/hash00-linux-libre-4.8.15/bzImage \\n linux /gnu/store/hash00-linux-libre-4.8.15/bzImage --root=/dev/mapper/dec-root --system=/gnu/store/hash01-system --load=/gnu/store/hash01-system/boot \\n initrd /gnu/store/hash02-base-inird/initrd`.
<jest_a_prank>the problem was, there was no line like `search --file --set /gnu/store/hash02-base-inird/initrd`, which caused grub fail to find `initrd` in the way of boot.
<jest_a_prank>so I manually added `search --file --set /gnu/store/hash02-base-inird/initrd` at the head of script and make it booted, but I still fail to find where and how should I fix it on the guix system configuration.
<marusich>jest_a_prank, that search command finds the device containing the specified file (which happens to be the kernel image, although it could be any file on the device) and sets GRUB's "root" environment variable to that device.
<jest_a_prank>especially "the X11 display server, GNOME and Xfce" one.
<jest_a_prank>I used /etc/configuration/desktop.scm in the GuixSD USB boot.
<jest_a_prank>Ah, I forgot to say I configured that not exactly like `(file-systems (cons (file-system (device "my-root") (title 'label) (mount-point "/") (type "ext4") (dependencies mapped-devices)) %base-file-systems))` but like this: `(file-systems (cons (file-system (device "dec-root") (title 'device) (mount-point "/") (type "ext4") (dependencies mapped-devices)) %base-file-systems))`.
<jest_a_prank>because just using `(device "my-root") (title 'label)` couldn't boot as well.
<marusich>I think your file-system definition might not be quire right... Don't you need to specify the absolute path to the device? i.e., not '(device "dec-root")' but '(device "/dev/mapper/dec-root")'?
<jest_a_prank>as you said, weird thing is that as I added "search --file --set /gnu/store/hash02-base-inird/initrd" in the script, It booted flawlessly.
<marusich>jest_a_prank, That seems correct. If it's alright, may I ask you to share your entire operating system configuration file? You can either email it to me at firstname.lastname@example.org, send it via IRC, or share it via http://paste.lisp.org/
<marusich>I can't figure out why that would cause a failure.
<marusich>Can you also share with me the grub.cfg file that did not work, and the one that did work?
<jest_a_prank>ok. thanks for your sincere help. please wait for minutes and I'll share it via that url.
<marusich>OK. I'll see if I can reproduce the issue in a QEMU virtual machine.
<jest_a_prank>To use swap space, should I set `swap-devices` in `operating-system` or just `mkswap path_to_swap ; swapon path_to_swap` and `guix system init /etc/config.scm /mnt` without setting `swap-devices` on `operating-system`?
<jest_a_prank>the tutorial on GuixSD manual and configuration examples don't write about which should be taken.
<jest_a_prank>the tutorial has a paragraph that `mkswap` and `swapon` is needed to use swap device, but It didn't write about how to turn it on.
<kadintrooper>Hey, so if I want to build bitlbee with --purple=1, is there any way to do that with guix package or do I have to make my own package description?
<efraim>you have to make your own package description, but its not too bad if you reuse the existing package description using 'inherit'
<kadintrooper>Also does anyone know if adb is packaged anywhere? Couldn't find it
<marusich>Technically speaking, you can probably do sneaky things like run 'guix package --profile=/var/guix/profiles/system --delete-generations', but DO NOT experiment on a system you care about. Do it in a VM if you're curious; see '(guix) Invoking guix system' for information on how to launch VMs.
<marusich>Eventually, I suppose somebody who wants to delete their system generations will add support.
<thomasd>marusich: I once sent a patch that implemented guix system delete-generations, by using the delete-generations from (guix script package), and reconfigured grub. That works, except that grub reconfigure ignores any extra grub-entries you may have configured.
<thomasd>civodul sent a reply on how that could be improved, it's on my mental todo-list :)
<janneke>Hmm /gnu/store/h684zg6bx5kjhkjhbgdcdyplrbwpkczh-profile/libexec/git-core/git-sh-setup: line 46: /gnu/store/h684zg6bx5kjhkjhbgdcdyplrbwpkczh-profile/libexec/git-core:/gnu/store/2c05am2nb2850s5a7cybxmqrf5902h2k-profile/libexec/git-core/git-sh-i18n: No such file or directory
<lime_>so i have written my new system declaration, trying to reconfigure it but 'guix system reconfigure' errors
<lime_>what is the correct command to start this and may I suggest an edit in the man page
<lime_>ofosos: building only typically happens if you passed a flag tosay you don't want prebuilt packages,can we get the entire log or pipe the build log as it's happening to a paste bin if it got truncated
<paroneayea>thomasd: yes, Libreplanet is at MIT; I told Sussman about my talk ahead of time and asked if he'd be willing to talk about lisp history on friday... he couldn't then but welcomed davexunit and I on Saturday to his office over some really nice tea
<paroneayea>I guess my email is mainly "can we use CI to let programs tell if they themselves should be upgraded to new versions and as well be moved over to new packages, before a human intervenes"... though that's an extrapolation of ideas, and not what Sussman was talking about exactly
<paroneayea>lime_: right, you might use functional programming here, imperative here, a proven system here, but here you might need something more dynamic... but the glue between them will probably have to be dynamic
<paroneayea>how can you get a lot of differently working parts to work together?
<paroneayea>eg the human brain is a lot of independent parts which evolved to figure out how to work together
<paroneayea>some other interesting bits... we did talk about propagators a bit; I expressed that I wanted to use them on top of an actor model for anti-abuse tooling and he thought that was possible... "don't use my design necessarily"
<paroneayea>he also talked about how the lisp machine split affected him personally... he lost all his students!
<paroneayea>and also said that's why he decided never to go into business, because he saw how a bunch of the people at the AI lab who were friends and loved working together suddenly became enemies, and he didn't want that to happen to him
<catonano>yes he has an incredible talk on line about notation, tradition, how ormal languages (lisp) can help with that. I think the whole "Structure and interpretation of classical mechanics" is about that
<paroneayea>catonano: yep you're right, he pointed to the book that inspired the addendum in SICM that complains about math notation, and how it influenced his work to make math notation that transformed directly to scheme
<paroneayea>anyway he talked about worse is better, and how it lead to the decision for GNU to be a (not) uni
<braunr>no need to apologize, i just can't find a name in all that text :)
<paroneayea>he talked about how someone had told him "the software you're writing isn't going to last unless it runs on the cheapest possible machines that are most accessible to the broadest number of people" (I forget who said it)
<paroneayea>and how this was hard for him to hear, since he was working on more powerful machines for simulation
<paroneayea>and the most accessible machines at the time were the PDP series, which were too slow to run his stuff
<paroneayea>and that they were right though, the stuff they were working on died out because those larger machines didn't survive
<civodul>well the Unix machines weren't exactly "cheap" back then ;-)
<braunr>but it's such a plague that many people, in particular known people in the industry, writing ACM articles, are advocating increased penalties
<fps>every entity's cost function for optimal decision making is different. some align with GNU, most don't
<Apteryx>civodul: I found out that to generate the manpages database one should run "mandb $MANPATH". This tries to write the db files at the locations the manpages are found (they are found in the profile). Would it easy to add this command as a profile generation hook?
<Apteryx>civodul: Thanks. Usually the mandb is written to /var/cache/man or something like that. The value depends on "catpath" which is derived based on the man_db.conf file, which contains mapping between the "manpath" and the "catpath" (location of db files).
<Apteryx>In our case, it finds the manpages under /run/current-system/profile/share/man, which it has no mapping in that config file, so I believe the fallback in this case is to write the db files straight where the manpages were found.
<civodul>right, and this cannot work: we need to direct it to the output of the derivation
<civodul>i guess if you can find how to achieve that, we're all set :-)
<Apteryx>Looks like we should patch man_db.conf.in to add the required manpath --> catpath mapping.
<Apteryx>Simply setting MANPATH will not work. We have to pass it to mandb (figured this out by experimenting).
<Apteryx>mandb uses the config all the time anyway to determine the catpaths; the warning that "config file will be ignored sirce MANPATH is set" is bogus for mandb (its true for "man" alone I think).
<Apteryx>In mandb.c at line 835, under the comment "/* pick up the system manpath or use the supplied one */", we can see what happens when the "arg_manp" argument is not passed: it calls get_mandb_manpath which derives the manpath list from the config file.
<Apteryx>Oh, the man_db.conf.in file has some documentation about how it works. It says " For a manpath element to be treated as a system manpath (as most of those
<Apteryx># above should normally be), it must be mentioned below.
<daviid>ACTION just read the log, what a super interesting chat, thanks paroneayea!
<daviid>paroneayea: all these talks you do and tea meetings with sussman must go in a book
<daviid>i didn't not know rms was against keywords
<htgoebel>JFYI: ATM I'm updating kde-frameworks to 5.32.0
<civodul>Apteryx: so creating a custom man_db.conf would be enough, in the profile hook?
<rekado_>note that temp files often have random names, so you would need to be sure that they don’t end up in the build output (for reproducibility)
<Apteryx>rekado_: I'm adding something to the man database generation patch (profile hook) that civodul posted above. Basically create a temporary mandb.conf which will contain manpath --> catpath entries so that we can control where the database files get written to.
<Apteryx>And here's what I tried so far: "# \\\\*MANPATH\\\\* -> \\\\*CATPATH\\\\*\\\\n#"
<bavier>Apteryx: substitute* can only match a single line
<bavier>i.e. the regexp is applied to one line after another
<Apteryx>bavier: I see. Now I'm trying to use a more brute force approch where I simply append to the original file, using `file-append`. It's in a gexp, so I would expect that this already is defined, but I get a "unbound variable: file-append" triggered by "memoize-variable-access".
<Apteryx>Oh, I think I just need to ungexp it using #$
<Apteryx>Hmm... but that's not what I want. I'm appending some content which is to be calculated at runtime, it shouldn't be eval'd before.
<Apteryx>Is there a guile function I can use instead of (guix gexp)'s file-append?
<bavier>Apteryx: if you have a gexp already, I think you can just include the code that write the lines you want in the gexp
<Apteryx>bavier: But how do I write the lines? Using Guile directly? First time I do I/O in guile :)
<bavier>Apteryx: maybe just strings, depends on what the rest of the gexp is doing (e.g. using text-file*)
<Apteryx>At first I was thinking to use substitute*, but that ended up being more complicated that I hoped, so I tried file-append from (guix gexp), but that fails with strange dependency problems. So now I'm thinking I'll do it using Guile's standard library.
<Apteryx>I have to get some sleep. Hopefully I can find out how to do it tomorrow, or I'll read some hint here :)
<bobpollaco>buenouanq, I have found a workaround that repairs the GNOME bug that hangs completely the de
<bobpollaco>I don't understand that link. What happens is that I installed font-inconsolata and it didn't appear in the font list, but then I removed it and installed adobe source pro... and the latter appeared in the font list. Don't know why...
<ofosos>I'd like to package up darktable, a digital darkroom software, it's available under gpl, but it's not built with the gnu build system, it uses cmake, where to I go to read up on how to integrate that with guix?
<civodul>ofosos: roelj has been working on it, but maybe you can help
<lfam_>civodul: It might be controversial, but I'd merge it. Most of the failures on Intel-compatible systems are resolved since the last evaluation. Armhf is still far from done, but it doesn't seem to be progressing...
<lfam_>And whatever "real" failures remain, it seems that nobody sees them or is interested in fixing them
<lfam_>I recommend we stop building the current evaluation. Since the NSS / IceCat job has been invalidated by a later nspr update, that one armhf builder will spend many hours, maybe even a day, just building packages that we don't need
<lfam_>We can start a new evaluation of core-updates and merge it after we're satisfied or, if we are impatient, just merge it now and evaluate master.
<lfam_>Oh, IceCat doesn't depend on nspr. But NSS does