IRC channel logs

2015-08-15.log

back to list of logs

<yenda>this is so wierd, emacs can find ubuntu-font but not DejaVu under i3
<yenda>I even tried installing fontconfig
<yenda>+ DejaVu within my profile and in the sytem packages
<yenda>i3 uses it fine via pango but emacs cannot find it
<yenda>ACTION thinks he's going to settle for ubuntu
<amz3>paroneayea: seems like rekado_ 's haunt setup will be big!
<sbidin>how can I see exactly what is contained within %base-packages?
<amz3> http://elephly.net/posts/2015-04-17-gnu-guix.html
<amz3>oops wrong channel
<dmarinoj>is "guix pull" recommended before every "guix system reconfigure"?
<yenda>emacs is driving me nuts
<yenda>I've been trying to change the fonts for 2 hours :'(
<yenda>ACTION succeeded afterall
<dmarinoj>Congrats!
<yenda>sorry about guix pull I don't know, I use the source and git pull && make directly
<dmarinoj>Thanks
<yenda>does it make sense to declare packages for user in config.scm ?
<davexunit>not really.
<davexunit>I don't want to reconfigure the system when I want to update my profile
<yenda>but there is stuff like fonts and emacs and few programs that I absolutely want anyway
<davexunit>you can install those system-wide, sure.
<davexunit>I thought you were talking about specifying individual user profiles
<yenda>well what I also had in mine was to have a config that kindof replace a set of dotfiles on steroids
<yenda>you have something similar to config.scm
<yenda>but for the user
<davexunit>you can manage the user profile by creating a "manifest" file with all of the packages
<yenda>^ this I have to look at ~ Yoda
<davexunit>for dotfiles, I don't use guix but rather a small Guile script that symlinks the files to my home directory from a git repo
<davexunit>yenda: here's an example profile file https://git.dthompson.us/guixsd.git/blob/HEAD:/profile.scm
<yenda>do you have a link to this guile script ?
<davexunit> https://git.dthompson.us/dotfiles.git/blob/HEAD:/dotfiles.scm
<lfam>Is there a step-by-step for creating a new package and building it? I've tried Andreas Enge's slides from GNU Hackers Meeting 2013 but I think they might be out of date. Or I am misinterpreting them.
<lfam>For example, there is Makefile rule to make "sync-synopses" but there is a rule to make "sync-descriptions"
<lfam>Here are Andreas's slides, by the way: https://www.gnu.org/software/guix/guix-ghm-andreas-20130823.pdf
<lfam>I meant to say "there is no Makefile rule to make "sync-synopses""
<davexunit>yeah a lot has been done since 2013
<davexunit>lfam: those tasks are for GNU projects, IIRC. are you a GNU maintainer?
<lfam>Ah. No, I am not a GNU maintainer. I am trying to package syncthing ( https://syncthing.net/ ). I have a package definition written and I'd like to test it.
<yenda>look in guix/gnu/packages for exemples lfam
<davexunit>lfam: oh cool. :)
<davexunit>alright, do you have a working guix development environment?
<davexunit>i.e. did you build from a git checkout?
<lfam>I have a working guix installed via binary on Debian stretch
<davexunit>(we can test the package without this, but for upstreaming purposes we'll need it)
<davexunit>okay
<lfam>I couldn't successfully build guix from source although I want to nail that down, too
<davexunit>now that you have guix installed, you can easily get a guix dev env
<davexunit>clone the git repo, cd to it, and run 'guix environment guix' and guix will fetch everything needed to build
<davexunit>but you can test your package without this for now.
<lfam>So, I could bootstrap the source installation of guix with the tools from the binary installation?
<lfam>Is that what you mean?
<davexunit>yes
<lfam>I will do that soon, thanks!
<lfam>But for now, syncthing
<davexunit>for now, you can set GUIX_PACKAGE_PATH to point to the directory with your syncthing package file
<davexunit>this file must be defined as a Guile module. are you familiar with Guile's define-module syntax?
<lfam>I rewrote another package definition to make the syncthing recipe. I think I get it although I am a complete scheme noob.
<davexunit>lfam: looks like syncthing is written in go
<davexunit>and though we have someone working on a go compiler package, we don't yet have one ready for you to use.
<lfam>Ah, I was hoping that gccgo would suffice. Unfortunately, I know as much about the go world as I do scheme.
<lfam>Well, the real reason I am trying to package syncthing is that I'd like to dive into scheme through guix, but I really like syncthing. I doubt I'll be the one to bring go to guix.
<lfam>Once I find something else to package, what step would come after defining GUIX_PACKAGE_PATH to point at my_new_package.scm?
<davexunit>lfam: run 'guix build foo' where 'foo' is the package name
<davexunit>if your guile module is defined properly, with the correct module dependencies, and the package recipe syntax is correct, guix will attempt to build it
<lfam>Thanks for your help! I will find something with simpler dependencies and try my hand at that.
<davexunit>good luck. feel free to ask questions as you go. there's usually someone around that is willing to help, but some times are more popular than others.
<rekado->boegel: I've never been to FOSDEM and I rarely go to conferences unless I give a talk.
<amz3>rekado-: is your blog already using haunt?
<yenda>hi guix
<yenda>another HN post I new I'd find davexunit on :) https://news.ycombinator.com/item?id=10059896
<yenda>s/new/knew
<osmano807>I'm having all kinds of trouble with GuixSD :/
<osmano807>guix system reconfigure generates an empty boot script and the system just keep rebooting itself
<davexunit>osmano807: which version? could you write to bug-guix@gnu.org and include the guix version and your OS config file?
<osmano807>davexunit: I just did an guix pull yesterday
<davexunit>osmano807: you've been able to boot a previous working config at least, right?
<davexunit>running 'guix system build' instead of 'guix system reconfigure' will return the output directory of the new system config, and you can inspect that before rebooting.
<davexunit>there's a boot script in there
<osmano807>davexunit: argh, the same console-keymap-service thing. If I enable it, all kind of things happen. Before was an empty grub.cfg, now an empty boot script
<davexunit>hmmm I wonder what's going on
<osmano807>davexunit: I was able to boot only the initial system configuration since install, when all files generate 'correctly', the boot is stuck after starting dmd
<davexunit>does it work fine without console-keymap-service?
<davexunit>I haven't noticed this on my guixsd systems.
<osmano807>I'm beginning to think that virtualbox is doing something
<yenda>sneek: later tell lfam codemacs is working on go package, you might want to experiment it from https://github.com/codemac/guix-pkgs/blob/master/codemac/packages/go.scm
<sneek>Got it.
<yenda>By the way if someone is willing to help getting the java platform to work properly (aka add certificates for java) I'm here to work on that
<taylanub>ACTION wonders if Rust can bootstrap from C or whether it's another self-hosting-only compiler
<davexunit>ACTION hopes not
<taylanub>ugh, what do I do upon "configure: error: Option 'CONFIG_SHELL=.../bin/bash' is not recognized" again? I wish everyone just used Autotools.
<davexunit>I don't remember. maybe replace the configure phase?
<taylanub>hmm, also before erroring out it reports a bunch of CGF_BLAH variables whose values are outside /gnu/store. *sigh*
<yenda> https://bpaste.net/show/e3ea95302b51
<yenda>^ taylanub maybe something like that ?
<taylanub>nope, probably have to change the configure phase because their configure script doesn't conform to Autotools-generated configure script conventions
<davexunit>everyone thinks they can write a better build system that the autotools
<davexunit>and they always fail
<davexunit>s/that/than/
<yenda>taylanub: rewrite the build with autotools and pull request them
<yenda>:)
<taylanub>heh
<osmano807>stuck in "waiting for udevd..."
<yenda>oh you are installing in virtualbox ?
<davexunit>I've only run guixsd with qemu/kvm
<osmano807>yenda: I'm trying to get an usable system (packages, etc) before getting rid of Windows on this machine
<mark_weaver>yenda: did you fix your font problem?
<yenda>yes
<mark_weaver>how?
<yenda>I still have all these unicode fails on icecat
<yenda>but it was even before I tried to change the font
<yenda>just installed the font in my profile and restarted emacs :/
<yenda>I guess I was trying too hard
<mark_weaver>so, I found in the past, when I ran ratpoison, that I had to run 'fc-cache -f' after installing new fonts before some things could see them.
<mark_weaver>the reason is that fontconfig has some automatic machinery to detect when its font cache is stale, but that depends on the fonts having modification times (like make does), but in Guix everything in /gnu/store, including fonts and user profiles, have timestamps at 1970.
<yenda>mark_weaver: indeed, I restarted the computer as well I guess it had the same effect
<mark_weaver>but yeah, many programs probably only check for fonts at startup.
<yenda>do you think we could fix the font packages by adding a call to fc-cache or changing the files timestamp ?
<mark_weaver>the timestamps have to be deterministic and fixed, for reproducability.
<yenda>right, and the call to fc-cache ?
<mark_weaver>as for post-install hooks, we don't have anything like that
<mark_weaver>that would be a major change in how things are done
<mark_weaver>I actually think the proper way would be to move the font cache into the profile, and then generate the font cache as part of profile generation
<mark_weaver>we do something similar with the gtk-icon-cache
<yenda>mark_weaver: btw I added the ubuntu and inconsolata fonts should I send a patch ?
<davexunit>yeah
<mark_weaver>yes please
<yenda>I'm just trying to set up gnus as mail client first
<yenda>because my webmail is broken
<yenda>I'll submit patches for i3 too
<mark_weaver>sounds great!
<mark_weaver>I need to look into the Ubuntu Font License
<mark_weaver>according to wikipedia, the license is rejected by Debian and OSI.
<yenda>I put non-copyleft and linked to their license.txt
<mark_weaver>but that doesn't necessarily mean that we can't use it
<mark_weaver>Debian is more restrictive than we are when it comes to non-functional works like fonts or images.
<yenda>inconsolata is silofl1.1 I guess
<yenda>there is no license or any kind of package it's just an otf file
<mark_weaver>according to Wikipedia, the license is not "FSF approved" either, but they say that because it's not a free software license, but that's not the standard we need to meet here.
<yenda>but the official page says It will be released under the new Open Font License of SIL
<mark_weaver>still, I will have to investigate
<mark_weaver>well, it's in Trisquel, so that bodes well :)
<taylanub>maybe I'm doing something wrong, but it looks like Rust's configure system misdetects my CPU architecture :\\
<taylanub>"CFG_BUILD := i686-unknown-linux-gnu"
<taylanub>(64bit here)
<mark_weaver>taylanub: we shouldn't be relying on auto-detection anyway.
<mark_weaver>we now pass --build=<triplet> to configure scripts by default
<mark_weaver>if that doesn't work for the package in question, then you should probably do the equivalent.
<taylanub>oh, ok. can I get the correct triplet from guix?
<taylanub>yeah, I need to override the configure phase because this configure script doesn't work with the default one
<mark_weaver>the triplet is passed as the 'build' keyword argument to all phases, so something like (lambda* (#:keys build #:allow-other-keys) ...)
<taylanub>I see, thanks :)
<mark_weaver>np!
<mark_weaver>ACTION reads the ubuntu font license
<yenda>how do you indent .scm files ?
<yenda>indent regions mess up the traditional alignment I see in argument section
<mark_weaver>I mostly let emacs do that job for me
<mark_weaver>ah, right
<mark_weaver>I hacked emacs to handle the keywords better, and some of us are using that hack.
<mark_weaver>I really need to get that into upstream emacs
<yenda>is the hack available somewhere ?
<mark_weaver> http://www.netris.org/~mhw/scheme-indent-function.el
<mark_weaver>actually, that copy of the code is for an older version of emacs.
<mark_weaver>I should update it
<mark_weaver>but there's a comment in there "This next cond clause is the only change -mhw"
<davexunit>oh cool :)
<davexunit>didn't know about that hack
<davexunit>been aligning manually like a caveman.
<mark_weaver>and so the thing to do is to find the source for 'scheme-indent-function' in emacs (using C-h f)
<mark_weaver>copy it into your .emacs, after (load "scheme")
<yenda>doesn't it work to just redefine it in the init file ?
<yenda>ok
<mark_weaver>and then add that that extra cond clause
<mark_weaver>you don't have to restart emacs, just C-x C-e with point just past the final right paren of the new function.
<mark_weaver>then it should immediately start working.
<davexunit>gotta love lisp environments
<mark_weaver>yep!
<osmano807>anyone have a clue why the booting is stuck after "waiting for udevd..." and "Service udev has been started"?
<davexunit>osmano807: are you sure it's stuck? can you change to another tty and login?
<mark_weaver>osmano807: I don't know, but I was thinking about the "empty grub.cfg" thing, and I wonder if something in /gnu/store got modified or corrupted somehow.
<yenda>mark_weaver: ty it works
<mark_weaver>yenda: good!
<davexunit>mark_weaver: works like a charm here, too.
<davexunit>so happy to have that out of the way.
<mark_weaver>osmano807: Guix depends on /gnu/store never changing
<mark_weaver>it's basically a cache.
<davexunit>now if only I can get modify-phases syntax to indent properly
<mark_weaver>if it wants something that was already generated/compiled in the past, it just uses it from /gnu/store
<mark_weaver>however, if something in there got corrupted, that would be bad.
<osmano807>davexunit: I can't change
<mark_weaver>because it would continue trying to use that corrupted thing
<davexunit>osmano807: do you see any text about services failing to start
<mark_weaver>unfortunately, I believe that ext4 filesystems sometimes leave empty files if there is a crash at the wrong time.
<davexunit>our default services list has a bunch mingetty instances
<mark_weaver>I've heard reports, and I've experienced it at least once myself.
<osmano807>davexunit: no failing
<davexunit>hmmmm
<osmano807>mark_weaver: could be it. I've been bitten by this on Android
<osmano807>I could reinstall, but it would take a few hours.
<mark_weaver>that might be worth a try
<mark_weaver>the problems you're having are very unusual
<mark_weaver>well, that's an understatement; the problems you're having have never been reported before by anyone
<osmano807>mark_weaver: any suggestions to use instead of ext4?
<mark_weaver>but filesystem corruption sounds plausible
<mark_weaver>hmm, well, I've been using ext4, and I think that's what almost all of us are using currently
<yenda>me too on 3 machines and 7 harddrives
<mark_weaver>I think there's a mount option that would prevent this issue, at the cost of reduced performance
<mark_weaver>I've found it to be extremely rare, to the point where I'm willing to cope with it when it happens.
<mark_weaver>but if it happened so soon after freshly installing Guix, I'd probably just reinstall.
<mark_weaver>if it happened now, I'd work to identify and fix the damage
<osmano807>I guess only ext4 is supported right now
<mark_weaver>well, I think that's probably false, but I'd have to check
<mark_weaver>we certainly support ext3, and I vaguely recall that ext3 might not have this particular issue (although I'm not sure)
<mark_weaver>ACTION looks it up
<guixnewbie>I did a guix pull, which compiled the newest guix and updated the list of available packages (?). Then I did a guix gc, which removed some stuff.
<guixnewbie>Then I found out I didn't have access to uname and grep.
<guixnewbie>So I did a guix package -i grep.
<guixnewbie>Now guix has decided to update my entire system? It's currently downloading ghc, which is a hefty 100 MB.
<guixnewbie>Did I do something wrong?
<guixnewbie>(I had ghc before, but I do not understand why it has to download it again when I didn't ask it to.)
<guixnewbie>I also actually had grep before, but I suppose doing a guix package -i grep made it go and download the newest grep instead.
<mark_weaver>guixnewbie: if you have any ghc packages installed, then it needs a new 'ghc' to generate the ghc library cache (or something like that)
<mark_weaver>the only thing changed in your profile will be 'grep', but some other things will be downloaded and put in /gnu/store
<guixnewbie>So I should have two copies of the same ghc now?
<mark_weaver>guixnewbie: quite possibly
<mark_weaver>I guess so
<mark_weaver>in /gnu/store anyway
<yenda>there should be a warning on guix website "don't install this software if you live in Belgium" (might be in others country as well but it's the one I know for sure has ridiculous download quotas)
<yenda>this ghc thing seems pretty inneficient is it something we can fix or it is normal ?
<guixnewbie>Yes, it appears I have two ghcs now. :) And I guess one isn't just symlinked to the other -- they're copies, even though the versions are the same (7.8.4).
<guixnewbie>Will doing guix gc again remove one of them? That's my intuition at the moment.
<yenda>probably one has the library cache and the other one doesn't ?
<guixnewbie>I don't think I downloaded anything that has to do with haskell aside from ghc. It pulled some libraries on its own then?
<guixnewbie>It still feels strange to me that wanting to install just grep would force this ghc download and update. Does it depend on grep, which I updated, so that's why?
<guixnewbie>Or am I wrong, since that should only entail having two greps at once, only one of which is ghc's dependency?
<guixnewbie>ACTION doesn't really understand guix yet. :)
<guixnewbie>Yes, I have two greps now as well, it seems.
<mark_weaver>if you don't want two greps, then don't upgrade part of your system without upgrading all of it.
<mark_weaver>ditto for ghc.
<guixnewbie>Ah, I see. How can I upgrade all at once though?
<guixnewbie>Ah, -u.
<mark_weaver>"guix package -u" to upgrade everything in your user profile, and "guix system reconfigure <config>" to upgrade your base system.
<guixnewbie>Great, thanks!
<guixnewbie>So this is actually a feature. Upgrading only part of the system would sometimes break it if I were on something like Arch (using pacman).
<mark_weaver>guixnewbie: if it downloaded ghc when you made a modification to your profile, then you probably still have something ghc-related in your profile.
<mark_weaver>it doesn't matter what's in /gnu/store
<mark_weaver>that's just a cache
<mark_weaver>what matters, for purposes of profile-creation, is what is in the profile.
<mark_weaver>the relevant code is in guix/profiles.scm
<mark_weaver>e.g. see 'ghc-package-cache-file' in there.
<mark_weaver>it triggers if there is any package in your profile whose name begins with "ghc"
<mark_weaver>(and yes, that's a bit hacky; we need a better way to determine whether a package provides a ghc library)
<guixnewbie>Ah, so having ghc itself as part of my profile is enough. That's why then. I had ghc in my profile.
<mark_weaver>in that case, it uses the latest version of 'ghc' to build a new ghc package cache for the set of ghc packages in your profile.
<mark_weaver>however, the version of ghc in your profile will not be changed until you ask to change it.
<mark_weaver>guixnewbie: okay, makes sense
<guixnewbie>Thanks for the help!
<mark_weaver>np!
<guixnewbie>I have eve more newbie problems, though. :P
<guixnewbie>A question: does the /gnu/store hash coming before -profile always match my username?
<guixnewbie>So I can be safe it won't change?
<mark_weaver>btw, to be clear, the reason that there are two ghc's with the same version number is because someone else that they depend on, or were built with, changed, so they are different builds.
<mark_weaver>all of that information about what the package depends on, and the build tools used to build it, etc -- all of the things that might affect the built package, are hashed, and that's the hash you see in the /gnu/store/XXXX filename.
<mark_weaver>guixnewbie: no
<yenda>talking about newbie problems the clock is 2 hours early on this machine but not on the other one, even though the timezone is the same
<mark_weaver>guixnewbie: every time you build a profile that's not identical to one you've built before, it will have a different hash.
<mark_weaver>yenda: does the output of "date -u" match current UTC?
<guixnewbie>mark_weaver: Ah, I see. So, how can I set zsh as my shell, when the path within /etc/passwd will change on each upgrade?
<guixnewbie>I had hardcoded the path and then, of course, it broke when I upgraded.
<mark_weaver>guixnewbie: /home/XXXX/.guix-profile/bin/zsh
<guixnewbie>mark_weaver: Awesome! Thanks.
<mark_weaver>'guix gc' will remove anything in the store that is not referenced from the places that it knows to look.
<mark_weaver>it knows to look in user profiles, system profiles, and everything that is reachable from those.
<yenda>mark_weaver: invalid time specification
<mark_weaver>"date -u" says that?
<mark_weaver>you can add more GC roots, if needed
<mark_weaver>but if you just link to something in /gnu/store from some other place, it won't necessarily be protected from GC.
<yenda>mark_weaver: yes
<mark_weaver>hmm, that's strange.
<mark_weaver>what are the values of your TZ and TZDATA environment variables?
<mark_weaver>s/TZDATA/TZDIR/
<mark_weaver>I don't know what would cause that.
<mark_weaver>do you have a 'date' alias?
<mark_weaver>(defined in your shell, I mean)
<mark_weaver>yenda: what about "/run/current-system/profile/bin/date -u" ?
<guixnewbie>Unrelated to yenda's issue: I logged out of xfce and tty7 is now dead (blank, with blinking console cursor at top-left).
<guixnewbie>Usually the login service would be displayed there now.
<guixnewbie>(I think.)
<alezost>ha-ha! I've tried "date -u" in shell – OK; then in eshell – "Invalid time specification".
<alezost>"which date" in eshell says "eshell/date is an alias for `current-time-string' in `em-unix.el'"
<mark_weaver>yenda: ^^ did you run "date -u" within eshell ?
<mark_weaver>ACTION searched for that string in the coreutils and glibc sources, and failed to find it.
<mark_weaver>guixnewbie: can you log into a text console and type "deco status xorg-server" ?
<mark_weaver>it might be related to you updating your system profile (using "guix reconfigure"). maybe a reboot is needed now (and yes, that's lame, but our init daemon that manages services needs more work)
<guixnewbie>mark_weaver: Yes, I did a reboot and things work now.
<guixnewbie>mark_weaver: I'll keep that in mind for next time, however. I suppose just restarting xorg if it had died could have been enough to fix the issue.
<mark_weaver>guixnewbie: yeah, "deco restart xorg-server" might have worked.
<mark_weaver>actually, the fact that ghc and grep needed to be upgraded before leads me to believe that your system was at least a few weeks out of date.
<mark_weaver>our grep doesn't change very often, only when we do a "core-updates" cycle.
<guixnewbie>mark_weaver: I only just installed guixsd ~3 days ago, so I don't know about that. However, now was the first time I ever did a guix pull.
<mark_weaver>guixnewbie: ah, well, that explains it.
<mark_weaver>if you don't run 'guix pull', then after installation you are getting the versions of all packages as they were when that installer was released.
<guixnewbie>Ahh, so that's what happened then. I guess it's time for a guix package -u. :) Or, actually, a system reconfigure...
<mark_weaver>both
<mark_weaver>neither one does the job of the other one
<yenda>mark_weaver: guilty, I'm making eshell my shell, not aware of limitations
<yenda>date -u gets the time right
<boegel>rekado-: we're planning on organising an EasyBuild User Meeting in Ghent the days before FOSDEM'16, I'd love to get a Guix expert to join us there for a talk and maybe some hands-on work on integrating Guix and EasyBuild
<boegel>rekado-: we're also going to submit a proposal for another HPC devroom at FOSDEM, a talk on the topic of your paper (Guix in HPC environment) would be fantastic (if our devroom makes the cut)
<pizzaiolo>Hey mark_weaver, are there torrents for guixSD?
<mark_weaver>pizzaiolo: not that I know of
<pizzaiolo>that'd be a good idea :)
<mark_weaver>do you mean for the USB installer?
<pizzaiolo>yes
<mark_weaver>perhaps, although when we move to ftp.gnu.org we will get mirrored by all the GNU mirrors
<mark_weaver>I'm not sure there are enough Guix users yet for torrents to be very helpful here.
<mark_weaver>I don't expect that there would be very many people actively seeding our USB installer at any given time.
<yenda>mark_weaver: do you know why date -u has the time right but not the desktop clock ? (same on i3 and xfce)
<mark_weaver>yenda: what does 'date -u' output right now?
<osmano807>pizzaiolo: wasn't there once an GSoC project to use GNUnet for package distribution?
<yenda>mark_weaver: Sat Aug 15 18:10:28 UTC 2015
<mark_weaver>yenda: that's wrong. right now it's 16:10 UTC
<mark_weaver>so, your hardware clock must be set to your local time instead of UTC.
<guixnewbie>yenda: do "ntpd -qg; hwclock --systohc"
<yenda>I don't have ntpd
<guixnewbie>it should be in the ntp package
<yenda>it looks like it's stucked at 15 Aug 18:16:38 ntpd[7316]: Listening on routing socket on fd #22 for interface updates
<guixnewbie>ah, you're missing /etc/ntp.conf
<guixnewbie>instead, run: ntpd -qg -c /gnu/store/path-to-ntpd.conf
<guixnewbie>yenda: that should fix your system clock
<guixnewbie>yenda: as root
<mark_weaver>guixnewbie: or you can just run "date MMDDhhmm.ss" e.g. "date 08151821.50" or whatever is the current local time there
<mark_weaver>yenda: ^^
<guixnewbie>mark_weaver: but it's not as cool :P
<guixnewbie>dat precision
<mark_weaver>well, if you get it close, then if there's an ntp daemon running it should fix up the rest.
<mark_weaver>and we provide an ntp-service which yenda may or may not have installed.
<osmano807>guixnewbie, mark_weaver: I think the package still has ntpdate
<mark_weaver>I think the ntp daemon is reluctant to change the date by a huge amount though, and especially moving the clock backwards can be problematic for some software
<guixnewbie>mark_weaver: the -g option bypasses that
<mark_weaver>e.g. if you are running a build at that time, it can really confuse 'make'.
<osmano807>so, `ntpdate pool.ntp.org` shoud work
<mark_weaver>okay
<taylanub>"you'd need to grab an early version of rustc which wasn't written in Rust, then compile each snapshot version until you're up to date" putting this off for now, to be done One Day :\\
<davexunit>taylanub: terrible!
<davexunit>did you suggest to the rust folks that maybe that's an awful idea?
<mark_weaver>eh, I don't think that would be very effective.
<mark_weaver>it's natural for language designers to want to write their compiler in their new language
<mark_weaver>I don't think we'll be able to convince them otherwise.
<mark_weaver>and of course, any C compiler has the same issue.
<mark_weaver>*almost
<mark_weaver>but I have a few ideas for how to avoid having to trust every new pre-compiled binary that a project releases, which I expressed in an email on guix-devel at one point.
<davexunit>I either missed that or don't remember it.
<mark_weaver>and also, maybe some day we can implement some of these languages as front ends for guile, and use guile to bootstrap their compilers :)
<mark_weaver>or at least just enough support to compile their compilers.
<davexunit>:)
<taylanub>I remember that e-mail. (I brought in CCL in binary form so it concerned me.) for Rust the situation is at least a little better though; we can really bootstrap it from C with the above method, though it involves drudgery.
<taylanub>I've also been pointed out that this exists: https://github.com/thepowersgang/mrustc Rust compiler written in C++ (incomplete). here's to hoping it gets finished and doesn't get abandoned.
<mark_weaver> https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00814.html
<mark_weaver>"How to reduce our vulnerability from self-hosted compilers"
<davexunit>mark_weaver: thanks. I think that is a good idea.
<yenda>well ntpd worked. what do you mean ? I did'nt find it cool it required to install a package
<yenda>maybe that's why my clock was wrong in the first palce ?
<yenda>mark_weaver:
<yenda>i have the desktop-services and console-keymap
<yenda>I'm also sad that it doesn't work in eshell :( I want eshell to be my only terminal someday
<yenda>still no udpates on go :( I hope codemacs will be done soon with the package
<yenda>mark_weaver: I see that you use gnus, was it hard to set up ?
<yenda>I'm back at trying to choose a mail client for emacs :D
<yenda>this is my Graal quest
<rekado->yenda: I use mu4e (searching, reading, writing mail) + msmtp (sending mail) + offlineimap (fetching/syncing email) for email in Emacs.
<osmano807>mark_weaver: a complete reinstall worked
<mark_weaver>yenda: fwiw, I use M-x shell in emacs
<mark_weaver>still in emacs, but using a full shell
<mark_weaver>yenda: since your hardware clock was set almost exactly to your local time, I guess that it's how you had it set up to begin with.
<mark_weaver>I vaguely recall hearing that windows expects the hardware clock to be set to local time, which is suboptimal but probably for historical reasons.
<mark_weaver>the problem with the hardware clock being local time is: what do you do when daylight savings time starts+ends.
<mark_weaver>if it's UTC, then there's nothing to do.
<yenda>mark_weaver: I had a windows install previously yes, this was my gaming computer in a previous life
<mark_weaver>okay, that explains it
<yenda>rekado- yes I'm hesistatiing between rmail, gnus, maybe wanderlust
<yenda>and mu4e
<mark_weaver>there's also notmuch
<mark_weaver>I don't know which to recommend, they all seem to have their issues
<mark_weaver>Gnus has been my email client for a long time, but I don't recommend using it on a remote IMAP server. too slow.
<mark_weaver>so now I have a setup where I use 'offlineimap' to keep a local mirror of my imap server
<mark_weaver>and I also use notmuch to index my mail for searching
<mark_weaver>but it's a bit fiddly
<mark_weaver>I used this for inspiration: http://roland.entierement.nu/blog/2010/09/08/gnus-dovecot-offlineimap-search-a-howto.html
<mark_weaver>but some of the details had to be adjusted to the latest software, and I didn't fully implement all of the advice.
<rekado->I used notmuch before and found that it didn't do enough for my taste (e.g. refiling, or deleting email).
<rekado->mu4e is pretty okay and it's the one email solution for Emacs that I have been using for the longest time.
<mark_weaver>ah, okay. I haven't tried it yet, but probably should!
<davexunit>ACTION also uses offlineimap + notmuch
<davexunit>notmuch is solid, but I have stability issues with offlineimap
<yenda>do I need msmtp if I have an imap account from an external provider ?
<mark_weaver>yenda: it depends. msmtp will allow anything on the system to send email the same way, without configuration.
<mark_weaver>alternatively, you can configure each program that sends mail to send directly to the external provider.
<mark_weaver>I always send email from emacs, so I just set up emacs to do it.
<mark_weaver>I guess the other issue is how to support queuing outgoing mails when you don't have network access.
<mark_weaver>emacs has a built-in solution for that as well
<yenda>mark_weaver: but if I use gnus with offlineimap it counters the problems of it being slow on remote servers doesn't it ?
<mark_weaver>yenda: yes
<guixnewbie>How do I actually build a new, custom package? I'm going through the docs but am not getting it.
<guixnewbie>I have a package definition in some-name/package.scm.
<guixnewbie>The some-name directory is in my ~.
<guixnewbie>Doing guix build some-name fails with an "unknown package".
<mark_weaver>guixnewbie: set GUIX_PACKAGE_PATH to $HOME/some-name and ensure that the module name on the file is (package) where the bit in parens is the filename without the .scm
<alezost>guixnewbie: see (info "(guix) Package Modules")
<guixnewbie>mark_weaver, alezost Ok, thanks!
***pikos is now known as gamabunta
***shamangeorge is now known as pikos
***pikos_ is now known as gamabunta
***davi_ is now known as Guest49870
<guixnewbie>More package build newbiness: I copied the sample hello package, but cannot build it as guix complains it doesn't know what gawk is (gawk is set as a dependency). I have gawk installed.
<guixnewbie>Surely I'm missing something very simple? :)
<rekado->guixnewbie: when using "guix build" it doesn't matter what you have installed.
<rekado->a suitable build environment is prepared, containing only the declared and implicit inputs.
<rekado->when you say it complains, what exactly is the complaint?
<rekado->and what is "it"?
<guixnewbie>rekado-: Sorry for disappearing. The exact complaint is "ERROR: Unbound variable: gawk".
<guixnewbie>rekado-: When you say a suitable build environment is prepared, do you maybe mean I have to prepare one myself via guix environment?
<guixnewbie>"It" is the result of guix build.
<davexunit>guixnewbie: sounds like you haven't imported the proper module that has the gawk variable
<guixnewbie>Ah, I was importing (guix packages gawk) instead of (gnu packages gawk).
<davexunit>there ya go
<guixnewbie>Seems like this needs an update: https://www.gnu.org/software/guix/manual/guix.html#Defining-Packages :)
<davexunit>no, that's correct.
<guixnewbie>It's missing the import, surely?
<davexunit>oh, actually, I see.
<davexunit>yes, it is! good catch.
<davexunit>would you like to send a patch to fix it? :)
<guixnewbie>Sure, right after I figure out how. No need to help just yet, I know where to look. :)
<davexunit>:)
<davexunit>thanks!
<yenda>guixnewbie: I've been in the process of learning how to package for guix very recently, you can check my github for some exemples of local packaging, I try to document the problem I encounter in readme. And ofc you can just check the sources in guix/gnu/packages for even more
<guixnewbie>yenda: Thanks for the tip! I actually stole your system config.scm when installing, but didn't notice the other stuff. Will do.
<yenda>any of you using helm in emacs ? I'm looking at excluding .go files from find-file
<yenda>the problem is that go uses .go extension for source files
<yenda>so a trick would be to exclude only when .scm files are there
<guixnewbie>(rmssay is hilarious)
<yenda>I hope he doesn't mind me spreading his words
<guixnewbie>I'm sure he's fine with it :))
<phant0mas>mark_weaver: don't check my latest patch just yet, needs some improvements