IRC channel logs

2019-02-28.log

back to list of logs

<nckx>ebrasca: No need to. ‘guix package --list-installed’ remembers.
<nckx>(‘-I’ for short.)
<kmicu>^^ exactly. You can list them and then move them by hand to /etc/config.scm.
<kmicu>That would be the easiest way to migrate your system to one file and later recreate it easily.
<ebrasca>It sound someting stupid , I think it is machines job.
*kmicu goes 😴 and whishes everyone happy guixing.
<ebrasca>Can I update my config.scm and then update my system?
<nckx>Good night, kmicu!
<kmicu>ebrasca: that could be automated but there is no out-of-the-box function to to that yet.
<nckx>^ exactly. ‘guix package -I’ could be trivially extended to output a manifest.
*kmicu would use an emacs kmacro to do that in 1 min xD
*nckx would, er, use, erm, sed...
*nckx really needs to learn the emacs better.
<kmicu>nckx: thx ( ^_^)/ and one more time ― thank you for helping.
<nckx>😊
<ebrasca>nckx: Why do you help other people if you don't like it?
<nckx>I enjoy it immensely.
<ebrasca>Can I update my config.scm and then update my system from it?
<nckx>Yes... if by the first ‘updating’ you mean editing. As we noted above, there's no automatic ‘dump my packages to a file’ function [yet].
<nckx>Your /etc/config.scm is like the source code for your system. You change the system by editing the source file and ‘recompiling’ — or reconfiguring, in Guix.
<nckx>So, for now, you manually add packages to a file and then ask Guix to apply that file.
<nckx>Maybe some day we'll have cool automated tools to do cool automated things with that source file.
<nckx>Today is not that day.
*nckx is also off to bed. Good night, and good luck.
<ebrasca>If I add qemu to config.scm && run "guix system -c 8 -M 4 reconfigure /etc/config.scm" I get installed qemu?
<nckx>ebrasca: Exactly.
<ebrasca>nckx: But no sudo quix ... ?
<nckx>ebrasca: I understand that it's confusing.
<nckx>The only time you should use sudo is a) always with the -E option and b) only with ‘guix system …’, because it needs to install the boot loader amongst other things. ‘guix pull’ and ‘guix package’ should be run as your regular user. Does that make sense?
<ebrasca>All GNU distributions have tech me to use sudo for instaling packages ...
<ebrasca>And only root can install
<nckx>(It gets even more confusing because ’sudo guix pull’ *will* update Guix — only it's root's guix, and not your guix. But that's not something you need to worry about until you're more comfortable.)
<ebrasca>It is years of shell with sudo
<ebrasca>How to update kernel?
<nckx>ebrasca: I understand. Guix is different :-) ‘Per-user package management’ really means that anyone can install their own software.
<nckx>ebrasca: guix pull && sudo -E guix system reconfigure <yoursystem.scm>
<ebrasca>I don't like it. I am root and I say what can run on my machine ...
<nckx>That is not true. Root never had that power. I have many accounts on machines where I am not root, and I can upload *any* static binary I want and run it as myself.
<nckx>Guix is no different.
<nckx>What you can't do is run your packages *as root* without root's permission.
<nckx>I really need to go to bed now. Good night!
<ebrasca>nckx: Have good dreams.
<nckx>You too! I hope you learn to like or at least understand Guix.
<ebrasca>I get ( guix system: error: symlink: Permiso denegado: "/var/guix/profiles/system-6-link.new" )
<ebrasca>when I run ( guix system -c 8 -M 4 reconfigure /etc/config.scm )
<mange>ebrasca: The "guix system" commands have to be run as root, because they modify parts of the system that users aren't allowed to change. Try: sudo -E guix system -c 8 -M 4 reconfigure /etc/config.scm
<ebrasca>/etc/config.scm:37:8: error: make: unbound variable
<ebrasca>(packages (cons* make ...
<mange>Have you imported the correct module for make? I think you might need a (use-modules (gnu packages base)) at the top of the file.
<mange>Alternatively, you can install that as a user-level package (guix packge -i make) and remove it from your system configuration.
<ebrasca>make is not in (gnu packages base)
<mange>Sorry, the variable is called gnu-make (even though the package name is "make").
<ebrasca>Do guixsd have some other make package?
<mange>I don't know, actually. You can search with "guix package -s make" to see.
<ebrasca>mange: Thank you!
<wednesday>anyone got experience with exwm and dual screen? xrandr doesn't seem to want to do the job on it's own
<wednesday>how can I find the location of the xorg config in use? I'm still trying to figure out my dual screens
<ng0>for whoever wants to upgrade gnunet for guix, here's a useful reference (not finished) https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=tree;f=gnunet;h=9fa47666a8a0d8b45c30049d5f437a921c059ca0;hb=HEAD
<ng0>but I'm hoping the README in gnunet is enough :)
***paroneayea is now known as dustyweb
<patrask>how are the base32-encoded sha256 digests for source files computed by guix? it's not base32(sha256(content))
<nckx>patrask: We use a custom base32 implementation from Nix.
<nckx>Or wait, no, that's for store hashes.
<patrask>ah i dont know much scheme but in package.scm there's a syntax definition for base32 that uses nix-base32-string so i guess that's the case for source files too
<nckx>It's base32 with a slightly different symbol set to avoid naughty words, IIRC.
<patrask>alright, thanks!
<dustyweb>hi!
<dustyweb>so GNU is in gsoc yay :)
<dustyweb>where's the list of gsoc proposal ideas for Guix?
<dustyweb>I'm still interested in mentoring (co-mentoring if davexunit is willing) guix deploy
<janneke>dustyweb: *woot* (2x)
<pkill9_>what does/will `guix deploy` do?
<dustyweb>pkill9_: server management/deployment
<pkill9_>nice
<dustyweb>guix as a ~devops platform
<janneke>dustyweb: i didn't react on the email thread earlier because i didn't want to merely say *woot* by email, but i'm pretty excited about wip-deploy
<dustyweb>janneke: me too! hopefully we can make it happen
<jackhill>dustyweb janneke: I'll chime in a woot as well ☺
<bavier`>hello guix, how goes it?
<jackhill>Hi bavier` . It is going well, Guix is teaching me many things.
<bavier`>jackhill: awesome; it has done the same for me :)
<janneke>dustyweb: one by one i have been replacing all my machines at home and work with guix, not fully done yet
<janneke>and it is so great to have all my machines' config.scm in one git archive
<janneke>much less headache!
<janneke>deploy would make it another big step towards perfect
<jackhill>dustyweb: 2019 GSoC: https://libreplanet.org/wiki/Group:Guix/GSoC-2019
<jackhill>reguardless of guix deploy for GSoC, it might be nice to have wiki page to record our thinking/direction.
<jackhill>I'm still stumped by as to the build probelm I'm having with this package definition: https://gitlab.oit.duke.edu/jackhill/guix-at-duke/blob/21e017a120c62895b1f375eea2145dedcb617cfb/guix-at-duke/packages/endpoint-management.scm#L98-134
<jackhill>build log: http://paste.debian.net/1070674/
<jackhill>I'm pretty sure the problem is the string-append in copy-file, but I'm not sure what needs to be changed.
<bavier`>jackhill: could you check what '(which "python2")' and '(which "guix-installed")' are returning?
<bavier`>'which' looks up binaries in $PATH, but that env var is not set in trivial-build-system
<nckx>jackhill: Do you get the same error if you comment out everything but the copy-file?
*nckx also suspects (which …) → #f.
<jackhill>nckx, bavier: ah, you're right! It is which. I'll use the paths from the inputs instead of the which there.
<nckx>Yes. It's simplest just to manually string-append "/bin/python2" here.
<nckx>&c.
<jackhill>thanks!
<jackhill>bavier`, nckx: thank, I have a working package definition now: https://gitlab.oit.duke.edu/jackhill/guix-at-duke/blob/87fb1251773cdd3eaed547e2aada18c52d61a268/guix-at-duke/packages/endpoint-management.scm
<nckx>\o/
<phenoble>Hello #guix
<nckx>o/ phenoble.
<dongcarl>Hey all, I'm wondering if there's a way to extract only the code related to a certain functionality of Guix from the guix repo
<dongcarl>For example, if there's a way to extract from the repo only the `guix environment` functionality
<dongcarl>I'm asking because guix is quite a large repo
<dongcarl>And being able to audit the code is quite important for security
<ebrasca>nckx: Hi
<dustyweb>ok I added the Guix Deploy thing here: https://libreplanet.org/wiki/Group:Guix/GSoC-2019#Guix_Deploy
<dongcarl>It would seem that binaries I build inside a guix container looks like this when I do `ldd`: libm.so.6 => /gnu/store/h90vnqw0nwd0hhm1l5dgxsdrigddfmq4-glibc-2.28/lib/libm.so.6 (0x00007fe7b4e28000)
<dongcarl>wondering if anyone knows how to replace the /gnu/store/*/ with /usr
<dongcarl>I remember seeing a scheme function that did this inside the guix repo
<dongcarl>But I've forgotten where it is
<phenoble>dongcarl: Would using the system's package manager e.g. apt be an option, instead of using guix?
<dongcarl>phenoble: I guess I should explain my particular usecase. I'm using guix as a way to create containers to perform bitcoin-core builds inside
<dongcarl>The main benefit over our current reproducible build system is that guix is bootstrappable
<roptat>wha's the issue with /gnu/store then?
<phenoble>dongcarl: What do you mean by "bootstrappable", exactly?
<dongcarl>roptat: I want to be able to match the release tarballs we have right now. And as much as I'd love to distribute `guix pack` outputs, it's a little too much for people
<dongcarl>phenoble: As in, our current set of trusted binaries is the entire ubuntu operating system and the .deb binaries that are our build dependencies
<dongcarl>Guix's trusted binary set is smaller
<dongcarl>And the boostrap path up to the environment is well-defined and easily-reproducible
<phenoble>dongcarl: I understand; don't have an answer though, sorry. Maybe the help-guix mailinglist can help.
<g_bor>hello dongcarl!
<dongcarl>Hi!
<g_bor>I believe you are looking for patchelf
<dongcarl>g_bor: OMG YES
<g_bor>hello guix!
<janneke>hi g_bor!
<g_bor>Istm that the font state is leaked into the containers created by guix environment -C
<g_bor>We are having a little problem with our video build, which could be solved by running fc-cache in the build enironment, but then we might give the user a bad cache after exiting it...
<g_bor>Any idea?
<g_bor>I tend to think that we should simply sidestep this for now, documenting the neede fonts, and think about a proper solution later, which most probably would look something like a post-enter, post-exit hook...
<g_bor>Wdyt?
<phenoble>So I am trying to package ycmd - during the build-step, the build script tries to download an external tar, which fails with "Couldn't resolve host name".
<phenoble>I could well imagine that guix would not allow downloading anything during the build-phase - is that so?
<OrangeShark>phenoble: correct, wouldn't be reproducible if the builds download random files from the network
<bavier`>dongcarl: could you use 'guix pack --tarball' for your usecase?
<phenoble>OrangeShark: Alternatively, I can download that tar before the build phase, and put it in a specified folder in the build repository. Hmm, can I just call wget in a call to system* in a snippet? Seems hacky. Is there a clean way to do something like this?
<bavier`>phenoble: declare an origin as an input
<phenoble>bavier`: so there can be multiple origins in a source declaration? How would I copy the tar into the repository?
<bavier`>phenoble: there are examples in the package modules, I can't find a good example at the moment. The "isc-dhcp" package does something like that
<bavier`>phenoble: see the "bind-source-tarball" input and "replace-bundled-bind" build phase
<phenoble>bavier`: I'm looking at the isc-dhcp declaration. Would certainlyt not have found this without your reference - thank you!
<bavier`>hope it helps, good luck
<g_bor>ok, it seems that I can get around this font issue by setting env variables.
***renich_ is now known as renich
<jackhill>dustyweb: +1
<nckx>ebrasca: Hullo?
<nixo_>Hi guix! Anybody knows how to setup wifi band regulations in GuixSD? iw reg get reports global is right (IT), while the device is using CH...
***errst__ is now known as errst
<quiliro>hello. is it normal that clementine not work with ipod?
<quiliro>"This is an iPod, but you compiled Clementine without libgpod support. If you continue, this device will work slowly and songs copied to it may not work."
<quiliro>'guix package -i libimobiledevice'
<quiliro>do I need to remove and reinstall clementine after this?
<nckx>quiliro: That would result in the exact same clementine so definitely not.
<quiliro>nckx: if libimobiledevice is present, clementine would not change because it would not be reproducible. right?
<quiliro> https://forums.linuxmint.com/viewtopic.php?t=158372 talks about this issue
<quiliro> nckx-: if libimobiledevice is present, clementine would not change
<quiliro> because it would not be reproducible. right?
***nckx- is now known as nckx
<nckx>quiliro: Sorry, I got kicked from Freenode for some reason.
<nckx>quiliro: Pretty much.
<nckx>You need to (at least) add libimobiledevice to clementine's INPUTS.
<nckx>Then install that new Clementine.
<nckx>And maybe make the case for adding it to Guix upstream :-)
<quiliro>i don't know how to do that...would you please tell me where to study that?
<quiliro>i have emacs-guix
<nckx>quiliro: Start with the 14.2 Running Guix Before It Is Installed section in the manual.
*nckx tries adding libimobiledevice to clementine.
<quiliro>nckx: thank you!
<quiliro>please tell me how you do it...if possible
<nckx>Heh. There's ’;; TODO: Package libgpod.’ in the clementine package, but I just read somewhere that libiwhatever should work too.
<nckx>quiliro: I just ‘git clone …’'d the guix repository from Savannah, and use ./pre-inst-env as described in the manual. Nothing magic.
*nckx hasn't actually read the manual, mind you.
<quiliro>nckx: how can you know that much without reading the manual?
<nckx>In the words of the Great Leader: I learn by doing.
<nckx>…and by reading the code and lots of mailing list posts ;-)
<nckx>I'm sure the manual has improved greatly in the 4 years since I switched to Guix. (y)
<nckx>* 👍
<quiliro>cool
<quiliro>will follow your footsteps then
<quiliro>...and read the manual...again
<quiliro>i am using GSD right now....with emacs-guix....is it still necesary to clone the repo or does emacs-guix do that?
<nckx>quiliro: I'm afraid I don't use emacs-guix. Just emacs, and guix.
<nckx>quiliro: Random tip: be sure to pass ‘--sysconfdir=/etc --localstatedir=/var’ to ./configure when building Guix from git.
<nckx>Clementine sure takes a while to build.
<quiliro>oh...so probably it would not be a good idea to compile it on a dual core
<quiliro>which is what i have
<nckx>This is a Intel(R) Core(TM) i5-6402P CPU @ 2.80GHz (4 cores).
<quiliro>what i have learned with guix is that almost anything can be done with it...but you must build it yourself...because your particular needs are not the ones of the devs exactly
<quiliro>which is good news....but i have had difficulties experimenting....i guess the first step i must take is get hold of a powerful computer
<nckx>quiliro: The term ‘dev’ is pretty vague. Am I a dev? I keep plenty of custom packages around regardless. I also run my own substitute servers because my laptop is even slower than yours. Everyone's needs are different, but Guix gives you almost limitless freedom if you put in the work.
<bavier`>I've had the guix system installed on a netbook (Intel Atom with 2GB RAM), and used it fairly succesfully for development on guix packages
<quiliro>i would be greatful for a tutorial...in order to feel more secure until i understand how to hack
<bavier`>yeah, it can take a while to build some packages, but you can be careful which packages you modify, etc
<quiliro>nice (on atom)
<quiliro>i can peruse a remote computer as a substitute and build server...but it does not have a public ip...is that a problem?
<nckx>quiliro: It has to be reachable from your ‘client’ machine. So if e.g. both are on the same LAN, you can still update at home. Does your modem/router/gateway not allow port forwarding at all?
<nckx>That in combination with a dynamic DNS service (if needed) is enough to get started.
<nckx>Well, and setting up all the software...
<bavier`>I've not had success recently with dynamic dns; but that's probably because of my own lack of skill in that area
*nckx uses dns.he.net and likes them very much (no-nonsense, hands-off people), but there are many others.
<quiliro>is it not possible to initiate a vpn via de private ip machine to a public ip machine? then i could have the build and substitute server on the private ip
<mikadoZero>I want to make a guix package. I thought I would do ace-link an emacs-package for my first guix package.
<quiliro>i think the best is to buy a powerful machine for the public ip...
<nckx>quiliro: I'm sure it is. That's not Guix-specific though and I certainly can't help you there.
<nckx>mikadoZero: Go for it.
<mikadoZero>I am looking at the manual. Do people use `guix environment` with --pure --container when preparing a package?
<quiliro>nckx: my question is if that would work for using a guix substitute server on a private ip?
<quiliro>would guix be able to reach it as a client?
<nckx>quiliro: Again, I'm sure it [would].
<quiliro>ok
<nckx>quiliro: Erm... Where did you find the advice to install libimobiledevice? As far as I can tell, support for that was removed from Clementine in — drum roll — 2013.
<nckx>commit 3d434f1c8 | Remove iDevice support as it doesn't work well for modern devices and libgpod shows no signs of updating to support them.
<nckx>The only way forward seems to be packaging libgpod (which I'm afraid I won't do) and adding it to clementine.
<nckx>*And* hoping that it does support new devices by now.
<bavier`>latest libgpod release was 2013
<nckx>I'd just install GNU/Linux on the 'pod, if that's still possible.
<nckx>That was fun.
<nckx>FLAC support and half the battery life. ♥
<nckx> http://ipodlinux.sourceforge.net/screens.shtml seems about as maintained as libgpod :-(
<lfam>Do iPods even accept 3rd party access anymore? With any software?
<nckx>‘gPodder may require you to jailbreak your iPod. This is due to restrictions set by Apple.’
<nckx>Oh FF F'ing S.
<lfam>Yeah, and it may not be possible to jailbreak them anymore
*nckx just can't.
<lfam>I think there is a good reason those libraries aren't maintained anymore. Most of the jailbreak scene was hired by Apple to improve their security IIUC
<quiliro>this ipod was working on trisquel clementine
<lfam>Okay, so then it must be possible
<mikadoZero>quiliro: I had an old ipod that I put rockbox on. It alowed me a gnu/linux distrobution to put music on it like it was just a normal directory. I could also use rockbox to make that music play on the device. It worked well for me.
<quiliro>and parabola.... had problems at first...but then worked
<nckx>quiliro: Then I suspect it's through libgpod, and someone just needs to package it.
<nckx>Yeah, I was completely serious in my suggestion to just install some GNU/Linux[-based] OS on it.
<quiliro>mikadoZero: it is an ipod nano (green) ... will rockbox work on it?
<nckx>quiliro: Does it have a screen?
<quiliro>yes
<nckx>‘Rockbox can boot and run on the 2nd generation iPod nano.’
<quiliro>but it is not used...it is used for music only
<nckx>No idea what those gens mean in years.
<quiliro>i think it is 5th gen ipod
<mikadoZero>quiliro: My was not a nano. But rock has good documentation on what models they support.
<quiliro>cool mikadoZero
<nckx>‘Rockbox currently doesn't run on the 4th generation iPod nano and no code to do so has been written.’ No mention of 5...
<quiliro>thanks for the info
<nckx>The silver lining (I guess?) is that you now have a strong motivation to learn packaging and submit your first package…
<nckx>…in silence.
***janneke_ is now known as janneke
<g_bor>hello guix!
<bavier`>hi g_bor
<g_bor>The CVE-2019-1559 DSA security advisory just landed in my mailbox.
<g_bor>How should we coordiante on this?
<g_bor>I will come back with this tomorrow morning, and have a deeper look.
<lfam>g_bor: Okay, I think that one of us will probably graft the openssl package during the European or North American night
<lfam>I can't do it in the next few hours though
<lfam>It should be a simple patch, in case anyone is thinking of trying it. Just search our Git log for examples of adding a 'replacement' to the openssl package, copy and adapt that, and test it by building and using some package that uses openssl
<nckx> https://git.openssl.org/gitweb/?p=openssl.git;a=patch;h=e9bbefbf0f24c57645e7ad6a5a71ae649d18ac8e
*lfam afk
<nckx>^ This is the patch I'm looking at (and writing a replacement for). That's this, right?
<nckx>s/this/all/