IRC channel logs

2018-09-23.log

back to list of logs

<pkill9>does guix have any decompilers packaged?
<atw>rust's build printed "starting phase `check'" at least 45 minutes ago :/
<atw>"phase `check' succeeded after 4090.7 seconds" (just over an hour!)
***benny is now known as Guest65532
<terpri>my rust@1.23 build times: 1.25 hours with parallel build & check, 2.25 hours without
<atw>my stats above are for 1.23 as well, with whatever defaults I've got
<atw>and 37 minutes for build
<terpri>the reason i added -j1 for the check phase originally is that i was consistently getting mysterious EAGAIN panics during i686 builds
<terpri> https://github.com/alexcrichton/jobserver-rs/pull/2 looks like it might have fixed the problem, and it's a pretty small patch, so maybe i'll backport it to old rust versions and see if it helps
<terpri>another idea i had is, maybe we could tweak the compiler settings for old versions to speed up the build, and maybe skip some expensive optimizations entirely
<terpri>e.g. rust has a multi-stage bootstrap where it uses rust N to build rust N+1, and uses the newly-built N+1 to build N+1 again (so the compiler itself can benefit from new optimizations, etc.)
<terpri>and maybe the second stage isn't needed for guix's purposes, in packages that exist just for bootstrapping
<atw>that makes sense to me
<tune>is wolfenstein: enemy territory not packaged?
<tune>I couldn't find it so far searching, but I either get 0 results or way too many results
<tune>I guess et legacy is the one people play. I searched it because my friends play it
<atw>tune: I do not see it either, I don't believe it is packaged
<tune>alright
<nly>I get `missing interface for module (gnutls)` in guix pull output
*janneke branched core-updates-next
<g_bor> hello guix!
*g_bor having a look at postgres extensions patch
<janneke>hi g_bor
<g_bor>janneke: hello
<g_bor>I was having a at bootstrap. It is in really nice shape now.
<g_bor>I don't think that making the test faster is a really high priority.
<g_bor>boostrapping guile directly seems to be a bit tough...
<g_bor>:)
<g_bor> I like the idea :)
***slyfox_ is now known as slyfox
<roptat>hi guix!
<jayspeer>hello
<pkill9>hi
<jlicht>hey guix!
<jlicht>janneke: amazing efforts/progress on the bootstrappable-front :)
<taylan>does starting X as a normal user work on Guix? last time I tried it didn't immediately work, but maybe I was missing something.
<taylan>reason: the login manager where I can't change the keyboard layout is annoying me. I'd be fine logging into the console then just typing "xinit" (used to do exactly this on Debian)
<roptat>in the shepherd, what's the difference between "halting", "shutting down" and "exiting shepherd"?
<roptat>(btw, shouldn't it be "exiting the shepherd"?)
<jlicht>the new icecat feels very responsive on my old laptop
<taylan>anyone know what package 'nslookup' is in?
<janneke>jlicht: thank you!
<janneke>g_bor: okay...thanks for looking -- i'm pretty sure it's "only" the mes bootstrap plus gcc that gets built, not guile
<taylan>(found it: 'bind' aka isc-bind as a variable, in gnu/packages/dns.scm)
<civodul>Hello Guix!
<taylan>hidy :)
<h4ppy>hello everyone :)
<h4ppy>can anyone help me with fontconfig? I have installed it in several different manners (did guix system reconfigure including it, normal guix package -i) yet I cannot open it. When in terminal, it says that the command "fontconfig" doesnt exist
<civodul>hi h4ppy
<civodul>h4ppy: i think there's no 'fontconfig' command
<civodul>there are commands like 'fc-cache', though
<h4ppy>but how do I change the font and size then?
<civodul>you can view the list of commands the 'fontconfig' package provides by running: ls $(guix build fontconfig)/bin
<civodul>h4ppy: it depends on the software you're using
<civodul>GTK+/GNOME programs have their own way, for instance
<civodul>are you using GNOME?
<h4ppy>well I've got the services installed but currently use i3
<jayspeer>maybe try altering your .xresources file?
<h4ppy>this file does as of yet not exist in my home, only got xsession. is this the same file or do I have to make this new one_
<h4ppy>?
<jayspeer> https://wiki.archlinux.org/index.php/x_resources
<h4ppy>jayspeer: thanks
<jayspeer>don't thank me yet. it might not work on guix
<jlicht>h4ppy: fyi, I also run i3, and have not needed to play with xresources to get my fonts found
<h4ppy>but did you not change the system font at all?
<h4ppy>jlicht: but how did you manage then? when I use setfont it says "file descriptor could not be found"
<jlicht>What do you mean with 'system font'?
<jlicht>If it is the one in i3, I use `font pango:DejaVu Sans Mono 8`, which never gave me trouble
<h4ppy>jlicht: I mean supposedly I can change the font for the terminal emulator I'm using, which is a matter of the terminal editor config. but then how do I change the fonts of i3 and i3status/i3bar? is it then only a matter of i3 (and then all other programs in which I want to change the font?)
<h4ppy>and of dmenu, for instance
<jlicht>I changed my fonts in each program respectively, which might be the Stupid Way to do these things :-)
<h4ppy>okay, I guess I begin to understand. I was like "yeah well I only need fontconfig, it will do everything for me (a bit like in gnome etc)"
<roptat>with the new icecat, I don't see checkboxes anymore...
<roptat>civodul: in the shepherd, what's the difference between "halting", "shutting down" and "exiting shepherd"?
***root is now known as Guest55310
<civodul>roptat: for translation purposes you mean? :-)
<civodul>"halting" and "shutting down" are about turning off your computer, when running shepherd as PID 1
<civodul>"exiting shepherd" could be just leaving shepherd, typically when not running as PID 1
<roptat>then what's the difference between halting and shutting down precisely?
<roptat>I use "arrêt" and "extinction", is it correct?
<roptat>oh and shouldn't it be "exiting *the* shepherd"
<roptat>?
<civodul>roptat: "exiting shepherd" means "exiting the program called 'shepherd'", so no article needed here :-)
<civodul>"the Shepherd" is when referring to the package
<civodul>fine points ;-)
<civodul>and "arrêt" and "extinction" look correct, yes
<civodul>core-updates-next is in the house, hurray! \o/
<civodul>janneke: woohoo!
<civodul>thanks a *lot*!
<janneke>civodul: yeah, \o/
<janneke>yw, very
<efraim>After talking with terpri I'm building icecat with rust 1.24 on aarch64, any volunteers to try it on x86_64?
<mbakke>efraim: Do you have patches?
<efraim>sed -i 's/,rust/,rust-1.24/' gnu/packages/gnuzilla.scm
<efraim>mbakke: ^
<efraim>Should change just the two lines
<ng0>sed -i 's/,rust/,rust-1.24/g'
<ng0>unless I mixed it up and you are right
<efraim>i'm pretty sure it only needs the trailing 'g' if there's more than one per line, but with the 'g' would probably be better
<georges-duperon>How do I specify a fixed guix version (commit hash in …savannah…/guix.git) to use with a config.scm?
<georges-duperon>I didn't find anything in the docs for `(operating-system …)' and `guix system'.
<georges-duperon>guix pull --commit=abcdef would set the version system-wide, and I need it only for a single guix system vm-image invocation.
<ng0>efraim: alright, i'll give it a spin as soon as i can
<ng0>on amd64
<ng0>efraim: reporting back in 0.2 - 2 hours
<civodul>georges-duperon: you could stash the revision of interest somewhere with "guix pull --commit=xyz -p ./my-system-guix"
<h4ppy>the suckless programs need to be recompiled in order to be configured. how does this work with guix? something involving guix build?
<civodul>h4ppy: in general, if you need say custom configure flags, you need to define your own package variant
<civodul>did you have a specific example in mind?
<h4ppy>well I want to change the font in st. obviously I could alias "st -f FONTNAME", but if I were to want a different color set, for instance, I wouldnt know how to do that
<Sleep_Walker>h4ppy: most of packages are useful as they are, rest of them I'm using generic definition and inherit from it into my own package version
<Sleep_Walker>h4ppy: something like https://github.com/sleep-walker/guix-extra/blob/master/gnu/packages/my-own.scm#L52 :)
<h4ppy>alright, thank both of you. so something which is not all that easy to do (I'm quite a noob, especially when it comes to defining your own packages etc)
<h4ppy>so for the font I guess it is the alias then, right?
<civodul>definitely, these sorts of things are usually configurable at run time
<Sleep_Walker>not for suckless - that is usually configured by editing headers :)
<civodul>how convenient
<h4ppy>sorry for the noob question, but what is the difference between the two, and where can I access the headers?
<Sleep_Walker>civodul: this allows it to not implement any configuration parser and make code smaller, suckless.org people focus on creating minimalistic software which is easy to read, modify and proof it's correct
<Sleep_Walker>some of their concepts are worth of follow
<atw>h4ppy: are you asking about the difference between configuring at compile-time versus at run-time?
<Sleep_Walker>and slock is the best locking application I have seen - simple design, simple use
<ng0>and done.
<h4ppy>atw: I think so, actually. I mean I can kind of figure that run-time might be associated with a configuration file that is read, versus a "hard-coded" compile configuration that can only be altered upon re-compile.
<h4ppy>but if it is that easy to edit suckless programs by editing the headers, I dont exactly know where to look for them
<ng0>efraim: icecat with rust+cargo 1.24.0 compiled, no build errors, still starts up normally
<ng0>on x86_64/amd64
<verisimilitude>I downloaded GCC 7.2.0 recently, but it doesn't seem to be a GCC that supports Ada; which package should I download to get a GCC with Ada support?
<atw>h4ppy: my workflow for that would be to git clone the suckless program, make changes, commit them, use git to make patches out of my commit(s), and then do as Sleep_Walker did in their link: make a package definition that inherits from the suckless program (in their example, dwm) and add your patches to that. You can find Sleep_Walker's patches here: https://github.com/sleep-walker/guix-extra/tree/master/gnu/packages/patches
<ng0>h4ppy: in case they are trivial changes, you can use "substitute*" in the package definition
<ng0>for anything more complex, track the patches in a git to rebase on new releases
<atw>another approach: git clone the suckless program, make changes, commit them, push them to your own publicly accessible repo, then make a package definition that inherits from e.g. dwm and specifies the origin to be your publicly accessible git repo
<ng0>I generally commit unpacked tarballs (of for example suckless software) into a git, make an initial commit, and then work my changes into it if I need it
<ng0>in rare cases you could make a releases and use the file locally or remote
<h4ppy>thank you
<georges-duperon>civodul: Thanks a lot! I think I'm missing something though, how does that profile directory indicate to guix system which package versions it should use?
<h4ppy>alright, a bit of stuff to read into. I actually get acquainted with this stuff "on the fly", I'm not too familiar with packaging etc. :)
<atw>h4ppy h4cking!
<h4ppy>;-)
<georges-duperon>:)
<georges-duperon>civodul: guix pull --commit=xyz -p ./profile && export PATH="$PWD/profile:$PATH" && guix system vm config.scm # how does it know to use e.g. emacs version as described in package recipes version xyz ?
<civodul>georges-duperon: each guix instance comes with its own package set, so if you run 'guix' from commit xyz, it will use the 'emacs' package as defined in commit xyz
<ng0>h4ppy: the repo I have abandoned long time ago, but it could still get you a reference for st and dwm on this line https://c.n0.is/ng0/guix/packages/packages/tree/ng0/packages/personalized.scm#n86
<ng0>don't freak out over "dwarf-fortress" in there, the versions in there never worked ;)
<ng0>also the code is crap and old.. but it should be enough to show you a practical application.
<ng0>even licensing issue in the file itself.. that I can fix once I have the time.
<georges-duperon>civodul: So IIUC, the binary in ./profile/bin/guix contains a reference to its package set that was hard-coded at compile-time?
<civodul>georges-duperon: exactly
<civodul>if you look at ./profile/share/guile/site/2.2/gnu/packages, you'll see all the package definitions
<georges-duperon>civodul: great, thanks a lot for the command-line and explanation! :D
<civodul>yw!
<civodul>also you can run "./profile/bin/guix edit emacs" for instance, to see the emacs definition
<georges-duperon>civodul: Sweet. I saw that share/guile/site directory and didn't drill further down, thinking it was only some generic support files.
*jonsger wonders how guix gets gnutls building with guile2.2
<ng0>anyone want to test if my fvwm patch is okay as is for guix? otherwise I'm dropping out for today.
<verisimilitude>So would I be right to assume there's no Ada compiler available in Guix, currently?
<verisimilitude>Using ``guix package -s ada'' doesn't turn up any such thing.
<roptat>we don't have a way to create persistent containers, right?
<georges-duperon>That's weird, when I create a VM, the guix --version outside the VM is 89ee8a6…, but inside the VM it's "guix (GNU Guix) 0.15.0-3.3d43017" (about 3 weeks older).
<georges-duperon>roptat: I think that with QEMU (guix system vm), you can pass extra options to attach a directory from the outer system.
<civodul>roptat: there's 'guix pack -f docker' and 'guix system docker-image'
<civodul>georges-duperon: /run/current-system/profile/bin/guix inside the VM corresponds to the 'guix' package (see 'guix edit guix')
<civodul>so it's not the latest Guix
<civodul>verisimilitude: i think someone (dannym) was working on getting Gnat
<civodul>not sure about the status but you could ask on guix-devel
<verisimilitude>Alright.
<verisimilitude>I appreciate it, civodul.
<roptat>civodul: I've tried guix system container, but everytime I change something it runs the initialisation scripts
<roptat>which fails in my case because I share data from the host and the process finds a non empty directory
<roptat>more precisely, I share a postgresql database from the host
<civodul>roptat: oh you mean the activation script runs before your share is mounted, perhaps?
<roptat>no, it's run after
<roptat>and it finds an existing database, so it fails to initialize postgresql
<roptat>(it's already initialized)
<civodul>uh?
<civodul>it's suppose to gracefully handle existing databases no? :-)
<roptat>well it doesn't
<civodul>or do we only support volatile databases? :-)
<roptat>ah maybe that's something else then...
<roptat>I get In procedure symlink: File exists
<civodul>oh i see
<civodul>that sounds silly no?
<civodul>(i don't see a 'symlink' call in postgresql-activation though)
<roptat>just after postgresql complains about the database already being initialized
<roptat>maybe that's the script just after that then
<civodul>"initdb" is inovked unconditionally, so i imagine it might "complain"
<civodul>but maybe it's just a warning or something
<civodul>the 'symlink' call must come from elsewhere
<g_bor>hi guix!
<roptat>how can I make the backtrace more verbose? the filename is truncated
<roptat>all I know is that it tries to symlink from "/gnu/store/…-system/…"
<georges-duperon>Thanks, civodul. I'll "guix pull" inside the VM, it should be enough to update.
<g_bor>roptat: I'm trying to postgres working here to look at you patch.
<g_bor>How should I connect to the db?
<roptat>pgsql
<g_bor>should I cerate a postgres account like it is done on other distros?
<roptat>I don't think it's necessary
<roptat>you should be able to connect as root
<g_bor>I get psql FATAL: role "root" does not exist
<roptat>psql -U postgres
<roptat>that should work better :)
<g_bor>fine, thanks :)
<g_bor>I've never checked that this works.
<g_bor>awesome
<civodul>roptat: not sure
<g_bor>roptat: ok, istm that contrib extension just work without further ado, so hstore is ok.
<g_bor>I will try the patched version tomorrow.
<roptat>g_bor: thanks
<g_bor>roptat: I thank you for the patch. I was recently thinking about getting postgis in, but you did it :)
<g_bor>I would like to get an osm tile server, so I will have to look around what is still missing, but this was an important piece of the puzzle.
<roptat>g_bor: I have a few package that may be of interest :D
<roptat> https://framagit.org/tyreunom/guix-more/blob/master/more/packages/geo.scm
<g_bor>Actually I was thinking about database migrations recently, and they seem to be hard, especially data...
<g_bor>Will have a look
<roptat>I had the same idea to get a tile server, so I packaged a few things
<g_bor>wow, nice!
<g_bor>Would you like to get these upstreamed? Or are they already?
<g_bor>I'm willing to help in that.
<g_bor>actually at least osm2pgsql in also needed here :)
<roptat>I haven't tested it, but I can make a patchset
<roptat>I tested imposm and tegola
<roptat>that's what I'm going to use if I can run my container
<g_bor>nice
<g_bor>also, how do we handle apache modules?
<roptat>no idea
<g_bor>We add a httpd-module and extend the configuration I believe
<g_bor>Thanks, see you tomorrow :)
<roptat>civodul: ah, the issue happens when I use "--expose=/lib/modules=/run/booted-system/kernel/lib/modules"
<roptat>postgresql wouldn't start properly without /run/booted-system/kernel/lib/modules
<roptat>oh I see, the symlink that failed was /run/booted-system
<civodul>roptat: --expose=/lib/modules=... adds /lib/modules, but it doesn't remove /run/booted-system/...
<civodul>ok
<roptat>shouldn't it mount /lib/modules to /run/booted-system inside the container?
<civodul>ah maybe, i forgot the order :-)
<roptat>but then I can't start postgres, because of In procedure open-file: No such file or directory: "/run/booted-system/kernel/lib/modules/4.9.0-7-amd64/modules.devname"
<civodul>oh
<civodul>interesting
<civodul>so you're using 'guix system container' on non-GuixSD, right?
<roptat>right
<civodul>this comes from the module loading code, i guess
<roptat>would it work on GuixSD though?
<civodul>which really makes no sense in a container
<roptat>ah, then I should maybe load some module on the host side?
<civodul>well i guess we may need to disable module-loading things inside the container
<roptat>what is loading modules exactly?
<roptat>oh I didn't notice, the error comes from udev: herd: exception caught while executing 'start' on service 'udev':
<civodul>roptat: i just tried 'guix system container' and the thing fails with "failed to start service 'user-processes'"
<civodul>looks like it has bitrot :_/
<civodul>i guess you can open a bug
<roptat>sure
<civodul>roptat: re module loading, i was referring to what (gnu build linux-boot) does
<civodul>see make-static-device-nodes, which is itself called from the udev 'start' method
<civodul>see commit 86e6b4c93104e2f83429b9e12f15ed62341289b4
<civodul>i suppose we could skip that in containers
<roptat>does anyone have issue on github with icecat-60?
<roptat>it doesn't seem to load the css from that site, but I have no problem with others
<roptat>also, I don't see some checkboxes, for instance on the new-tab page
<ecbrown>roptat: i see the issue, things aren't styled on all sites
<ecbrown>hmmm, maybe that's a recollection from a previous build, i just fired it up again, and those sites are working
<roptat>I built icecat (and a few rust packages) yesterday
<roptat>I'll run guix pull just in case
<civodul>roptat: github.com displays as though there was no CSS
<user_oreloznog>Good night guix !