IRC channel logs

2018-02-05.log

back to list of logs

<terpri>if i use a file-union gexp as the source of a package, it seems to have different derivations under 'guix build' and 'guix environment'
<OriansJ>just a minor thought but you may wish to add (service special-files-service-type `(("/usr/bin/env" ,(file-append (canonical-package coreutils) "/bin/env")))) to %base-packages so that /usr/bin/env bash behaves correctly
<iqubic>is guix worth switching to? I currently use NixOS, and I'm wondering if I should switch.
<NewGnuGuy>Yes. (Did I convince you?)
<sneek>NewGnuGuy, you have 1 message.
<sneek>NewGnuGuy, catonano says: Thanks !
<iqubic>NewGnuGuy: Why do you say I should switch to GuixSD?
<pkill9>i prefer teh guix package manager
<pkill9>the*
<NewGnuGuy>What are looking for in a distro?
<iqubic>I'm looking for a distro that is rolling release, with easy rollback capabilities. I want something where the entire distro configuration can be put into one top level file. I like that everything is sanboxed in NixOS.
<pkill9>the main differenc ebetween Nix and Guix is the language used to describe packages, and that Guix by default has no non-free software (but you can add nonfree stuff to your installation if you want)
<pkill9>also the commands used by guix are different and in my opinion better
<pkill9>the nix people have stated the command line interface is somewhat unintuitive
<iqubic>Does Guix have good stack (haskell) integration
<iqubic>Also, how hard is it to switch from Nix to Guix?
<iqubic>Anyone able to answer this question, anyone at all?
<terpri>iqubic, there are package importers for hackage and stackage (https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-import.html)
<iqubic>thank you.
<iqubic>but I'm still wondering how easy it is to switch from NixOS to GuixSD.
<terpri>you can also configure the entire guixsd system in a single file: https://www.gnu.org/software/guix/manual/html_node/Using-the-Configuration-System.html#Using-the-Configuration-System
<terpri>(if it supports the services you use)
<iqubic>Yeah, I figured.
<terpri>iqubic, i haven't used nixos so i can't compare them, but you could try out guix before installing the full system. it's completely self-contained
<terpri>guix can even use the nix daemon and store if you compile locally, but the binary version is easier to install
<iqubic>What does that mean?
<terpri>iqubic, i meant the base guix installation is self-contained, in that it only changes /gnu and /var/guix; guixsd may be different
<iqubic>I see.
<buenouanq>Can GuixSD out of the box read hfs+?
<efraim>I don't think I've tried before
<pch>Hello
<pch>hello guix
<pch>I want to build my first package with guix, and need to know what it takes to do so
<pch>i have read quite a lot of documentation, but it always tells about how to install and perform firther functions
<pch>*further
<pch>but what is the official way to create a package file from my own binary
<wigust>pch: Hello. If you don't want to compile a thing according to “create a package file from my own binary” then you want to stick with trivial-build-system and just use install-file procedure. See android-udev-rules <https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/android.scm?h=master#n341> for example.
<pch>wigust: thanks for your response!
<pch>what i meant was that am compiling this binary using CMAKE. Is its possible to integrate the package creating into CMAKE somehow?
<pch>*package creation
<wigust>pch: Do you mean building a Guix package using CMake?
<pch>wigust: yes
<wigust>pch: cmake-build-system is
<wigust>pch: You could “grep” for examples in the your local Guix Git repository like “grep cmake-build-system ~/src/guix/gnu/packages/*.scm”.
<amz3>fosdem video already out: https://fosdem.org/2018/schedule/event/usingguix/
<amz3>please paste other videos
<civodul>Hello Guix!
<civodul>indeed, they were crazy fast to publish the videos!
<jlicht>hi guix! I hope people had a safe trip home from FOSDEM :-)
<civodul>hey jlicht!
<civodul>i had a good trip back home :-)
<civodul>it's faster than it used to be, thanks to the high-speed train
<civodul>*and* there's wifi all along!
<civodul>quite impressive
<civodul>i could even download a few substitutes from the train :-)
<jlicht>civodul: good to hear :-)
<jlicht>is there an easy way for me to build ARM packages on my x86_64 GuixSD system?
<civodul>jlicht: use qemu-binfmt-service or offload to an actual ARM machine
<civodul>qemu-binfmt-service is a bit slow but ok
<civodul>though Danny said there's a race condition in libc that can make it buggy somehow
<civodul>(i haven't experienced it)
<jlicht>civodul: slow is okay, this is mostly going to run overnight to see if some stuff I did build/breaks the build :-)
<az->hi ther eall
<az->I want to do all my development under guixsd. How to use docker under guixsd? I found docker-compose but there is no docker cli itself - why?
<wigust>az-: hi, docker-compose is a python thing. We have a go-build-system not for a long time. I guess nobody packaged Docker and wrote a service for it.
<az->ok...
<az->next, simpler, question: How to install node packages globally - i.e npm install -g yarn ?
<az->can I use npm, or I need to packge EVERYTHING via guix?
<cbaines>az-, you don't need to package everything via Guix, but obviously you'll be missing out on some of the benefits if you don't
<az->docker can make all that simpler... Maybe there is not so much work to package it///
<az->I'll try
<cbaines>npm is available in Guix, it's in the node package
<az->yes, but
<az->bash-4.4$ env | grep node
<az->NODE_PATH=/home/az/.guix-profile/lib/node_modules:/run/current-system/profile/lib/node_modules
<az->bash-4.4$ npm i -g yarn
<az->npm WARN deprecated yarn@1.3.2: It is recommended to install Yarn using the native installation me
<az->thod for your environment. See https://yarnpkg.com/en/docs/install
<az->npm WARN checkPermissions Missing write access to /gnu/store/52p6vbv3pbaf2588z41hlirgdqrxp5vr-node
<az->-8.9.1/lib/node_modules
<az->npm ERR! path /gnu/store/52p6vbv3pbaf2588z41hlirgdqrxp5vr-node-8.9.1/lib/node_modules
<az->npm ERR! code EACCES
<az->npm ERR! errno -13
<az->npm ERR! syscall access
<az->npm ERR! Error: EACCES: permission denied, access '/gnu/store/52p6vbv3pbaf2588z41hlirgdqrxp5vr-nod
<az->e-8.9.1/lib/node_modules'
<az->npm ERR! { Error: EACCES: permission denied, access '/gnu/store/52p6vbv3pbaf2588z41hlirgdqrxp5vr-
<az->node-8.9.1/lib/node_modules'
<az->npm ERR! stack: 'Error: EACCES: permission denied, access \\'/gnu/store/52p6vbv3pbaf2588z41hlirgd
<az->qrxp5vr-node-8.9.1/lib/node_modules\\'',
<az->npm ERR! errno: -13,
<az->npm ERR! code: 'EACCES',
<az->npm ERR! syscall: 'access',
<az->npm ERR! path: '/gnu/store/52p6vbv3pbaf2588z41hlirgdqrxp5vr-node-8.9.1/lib/node_modules' }
<az->npm ERR!
<az->npm ERR! Please try running this command again as root/Administrator.
<az->
<az->npm ERR! A complete log of this run can be found in:
<az->npm ERR! /home/az/.npm/_logs/2018-02-05T13_28_00_566Z-debug.log
<az->bash-4.4$ sudo npm i -g yarn
<az->npm WARN deprecated yarn@1.3.2: It is recommended to install Yarn using the native installation me
<az->thod for your environment. See https://yarnpkg.com/en/docs/install
<az->npm WARN checkPermissions Missing write access to /gnu/store/52p6vbv3pbaf2588z41hlirgdqrxp5vr-node
<az->-8.9.1/lib/node_modules
<az->npm ERR! path /gnu/store/52p6vbv3pbaf2588z41hlirgdqrxp5vr-node-8.9.1/lib/node_modules
<az->npm ERR! code EROFS
<cbaines>I get the picture, we don't need the entire output
<az->npm ERR! errno -30
<az->npm ERR! syscall access
<az->npm ERR! rofs EROFS: read-only file system, access '/gnu/store/52p6vbv3pbaf2588z41hlirgdqrxp5vr-no
<az->de-8.9.1/lib/node_modules'
<az->npm ERR! rofs Often virtualized file systems, or other file systems
<az->npm ERR! rofs that don't support symlinks, give this error.
<az->
<az->npm ERR! A complete log of this run can be found in:
<az->npm ERR! /root/.npm/_logs/2018-02-05T13_33_15_239Z-debug.log
<az->sorry for long logs, I
<az->'ll use pastebin or smth next time
<cbaines>az-, beacuse of the way the node package is built, npm tries to install things to the store
<cbaines>it looks like you can add some configuration to make it put things elsewhere, e.g. https://docs.npmjs.com/getting-started/fixing-npm-permissions#option-two-change-npms-default-directory
<cbaines>if you want to be able to install things globally with npm, you could try that
<az->there is any guixish way of do that?
<cbaines>az-, of doing what?
<az->can I setup paths in config.scm ?
<az->do I need to setup it in config.scm?
<cbaines>looks like you can set it up in your system configuration (I assume you're using GuixSD?)
<cbaines>you could add something like (simple-service 'npm-config-service session-environment-service-type '(("NPM_CONFIG_PREFIX" . "/npm-global")))
<cbaines>to the list of services
<pkill9>i'd like to add recursive import of pypi dependencies to the `guix import pypi` command, any pointers?
<cbaines>pkill9, I think there are other recursive importers, you might want to start looking at how they do it
<cbaines>Also, general message, it was great meeting lots of people at FOSDEM, was really fun putting some faces to names :)
<cbaines>Another general message, does anyone know of something to do loop detection in the guix package graph? I think I've got a loop (guix build/lint are just eating memory), but I'd prefer not to have to find it by hand...
<civodul>cbaines: yup, good times :-)
<civodul>cbaines: loop in the package graph?
<civodul>there are no loops in the package graphs in master, i think, or we'd know about it :-)
<civodul>but otherwise no, there are no tools to detect it
<cbaines>Yeah, I'm looking at the wip-rails stuff, and I think I've caused a loop in that
<civodul>you'd immediately notice though: "guix build foo" never terminates (or crashes) if "foo" has a loop
<civodul>ok
<civodul>so you can just check the new packages, i guess
<cbaines>Well, I noticed when it hadn't started building rails yet, and it was using 20% of my memory...
<civodul>we could/should add loop detection, but i'm unsure about the overhead
<cbaines>I might have a go at adding loop detection...
<civodul>well ok, that's the symptom of a loop, prolly
<civodul>i would add that to 'package-derivation'
<civodul>that means you have to thread a set of visited nodes through recursive calls
<civodul>(a setq from (guix sets))
<cbaines>ok, I was also contenplating adding it to guix lint as well, as that would at least avoid issues of performance...
<civodul>right
<cbaines>but yes, your suggestion sounds very sensible
<civodul>i have to go but i'll be back soonish
<pch>hello guix, how can I create my own package and register it with my local "/gnu/store"? I see other packages available for download which came by default with installing guix.
<cbaines>pch, is this a package just for you, or something that would be good to add to Guix?
<pch>no only for me
<pch>cbaines
<pch>cbaines
<pch>cbaines: i want to setup my own package repository for my applications
<cbaines>pch, one way is to write you own module for the package
<cbaines>if you thinking about packaging more than one thing, that is definately the way to go
<pch>cbaine: Do you mean the scm file for
<pch>cbaine: Do you mean the scm file?
<cbaines>So, Guile modules are a general thing, but a simple way to do it would be to create a SCM file with some name, say "pch", so create pch.scm
<pch>ok, and then just put it in the /gnu/store manually?
<cbaines>To make that a module, you'll need (define-module (pch)) at the top (replacing pch with something else if you've used a different name)
<efraim>Perhaps looking into GUIX_PACKAGE_PATH would be helpful
<cbaines>Not quite, as efraim says, you'll need to add the directory containing that .scm file to your GUIX_PACKAGE_PATH
<cbaines>This is a little bit complicated, as there is some boilerplate stuff to setup, but once that is done, it gets easier
<pch>is there a good document available for this?
<cbaines>pch, unfortunately, not that I know of
<pch>The intention is to host my own packages locally for a specific setup
<cbaines>there is some documentation here https://www.gnu.org/software/guix/manual/html_node/Package-Modules.html but this only covers using your own module, not writing it
<pkill9>just set GUIX_PACKAGE_PATH to $HOME/my-guix-recipes and then put your written package modules in $HOME/my-guix-recipes/gnu/packages/whatever.scm
<pch>meanwhile i checked "echo $GUIX_PACKAGE_PATH", its empty
<pkill9>you need to set it
<pkill9>i set it in my .profile
<pch>ok great
<pch>and i see that the other packages are hashed too, do i need to hash them manually?
<pkill9>though you'll need to logout, so for now you can just run `export GUIX_PACKAGE_PATH=$HOME/my-guix-recipes`
<cbaines>pch, there is a guix hash command which can help with generating the hashes
<efraim>When I first set mine up forever ago I borrowed from dthompson https://git.dthompson.us/guix-custom.git/tree
<pkill9>and if you're lazy just do `guix download https://package.whatever/package`
<cbaines>pch, another approach which I use probably more than I should is just to put in another hash, build the package, and then copy the actual hash from the build failure
<pkill9>then it will download into the store and give the hash
<pkill9>although someone said that's not as good as manually downloading and using `guix hash` can't remmebr why though
<pch>cbaines: nice hack :)
<pch>so that means manually putting the hash also works, there is no direct command to do it, which hashes and puts the result in /gnu/store automatically
<pkill9>yeah there is, `guix downlaod _____`
<pkill9>download*
<pch>pkill9: ok, i will need to check what it does
<pkill9>it downloads the file into the /gnu/store and then prints the hash which you put in the package description
<pch>pkill9:nice thats what i was looking for
<pch>so that means first guix hash, and then guix download
<wigust>pch: just the second
<pkill9>well, the second and then the first
<pkill9>oh nvm
<pkill9>yeah just the second
<pch>wonderful guys, thanks let me try this
<pch>many many thanks
<civodul>pch: s/guys/people/ :-)
<adfeno>Hi #guix! ;)
<adfeno>Is there any news regarding the Emacs segfault issue?
<janneke>adfeno: are you referring to a specifig bug report?
<janneke>*specific
<bavier`>adfeno: my emacs on i686 segfaults at startup, is it the same for you?
***abbe_ is now known as abbe
<adfeno>bavier: yes.
<adfeno>^ if archtecture is i686 and if you're using Emacs from Guix (which currently has a dependency on GTK+ for the "emacs" package).
<adfeno>janneke: yes
<adfeno>I'll get the reference, wait a bit
<adfeno>janneke bavier: See either https://lists.gnu.org/archive/cgi-bin/namazu.cgi?query=%2Bsubject%3A%7Bemacs-25.3+aborted%7D&submit=Search%21&idxname=guix-devel&max=20&result=normal&sort=date%3Alate or https://lists.gnu.org/archive/html/guix-devel/2017-11/msg00313.html
<adfeno>(it's not in a bug report by the way, sorry)
<janneke>adfeno: i see, yes a bug report would be nice -- and the place to add progress updates
<janneke>i figure someone is bisecting, like civodul suggests
<apteryx_>was there an ARM board to which GuixSD was ported?
<platoxia>I can't seem to get geiser to work with gnu/mit scheme. I keep getting this failure when it tries to load: https://paste.debian.net/1008927/
<efraim>apteryx_: there's been a couple so far
<apteryx_>efraim: cool! Is there a list somewhere of hardware I could recommend to someone (or myself :) ?
<efraim>The closest I have to a list is the ones listed here http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/bootloader/u-boot.scm but I'd check before specifically purchasing one over porting one
<efraim>For a bunch of boards adding support shouldn't be too hard now that the bootloader work has been done
<hulten>Hi, my GuixSD installation does not complete booting: does not reach login prompt, no VCs.
<rekado_>hulten: what do you see?
<hulten>So, I thought let's boot with a resque cd: tried grml; and then do a guix pull.
<hulten>Let me reboot that system to see what it says.
<apteryx_>efraim: Cool, thanks for the the pointer.
<rekado_>GuixSD boots into a rescue REPL when things fail badly (e.g. when it cannot mount the root disk)
<hulten>I don't get any prompt.
<hulten>It ends with [.....] input: HDA Intel Front Headphone as .....
<hulten>I can type but nothing happens; there's no prompt.
<hulten>M-F2 etc. don't do anything, no vc's yet.
<hulten>Chrooting into a GuixSD system is a bit difficult.. well, not the chrooting, but then no commands are available as things are different with Guix (/gnu/...).
<hulten>After grml I tried the GuixSD boot usb stick.
<apteryx_>hulten: I guess you could source your profile environment variables.
<hulten>So, I can do a 'guix system init'.. I guess if I do a 'guix pull && guix system reconfigure' later, everything is fine again, but I'm not sure about packages that I installed through 'guix package -i'.
<hulten>Hmm, I can do that probably. Let me try.
<hulten>Instead I rolled back via GrUB. That's even better. Just need to find out what the crucial difference in my config.scm is that causes the problem ..
<hulten>Oh yes: I have a working system now.
<hulten>Thanks for the help anyway. Useful tips in case I really screw up! :-)
<rekado_>Exactly six months ago we announced the Guix HPC project: https://hpc.guixsd.org https://twitter.com/GuixHpc
<civodul>happy birthday Guix-HPC!
<civodul>(do we celebrate semi-birthdays?)
<civodul>ooh, tweeeeter
<civodul>heheh
<rekado_>so beauty, much tweet, very hip, wow
<rekado_>ACTION abuses the grafting infrastructure for a safer out-of-store rewriter.
<pkill9>nice
<civodul>rekado_: :-)
<rekado_>yeah… I'm not so sure about that ;)
<civodul>relocatable things?
<rekado_>yes
<civodul>oh oh!
<civodul>if we have twitter + relocatable things, i think that's mission accomplished
<rekado_>haha
<rekado_>:)
<lfam>Howdy everyone
<rekado_>it’s an extension of Pjotr’s idea. Before rewriting we can enumerate all packages in the package closure and give them a base64 identifier. This allows us to reduce the big hash to very few characters (r-minimal only needs a single base64 digit).
<rekado_>lfam: hello!
<lfam>I suppose you are all a bit tired today :)
<rekado_>what gives you that impression…? :D
<rekado_>I felt sleepy at 8pm already — and I even slept on the train to Berlin.
<lfam>I base it on my own past experience ;)
<rekado_>some of us did engage in similarly reckless behaviour this time.
<rekado_>it started with “just one last beer”
<lfam>Just one last beer, and one first beer, and one second beer... not necessarily in that order
<cbaines>I do remember rekado having lots of one beers...
<rekado_>to be fair, many of them were “Jupiler 0%”
<lfam>Haha
<cbaines>I didn't get around to trying that...
<lfam>Oh, is that not a joke? They really make a 0% :)
<cbaines>Yeah, they had advertising up for it in Brussels as well
<lfam>Once I can load the core-updates page of hydra.gnu.org, I will probably say something like, "we are very close to done with the branch"
<lfam>Does anyone know of any more blocking problems?
<rekado_>sablevm seems to be broken (but the build doesn’t fail)
<rekado_>we think it might be due to the glibc update.
<rekado_>this breaks all of Java
<lfam>I see
<rekado_>it’s a bit tricky. We could try rebuilding it with a different C library, but it’s not a quick fix.
<rekado_>I don’t really mind breaking the Java things, though, because they don’t have all that many users.
<rekado_>it’s bad, but not too bad to justify blocking the core-updates merge.
<lfam>Yeah... not great though
<civodul>lfam: we keep being very close to merging it :-)
<civodul>we're asymptotically approaching the point where we can merge
<lfam>Since sablevm is a private package, is there a Hydra job page for it?
<rekado_>I also remember python-pandas being broken, but I don’t know what the current status is.
<rekado_>ACTION didn’t have time to look at it yet.
<lfam>I assume it's still broken
<lfam>AFAIK there are no commits addressing the pandas issues
<rekado_>ok
<rekado_>I’ll work on it tomorrow.
<lfam>rekado_, can you recommend a simple Java package I can use to test the dependency graph?
<rekado_>I guess you could build classpath
<rekado_>but the problem with sablevm is that the build passes although it sometimes segfaults when ant-bootstrap is built.
<rekado_>this is why ant-bootstrap *sometimes* fails to build.
<lfam>Huh
<rekado_>it’s something to do with the memory management in sablevm, so it’s pretty hard to track down and fix.
<lfam>Alright, I'm going to pass
<mbakke>rekado_: I think Ben was working on pandas.
<mbakke>But that was a while ago.
<mbakke>I'll give ant-bootstrap a go tomorrow/Wednesday.
<mbakke>We discussed some possible workarounds yesterday.