IRC channel logs

2015-02-01.log

back to list of logs

<jgrant>I got a "guix system: error: build failed: unexpected end-of-file" when running system init. Is this due to my config file?
<jgrant>Ran the same command again, doesn't seem to be a problem anymore. Odd.
<mark_weaver>sounds like a syntax error in the config file.
<jgrant>Why would the same command work right after, then? With no edits anywhere. :^P
<mark_weaver>dunno, I've never seen that problem
<jgrant>So Linode seems to use /dev/xvdaXY as for disks.
<jgrant>Grub refuses to install itself there, it seems.
<jgrant>"guix system error: failed to install GRUB on device /dev/xvda"
*jgrant makes sure that this filesystem is not gpt.
<jgrant>Okay, attempt two. :^)
<jgrant>Yes, pass! \\o/
*jgrant is thinking it might just be easier and nicer for anyone wanting to do this, if he just provides a prebuilt binary himself going onwards...
*jgrant will look into it more tomorrow when he has a full night of sleep. :^)
<taylanub>moreutils is strange. source tarball only available from packages.debian.org.
<jgrant>Hm, trying to compile 0.8.1 of Guix on GSD and it complains about "checking whether the compiler works ... no" and then says it can't create excutables therafter.
<jgrant>It says it finds gcc. :^P
<jgrant>Yeah, giving up for tonight. I'm sure it's a dumb mistake from being tired.
<davexunit> http://git.savannah.gnu.org/cgit/guix/maintenance.git/plain/talks/fosdem-2015/guix-fosdem-2015.20150131.pdf
<davexunit>:)
<davexunit>time to read
<jgrant>:^)
<davexunit>pretty straightforward talk, used a lot of material from previous talks
<davexunit>the good stuff will be the actual words ludo said along with these slides.
<davexunit>and the demos
*davexunit notices that ludo chose to use "guix web" instead of "guix-web" in the slides.
<davexunit>I think that I can just make make the entry point to guix-web in the (guix scripts ...) namespace and things will indeed work like that, despite it not being in the tree proper.
<davexunit>yup, that worked.
<toxemicsquire4>Hello?
<jgrant>toxemicsquire4: Howdy.
<toxemicsquire4>are you a guix packager
<davexunit>hello toxemicsquire4
<toxemicsquire4>hi, I'm trying to package wicd and I'm having some problems
<davexunit>ah yes, from the mailing list.
<toxemicsquire4>yea, first of all, I downloaded the guix source tree from git and I extracted it and copied my wicd.scm to the gnu/packages folder. I tried to run ./bootstrap before the "make && ./pre-inst-env guix build wicd
<toxemicsquire4>but ./bootstrap failed because of undefined macro : PKG-CHECK-MODULES
<davexunit>toxemicsquire4: install pkg-config
<toxemicsquire4>davexunit: ok, so far, its succesful
<davexunit>make sure you have installed everything that the HACKING file mentions
<davexunit>in addition to the things in the installation instructions for releases
<davexunit>all of these things have been documented.
<toxemicsquire4>I have made sure that I have everything needed installed. But maybe we need a meta package for that too, because it's a long list
<toxemicsquire4>now it gives me an error when I run make, Makefile:106: *** missing seperator. Stop
<davexunit>toxemicsquire4: if you already running a guix system, you can run 'guix environment guix' to spawn a new shell with all dependencies.
<jgrant>davexunit: Yeah, Linode's resuce image fails to build Guix.
<jgrant>It's based on Wheezy.
<davexunit>toxemicsquire4: I haven't seen that error before. have you run './bootstrap' and then './configure'?
<toxemicsquire4>give me a sec
<toxemicsquire4>whoops, my mistake, never mind that problem
<toxemicsquire4>Though now ./configure gives me some error about not finding makeinfo
<davexunit>toxemicsquire4: do you have texinfo installed?
<toxemicsquire4>Now I do, so Guix finally builds. Wow, so much work for the preliminary part of it. I can't imagine what it'll take to port wicd
<jgrant>toxemicsquire4: Are you on GSD, or using Guix on a host system?
<toxemicsquire4>jgrant: GSD
<davexunit>toxemicsquire4: when you are more comfortable using guix, you should try running 'guix environment guix' to quickly setup a development environment.
<jgrant>toxemicsquire4: Yeah, setting up a dev environment even with Guix Environment is not ideal atm. I really want a "guix devel" that will create a seperate development profile -- and clone into the latest repo. :^P
<jgrant>Guix environment is devent in-route though.
<jgrant>decent*
<davexunit>guix environment does exactly what you want to do, sans the profile.
<toxemicsquire4>davexunit: I'll try to learn more about it, but for the mean time, I'll stick to what I'll already know.
<davexunit>because, really, the profile is unnecessary in this case. especially now that guix environment runs pretty fast.
<jgrant>davexunit: Doesn't it not stay as-is, once you leave the shell you used to call it?
<davexunit>environment variables are the only thing that change.
<toxemicsquire4>ok, once the guix building finishes, I could finally start finding out what's wrong in my messed up recipe http://pastebin.com/2q7LCv2i I filled in most of the things that I need, though I don't know how to add dependencies yet
<davexunit>using a profile would work, but it's more of a burden.
<davexunit>profiles protect the included packages from the GC, so you have to take care to prune old generations.
<davexunit>there's other issues, too.
<davexunit>how would guix environment stay deterministic if the user added/removed a package from the profile that it was using?
<jgrant>Yeah, this is obnoxious trying to set up guix on finnix, might try to rebuild the binary again.
<toxemicsquire4>ok, when I run ./pre-inst-env guix build wicd, it returns a build error guix build:error: failed to connect to '/usr/local/daemon-socket/socket': No such file or directory
<jgrant>toxemicsquire4: If you are GSD, the Daemon should already be running...?
<jgrant>davexunit: I'll look into it a bit more, regardless.
<davexunit>jgrant: note the prefix: /usr/local
<davexunit>toxemicsquire4: please see "installing guix from guix" in the README
<jgrant>davexunit: Hm?
<davexunit>toxemicsquire4 configured guix to use /usr/local as $PREFIX (the default)
<davexunit>so it's looking in /usr/local for the daemon socket
<davexunit>it's not there.
<davexunit>I can't remember exactly where it is on the system (using debian right now), but the prefix must be changed to point there.
<toxemicsquire4>k, I
<toxemicsquire4>ll check it out
<davexunit>toxemicsquire4: you'll want to tweak the --localstatedir flag
<davexunit>search for a file called 'socket' on your filesystem
<davexunit>and paste the path here
<toxemicsquire4>whereis doesn't turn up any results
<davexunit>use 'find'
<davexunit>find / -name socket
<toxemicsquire4>there are /var/guix/daemon-socket/socket /var/run/dmd/socket /var/run/nscf/socket
<davexunit>okay
<davexunit>so try running './configure --localstatedir=/var'
<toxemicsquire4>k, that finally allows me to build. but as expected, guix:build returns an error guix build: error: wicd: uknown package
<toxemicsquire4>even though I put it in guix/gnu/packages/wicd.scm
<davexunit>can you paste the contents of that file on paste.lisp.org?
<toxemicsquire4>it
<toxemicsquire4>it's at paste.lisp.org/display/145513
<davexunit>toxemicsquire4: so, the first question: does the file compile?
<toxemicsquire4>I didn't know your supposed to compile it. are you supposed to use guile
<davexunit>toxemicsquire4: since you've added a new module, you need add the file to the GNU_SYSTEM_MODULES list in gnu-system.am.
<davexunit>one it's added, run 'make' and make sure it finishes successfully.
<toxemicsquire4>guix fails to compile when adding wicd.scm to gnu-system.am make[2] *** No rule to make target 'gnu/system/wicd.scm', needed by 'all-am'. Stop.
<davexunit>you made a typo.
<davexunit>'gnu/system/wicd.scm' should be 'gnu/packages/wicd.scm'
<jcca>Hi, I have added a new package distcc.scm, compiled and run successfully so now I want inject distcc in gnu-build-system. Any idea how do it?
<toxemicsquire4>sorry, that was a very dumb mistake
<davexunit>that's okay. :)
<davexunit>jcca: what is distcc and what do you mean by 'inject'?
<jcca>davexunit: https://code.google.com/p/distcc/
<toxemicsquire4>ok, now the error for the make fail was pastebin.com/LQKq2Xit
<jcca>davexunit: I mean how can I add some like this 'make CC=distcc'
<davexunit>jcca: in a package that uses distcc, add an 'arguments' field
<davexunit>the value is a list, and inside that you'll specify something like #:make-flags (list (string-append "CC=" (assoc-ref %build-inputs "distcc")))
<davexunit>look at the other packages for examples of using 'arguments'
<davexunit>toxemicsquire4: you have a syntax error.
<davexunit>perhaps an unmatched double-quote to close a string, judging by the message.
<davexunit>I have to go to sleep now. happy hacking everyone. if you find yourself banging your head into a wall and no one's around to help, send mail to the list.
<jcca>I know but it only work for distcc I want some like this:
<jcca> https://nixos.org/wiki/Raspberry_Pi#Implementing_distcc
<jcca>server side is working but I don't know how do client side.
<jcca>toxemicsquire4: change '(define-public hello' to '(define-public wicd'
<toxemicsquire4>jcca: That didn't change the compile fail error. I'll just work on it tomorrow
<zykotick9>i failed to get gsd running in qemu :( my recap https://pumpdog.me/zykotick9/image/FG_r6bp9Qvm-pu50ndCpcw i may try again sometime :)
<mark_weaver>jcca: using distcc is not really compatible with the fundamental principles of how Guix works.
<mark_weaver>Guix goes to great lengths to make sure that builds are deterministic; that everything that is accessible from the build environment is identical every time.
<mark_weaver>distcc violates those principles
<mark_weaver>zykotick9: did you know that we have a command to generate VM images?
<mark_weaver>zykotick9: see the "guix system vm" command in https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-system.html
<zykotick9>mark_weaver: i did not. i saw you had the previous version available as a pre-built image. but to be honest, that didn't work for either (i don't remember the issue), so i set my mind to trying the install with the new one ;) i might check the "vm generator" out sometime, thanks.
<zykotick9>thanks for the link!
<jcca>mark_weaver: got it. Thanks. finally I am compiling guix on ARM qemu this will take some days if not fault anything.
<mark_weaver>jcca: okay. hopefully we can get an ARM build slave set up for our build farm soon.
<zykotick9>mark_weaver: just so i'm clear - the vm command, you speak of, would require a running guix package manager installed on a currently running gnu/linux system correct?
<jcca>What is farm?
<mark_weaver>jcca: http://hydra.gnu.org/ is our build farm. it's a bunch of machines that compile all the packages in guix so that users don't have to compile things themselves. they can download pre-compiled binaries.
<mark_weaver>but we don't have any ARM machines in the build farm yet, so no pre-compiled binaries for ARM.
<jcca>I understand
<mark_weaver>zykotick9: yes
<mark_weaver>zykotick9: if you are worried about guix infecting the host system, it should be noted that guix only puts things in /gnu/store, $PREFIX/var/guix and $PREFIX/var/log/guix
<mark_weaver>and if you install packages in your user profile, then it makes a ~/.guix-profile symlink
<mark_weaver>so it's effectively invisible unless you set your environment variables (e.g. PATH) to point to things in ~/.guix-profile
<mark_weaver>you don't have to run "make install". just prefix the commands with "/path/to/build-dir/pre-inst-env" and it will run out of the build directory
<zykotick9>mark_weaver: you seemed to read my mind. i've been avoiding installing guix as a package manager, due to hesitations of having a 3rd party package manager on my system. i think you just laid those to rest. thanks! sounds like something i'd be willing to try :)
<mark_weaver>zykotick9: cool! :)
***kmic is now known as kmicu
***aurelien` is now known as aurelien
<DusXMT>If a gexp is in a quasiquoted list, if I want to ungexp a variable in it that's outside the quasiquote, I have to also unquasiquote it, right? (just making sure)
<DusXMT>Eg. s/variable/expression/
<DusXMT>ignore the last line, chais in my mind
<DusXMT>*chaos
<DusXMT>Yup, I do. One thing I really like about Guix and Guile is that I can test almost everything out in an interactive shell, I think it makes the learning quite a bit easier
<Sleep_Walker>yay
<Sleep_Walker>efl problem identified!
<taylanub>can Emacs's indentation of quoted lists be fixed? if it has the form '(foo bar <newline> baz) then baz is aligned with bar.
<Sleep_Walker>and that is wrong?
<DusXMT>Sleep_Walker: it is, as foo isn't a procedure, it's just a regular item
<Sleep_Walker>aha
<Sleep_Walker>so you need to know all the procedure names to have correct indentation?
<taylanub>specifically consider (#:foo bar <newline #:baz qux)
<taylanub>Sleep_Walker: special-casing '( and `( would be a start
<taylanub>indentation and syntax highlighting is always somewhat heuristic in Emacs from what I can tell.
<davexunit>morning #guix
<Sleep_Walker>morning
<Sleep_Walker>is git working for you correctly?
<davexunit>as of yesterday, yeah.
<Sleep_Walker>hm, maybe network issue here on FOSDEM
<davexunit>I can pull and check in a minute
<Sleep_Walker>(not that I complain - I wasn't aware that WiFi can work this good with so many devices around)
<Sleep_Walker>do I understand correctly that ldconfig is not available on Guix by design?
<Sleep_Walker>davexunit: worked after ~5 unsuccessful attempts
<davexunit>Sleep_Walker: can you remind me what ldconfig does?
<Sleep_Walker>thanks for trying :)
<davexunit>Sleep_Walker: did you catch ludo's talk yesterday?
<Sleep_Walker>ldconfig AFAIK takes care of /etc/ld.so.cache
<Sleep_Walker>yes, good talk :)
*DusXMT thinks he saw Ludo in the microkernel room during the hurd talk, he saw someone with a Guix bag crossing by, but he only watched the stream
<davexunit>Sleep_Walker: did the audience seem interested?
<Sleep_Walker>davexunit: I believe so
<davexunit>cool.
<davexunit>I saw a decent amount of buzz on twitter about NixOS, but nothing about Guix.
<Sleep_Walker>and stickers apparently works
<Sleep_Walker>I was just asked about one
<davexunit>?
<Sleep_Walker>well,I got Guix sticker on my laptop now
<Sleep_Walker>and I'm sitting in computer room so one guy near noticed it and asked about that
<davexunit>Sleep_Walker: oh cool.
<davexunit>some of the stickers need to make it to the US
<Sleep_Walker>but he asked The worst question
<Sleep_Walker>(if I use it :)
<taylanub>Some expect (.e) scripts in this test suite fail, but it doesn't give me any more details. how could I get more detailed output?.. V flag to make?
<DusXMT>Sleep_Walker: You should've quickly switched to KVM, put it fullscreen, and said: Of course :)
<davexunit>I guess I could just ask ludo for the dimensions of the sticker and the image file he used and print a bunch myself.
<Sleep_Walker>DusXMT: or reboot and hide WiFi issues :)
<Sleep_Walker>and I need some fancy WM there for people to envy
<Sleep_Walker>that's why EFL and Enlightenment :b
<Morgawr>davexunit: I was super interested in Ludo's talk, it was really nice
<Morgawr>just fyi :P
<Morgawr>it built nicely on top of the other talk I saw last year at FOSDEM
<Morgawr>I really need to get my hands on guix and start hacking on it
<davexunit>Morgawr: cool :)
<davexunit>glad to see folks getting interested.
<Morgawr>I think the most interesting talks I've seen here at FOSDEM this year (at least within my interests) are the LFE (lisp on erlang) talk and the guix one
<Morgawr>but there are so many concurrent talks and devrooms that it's so hard to follow everything
<davexunit>yeah I hear it's crazy there.
<davexunit>I'd love to go sometime.
<Morgawr>davexunit: You should totally, I'd buy you a beer for sure
<davexunit>ginger beer, please. ;)
<Morgawr>the only annoying thing is that the timing of talks sometimes overlaps in uncomfortable ways, like a talk ends at 11:15 am and another starts at 11:00 am so you either miss the end of one or the beginning of the other
<Morgawr>davexunit: any beer you want :D
<davexunit>yeah, there's a lot of cool hacker folks I've never met in person because the atlantic ocean is in the way.
<Morgawr>I also spotted RMS talking with people around the hall of the K building yesterday
<Morgawr>first time I saw him irl, it was nice
<Sleep_Walker>I have photo with him :)
<davexunit>a lot of people did, according to Twitter haha
<davexunit>lots of RMS photos
<Sleep_Walker>yeah
<Morgawr>I didn't want to look like a fanboy so I didn't ask for one, but I totally regret it now :P
<Sleep_Walker>people need more material for https://rms.sexy/ :)
<Sleep_Walker>Morgawr: hahaha!
<Sleep_Walker>I was too shy in the past, I didn't want to miss it :)
<Sleep_Walker>davexunit: btw. EFL/luajit problem finally solved - patch sent to the ML
<Sleep_Walker>quite tricky bug
<davexunit>ah, so it was the fault of ldconfig?
<davexunit>I must confess I know nothing about ldconfig.
<Sleep_Walker>I only know that it is run when new dynamic library gets into system
<Sleep_Walker>but central cache doesn't have any sense for Guix
<davexunit>yeah, we refer to the libs explicitly via runpath and such.
<Sleep_Walker>there is part in glibc package which looks relevant
<Sleep_Walker>use_ldconfig=no
*davexunit experimenting with FRP libraries for use with 'guix web'
<davexunit>with a tiny bit of glue, I was able to integrate a new FRP library called Kefir with the MVC library Mithril.
<Sleep_Walker>I have seen that `guix web' and it looked pretty cool!
<grasshopprWhoppr>couldn't find root partition. maybe I missed something in the config
<davexunit>Sleep_Walker: thanks!
<davexunit>I'm at the point where I *really* want to wrangle callback hell, so I'm going to use FRP to do it.
<DusXMT>hmm, just found out: a cross compiled gcc keeps a symlink to the appropriate ld program...
<DusXMT>s/compiled/compiler/
<DusXMT>and it's done on Guix's end :)
<DusXMT>Probably the only thing I dislike about Guix is the long waiting times you have to wait to test out a small change, I remember that was a great PITA with abiword... but I guess we now have `guix environment', which can cut off most of that time in most cases...
<taylanub>anyone know whether lookups for 'localhost' work in the build worker environment?
<bavier>taylanub: ISTR that they do
<paroneayea>or even here, hello!
<paroneayea>my last talk at fosdem touched a litttttle bit on guix
<DusXMT>paroneayea: Samuel's talk on how to contribute to the Hurd?
<DusXMT>(he mentioned it, at least)
<paroneayea>DusXMT: no, the talk I gave :)
<paroneayea>the "can the distros make the link" thing
<DusXMT>Oh, sorry then :)
<paroneayea>we had some good talks on what's needed socould solve part of the user configuration management problem
<paroneayea>so guix could
<grasshopprWhoppr>is anyone familiar with a new installation not finding root?
<DusXMT>And so we're diving into hurd portability issues :D
<DusXMT>the cross compiler's now working
<DusXMT>Although I'm not sure if a change I did can be done.
<DusXMT>I've made cross compilers use a ld-wrapper, so the paths to libraries get embedded into the binaries just like with native programs, although that means that they're bound to the cross compiler, since they have its library path (for libgcc) in their RPATH field.
<DusXMT>mark_weaver: Do you think the change I did may be problematic?
<alimiracle>hi all
<DusXMT>greetings :)
<alimiracle>I wint use gitx
<alimiracle>guix vs apt-get?
<DusXMT>alimiracle: That's great. Where I'd recomend you to start: http://www.gnu.org/software/guix/manual/html_node/Introduction.html#Introduction
<DusXMT>alimiracle: each has its advantages and disadvantages, package manager wars is not something we want here
<alimiracle>ok
<mark_weaver>taylanub: I have a hack that civodul and I use to fix the auto-indentation of keyword lists.
<alimiracle>No I try to install
<alimiracle>now i try install
<mark_weaver>taylanub: 'scheme-indent-function', an elisp function in Emacs, needs to be modified slightly, so in my .emacs I load scheme mode and then redefine it like this: http://www.netris.org/~mhw/scheme-indent-function.el
<mark_weaver>taylanub: as for normal quoted lists, there's no good way to do it, because sometimes quoted lists are code, and thus should be indented as usual, and sometimes they are data. emacs has no way of knowing which it is.
<alimiracle>ao its use scheme
<alimiracle>I love scheme
<mark_weaver>DusXMT: regarding the ld-wrapper thing, that's a question for civodul.
<DusXMT>mark_weaver: ok, I'll ask him once he's available...
<DusXMT>thanks
<alimiracle>succeeded
<alimiracle> install
<mark_weaver>is RMS at FOSDEM?
<mark_weaver>taylanub: the build environment has an /etc/hosts file with an entry for localhost, so yes, lookups for 'localhost' should workd.
<mark_weaver>*work
<toxemicsquire4>Hello?
<rekado>toxemicsquire4: hello
<toxemicsquire4>I'm attempting to pkg wicd, and so far I have my environment setup and everything, and my recipe is correct, except that I don't know how to properly add dependencies
<rekado>have you looked at other package definitions for inspiration?
<rekado>a dependency is added as an input
<toxemicsquire4>would it be (native-inputs or (inputs
<rekado>a native input is something that is used at build time on the build machine.
<rekado>regular dependencies at runtime are (inputs ...)
<toxemicsquire4>but so both are required?
<rekado>no
<rekado>depends on the package.
<rekado>a common native-input is pkg-config, which is used at configure / build time, but it's not needed to run the application.
<rekado>try without any native inputs first and try building the package.
<rekado>then see what happens.
<rekado>I often start building without any inputs and I only add whatever the configure output tells me is missing.
<davexunit>native inputs are important for cross-compilation, where the packages need to be built for the architecture of the build machine, not the architecture of the package being built.
<toxemicsquire4>k, I'll try that out
<toxemicsquire4>is there a way to only require python2 without depending on python3
<rekado>python-2
<rekado>there are two packages: python (for the latest) and python-2.
<toxemicsquire4>guix can't find python-2
<rekado>what makes you say that?
<rekado>the variable you can use as an input is called python-2.
<toxemicsquire4>when I type in guix package -i python-2 it can't find it
<rekado>try guix package -i python-2.7.6
<rekado>(i.e. the full version)
<toxemicsquire4>yep, that works, thanks. So do I put that in the input declaration or just python-2
<rekado>just python-2
<rekado>in packages you have to use the variable names.
<rekado>in python.scm there is only a variable named "python-2", so you use that.
<davexunit>toxemicsquire4: when you use the guix CLI, you type in the name (and optionally version) of the package, not the Scheme variable name.
<toxemicsquire4>davexunit: I'll remember that. Ok. Also, does the isc-dhcp package have dhclient
<taylanub>is anyone working on Audacity?
<davexunit>taylanub: I don't think so.
<taylanub>I'll have a poke
<mark_weaver>in a package definition (define-public <variable-name> (package (name "<package-name>") ...))
<mark_weaver>you use <variable-name> to refer to it from 'inputs', 'native-inputs', etc.
<mark_weaver>and you use <package-name> to refer to it in things like 'guix build' and 'guix package'
<mark_weaver>toxemicsquire4: ^^
<davexunit>toxemicsquire4: I believe our dhclient is a program of our own, written in Guile.
<mark_weaver>davexunit: no
<davexunit>oh, was that a wishlist item?
<mark_weaver>I didn't know of any such wishlist item, but dhclient is just another program, written in C I suspect
<davexunit>I'm pretty sure I read that in something ludo wrote awhile back.
<mark_weaver>part of the isc-dhcp package
<davexunit>anyway, sorry for the confusion.
<mark_weaver>np
<toxemicsquire4>mark_weaver: so since the dhclient is in the isc-dhcp package would I declare it like this ("dhclient" ,isc-dhcp
<toxemicsquire4>)
<davexunit>ah yes, it's in ROADMAP. "+ include a DHCP client written in Scheme"
<davexunit>I had that mixed up in my head as something that ludo had already done.
<toxemicsquire4>do we have urwid?
<toxemicsquire4>under a different name?
<davexunit>toxemicsquire4: just checked. no, we don't have it.
<rekado>taylanub: I've got Ardour ready. Maybe some of its dependencies may be useful for Audacity. May be worth checking.
<toxemicsquire4>davexunit: Would it be a bad idea to leave ncurses support out of wicd?
<davexunit>toxemicsquire4: since it's a python package, you can run './pre-inst-env guix import pypi urwid' to generate the basic boilerplate
<davexunit>toxemicsquire4: having wicd at all would be better than not having it.
<davexunit>having curses support would be good, but if you decide not to go for it, make sure you leave a ';; TODO: Add urwid for ncurses interface' comment in the code.
<toxemicsquire4>I'll have to make a recipe for urwid first, then make sure it can compile, then try to compile wicd.
<davexunit>toxemicsquire4: is urwid not an optional dependency?
<toxemicsquire4>It is, but it doesn't feel right to leave it out. Most network managers are very difficult to use from the command line, nm and wicd are 2 of them. the ncurses interface makes everything so much easier
<taylanub>apparently it's really "localhost" that causes some issues in the ngircd test suite. the test sends "who localhos*" to the server and doesn't get the expected answer
<taylanub>while localhost is mapped to 127.0.0.1, it also requires 127.0.0.1 to be mapped to localhost somehow?
<taylanub>indeed. no idea how this reverse DNS works, but the server responds with 127.0.0.1 where the test suite expects "localhost"
<alexshendi>Good evening! I have a package (ecl-13.5.1.tar.gz) that I can compile as a user with the usual "./configure; make" command. Can someone tell me how to get a build receipe skeleton for guix?
<jxself>Look at a basic package like GNU Hello?
<jxself> http://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/base.scm#n47
<jxself>The (build-system gnu-build-system) thing is the key part.
<jxself>Everything else is hopefully self explanatory.
<toxemicsquire4>davexunit: I wrote up a recipe for urwid, add it to gnu-system.am, make, ./pre-inst-env guix build urwid, and it gives me back the error "gnu/packages/urwid.scm:35:12: In procedure module-lookup: Unbound variable: python-2" even though I entered (inputs `(("python-2" ,python-2)))
<davexunit>alexshendi: for starters, read this section of the manual https://gnu.org/software/guix/manual/html_node/Defining-Packages.html#Defining-Packages
<alexshendi>jxself, davexunit: Thanks
<davexunit>toxemicsquire4: okay, so a couple of things:
<davexunit>1) please put urwid in gnu/packages/python.scm
<davexunit>one module per package is bad for organization.
<davexunit>2) I'm guessing your current urwid module doesn't import (gnu packages python)
<davexunit>the python-2 variable is defined in that module.
<davexunit>alexshendi: yw. let us know if you have further questions.
<davexunit>packaging a programming language implementation can be difficult.
<taylanub>can I use a git repo as source, referring to a specific commit?
<davexunit>taylanub: yes
<davexunit>the inconvenient part right now is generating the hash.
<davexunit>someone needs to add git repo support to 'guix download'
<davexunit>maybe I'll take a stab at it
<toxemicsquire4>davexunit: Once I can get urwid.scm to package urwid property, then I'll put it in python.scm
<davexunit>taylanub: in the meantime, clone the relevant repo yourself, delete the '.git' directory, and take a hash of the directory with 'guix hash'
<taylanub>ok. what should I use as the source/origin in the package description?
<davexunit>toxemicsquire4: okay, but it will be easier to just put it there.
<davexunit>taylanub: checkout the 'git-flow' package in gnu/packages/version-control.scm
<toxemicsquire4>davexunit: I'm getting ERROR: Bad qstring header component: **********************
<davexunit>what did you do to get that error?
<toxemicsquire4>from ./pre-inst-env guix build urwid
<davexunit>that looks an error with the urwid build process
<davexunit>I'm not familiar with it, so I cannot provide much help.
<toxemicsquire4>do you think it has anything to do with hash32
<DusXMT>toxemicsquire4: A full tail log would be useful, in a paste for example
<davexunit>that one line isn't enough context for me to guess at anything.
<toxemicsquire4>should I put it on the mailing list?
<davexunit>toxemicsquire4: paste the log on paste.lisp.org or something
<davexunit>(please don't use pastebin because they block Tor)
<rekado>toxemicsquire4: that's an error with some web servers AFAIK.
<rekado>see http://lists.gnu.org/archive/html/bug-guix/2014-12/msg00054.html
<toxemicsquire4>Is there a workaround
<davexunit>oof
<toxemicsquire4>what?
<davexunit>nasty error.
<mark_weaver>toxemicsquire4: normally we would write ("isc-dhcp" ,isc-dhcp)
<mark_weaver>toxemicsquire4: I would like to keep ncurses support in wicd. any compelling reason to omit it?
<mark_weaver>oh, I see. we need urwid. well, let's not delay wicd because of that. we can add ncurses support later
*mark_weaver catches up on the backlog
<mark_weaver>it's up to you
<mark_weaver>taylanub: there is no nameserver running in the build environment. just /etc/hosts, which the glibc name resolver will consult, but some other software might not look in /etc/hosts and instead insist on a real nameserver.
<mark_weaver>ditto for reverse DNS.
<toxemicsquire4>Actually, I think itll only take a bit more than 2 weeks to get everything done. I'm still a newbie, so this is all very new for me, but I'll be able to finish it. I think an ncurses interface is very important for wicd, its very hard to use without it.
<mark_weaver>most users will probably use a GUI interface for wicd, no?
<davexunit>toxemicsquire4: but we can get the package into the distro sooner without it, and then just add the urwid input when it's ready.
<mark_weaver>I assume there are such things
<davexunit>yeah, wicd has a GUI
<mark_weaver>toxemicsquire4: I'd much rather have wicd sooner and add ncurses later.
<mark_weaver>especially if it will take on the order of weeks, and we could have wicd today :)
<mark_weaver>taylanub: what package do you want to use a git checkout for?
<mark_weaver>toxemicsquire4: is that "bad qstring header component" error happening while it's trying to download the source tarball?
<toxemicsquire4>Yes
<mark_weaver>that sounds like an issue I've seen before, with some web servers sending headers that violate the relevant RFCs, and Guile is strict about that sort of thing.
<toxemicsquire4>Is there anyway to byass it?
<mark_weaver>what's the source tarball URL?
<toxemicsquire4>pypi.python.org/packages/source/u/urwid/urwid-1.3.0.tar.gz
<davexunit>I can reproduce that issue.
<davexunit>guix download https://pypi.python.org/packages/source/u/urwid/urwid-1.3.0.tar.gz
<davexunit>no idea how to fix it
<mark_weaver>bad ETag header. *grump*
<toxemicsquire4>is it a guix issue or a pypi server issue?
<mark_weaver>it's a pypi server issue
<mark_weaver> https://www.ietf.org/rfc/rfc2616.txt states that ETag headers are supposed to be in quotes
<toxemicsquire4>can we do anything about it?
<mark_weaver>"wget -S https://pypi.python.org/packages/source/u/urwid/urwid-1.3.0.tar.gz" demonstrates that they are not.
<davexunit>you could send email to the people that maintain pypi and let them know of the issue
<mark_weaver>you could use http://ftp.de.debian.org/debian/pool/main/u/urwid/urwid_1.2.1.orig.tar.gz
<mark_weaver>oh, old version... hmm
<toxemicsquire4>wicd needs 1.2.4 or higher. They say it might work, but they don't garantee it
<mark_weaver>toxemicsquire4: use this: https://pkgs.fedoraproject.org/repo/pkgs/python-urwid/urwid-1.3.0.tar.gz/a989acd54f4ff1a554add464803a9175/urwid-1.3.0.tar.gz
<mark_weaver>and add a comment with the canonical source URL and explaining why we can't use it at present.
<taylanub>mark_weaver: apparently ngircd removed tests depending on 127.0.0.1 resolving to "localhost", after the v22 release
<taylanub>I could use the git commit, or patch the test suite myself; it shouldn't be difficult I think
<mark_weaver>taylanub: can you find the relevant upstream patch and include it?
<mark_weaver>our policy is to strongly prefer tarball releases. it's better to cherry-pick a patch from the repo than to use some random git commit.
<taylanub>ok
<mark_weaver>thanks!
<mark_weaver>toxemicsquire4: btw, for that fedora URL, just include it verbatim. that big hash value will change in some unpredictable way when the next version comes out, so there's no point in doing the 'string-append' thing to construct the URL automatically based on the version, as we usually use.
<mark_weaver>*as we usually do
<taylanub>is there documentation on the format of the 'patches' field of the 'origin'?
<taylanub>hm, I can just grep other files to find an example
<mark_weaver>taylanub: (patches (list (search-patch "<filename>")))
<mark_weaver>where <filename> is the base name of a file in gnu/packages/patches
<mark_weaver>and that filename should start with the name of the package
<mark_weaver>and you'll also need to add that file to dist_patch_DATA in gnu-system.am
<taylanub>ok
<toxemicsquire4>ok, now urwid downloads from the fedoraproject mirror, but there is still an error about not having the proper sha256 hash
<mark_weaver>i said "base name", but that's not quite right. it should include ".patch" at the end, but no directory names.
<mark_weaver>toxemicsquire4: how did you generate that hash?
<toxemicsquire4>I didn't generate a hash.
<taylanub>BRB, have to reboot emacs
<mark_weaver>toxemicsquire4: after downloading the file, run "guix hash <filename>"
<mark_weaver>put the resulting hash (sha256 (base32 "<here>"))
*mark_weaver goes afk
<toxemicsquire4>ok, now it starts building to an extent, but complains about no module called setup-tools
<taylanub>hm, looks like the commit is on top even more changes in-between. this one removes DNS related things entirely from the test suite; I might add the patch which attempts to fix DNS related problems
<mark_weaver>toxemicsquire4: are you using the python-build-system ?
*mark_weaver is almost completely ignorant of python build systems
<davexunit>setuptools is not an implicit input to the python build system
<davexunit>I'm thinking that should be changed.
<toxemicsquire4>yes I am,
<davexunit>since nearly every python package seems to use it.
<mark_weaver>toxemicsquire4: ah, looks like you need https://pkgs.fedoraproject.org/repo/pkgs/python-urwid/urwid-1.3.0.tar.gz/a989acd54f4ff1a554add464803a9175/urwid-\\
<mark_weaver>sorry
<mark_weaver>looks like you need to add ("python-setuptools" ,python-setuptools) to inputs
<toxemicsquire4>and I also did add ("python-setuptools" ,python-setuptools) to the input declaration
<toxemicsquire4>it still gave me that error
<davexunit>are you building with python 2 by any chance?
<toxemicsquire4>yea,
<mark_weaver>("python2-setuptools" ,python2-setuptools)
<davexunit>use python2-setuptools
<mark_weaver>davexunit: that looks like a good reason not to include python-setuptools by default
<davexunit>mark_weaver: yeah.
<mark_weaver>also, i see quite a few packages that use python-build-system but don't need python-setuptools
<davexunit>I wish there were a way for the right setuptools to be used automatically, based on python version.
<toxemicsquire4>And it Builds!!!!=-O
<mark_weaver>woohoo!
<toxemicsquire4>ok, what do I do know?
<davexunit>I stand corrected, then. I kept finding that setuptools was used a lot in the python packages I made.
<mark_weaver>actually, the python2-setuptools should technically be in 'native-inputs' I think
<toxemicsquire4>Do I put it in python.scm and add my name to the top?
<mark_weaver>though the difference between them only matters when cross-compiling
<davexunit>mark_weaver: I seem to remember there being a discussion about that...
<mark_weaver>toxemicsquire4: yes
<davexunit>but I don't recall the details.
<mark_weaver>davexunit: several packages in python.scm put it in native-inputs, anyway
<mark_weaver>and it definitely sounds like something that belongs there
<davexunit>well then the pypi importer will need to be fixed, along with a bunch of python packages.
<mark_weaver>I suppose if setuptools doesn't include any architecture-specific files, maybe it doesn't matter
<mark_weaver>(e.g. a mips build of setuptools may be identical to an intel build)
<toxemicsquire4>is there an lgpl for license declaration
<mark_weaver>see guix/licenses.scm
<mark_weaver>we have: lgpl2.0 lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3 lgpl3+
<toxemicsquire4>after I put it in the python.scm file, it gives me alot of warnings about possibly unbound variables
<mark_weaver>toxemicsquire4: at the top of python.scm, where (guix licenses) is imported, only selected bindings are imported. maybe it's missing the one you need?
<toxemicsquire4>umm, can you say that in simpler terms
<toxemicsquire4>actually, nevermind.
<toxemicsquire4>I got it. I accidentally included urwid.scm #:import-modules statement. I took it out and it's good now.
<toxemicsquire4>So, how do I get it to guix master?
<DusXMT>toxemicsquire4: you have to create a patch using `git format-patch', add changelog entries to the generated file, and send it to the mailing list.
<toxemicsquire4>is there a file made when you run git format-patch
<mark_weaver>toxemicsquire4: you don't add changelog entries to the generated file
<mark_weaver>use "git commit -a" to commit it to your local git repo, with a suitable changelog entry.
<mark_weaver>then "guix format-patch -1" will put the commit into a file, including the commit entry you wrote
<mark_weaver>and send that to guix-devel@gnu.org
<rekado>"guix format-patch -1" should be "git format-patch -1" :)
<toxemicsquire4>by local git repo do you mean the guix source tree that I got off git?
<rekado>yes.
*DusXMT never really got a hang of git...
<taylanub>is there a reason a kill(1) command would fail in the build environment, on a process that was started by the builder? the test suite starts then tries to kill a process, failing if "kill -0" on the PID still returns 0 (success) after 5 seconds; so the problem could also be related to rapid re-use of the PID...
<taylanub>hm, the line using kill is 'kill > /dev/null 2>&1 || exit 1' meaning the kill command itself does succeed, otherwise the script wouldn't continue (which it does)
<mark_weaver>rekado: ah right, thanks :)
<taylanub>it works if I run the script manually outside the build environment. could it be that kill -0 doesn't work right in the build environment for some reason?
<mark_weaver>taylanub: what does kill -0 do? I've never heard of that.
<mark_weaver>there is no signal 0
<taylanub>mark_weaver: returns success if a signal can be sent to the PID
<mark_weaver>ah, okay
*mark_weaver learned something new today :)
<mark_weaver>I don't know why it would fail in the build environment
<rekado>Any ideas which existing module should contain GNU Stow (tool for managing symlink forests)? Or a good general name for a module containing Stow?
<mark_weaver>rekado: how about package-management.scm ?
<rekado>it's not really a package manager, though, is it?
<davexunit>it fits that module more than any others
<rekado>true
<rekado>ok, package-management.scm it is.
<ryuslash>hello everyone
<davexunit>hello!
<mark_weaver>hi ryuslash!
<ryuslash>is anybody here using a different keyboard layout than the default in X11 or any TTY? I'm having trouble switching (using GSD)
<ryuslash>I'm trying to use xkbcomp, but it doesn't seem to be doing anything (X11 specific)
<davexunit>xb
<davexunit>oops
<davexunit>sorry
<ryuslash>forgot `C-'? :p
<davexunit>yup
<ryuslash>hehe
<davexunit>I have never used xkbcomp, so I'm afraid that I can't answer your question. someone else here might know.
<mark_weaver>ryuslash: I've successfully used "setxkbmap -option ctrl:nocaps" to put the control key where it belongs, and I guess that "setxkbmap -keymap" or "setxkbmap -layout" might help, but since I use qwerty myself I haven't tried.
<ryuslash>thanks, I'll have a look
<mark_weaver>ryuslash: some web searches turned up example commands like "setxkbmap us -variant dvorak" but I dare not try it myself or I might not be able to fix it :)
<ryuslash>thanks! ah that's much better already :)
<mark_weaver>that's good!
<ryuslash>would you also happen to know where the keymaps are stored on GSD? I've got a customized keymap and I don't know currently where to put it :)
<mark_weaver>almost everything is stored in immutable directories, so you can't just put it there.
<toxemicsquire4>mark_weaver: Sorry, but still not getting how to make a patch file. So I got my source tree that I got from git with my modified gnu/packages/python.scm, then I run "git format-patch", and after that "git commit -a", then "git format-patch -1", is that it?
<mark_weaver>better to figure out a way to have setxkbmap find it where you put it
<ryuslash>yeah, and there's no /usr/share or anything it seems
<davexunit>toxemicsquire4: commit first, then run 'git format-patch -1'
<ryuslash>mark_weaver: hmm, `-I' might help
<mark_weaver>ryuslash: setxkbmap has a "-rules <filename>" option that may help
<mark_weaver>ah, -I might even be better
<rekado>toxemicsquire4: 'git format-patch -1' means "take the last (1) commit and format it as a patch". So you need to commit your changes first.
<toxemicsquire4>rekado: How do I commit my changes?
<rekado>"git commit -a" means: "stage all changes and commit them"
<toxemicsquire4>it's giving me an error about vi
<rekado>(if you have many unrelated changes that you don't want to commit you should use "git add -p" first to only stage the desired changes, then "git commit")
<mark_weaver>toxemicsquire4: set the EDITOR environment variable to a command that exists on your system :)
<mark_weaver>well, that's present in your PATH
<rekado>"git commit" opens an editor in which you write your commit message.
<mark_weaver>we don't provide a 'vi' symlink.
<mark_weaver>if you use vim, set EDITOR=vim
<DusXMT>(shameless advertisement: guix package -i nvi)
<ryuslash>mark_weaver: hmm, damn, just keep getting "Error loading new keyboard description"
<mark_weaver>ryuslash: you probably need to run xkbcomp
<mark_weaver>I'm mostly ignorant of how that works though
<ryuslash>yeah, me too
<toxemicsquire4>still complains about no vi after I've set "EDITOR=emacs"
<mark_weaver>what do you use to make a custom keyboard layout on other systems?
<mark_weaver>toxemicsquire4: did you export it?
<Morgawr>Does anybody know where to get the slides from the fosdem talk from this year?
<mark_weaver>Morgawr: http://git.savannah.gnu.org/cgit/guix/maintenance.git/plain/talks/fosdem-2015/guix-fosdem-2015.20150131.pdf
<toxemicsquire4>now I did. So Now I just tell it what I changed?
<Morgawr>mark_weaver: awesome, thanks!
<rekado>toxemicsquire4: take a look at other commit messages with "git log"
<ryuslash>mark_weaver: I've put it somewhere in /usr/share/xkb/ and loaded it using X11 configuration file
<mark_weaver>toxemicsquire4: we have a set of conventions for the changelogs.
<rekado>toxemicsquire4: the message should be in ChangeLog format
<mark_weaver>toxemicsquire4: look in the commit log history for examples. http://git.savannah.gnu.org/cgit/guix.git/log/
<mark_weaver>it's not quite the same as ChangeLog format, but based on the same principles.
<rekado>I stand corrected.
<mark_weaver>toxemicsquire4: the first line should be something like "gnu: Add urwid."
<mark_weaver>and then a blank line, and then something like "* gnu/packages/python.scm (urwid): New variable."
<mark_weaver>ryuslash: how have you done this on other systems?
<ryuslash>yeah on Archlinux it was pretty easy
<ryuslash>I just put my custom file next to the other keyboard layouts and it worked
<taylanub>aha, the process turns into a zombie ("defunct") after killed
<mark_weaver>ryuslash: you didn't need to run xkbcomp?
<ryuslash>nope
<toxemicsquire4>ok, thanks I got that. But the patch file is telling me that I changed 16 files. I guess that's because I compiled
<mark_weaver>it might be that the -I is overriding the default search path (not merely augmenting it), in which case you might need to add some directory in $(guix build xkeyboard-config) as well
*mark_weaver goes afk for a bit
<mark_weaver>toxemicsquire4: yeah, I was afraid of that. abort.
<ryuslash>mark_weaver: thanks, that does sound plausible, I'll try that
<mark_weaver>toxemicsquire4: run 'git add <files>' manually on the files you changed. then run "git commit" without the -a
<mark_weaver>(you can abort by exiting the editor without saving)
<mark_weaver>back in a bit...
<toxemicsquire4>can't I just redownload the source tree and stick the modified python.scm in there, then run git commit -a, and git format patch -1
<rekado>toxemicsquire4: possible but rather unorthodox. In the long run there is no way around learning the few basics of git.
<mark_weaver>toxemicsquire4: that would be insanely wasteful :)
<mark_weaver>toxemicsquire4: did you already commit it, is that the problem?
<toxemicsquire4>yea.
<mark_weaver>toxemicsquire4: okay, type "git reset HEAD^" and it will undo the commit.
<mark_weaver>but leave the changed files alone.
<mark_weaver>then "git add <files>" and "git commit"
<mark_weaver>but yeah, if you want to contribute to guix, you'll have to learn some basics of git. no getting around it.
<mark_weaver>s/guix/most modern projects/
<toxemicsquire4>I'm just in a real hurry right now because I wanna finish this and be free to watch the superbowl
<mark_weaver>hehe
<mark_weaver>toxemicsquire4: well, you can do the equivalent of redownloading the source tree by doing "git reset --hard origin/master"
<mark_weaver>but beware that will overwrite your changes!
<mark_weaver>that's why I suggested omitting the --hard option, so it doesn't actually change any files, just undoes the commit itself.
<mark_weaver>or, you could just pick this up after the game
<toxemicsquire4>got it. the patch is ready
<toxemicsquire4>do I just send it now
<toxemicsquire4>to guix-devel
<mark_weaver>toxemicsquire4: yes, thanks!
<DusXMT>toxemicsquire4: congratulations!
<mark_weaver>are you subscribed to that list?
<mark_weaver>if not, the message will get stuck in moderation
<toxemicsquire4>I'm on the list
<toxemicsquire4>I've been on there and active for a long time
<mark_weaver>cool
*mark_weaver sometimes forgets the irc-nick <--> email mapping :)
<mark_weaver>well, nevermind, in this case the mapping is pretty obvious, heh
<taylanub>it looks like our build environment somehow causes lots of zombie processes
<taylanub>(they disappear after the build process)
<mark_weaver>taylanub: when a build is done, guix-daemon kills all processes by that build user
<mark_weaver>taylanub: do you think this zombie problem happens with most/many builds, or is it specific to one package?
<DusXMT>toxemicsquire4: I think you forgot to attach the actual patch to your email
<DusXMT>happened to me as well once
<mark_weaver>I've done that many times myself :)