IRC channel logs

2014-09-20.log

back to list of logs

<davexunit>it's not totally pure, though, so I wonder if the flag name is misleading or if I should go further in isolating the environment.
<davexunit>going afk
*davexunit is looking for how to get the implicit inputs for a package's build system
<davexunit>I want to create a profile that contains all the direct inputs + implicit inputs such that one could manually build the relevant software from source for development.
<davexunit>I fear I've gone in the wrong direction with the guix environment script.
*davexunit is still trying to figure out how nix uses the derivation's environment and gets all the paths right.
<jxself>It's magic.
<davexunit>there's a lot of magic going on.
<civodul>Hello Guix!
<civodul>looks like i'm on a Boston schedule today ;-)
<davexunit>hey civodul!
<davexunit>I'm just waking up, running an F-Droid workshop in an hour.
<davexunit>civodul: I've been thinking about 'guix environment' more and if I should take the approach that 'nix shell' takes, which is create a derivation of a given package and set the necessary environment variables. What I'm doing now is taking direct inputs from a package and creating a profile, which has the limitation of not including the implicit inputs from a package's build system.
<civodul>oh, right
<civodul>hmm
<davexunit>the problem with using the derivation right now is I can't seem to figure out how to set all of the right env vars
<civodul>yeah
<civodul>obviously a package's build system knows how to do it
<civodul>so you could create a fake package with a fake build system just to get the env var list
<davexunit>yeah, but that isn't exposed in a generic fashion.
<civodul>right
<civodul>well that's a good question, i hadn't though ot it
<civodul>*of
<davexunit>so there's no way currently to take a derivation object and get the environment that is used for the build?
<civodul>no because the environment is set, e.g., in set-paths in gnu-build-system.scm
<davexunit>I see.
<civodul>now, you could actually refer to %final-inputs when you want to add the env for the implicit inputs
<davexunit>oooh
<davexunit>that's only available on build-side code though, right?
<civodul>yes, but you can traverse it and check the native-search-paths of each package
<davexunit>I don't want to actually do the build.
<civodul>the profile created by 'guix environment' could either include all of %final-inputs, or not include it, at the user's choice
<civodul>in some cases one might prefer to use the already-installed toolchain, for instance
<davexunit>well, using the derivation, there is no need for a profile at all.
<davexunit>nix shell does not create profiles.
<davexunit>I just wonder how to get %final-inputs without triggering the rest of the build phases.
<davexunit>I've got head out now. I should hopefully be online soon at the software freedom day event. if this conversation goes deeper, we can take it to the list.
<davexunit>thanks a lot for your help thus far.
<civodul>not sure i understand
<civodul>the profile is here just to make it easy to register GC roots
<civodul>hows does nix-shell do that?
<davexunit>it doesn't I guess.
<civodul>hmm
<civodul>anyway, happy software freedom day :-)
<davexunit>it just figures out the env vars, sets them, and launches a shell.
<davexunit>unless you can discern more from reading this: https://github.com/NixOS/nix/blob/master/scripts/nix-build.in#L226
<civodul>what if the things aren't built?
<davexunit>I believe that's covered here: https://github.com/NixOS/nix/blob/master/scripts/nix-build.in#L204
<davexunit>bye
<civodul>oh, i see
<mark_weaver>civodul: switching emacs to gtk+-3 means no more emacs on mips64el
<mark_weaver>the reason is that gtk+-3 needs xorg-server which fails to build on mips
<mark_weaver>would it be possible/desirable to make the input conditional on target platform?
<mark_weaver>so it would use gtk+-2 on mips and gtk+-3 on intel
<mark_weaver>wdyt?
<civodul>mark_weaver: yes, it's possible to make things conditional
<civodul>rather, i'd make xorg-server conditional in gtk+-3
<civodul>(i believe it's only used for tests)
<civodul>gtg
<mark_weaver>that makes more sense, I agree
<davexunit>hey guix
<davexunit>finished my talk/workshop. it went well.
<mark_weaver>nice!
<davexunit>now to talk to you fine folks
<mark_weaver>davexunit: btw, I meant to ask you: how do you like notmuch mail? I remember seeing in the logs that you use it now, and I haven't yet gotten around to switching.
<davexunit>mark_weaver: I like it a lot. I don't have a perfect setup yet, but overall it's good.
<davexunit>I can pretty easily tag my mail with a script that runs after 'notmuch new' runs
<davexunit>to handle mailing lists, commit hook emails, spam, etc.
<davexunit>keeps my inbox relatively sane
<davexunit>mark_weaver: oh and I forgot the most important part: the included emacs frontend is awesome
<mark_weaver>I'm glad to hear it! I really need an emacs-based mail reader with fast search and that doesn't make me wait for imap transactions. sounds like notmuch is the way to go.
<davexunit>mark_weaver: yeah, I use offlineimap to populate my mail directory and notmuch indexes it.
<mark_weaver>any guix-specific complications I should be aware of? any environment variables to set?
<davexunit>I didn't test the full emacs setup in guix, but I didn't have issues using the notmuch CLI when I tried.
<davexunit>I use a cron script that runs every minute to run offlineimap && notmuch new
<mark_weaver>cool
<davexunit>offlineimap is kind of weird... it fails in weird ways sometimes, such that I pipe output to /dev/null so that cron doesn't email me about it.
<mark_weaver>if you run it once a minute, it's quite possible that you might start running one before the previous one finished, especially after waking up from sleep.
<mark_weaver>that might cause problems.
<davexunit>yes.
<davexunit>I've found that it works itself out, but even when I ran it much less frequently I'd have issues.
<mark_weaver>*nod*
<mark_weaver>if you're going to run it that frequently, it might be better to just leave a shell script running that does it in a loop with 'sleep' in between runs. that would avoid running two at the same time.
<davexunit>yeah
<mark_weaver>or better yet, a dmd service :)
<Tsyesika>yay installing gnu OS today
<Tsyesika>:)
<mark_weaver>\\o/
<davexunit>mark_weaver: that would be great. I haven't put in the time that's needed to really fix things up.
<davexunit>it's in that "good enough" state
<Tsyesika>awh it doesn't have emacs installed
<mark_weaver>after you start the copy-on-write service, you can actually install extra packages within the installer, before you even install.
<davexunit>you can tweak the os config to include emacs in the system packages. :)
<Tsyesika>will do when i figured out wifi :P
<davexunit>wifi... is problematic. at least in my experience.
<mark_weaver>when I installed GNU, I installed wpa_supplicant and ran it so that I could continue the install from wireless.
<Tsyesika>so i've heard
<mark_weaver>it's not hard to setup, but admittedly there are a couple of workarounds needed at present.
<Tsyesika>wpa_supplicant isn't installed by default then?
<mark_weaver>no
<Tsyesika>hm okay can i install the base OS without network? then i can chroot in from a live CD with wifi stuff and grab it?
<mark_weaver>no, you'll need network
<mark_weaver>so initially, you'll need ethernet
<Tsyesika>i see
<Tsyesika>i might not be installing gnu today then
<mark_weaver>yeah, we should really include wpa_supplicant on the install media.
<mark_weaver>sorry it's not there yet.
<mark_weaver>you could also install from another OS using "guix system init"
<davexunit>Tsyesika: this is a pain, but you could build a guix install image from your current GNU/Linux system that includes wpa_supplicant
<davexunit>oh yeah, or what mark_weaver said.
<Tsyesika>hm i could always open the network so i can connect and then to install it
<mark_weaver>right, davexunit's idea is another option
<mark_weaver>Tsyesika: yeah, you only need it just long enough to install wpa_supplicant
<Tsyesika>yep
<Tsyesika>hmm ifconfig wlan0 up errors, pretty sure the card in it works under libre kernel without firmware
<Tsyesika>lspci doesn't seem to exist :P
<mark_weaver>Tsyesika: so, you'll need to create a wpa_supplicant.conf file and run wpa_supplicant manually. also, you'll need to manually install some modules.
<mark_weaver>to connect to ethernet via dhcp, do this: dhclient eth0
<Tsyesika>can't connect to ethernet focusing on connecting to an open wifi atm
<mark_weaver>oh, I see.
<mark_weaver>well, there's no wireless tools either, so no iwconfig
<Tsyesika>erm there is
<Tsyesika>iwconfig and iwlist
<mark_weaver>oh, okay
<mark_weaver>what does "iwconfig" report with no arguments?
<Tsyesika>ifconfig wlan0 up complains of missing firmware but pretty sure it works under a libre kernel
<Tsyesika>it see's wlan0
<mark_weaver>what kind of wireless card is it?
<Tsyesika>forgotten and lspci doesn't exist
<Tsyesika>it's a thinkpad T61 if that helps but i believe there are three versions of thinkpads
<Tsyesika>(this thinkpad)
<Tsyesika>hold on :P
<Tsyesika>i boot to OS on hdd
<Tsyesika>:P
<mark_weaver>hmm, thinkpad's usually don't come with blob-free wireless, unless you got a modified one from gluglug.
<Tsyesika>pretty sure this one does
<Tsyesika>but hold on i'll have a more solid answer in a min :P
<mark_weaver>okay
<Tsyesika>intel wireless 3945ABG is what lspci reports
<mark_weaver>I believe that all of the intel wireless chipsets require blobs.
<mark_weaver>sorry
<mark_weaver>I could be wrong, but that's my recollection.
<Tsyesika>the reason i'm pretty sure is i think i have used a deblobbed libre kernel in gentoo and i'm pretty sure err trisquel out of the box
<Tsyesika>lemmi try booting it
<Tsyesika>where is my fsf membership card
<mark_weaver>I'd be very curious to hear if it works with unmodified trisquel.
<Tsyesika>booting it now so we'll see :)
<mark_weaver>admittedly, there exists at least one free wifi firmware that we don't yet have in guix.
<mark_weaver>the one I know about is for an atheros chip, the ones that are in the external USB wifi adapters that earned FSF's RYF certification.
<Tsyesika>nope you're right
<Tsyesika>doesn't work on an unmodified trisquel
<jxself>You need to apply the updates. :)
<jxself>The kernel that comes in the Trisquel ISO was released before.
<Tsyesika>alright i shall attempt network bridge between another computer and the laptop so i can use ethernet
<jxself>Or use Trisquel 7.
<Tsyesika>brb i shall go find an ethernet cable
<Tsyesika>back :)
<jxself>Oh, in addition to the updated kernel (which will require a reboot) you'll also need to install the open-ath9k-htc-firmware package... then ta da. :)
<jxself>Hmm. That firmware might be a good package for Guix to have.
<jxself>Oh Tsyesika has Intel wireless. Oops. I was thinking you had that RYF one...
<jxself>Yes, all of them require non-free software.
<Tsyesika>i wonder if it's my other T61 which has the free firmware :P
<jxself>Free software for Intel wireless stuff would be nice since it seems common. Too bad all Intel does is spout lies for why they haven't freed it already.
<jxself>"Ohhh, someone might modify the software..."
<jxself>Um, duh. :)
<Tsyesika>:P
<jxself>And in so doing void the FCC certification. I think the SFLC thoroughly debunked them though: http://softwarefreedom.org/resources/2007/fcc-sdr-whitepaper.html
<jxself>With things like "FCC Jurisdiction Does Not Extend to Independent Software Developers" etc.
<jxself> FCC Rules for SDR Device Certification Only Affect Radio Equipment Manufacturers
<jxself>And so forth and so on.
<Tsyesika>okay awesome gnu booted and we got network
<Tsyesika>i presume lvm and luks isn't on here?
<Tsyesika>:P
<jxself>I think support was recently added in git.
<davexunit>Tsyesika: yes, LUKS was just added a few commits ago.
<Tsyesika>well it's installed :)
<davexunit>Tsyesika: yay!
*davexunit is back to looking at how nix shell works its magic.
<davexunit>perl is the bane of my existence
<davexunit>promoted guix at SFD. there's a lightning talk sign-up form that I should jump on to promote it further.
<Tsyesika>:P
<Tsyesika>perl
<Tsyesika>org-mode is driving me nuts
<Tsyesika>:P
<davexunit>nix is a weird combination of nix language, bash, and perl
<davexunit>oh and c++
<Tsyesika>yeh i read some of the nix C++
<Tsyesika>and nix package files
<Tsyesika>when i ran nixOS
<davexunit>given a derivation, how do I get the derivations of all inputs?
<Tsyesika>lol man isn't even installed by default
<davexunit>the system is very minimal
<Tsyesika>oh i guess since this is a gnu distro we'd want info to be installed by default :P
<Tsyesika>davexunit: there is minimal and then there is this :P
<davexunit>guix package -i man-db
<Tsyesika>nah i wanna use config file to put this stuff in
<Tsyesika>which i have to fix as i get an error trying to reconfigure
<davexunit>you have probably hit the annoying bug.
<davexunit>you need to upgrade guix first.
<Tsyesika>hm
<Tsyesika>the annoying bug?
<davexunit>guix 0.7 installs guix 0.6 because there are challenges around getting guix to install the same version of itself.
<Tsyesika>okay i'll do a refresh
<davexunit>sooooo, you have to 'guix pull'
<davexunit>but, first you need to set an env var
<davexunit>export GIT_NO_VERIFY_SSL=true
<davexunit>guix pull # be patient, this takes awhile
<davexunit>run as root, btw.
<Tsyesika>why would i want it to not check the cert?
<jxself>SSL is broken right now.
<davexunit>^
<jxself>I'm not sure what's stopping someone from packaging up a whole bunch of root cert files to use for verification though.
<jxself>Unless it's not that easy.
<davexunit>there was a mailing list discussion about it awhile ago
<Tsyesika>looks like it pulled just fine
<Tsyesika>:P
<davexunit>I can't remember the reasons, but they weren't trivial.
<Tsyesika>i should subscribe to the mailing list
<davexunit>Tsyesika: once you have the new guix
<Tsyesika>okay
<davexunit>'guix package -A guix' should output version 0.7 or something
<davexunit>just verify that it's not 0.6
<Tsyesika>doing a pull atm
<Tsyesika>taking ages :P
<davexunit>Tsyesika: it takes awhile because it's building guix from source.
<Tsyesika>doing a pull doesn't i suspect
<RISCi_ATOM>jxself: I wanted to start my own Certificate Authority, but there is no way that I could make it viable :\\
<davexunit>newer versions of guix shows progress
<davexunit>Tsyesika: yes, it does.
<jxself>Sure. Just make the risci_atom CA. :)
<jxself>Ta da :)
<Tsyesika>RISCi_ATOM: browser adoption would be difficult
<RISCi_ATOM>jxself: Maybe the libreCMC CA
*RISCi_ATOM agrees with Tsyesika
<jxself>Ta Da :)
<davexunit>Jason "Ta Da" Self
<Tsyesika>guix pull compiles things? :s
<jxself>Yep.
<Tsyesika>how... odd
<Tsyesika>:P
<jxself>Yep. It's a source-based system.
<Tsyesika>i understand that
<jxself>With binaries provided as a convenience.
<davexunit>it pulls the new version of the distro.
<davexunit>I would like a way to upgrade guix without compiling it myself.
<Tsyesika>i understood it downloaded the package definitions
<Tsyesika>but didn't do anything else
<davexunit>Tsyesika: the package definitions are part of the guix source tree. you get the package manager and the packages.
<Tsyesika>davexunit: i was under the impression it equated to emerge --sync
<Tsyesika>:P
<davexunit>I never used gentoo so I don't know what that does. just update package recipes?
<Tsyesika>yep
<Tsyesika>i'll read the man pages when i get them
<Tsyesika>xD
<Tsyesika>davexunit: where was that wiki page btw
<davexunit>the wishlist? one sec..
<davexunit> http://libreplanet.org/wiki/Group:Guix/Wishlist
<Tsyesika>thanks
<Tsyesika>wow
<Tsyesika>this has got big
<davexunit>yup
<Tsyesika>golang is free software isn't it
<Tsyesika>yeh it's in fedor
<Tsyesika>*fedora it will be
<Tsyesika>i shall add that
<davexunit>add it
<davexunit>getting programming language packages is important.
<davexunit>and setting up build systems for them if needed.
<Tsyesika>yep
<jxself>Free Pascal! :)
<davexunit>ruby + a ruby build system + gem2guix is something I want
<davexunit>I think guix could appeal to the ruby/rails folks who are sick of RVM and bundler.
<davexunit>I know I got sick of those tools.
<Tsyesika>i have 0.7 you know and i don't get cert issues
<davexunit>hmm, wonder why
<Tsyesika>no idea but i'm not complaining
<davexunit>I just don't know enough about derivations and builders to get 'guix environment' to do the right thing
<davexunit>but I am giving a 5 minute lightning talk about guix soon.
<Tsyesika>oh cool
<Tsyesika>see a lightning talk is something i could do
*Tsyesika isn't a public speaking type person
<davexunit>I'm pretty new to the whole thing
<davexunit>I guess I could work on 'guix import pypi', but I'm not feeling up for it.
<Tsyesika>probably going to spend most of tonight setting up the gnu system and getting familiar with guix
<Tsyesika>need to do some work on pypump and mediagoblin too
<davexunit>I need to refactor the current import script and I'm feeling lazy.
<mark_wea`>looks like we could merge core-updates into master now.
<mark_wea`>well, maybe not actually. there are still too many failed builds.
<Tsyesika>oh i'll join the mailing list before i forget
<davexunit>great idea :)
<Tsyesika>subscribed
<Tsyesika>i'm excited playing with a new OS :P
<davexunit>it's pretty damn neat!
*DusXMT is running it as his main OS, the only thing he misses is mail
<davexunit>DusXMT: mail server?
<jxself>I think I put some mail server components on the wish list.
<jxself>Postfix, etc.
<Tsyesika>my main OS is not as good as gnu OS :P
<Tsyesika>jxself: yeh it is
<DusXMT>Just sending and recieving email from webmail services. I know I could brobably hack something up with fetchmail now that we have it, but idk, I guess I'm too lazy
<davexunit>for reading mail, guix has offlineimap + notmuch.
<davexunit>and mutt
<Tsyesika>i use offlineimap (packaged), mu4e (emacs and mu packaged)
<Tsyesika>on my mail server i use postfix but i don't use gnu OS for my server :P
<DusXMT>One of my concerns about Guix is malicious packages. It's so easy to get packages into the package manager, I bet someone will eventually send in a patch that'll add a malicious package.
<Tsyesika>it's always a risk
<Tsyesika>you just need to make sure all packages are reviewed (easier said than done)
<davexunit>DusXMT: patches are reviewed quite well. we could make a mistake, but it would be easy to fix.
<DusXMT>I mean, I got my favorite document editor, text editor, and PDF viewer into upstream with almost no effort (well, getting Abiword to build was actually quite a pain), someone could do the same for a malware package that appears harmless on the surface
<Tsyesika>DusXMT: did people review? i suspect they did right?
<Tsyesika>it was probably painless as they looked over it and saw you weren't doing anything malicious
<Tsyesika>sigh still compiling xD
*DusXMT feels your pain, Tsyesika
<jxself>It may take days. :)
*davexunit works on his patch to minetest for guix compatibility
<DusXMT>davexunit: by the way, thanks for acquainting me with the game, I might become a regular player thanks to you ;)
<davexunit>DusXMT: yw
<davexunit>coming to guix "real soon now"
<DusXMT>heh, I know you're `really close'.
<davexunit>I let the patch sit for 2 weeks. the devs found problems.
<davexunit>but I have finally updated it. we'll see what they say now.
<inquiryqueue>Hi Dave! Nice lightning talk at Software Freedom Day.
<RISCi_ATOM>I wish I could have seen it. I sadly am stuck trying to get libreCMC working on V9 of this router :\\
<RISCi_ATOM>davexunit: Do you have a link to a recording of your talk ?
<davexunit>inquiryqueue: thanks! I kind of bumbled through. heh
<davexunit>RISCi_ATOM: it was a 4 minute talk to advertise it. nothing to note.
<davexunit>I just wanted more people to know about it's existence
<davexunit>I didn't even have a projector to use
<inquiryqueue>davexunit: This is Kep, by the way. I am interested in learning more about guix later.
<davexunit>inquiryqueue: oh hi kep!
<davexunit>do hang around. this channel is cool.
<inquiryqueue>I'll blink out when I reboot my server later, but then, sure, I can hang around in a screen session like a very persistent ghost.
<davexunit>guix can do pretty much all the things that the docker guy is talking about. :)
<inquiryqueue>What language? Any Scheme?
<davexunit>inquiryqueue: GNU Guile
<inquiryqueue>I was also reading about BSD jails yesterday.
<davexunit> https://gnu.org/s/guile
<davexunit>we require guile >= 2.0.5
<davexunit>your distro will likely have that.
<davexunit>inquiryqueue: are you familiar with Scheme? you don't need to know very much to write basic package descriptions.
<inquiryqueue>davexunit: I know *some* Scheme but I've been enjoying learning more of it in between other things.
<davexunit>awesome!
<inquiryqueue>Yes, arch has guile 2.0.11 and 1.8, I think.
<davexunit>yay! 2.0.11 is the latest and greatest
<RISCi_ATOM>davexunit: Well, it was still something ;)
<inquiryqueue>I've been messing with Chicken Scheme but some people I know were just recommending their other favorites and I haven't gotten around to checking those out just yet.
<davexunit>RISCi_ATOM: I stumbled through because it was a last minute decision to talk. I had no projector so it was tougher. I feel like I confused some people. oops!
<davexunit>inquiryqueue: chicken is neat, but I confess I haven't used it.
<davexunit>I've been a pretty hardcore guiler for a couple years now.
<davexunit>alright, shutting down now. bye, guix!
<davexunit>and happy software freedom day!