<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. <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 <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? <iqubic>but I'm still wondering how easy it is to switch from NixOS to GuixSD. <terpri>(if it supports the services you use) <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 <terpri>iqubic, i meant the base guix installation is self-contained, in that it only changes /gnu and /var/guix; guixsd may be different <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>but what is the official way to create a package file from my own binary <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? <wigust>pch: Do you mean building a Guix package using CMake? <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>please paste other videos <civodul>indeed, they were crazy fast to publish the videos! <jlicht>hi guix! I hope people had a safe trip home from FOSDEM :-) <civodul>it's faster than it used to be, thanks to the high-speed train <civodul>i could even download a few substitutes from the train :-) <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 <jlicht>civodul: slow is okay, this is mostly going to run overnight to see if some stuff I did build/breaks the build :-) <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->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/// <cbaines>npm is available in Guix, it's in the node package <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->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! 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! Please try running this command again as root/Administrator. <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->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 <cbaines>I get the picture, we don't need the entire output <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->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>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? <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"))) <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>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>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 <cbaines>ok, I was also contenplating adding it to guix lint as well, as that would at least avoid issues of performance... <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>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 <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 <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 <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 _____` <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 <pkill9>well, the second and then the first <pch>wonderful guys, thanks let me try this <adfeno>Is there any news regarding the Emacs segfault issue? <janneke>adfeno: are you referring to a specifig bug report? <bavier`>adfeno: my emacs on i686 segfaults at startup, is it the same for you? ***abbe_ is now known as abbe
<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>I'll get the reference, wait a bit <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? <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>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. <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>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_>so beauty, much tweet, very hip, wow <rekado_>ACTION abuses the grafting infrastructure for a safer out-of-store rewriter. <civodul>if we have twitter + relocatable things, i think that's mission accomplished <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). <lfam>I suppose you are all a bit tired today :) <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%” <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_>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 <lfam>rekado_, can you recommend a simple Java package I can use to test the dependency graph? <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. <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>I'll give ant-bootstrap a go tomorrow/Wednesday. <mbakke>We discussed some possible workarounds yesterday.