<thomassgn>anyone up? a bit late I know, but does patches for the website go to the regular patches list? <bavier``>thomassgn: they can go there or guix-devel <marusich>I noticed that the ImageMagick 6.9.9-43 source is missing. Also, LibreOffice 5.4.7.1 source is missing. <marusich>I discovered this when I ran guix pull and found that I could not build these things. <marusich>Anyway, I've drafted a fix for LibreOffice, and I'm testing that it builds now. If it's successful, I'll push the change and send an email. I haven't started on ImageMagick, so if anybody here wants to try fixing it, please feel free. <marusich>I should have known, but LibreOffice apparently takes a loooong time to build :( <thomassgn>hehe, indeed. I still have a bug with libreoffice I should finish, but everytime I try to build I start doing other things while waiting :P <efraim>the longest thing I've ever built was chromium, that was about 18 hours on my fast aarch64 board <efraim>rust, webkitgtk, python-cython, nss also take a while <jonsger>civodul: are they any plans to update the gcc in commencement from gcc5 to gcc6? <civodul>jonsger: yes of course, probably in the next core-updates cycle <civodul>this is complicated by a change in how GCC handles C_INCLUDE_PATH et al. <jonsger>seems so, on one machine it fails to build perl-5.26.1 and on the other gcc-6.4.0... <jonsger>civodul: so the "code" for this is not out yet in a branch? <civodul>jonsger: right there's no code yet :-) <efraim>i was actually going to try getting guixsd running on scaleway's arm64 machines and then writing a blog post about it <roptat>civodul: "directories where libraries are to be search for" -> "searched for" I think <efraim>if I want to create a simple service to add a text file, it would be: (extra-special-file "/path/to/file" "my text here")? <marusich>civodul, very nice blog post! I hope to have the chance to play with "guix pack --relocatable" soon. <marusich>efraim, not sure, but I think you need to do something more like (extra-special-file "/path/to/file" FOO), where FOO is a "file-like object". So maybe you could do (extra-special-file "/path/to/file" (plain-file "my-file" "my file's contents")) <marusich>I haven't looked closely though, so I might be wrong. <marusich>My understanding is that basically, extra-special-file causes "/path/to/file" to point (via a symlink, I think?) to FOO. <marusich>Note that if you want to create files in /etc (but not its subdirectories, apparently...), you can extend the etc-service-type. <efraim>according to the manual, yes, a symlink <efraim>marusich: thanks, i'll look more at the etc-service-type <civodul>i hope it'll be as useful as it's been fun to play with :-) <catonano>I have a Debian machine running in the Amazon cloud. How do I know if it supports user namespaces ? I' d like to try this relocatable thing <efraim>file /./gnu/store/45218wx8qklzvlgikx8861a593idnh8y-hello-2.10/bin/hello <efraim>/./gnu/store/45218wx8qklzvlgikx8861a593idnh8y-hello-2.10/bin/hello: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /gnu/store/fw7538g5qkw2z74767gfpw059izkqfrr-glibc-2.26.105-g0890d5379c/lib/ld-linux-armhf.so.3, for GNU/Linux 3.2.0, not stripped <efraim>civodul: so it looks like it works, i'll find somewhere to add it to the manual, with the caveat that not all aarch64 machines support it <marusich>catonano, I recall that you can perhaps check the configuration that was used for compiling the kernel. See if Debian added /proc/config or something. <marusich>Yeah. It sounds like it may be a little complicated on Debian, since apparently they had (have?) a patch that disables user namespaces by default... I think you'll have to experiment and do more Internet searching to find the answers. <efraim>I think I had a script I ran on debian to enable it for guix environemnt or guix VM or something <efraim>Nothing fancy, I just couldn't remember the path <efraim>From the superuser post it would be 'echo 1 | sudo tee /proc/sys/kernel/unprivileged_userns_clone' <rekado>civodul: I wonder if the new “guix pack -R” could take an optional argument for a custom wrapper. <rekado>I’d imaging that people wanting to provide guix packs for other operating systems would be able to provide a custom wrapper that effectively spawns a GNU/Linux VM using the mechanisms of the target platform. <rekado>but maybe it’s easier to just use guix system vm for that. <marusich>Wow, LibreOffice is *still* building. I must sleep. Goodnight. <antilope>I throw 'guix pull' and I get this message <civodul>rekado: 'guix pack -R' could take an optional argument, but i wouldn't know how to handle other OSes <antilope>it stays there and does not advance, what can it be and how do I solve it? <catonano>Apteryx_: I reported thhison the list thhis morning <antilope>should I install 'pulseaudio' as root or user? <antilope>What 'theme gtk' do you recommend? I'm using 'lxappearance' <civodul>ACTION is pretty ignorant about GTK+ themes :-) <antilope>I want some programs to run with the '.xinitrc' file, but it does not work. As I do in guix, is there another method? I'm using twm awesome <civodul>antilope: i do that in ~/.xsession, which needs to be executable and to start at least one X client (usually the window manager) <snape>I'm going to use guix pack -R to install a copy of Emacs on my collegue's computer and symlink Eclipse to it :p ***pkill9_ is now known as pkill9
<antilope>because when launching 'guix pull' it comes out and it stays that way, how do I solve it? <civodul>antilope: it takes a while, unfortunately, but if you wait for 5 to 20 minutes (depending on various factors) it'll complete <civodul>well well, it's also memory-hungry as you can see <antilope>I'm using a virtual machine and it has 1.5gb of memory <roptat>it needs just a bit more than 1.5 GB of memory <roptat>but it's pretty easy to change the amount of memory of a virtual machine <roptat>2GB should be plenty. If you can't do that, you can still create a swapfile <antilope>It would be good to correct this problem, use a lot of memory guix <antilope>how active the audio, already install pulseaudio and pavucontrol? <roptat>did you select the correct device? <roptat>is there any kind of error message? <roptat>"Dummy output" is not a very good sign <roptat>the other warnings are unrelated <roptat>maybe your audio device is not supported? or maybe your user is not in the audio group? <dustyweb>civodul: nice job on the tarball blogpost :) <davexunit>does anyone know if the latest ubuntu enables unprivileged user namespaces by default? <davexunit>that would go a long way towards making these "just work" on a lot of systems <dustyweb>btw, I recently had the interesting experience where I couldn't upgrade my server because of ram limitations and something that wanted to compile <dustyweb>so I compiled it locally and passed the closure over <dustyweb>it's nicer now that we have an official letsencrypt service <davexunit>I really need to transition my linode to guixsd somehow <pkill9>what' sthe different between 'let' and 'let*' <davexunit>pkill9: with let*, variable bindings can refer to the variables that are defined before it <davexunit>(let ((x 1) (y (+ x 1))) y) <= error! x is not bound when y is defined <efraim>let is run in parallel, let* is consecutive <davexunit>you can think of 'let' as binding everything all at once, and 'let*' is defining each variable sequentially <davexunit>(let ((x 1) (y 2)) (+ x y)) is equivalent to ((lambda (x y) (+ x y)) 1 2) <davexunit>guile implements some of the let forms as primitives, but in a world where guile didn't implement let at all, you could write macros that expand to what I've shown you <catonano>the NEWS file mentions a problem with it but I don't undestand what that is <civodul>davexunit: i think Ubuntu enables this <Rukako>davexunit: why is let a primitive in guile? <Rukako>the only reason that I can think of would be if there was support for Hindley–Milner <civodul>it could be a macro implemented in terms of 'lambda' but it would be less efficient <pkill9>does 'copy-recursively' accept wildcards? <pkill9>so you would do (copy-recursively (find-files "filename*"))? <civodul>actually the first argument to copy-recursively must be a directory name <civodul>see the docstrings in guix/build/utils.scm <davexunit>Rukako: yeah, what civodul said. it's for efficiency because let is used everywhere. <davexunit>civodul: ooh that is great news, if true. 16.04 did not enable this. <lyr3>Good morning, Do you guys use that pacman2pacman software? <pkill9>woo, made my first function that isn't a package definition <nckx>lyr3: Heh. A Guix equivalent has been hand-waved about, but doesn't yet actually exist. <nckx>^ context from a quick search: ‘a plugin for pacman which allows it to download from torrent and HTTP mirrors simultaneously, and to constantly seed downloaded packages back up’ <snape>lyr3: but an equivalent would probably be useful for Guix :-) <snape>oh nckx said the same thing, sorry <roptat>hm... it should be easy to seed your own substitutes, but I don't see how users could find torrents <davexunit>there's a need for some distributed consensus system <nckx>‘the download URL that pacman gives to the pacman2pacman.-get script (through XferCommand) is used as a webseed for the torrent’, whatever that means. <davexunit>distributed downloads could only work reliably for bit-reproducible packages <roptat>I know it's possible to search torrents by name, so with a naming convention like guix-package-<guix-hash>.torrent it should be possible to look for corresponding torrents <roptat>then we need to be sure it's the correct one and not the work of some attacker :) <nckx>Note that this pacman2pacman thing is just (AFAICT) a torrent mirror service, *not* a decentralized upload-your-own-builds trustfest. <davexunit>so long as we confirm that what's being served matches what is on the thing that is being mirrored <roptat>but maybe there's a way to match after the fact that the torrent contains the same thing as hydra <roptat>the same way you can download substitutes from untrusted serveurs <nckx>davexunit: I don't know how secure BitTorrent's own hash is nowadays, but aren't builds from Hydra signed anyway? <davexunit>ah that's true, if we're downloading a signed copy then we're all set <roptat>is there a guile library for bittorrent? :D <davexunit>this might be a really nice feature to have to improve download speed until we have true decentralized, consensus-based downloads <davexunit>depending on how much surface area there is to cover <davexunit>I implemented the websocket spec a couple years ago without too much trouble <davexunit>but I don't know complicated bittorrent is under the hood <bavier`>civodul: wow, second on the front page of HN :) <bavier`>davexunit: heh, they don't seem that bad actually, from a cursory glance <nckx>Ironically, #2 is now ‘The sad state of sysadmin in the age of containers’. <nckx>Also GNU is apparently ‘unsexy’ y'all be warned. <nckx>Our friend has obviously never met rms. <lyr3>I did early this month on Sao Paulo <lyr3>such a cool lad, if you ofc dont fck with him <davexunit>he was mean to me the first time I ever attempted to speak with him back in 2012 <bavier`>in the "sad state of sysadmin in the age of containers" comments, someone says "Reproducible build tools are a thing. Try Nix sometime. nixpkgs has, say, Hadoop." <snape>RMS has amazing qualities. One of them being to always reply to emails. <davexunit>and then I worked for the fsf for awhile and about a year after I quit we were at the same event and he stopped me and said "you look familiar. what is your name?" <bavier`>could someone with an HN account please clarify that nixpkgs takes the "fuck it, I'm out approach" in the case of Hadoop (and many other packages) <davexunit>do you have evidence of said approach for hadoop? <bavier`>they download the tarball and patchelf the binaries <lyr3>davexunit: he was mean to me....buaaah <lyr3>there was a boy trying to prank Stallman with some opensource bs...gone too bad! <lyr3>But he was mostly kind and receptive to everyone <lyr3>and he spekas brazilian portuguese very well <davexunit>lyr3: I don't appreciate the condescending tone <thomassgn>lyr3: Appreciate not having disrespecting behaviour here. <roptat>davexunit: is there anything that's usefull to implement a protocol in guile? <roptat>like, I could use bytevectors, but I don't know if that's the best way to do it :) <davexunit>roptat: there's no high-level abstractions really <davexunit>usually you just figure out what read/write ops you need to do over a port <roptat>oh, is there a canonical way to represent dictionnaries? <davexunit>when you say dictionary are you talking about a hash table? <davexunit>guile has a hash table data type that you can use <Rukako>not sure for guile but in racket at least it is just `((key . ,value) (key2 . ,value2)) <davexunit>there's also the associative list structure, which may be a better fit, depends on the situation. <davexunit>it has the nice property of being a functional data structure <Rukako>I never had teh chance to use it before <antilope>as active the sound in guix, already install press audio and pavucontrol <Rukako>how can I remove a package form %base-packages? <antilope>how do I see that 'daemon' are being executed in guix? <davexunit>Rukako: here's an example: (delete sudo %base-packages) <davexunit>'delete' will return a new list with the given object removed <Rukako>is this pure or does it change %base-packages? <davexunit>you must import the module that provides the 'sudo' package for my example to work <davexunit>so you would import whatever module has the package you want to delete <pkill9>how do you tell guix to build 'in place'? i did it a while back but can't remember <Rukako>davexunit: also, where can I see what is included in the list of base-packages? <davexunit>Rukako: that variable is defined in the (gnu system) module <davexunit>so you can open up gnu/system.scm in the repo to see the source <antilope>help, how do I activate the sound in guix? <bavier`>antilope: usually sounds "just works" for me. have you run pavucontrol to make sure sound isn't muted? <antilope>bavier`: if lance 'pavucontrol' is blocked <pkill9>wigust: i mean when using the gnu-build-system in a package definition, is there a way to tell it that the output of 'make' will be in the source directory and not a separate one? But, thinking about it, this may not be the issue and i may be misremembhering what i did <bavier`>pkill9: I know cmake-build-system has an #:out-of-source? argument, but I don't recall if gnu-build-system does <pkill9>bavier`: thanks that was what i was thinking of <pkill9>looking at guix/build/gnu-build-system.scm, it looks like it does have that flag <pkill9>i'm curious why zenity needs webkitgtk <bavier`>pkill9: one of zenity's dialogs requires html rendering capabilities <roptat>is there a difference between an empty list and an empty alist? <daviid>bavier`: hello! any news on the guile-cv front? <thomassgn>hm, anyone know what timelimits hackernews has on posting? posted my last response 1 hour ago and it still says I'm too fast. (and I'm not behind a proxy or anything with more users) <civodul>someone on HN linked to Exodus, which does a similar job to "guix pack -R" <civodul>we may want to have that as an option eventually :-) <Rukako>thomassgn: do you use a new user? <Rukako>they apply some restrictions on new users <Rukako>they also apply restrictions to people who post controversial stuff or disagree with the admins often <thomassgn>Rukako: yes, it's a new user. Never posted to HN before... <bavier`>daviid: nothing new to report, sorry :( <Rukako>if I want to disable non-ed25519 keys from openssh, how should I go about it? <Rukako>in my non-nixy system I just edited the /etc/ssh/sshd-config file or whatever it was <Rukako>but I can't find a similar file in my guix vm <Rukako>and there isn't an option concerning the host keys in the guix config <civodul>Rukako: indeed there seems to be no way to specify that in openssh-configuration currently <civodul>i'd suggest you file a bug or send a patch <civodul>cool, let us know if it turns out not to be that clear ;-) <Rukako>should I start by manually editing the ssh.scm file in my vm? <Rukako>or is there something else that I should do first? <civodul>you should edit it in a git checkout <Rukako>I see, and how should I go about testing it? <civodul>you could run: ./pre-inst-env guix system vm your-config.scm <civodul>though, hmm, i think the latest kernel upgrade broke 'guix system vm' <civodul>it builds a VM running the specified config <Rukako>since I am already on a vm I will just reconfigure I think :p <civodul>if you run "herd stop ssh-daemon" before reconfigure, your new ssh service will be automatically loaded and started