IRC channel logs

2017-10-16.log

back to list of logs

<Apteryx>why wouldn't the GNU libc run on a mac? AFAIK all macs nowadays use Intel hardware.
<Apteryx>the kernel I guess.
<marusich>Apteryx, I believe that if you can compile GNU libc on mac (using CLANG and the Xcode stuff that macOS comes with, wich contains non-free software), you can use it on macOS to compile programs. But you cannot use it to build programs that will run on the x86_64-darwin system.
<marusich>If you get that far, you will still only be able to use it to build programs that run on linux or herd systems, I think.
<marusich>That's because GNU libc serves as an interface between the kernel and application software - it abstracts the kernel's interface away - and the GNU libc library is only designed to do this for linux and hurd kernels.
<Apteryx>Is there no linux emulation layer available for macOS?
<marusich>No, I don't think so.
<marusich>Virtual machines and Docker are a possible option, but Docker on Mac unfortunately includes non-free software.
<marusich>In the past, Docker for Mac supposedly ran on a virtual linux machine of some kind. I don't know if that's still the case.
<marusich>Apteryx, for more info on GNU libc, check out README in its source code. it says explicitly which platforms are supported.
<marusich>And unfortunately, darwin is not on the list
<Apteryx>I'm curious now as to what the Homebrew project does to run all the software they provide.
<marusich>I don't know, but I wouldn't be surprised if they just built the software using the Xcode toolchain that apple provides
<Apteryx>sucks to on macs
<Apteryx>to be*
<marusich>Yeah, it's an unfortunate situation. Still, I hope there's an easy-ish way to enable the running of free software built using Guix on a Mac. Hence this thread: https://lists.gnu.org/archive/html/guix-devel/2017-10/msg00111.html
<Apteryx>yep I saw it.
<Apteryx>but now I'm just reading the latest replies to it; quite interesting.
<marusich>I've noticed that "highlight-symbol-at-point" will not highlight symbol "foo" when it shows up as "#$foo"
<marusich>This is unfortunate, because I would like Emacs to show me places in code where symbol "foo" gets ungexp'd
<marusich>Is there a simple way to tell highlight-symbol-at-point to highlight those cases, also?
<bill-auger>at the GNU hackers meeting ludo spoke of a guixsd ISO image - i do not see this on the website nor any instructions on the wiki of how to bake one - is there a prebult ISO available for download? or does anyone know how to create one?
<bill-auger>or alternatively is it possible to have GRUB boot the xz image from the HD ? i.e. is there yet any way to install guixsd without USB?
<bill-auger>chroot install from another partition? anything?
<bill-auger>ive considered booting guixsd in qemu with the physical disk mounted passthrough - but have not attempted anything so inelegant yet
<marusich>bill-auger, see info '(guix)Invoking guix system'
<marusich>and info '(guix)Building the Installation Image'
<marusich>So, putting those together, I believe you might be able to build a bootable ISO-9660 installer image by doing something like this from the Guix source directory:
<marusich>guix system disk-image --file-system-type=iso9660 gnu/system/install.scm
<marusich>I'm surprised it isn't listd at https://www.gnu.org/software/guix/download/ though
<bill-auger>it seens that those docs assume that you have a running guixsd system already? how would one do this without the chicken or egg?
<bill-auger>i suppose from the qemu image
***exio4 is now known as hacker
***hacker is now known as exio4
<bill-auger>i also see a command `dd if=$(guix system disk-image my-os.scm) of=/dev/sdc` that is intended for /dev/sdc to be a removable USB stick - is there any reason why would that same command not work if /dev/sdc was an internal physical disk ?
<bill-auger>and another like: guix system init my-os-config.scm /mnt - it seems like there could be many different ways to accomplish an install without USB
<CompanionCube>hm
<CompanionCube>ACTION can't get the ikiwiki CGI script to find URI/Escape.pm despite it being in the profile
<CompanionCube> https://gist.github.com/samis/deb067cf6d408a0a635e2755aa3e5d90
<CompanionCube>ACTION tweaks the config
<CompanionCube>hi
<CompanionCube>this has been unsuccesful
<Apteryx>Can I use savannah to host one-off scripts?
<marusich>I would like to find out what will be substituted when calling ungexp on a derivation. Does it expand to the derivation's store path, or the store path of the output of the derivation? More importantly, I'm curious to know how I am supposed to investigate and answer questions like that on my own. It's...not very easy to experiment in the REPL, perhaps because I don't know how to experiment well.
<marusich>Basically it'd be nice to be able to "see" what the gexp will look like when I've called "ungexp" on the various parts inside of it. The manual, as far as I can tell, doesn't tell me what the result of calling ungexp on a derivation will be, the code is non-trivial to read, and I'm having trouble experimenting in the REPL, since I'm not exactly sure how to go about it.
<marusich>OK, I guess I was blind. The documentation says that a derivation will be replaced by its output file name.
<cbaines>Hey CompanionCube, it might be related to the PERL5LIB environment variable? When I packaged ikiwiki, I only got as far as getting it to build a site, and I didn't try the CGI script.
<efraim>hmm, qtlocation just failed for me on aarch64
<efraim>aah, OOM
<rekado>we seem to have no substitutes for the JDK packages
<rekado>I tried yesterday and today; building on my laptop now.
<efraim>ng0 also had to build icedtea
<efraim>I'd wonder if they just expired, don't think the inputs changed since the last core-updates cycle
<rama_dan>rekado without having a clue what's going on.. do you mean there's no JDK package for Guix? :) --i "rediscovered" Guix yesterday and am considering using it for my SaaS product
<rama_dan>(but i do need Java :))
<nee`> rama_dan: it means there are no prebuilt binaries on the server for it right now.
<rama_dan>nee` oh ok
<rekado>rama_dan: the JDK packages are available under the name “icedtea”
<rama_dan>rekado well, that sounds kind of strange :)
<rama_dan>i mean.. why not just "jdk" or something
<rekado>I named them “icedtea”, because that’s the name of the upstream package for the OpenJDK
<rama_dan>oh ok
<rama_dan>hmm.. well, i wonder if OpenJDK is "just as good" as the Oracle one
<rama_dan>whatever that might mean in practice
<rekado>it’s better because it does not include proprietary software
<rama_dan>rekado sure, it's better in that sense, if you place value on not including proprietary software
<rama_dan>but for me, it's important that it's just as stable and not broken in ways the Oracle JDK isn't
<rama_dan>well, i'm not trying to .. i don't know.. devalue your values :)
<rama_dan>or something
<rama_dan>basically i just saw Guix again yesterday and was impressed by all the stuff it can do
<rama_dan>so now i'm thinking maybe i could use Guix(SD) for my "devops" needs with my SaaS business
<rama_dan>but i'm very much clueless about "low-level" linux/unix stuff and virtualization and so on
<rama_dan>and of course, i'm vaguely concerned that Guix's "ideological purity" might cause a problem in the long-run. For example, maybe something i need wouldn't be available, or something
<rama_dan>i guess that would be the most common type of problem someone might have
<kmicu>It’s a libre software you can add whatever you want including binary blobs, but do not expect Guix’s resources to contribute or do it for you. If that’s the issue then consider Nix(OS).
<rama_dan>kmicu yeah.. well, it's understandable if you don't want to contribute to non-free software maintaining its grip on the world :) .. but on the other hand, it would feel harsh/silly to refuse to help someone because of that
<rama_dan>so, i guess it's understandable "both ways"
<kmicu>Helping with binary blobs requires time, time that could be allocated on libre work. From that perspective there is nothing silly in refusing to help with proprietary problems. It’s not forbidden of course, but you can have difficulties with finding a person willing to help.
<kmicu>(FYI I am a former Nix(OS) user and my intention is to help you. Nix(OS) has support for plenty of proprietary stuff out–of–the–box (including OracleJDK).)
<kmicu>(That’s a drawback for me, but could be an advantage for you.)
<rama_dan>kmicu sure, but helping with anything in any context requires time that could also be spent otherwise :) .. and any time someone helps someone else, he's potentially choosing not to make the world better instead
<rama_dan>but generally people don't refrain from helping others because they *could* use that time to make the world better in some way - in fact, you could argue that helping someone makes the world better too
<rama_dan>and say, "libre software advocacy", is all about making the world better, right?
<kmicu>That’s a bit of a stretch. By helping Apple to put more blobs everywhere I do not help. By helping Oracle to put more OracleJDK in more places I do not help.
<rama_dan>kmicu it happens on an individual level though, right? you're directly helping a person, that just happens to need a naughty binary blob from Evil MegaCorp to accomplish something
<rama_dan>and to be clear, i'm not denying Apple and Oracle are evil - of course they are
<rama_dan>but as we can see, even if you refuse to help someone with something proprietary, because of your principles, there's still room for reasonably disagreeing with that choice
<kmicu>I harm myself and everyone around in the long run. It’s like buying cigarettes to my kids, b/c they want/need them. I will not help with that. ;)
<rama_dan>kmicu that's one (somewhat biased :p) way of seeing it :). another would be: "i'm helping this guy with this nasty proprietary thing even though i find the corporation behind it disgusting, because this guy really needs help and i'm one of the very few people in the world who can provide it"
<rama_dan>.. and you can even think that the help results in good things, like someone's business being more capable of providing ordinary folks with secure jobs
<rama_dan>that might actually be accurate
<kmicu>Not convincing at all, by helping that person I can prevent more https://tehnoetic.com/ to pop up.
<rama_dan>sometimes making the world better might involve distasteful binary blobs, but you might do it anyway if you're actually all about making the world better :P
<kmicu>You can use Nix. It’s not a GNU project so I do not see a problem.
<rama_dan>well, saying "Not convincing at all" doesn't make it so
<rama_dan>but let's move on :)
<kmicu>I give you an argument why after that statement.
<rama_dan>a link is an argument? the rationale is the same: making the world better, which is what i've been discussing
<kmicu>It’s a link to a libre business.
<rama_dan>anyhow, i find Guix more promising than Nix
<kmicu>If you put GNU–topics aside it’s the same thing.
<rama_dan>kmicu sure, but if someone needs a proprietary thing, and he doesn't get it, that doesn't necessarily contribute to more libre businesses popping up.. maybe the guy just doesn't achieve what he wants/needs to, and maybe that contributes to people losing their jobs, and whatever.. there's lots of things that could happen
<kmicu>Yeah, but that works in both ways it could also result in more libre businesses and more libre jobs.
<rama_dan>well, your argument was based on the assumption of a positive outcome.. now even your wording acknowledges that might not happen
<rama_dan>it's impossible to know whether some random particular refusal to help someone results in good things or bad things
<kmicu>Your argument is the same.
<rama_dan>how so?
<kmicu>Your argument was based on the assumption of a negative outcome.
<rama_dan>ok, let's put it this way: you shouldn't refuse to help someone because you assume your refusal will have a positive effect on the world, because you just can't know whether that's the case
<rama_dan>as it seems we've established, we can't know the resulting effect
<rama_dan>and overall, if your actions are guided by the idea of making the world better, you can do it both ways: sometimes your positive contribution is using libre software and, say, giving money to libre businesses.. and sometimes your positive contribution is just helping someone who needs help (even if it involves distasteful binaries)
<rama_dan>also, if someone "gets burned" for using Guix(SD) because he ends up needing help but then won't get it because it involves something proprietary, that's actually detrimental to libre software becoming more widely used
<kmicu>We all have big todo lists and we spend time on things with highest priorities. So if I can choose to work on libre stuff or help with some proprietary problem then it is highly probable I will choose the former.
<rama_dan>kmicu sure, but now you're talking about (time) preferences, not principles
<kmicu>Yes, b/c I have many reasons not only one.
<kmicu> https://www.gnu.org/software/guix/manual/guix.html#Hardware-Considerations is pretty clear what to expect so you should not get burned.
<rama_dan>sure, but libre software is all about principles, right? :)
<rama_dan>kmicu i'd use Guix only in a server environment, so WiFi wouldn't be a problem
<rama_dan>is it ~safe to assume everything would be fine on servers?
<kmicu>It should be fine, b/c the most blobs is in peripherals.
<kmicu>I need to make something clear: I am a #guix user. What I wrote is my impression of #guix community. Maybe I am wrong and Guix folks will help you with proprietary stuff. But I did not see much of that on #guix or #replicant channels.
<rama_dan>kmicu well, i appreciate your patience in the discussion
<rama_dan>and i hope people will read it and perhaps become more amenable to helping people even when it involves distasteful binaries, since that's what i think someone who's consistent about the principle of making the world better would do, and because *assuming* the help would have a negative effect on the world is not a good reason to refuse
<kmicu>My point was only to inform you that you can have troubles with support here and #nixos should be more helpful with proprietary matters. I do not share your view stated above :)
<rama_dan>:P
<rama_dan>it's not about "sharing my view", it's about being objective :)
<rama_dan>(and of course, anyone should feel free to correct me if i'm wrong)
<civodul>good afternoon/evening/morning Guix!
<kmicu>( ^_^)/
<civodul>Apteryx: did you push https://bugs.gnu.org/28647 ?
<civodul>hey roptat
<civodul>roptat: any update on <https://bugs.gnu.org/28055>? :-)
<civodul>the DNS code looks really fun
<civodul>i wonder if we could use that for mDNS/DNS-SD...
<apteryx[m]>civodul: I've yet to make the requested addition but it's the next thing I'll do.
<civodul>ok, sounds good
<civodul>just wanted to make sure it wasn't going to fall through the cracks :-)
<efraim>looks like we have a couple of packages that failed after the qt5 path changes
<bavier>hello guix
<ng0>*sigh* do we have a reference package already doing python buildstuff without any Makefile or setup.py or anything at all? I don't want to reinvent the wheel for that
<ng0>upstream is basically frozen, but an active applications requires this 1 file python module 'for treasons'
<ng0>*reasons not treasons
<bavier>ng0: it could simply be copied into the correct site directory, right?
<ng0>it's so cold and frozen that I think I would have an easier workaround by forking it and adding a setup.py
<ng0>probably…
<ng0>gentoo skips just all over and only does a python module install. which iirc is just copy and install
<ng0>but also I want a tarball and not a git from github, so I'll work on that anyway to just include a setup.py.
<ng0>I'll test by simply copying.
<ng0>thx
<bavier>ng0: good luck
<rama_dan>so does anyone here have experience with Guix(SD) "in production" for a commercial app?
<rama_dan>it would also be interesting to hear about the differences between using Guix and stuff like Vagrant and Packer
<rama_dan>i'm still kind of clueless about all of this, and trying to determine a good set of tools to use
<rama_dan>HashiCorp's stuff (like Packer/Vagrant) looks like a good choice overall, but i wonder if for example those two would be necessary/useful if i used Guix
<rekado>rama_dan: what do you want to do?
<rama_dan>rekado i've built a SaaS app that i'll need to run somehow, preferably in a very productive way :)
<rama_dan>i've been thinking of using openbsd, but got a bit confused
<rekado>Guix won’t run on openbsd
<rama_dan>oh? why?
<rekado>you can package the application for Guix and then install it with Guix on the target.
<rekado>because it hasn’t been ported to OpenBSD.
<rama_dan>oh, i thought Guix was basically like a "Guile app"
<rekado>arguably, there would be little advantage to running a Guix-packaged application on OpenBSD, because it wouldn’t use any of the system’s libraries anyway.
<rekado>I don’t understand the terms you use.
<rama_dan>yeah
<rekado>Yes, Guix is written in Guile
<rekado>I don’t know what you mean by “app”
<rama_dan>:)
<rama_dan>nevermind, i'm just confused/clueless
<rama_dan>but i was also imagining packaging my Java/Clojure app into a (private) Guix package that i could deploy through Guix, but i have no idea if that could be done (in a good way) etc
<rama_dan>last night i saw some videos and stuff about what Guix can do, and for example the vm stuff was very impressive :)
<rama_dan>(and made me think Vagrant might not be necessary, etc)
<rama_dan>anyhow, i'm open to the idea of using GuixSD instead of OpenBSD, if it seems like a good idea
<rama_dan>(which it may well be)
<rekado>you don’t need to use GuixSD to use Guix
<rekado>GuixSD is a variant of the GNU system built around Guix; Guix is a package manager.
<rama_dan>yeah
<rekado>Guix runs on any GNU system.
<rama_dan>can i use it on macOS btw?
<rekado>no
<rama_dan>(i use a mac desktop)
<rekado>that would require cheating.
<rama_dan>ohh.. :x
<rama_dan>oh, distasteful binaries or something? :)
<rekado>the reason is that we’re bootstrapping the complete system from a handful of binaries
<rekado>we’re then building the GNU C libary and GCC
<rekado>there is no port of the GNU C library for macOS
<rama_dan>hmm
<rama_dan>and the "cheating"?
<rekado>so there’s no bootstrap path for building a GNU system atop macOS
<rama_dan>are the "handful of binaries" something generated by Guile?
<rekado>cheating would be to cut the package graph at an arbitrary point and pretend that system binaries satisfy the root of the graph
<rekado>no, the bootstrap binaries are not generated by Guile, but they can be built with Guix.
<rekado>we’re working on reducing the set of required bootstrap binaries.
<rama_dan>hmm
<rama_dan>well, i've never used C/C++ so i don't understand the problem
<rekado>an alternative to cheating for macOS support is to use a virtual machine running GNU+Linux.
<rekado>something similar is done by Docker for Mac.
<rama_dan>hm
<rama_dan>so i'd use a VM to run a Linux that i could then use for running Guix?
<rama_dan>"we’re working on reducing the set of required bootstrap binaries" <-- would this result in Guix being useable on macOS?
<rekado>no, that’s unrelated.
<rekado>there’s a recent discussion on guix-devel about this very topic, actually
<rama_dan>rekado you mean reducing the set of bootstrap binaries won't help with running Guix on macOS?
<rekado>yes, it would not help, because the problem is primarily that there is no macOS port of the GNU C library.
<rama_dan>rekado ok, and i guess never will be? :)
<rekado>I’m not aware of any work in this direction.
<rama_dan>yep
<rama_dan>ok, so what would i run in a VM to be able to use Guix?
<rekado>ACTION has to go afk
<rama_dan>like, maybe you have a recommended distro or something
<rama_dan>ok
<jonsger>rama_dan: I think you could run GuixSD in the VM...
<rama_dan>jonsger oh, right
<OrangeShark>rama_dan: run either GuixSD or any distro you are must familiar with
<OrangeShark>GuixSD to see the full power of it
<rama_dan>OrangeShark yeah, i think i'll play around with GuixSD
<rama_dan>the whole system is very interesting, and seems like it could be awesome :)
<jlicht>hi guix!
<bavier>howdy jlicht
<efraim>should gnome be a union instead of a list of propagations?
<lfam>ACTION looks the krack wifi bugs
<TaoHansen[m]>guix pull now requires guile-git. specified it in my config.scm and reconfigured but same error pops up if i run `guix pull`
<lfam>TaoHansen[m]: Try adding it to the environment where you run `guix pull`, like this:
<lfam>guix environment guix -- guix pull
<lfam>That will add the dependencies of guix to your environment and then run the command after the --
<TaoHansen[m]>lfam: this also applies to GuixSD?
<lfam>Yes, it works anywhere you can run Guix
<lfam>After you've reconfigured GuixSD to a version of Guix beyond the introduction of the guile-git dependency, it should no longer be necessary to use this workaround
<TaoHansen[m]>lfam: ah alright, thank you. :-)
<lfam>The `guix environment guix` example is a little arcane due to the repetition. Another example is `guix environment hello`, which adds the dependencies of the hello program to your environment.
<TaoHansen[m]>lfam: what i don't understand is why `guix environment guix` is necessary when other packages install and run without complaint. does this have something to do with guix being unable to recursively know itself?
<lfam>Basically, `guix pull` is different from how other packages are built
<TaoHansen[m]>i think it was rekado who told me guix was unable to know its own hash.
<lfam>It's true that any package is unable to know its own hash (adding the hash would change the hash...)
<lfam>I can't really give a good explanation of how `guix pull` works and its limitations, but you may get a good answer here, or on <help-guix@gnu.org>. You might also search the mailing list archives for previous discussion
<lfam>We know it's a weak point of Guix and are slowly working to improve it