<sir123>What is the way to build software on a Guix system? I have downloaded the source code for a package and am trying to build the documentation of it. I need libxft. However, the configure for the package I am trying to compile, ratpoison, complains it cannot find xft in its PKG_CHECK_MODULES(XFT, xft,,noop=noop) line. I have installed the package through the Guix package manager, but I get this error. What should I do?
<sir123>That is, I have installed the libxft package.
<sir123>When I try to build the source code for ratpoison so I can get the documentation, it complained about libxft, even though it was installed through the Guix package system. What should I do?
<sir123>Okay, after some research, I found to use the guix package --no-substitutes option. I would just like to know if there is a way to control the make process of the package.
<sir123>Is ther a way to force the guix package system build a certain make target?
<sir123>*Is there a way to force the 'guix package' system to build a certain make target?
<sir123>Can somebosy give me some help on how to build a package's doc folder? Building from a downloaded source doesn't work since it doesn't understand the gnu/store system. So, how can I force the 'guix package' system to make the doc folder and not the package itself?
<taylanub>it's in the Info node for 'guix build' as well as 'guix build --help' it seems
<sir123>Okay, I just saw it myself. Helps to read all the documentation, I suppose :)
<sir123>I can't help but feel that the guix invoke is counter-intuitive.
<sir123>There is no other package manager that behaves like it.
<taylanub>it's probably intuitive once one knows the concepts on which it builds. Nix/Guix are indeed unique.
*taylanub still doesn't even know what a "derivation" is. should read the whole manual some time.
<sir123>It's definitely not for beginners. Maybe a guide on the main site would help explain the concepts? People like me (non-experts in the GNU OS) would not think of looking on info for the information.
<sir123>Or maybe when the system has more users? Something to think about, anyway.
<sir123>Either way, pulling closer to GNU alienates the common GNU/Linux user, e.g. Ubuntu user. That could be a good or a bad thing, depending on your target users.
<iyzsong>Yes, the only document we have now is 'info guix', maybe we need some wiki and faq pages :-)
<sir123>I read on the mailing list a dedicated Guix web site is being built.
<taylanub>well I don't know, opinions differ on how much GNU GSD itself should be branded
<sir123>Should we be working on a wiki? Seems like something Ludo himself would need to approve. And yes, it depends on the way we wish to portray GNU GSD.
<taylanub>I had a strong opinion that it should not be branded at all, and serve as a technical codeword only, but some disagree and I'm open to change my mind after all
<taylanub>Wiki are inherently user-managed and I don't see a reason anyone would object anyway, but of course if it'll be served on gnu.org or some official Guix domain then you'll have to ask them
<sir123>I'm not sure. GNU GSD is a different beast from the other GNU/Linux distros, in that it seems to want to bring back a complete GNU system. This brings back the philosophical questions of how we want the system to not be cannibalized by 'open source', the way most GNU/Linux distros have ruined the free software philosophy.,
<sir123>I.E. is this the free software system Richard Stallman intended in 1983, and if so, how do we treat it?
<sir123>I think that's the root of the issues on branding. Correct me if you disagree.
<taylanub>correct, although systems like Trisquel, gNewSense, Parabola, dyne:bolic etc. are also GNU systems, and RMS doesn't want to sanction any of them as the most important. so the question is how to distinguish
<taylanub>I thought it would be best to stick to GNU branding and have these distros appear only as "models" so to say (e.g. Astra and Vectra of Opel, to make a car analogy), without their own logos or web pages, but maybe it's also fine to brand them individually as long as they make a very strong point on their homepage etc. about them being *GNU Systems* and not "Linux distros"
<sir123>True, but Guix is the first FSF-approved system to boot to "Welcome to the GNU system", weakening Linux to a package in an operating system. Plus, Guix has built its repo from scratch, unlike the other systems that have liberated branded distros. This is a first in the free software community.
<sir123>Guix presents a new opportunity to repair the damage done by the open source movement, by focusing on GNU itself.
<sir123>Of course, what I say above is my opinion. Ludo determines where this system goes.
<taylanub>sir123: indeed Guix is more independent than the others, and general-purpose (contrast to e.g. dyne:bolic), but RMS hasn't agreed to that point so far AFAIK
<sir123>GSD could be a very powerful piece in liberating our systems from those built in the name of 'open source'. That is why I say this.
<sir123>Guix has been constructed by free software hackers, not corporations (think Canonical, SUSE, Red Hat). We have a system that is a free software distribution created entirely by those who value freedom. This is a serious opportunity.
<sir123>This drives straight back to the philosophy of free software. We have a system with no reliance on 'open source' developers. We can define this according to our rules, the free software rules.
<sir123>This comes back to how we want to develop our user base: do we want users who understand the GNU system (including info), or the user who switches from an established distro. The user who wants to switch but doesn't understand GNU would expect some instruction online.
<civodul>if documentation is missing, let's add it to the manual
<rekado_>I do find that the manual probably needs a "tutorial"-like section, something that doesn't go into too much depth at once but that can be followed all the way through to get things working.
<sir123>Certainly. But the average distro-hopper wouldn't think of using info. They think of wikis. Whether you interpret that as a good thing or a bad thing is up to you.
<rekado_>I found myself skipping through many different sections (that I see more as references than introductions) when I got started with guix.
<rekado_>sir123: is the online copy of the manual not accessible enough for those expecting wikis?
<rekado_>(personally, I find many wikis to be hard to use to learn something in a structured, guided manner.)
<sir123>For instance: You come from the Windows world. You discover Linux, install Ubuntu, then find the FSF. You want to use Guix because it is entirely free software. You get stuck since there is no clear instructions on how to use the system. What do you do? You leave to something easier. Is that good or bad for the community?
<sir123>The average distro hopper looks at info and thinks 'holy crap, this is a reference manual'. However, you can't understand the functions of Guix without reading the manual. It's a matter of strategy of who you want to target: well-established GNU users or new users.
<sir123>You also have to learn info, which usually means learning Emacs, which most users (not hackers) don't want to learn. They want a system.
<rekado_>The manual certainly can be improved to give a little more guidance to newcomers by adding a short tutorial-style section (with pictures :) !).
<rekado_>sir123: to read the online manual you do not need to know anything about info.
<sir123>Think of the average user. You may not have to use info, true, but you have to understand the structure. You do this by reading the info documentation.
<sir123>Moreover, what I'm suggesting is a quick-start. I have no issues with the manual, I truly don't, but users don't want to read that to use the sytem.
<sir123>GNU by itself is not very user-friendly. It takes time to learn how to use it. The question is: do we want to remedy this by implementing easier documentation in a place the user expects?
<sir123>That being said, it is easy to find the documentation, as rekardo_ pointed out. So can we improve it is the question.
<rekado_>improve it: yes, always. It might help us to hear some common issues when starting to use Guix, so that we know what to focus on in writing a quick-start guide.
<rekado_>As soon as I've packaged a few more audio plugins I'm soon using GNU GSD on an old Thinkpad for use with a synthesizer; I'm sure I'll run into a couple of issues then that could be addressed in a starter guide.
<rekado_>(So far I've only used Guix as a package manager alongside other distributions.)
<sir123>I have recently switched to GSD, after many hassles with getting it to install. I had to use Arch Linux documentation to understand how to create the partitions. I suggest we practice installing on a VM strictly obeying the current install process as suggested by the documentation. Maybe we could compare notes?
<sir123>Try to keep in mind the understanding of a common GNU/Linux distro hopper. Imagine the only part of GNU you may be aware of is the GNU toolchain. How would you try to install the system?
<taylanub>but what's the key difference making something bsd-style or x11-style? hm, BSD mandates reproducing the license text in binary distributions. x11 doesn't seem to explicitly do so. is that it?
<taylanub>(specifically for guix packagers that is)
<taylanub>another question is, how much does a license have to match the original to justify declaring it's that one? e.g. the following seems similar in form and effectively equivalent to ISC but uses different wording: http://sprunge.us/iFjG
<civodul>at FOSDEM there was a question about environment modules during the Nix talk
<civodul>and i mentioned them during mine, suggesting how inflexible it is ;-)
<rekado_>it's somewhat understandable, though, because the old cluster (which is ours to maintain now) is a bit of a mess thanks to willy-nilly installation of applications, directly compiled on the nodes, etc.
<civodul>the argument would be that Guix is non-intrusive
<civodul>there's /gnu with "random" software, and that does not interfere with the rest
<mark_weaver>right, outside of the 'guix system' command, guix doesn't modify anything outside of /gnu, /var/guix, and /var/log/guix
<rekado_>*that* plus the benefits with building software once and running it on workstations (Fedora, Ubuntu, Debian, etc) and cluster (CentOS) alike probably convinced them to let me play with it.
<mark_weaver>(assuming here that you don't run 'make install' and that localstatedir is /var)
<mark_weaver>and as you pointed out, you can change that to "doesn't modify anything outside of /gnu" if you make /gnu/var the localstatevar
<rekado_>actually, our guix-builder host is not part of the cluster and under our (not central IT's) management, so as far as they are concerned the cluster nodes only got a new mount. That's a very cheap, agreeable change.
<rekado_>of course, writing to an NFS share isn't very fast, but it's okay for a mostly read-only share.
<mark_weaver>I suppose you could make --prefix=/gnu and then even with 'make install' everything would be neatly kept in /gnu
<mark_weaver>it's too bad that users with write access only to their home directory cannot make use of substitutes.
<mark_weaver>to address that problem, I wonder if we should consider changing /gnu/store to a longer name, long enough that it could be grafted into /home/<username>/<??> for some username of typical length.
<mark_weaver>I agree that rekado_ should keep working on the sysadmins from the social angle.
<mark_weaver>but if we have the technical means to provide substitutes for users with uncooperative sysadmins, I wonder why not take it?
<rekado_>I'll do that once I can demonstrate that it's all working and there's nothing to fear.
<rekado_>the way it usually works here is that users want something and we install it anyway ... so far there have been mostly technical reasons when we refuse to install something (e.g. multiple versions required and no way to offer both, or proprietary software that cannot easily be installed at all).
<rekado_>so I have hopes that eventually we can leave the users to themselves when it comes to installing software, relegating sysadmins to the task of running guix gc once in a while.
<rigelk>i’m having a « waiting for partition 'label' to appear… » error on GuixSD boot
<rigelk>i can’t seem to find a way to avoid that error. tried device path first, then uuid and now label. still the same detection problem.
<rigelk>btw mark_weaver, is there a way to setup env vars in the GuixSD config.scm ?
<mark_weaver>rigelk: when you specified the device path, did you change the title field to 'device ?
<mark_weaver>in the example config, we have (title 'label) which causes it to interpret the device field as a label.
<mark_weaver>i would try (title 'device) and (device "/dev/sdXn")
<mark_weaver>one user recently had trouble specifying the label on a system that used GPT, and fixed it by using raw device names.
<mark_weaver>rigelk: regarding environment variables: the OS configuration has a 'skeletons' field that can be used to specify the default dot file contents for new users.
<mark_weaver>the field is documented in section 6.2.2 of the manual ('operating-system' Reference), but more docs would probably be helpful.
<rigelk>mark_weaver, i had no title field when trying the path method, since it is the default behaviour
<sir123>Hi, I'm trying to get xorg to start up with xfce4, but changing .xinitrc or .xsessions doesn't work. I tried killing xorg myself (sudo deco stop xorg-server), and running startxfce4, at which point it came up with: exec: xinit: not found. I presume this is xorg looking for xinit under /bin (which it won't find because Guix packaging changes that whole design). I'm thinking I should do something with deco, but I'm not sure what. Any
<rigelk>sorry for the delay. I’m using a usb key to install GSD on a machine.
<rigelk>I have used `dd if=gsd-usb-install-0.8.1.x86_64 of=/dev/sdX` where sdX is my usb key
<sir123>mark_weaver: following your advice, (installing xinit) leads to: xinit: unable to run server "X": No such file or directory. It gives its list of possible server names (Xorg, Xvfb, etc.) Then: xinit: giving up xinit: unable to connect to X server: Connection refused xinit: server error
<mark_weaver>sir123: rather than going down this road, I think that it would be better to get .xsession working
<mark_weaver>rigelk: hmm, missing initrd? might be an issue with your BIOS not supporting USB drives that are like hard drives. if you have a working GRUB on that machine, I can tell you how to boot the USB installer from it.
<rigelk>well… I have already had successful boot attempts (and install attempts even they where not working after a reboot) on that machine
<mark_weaver>sir123: what happens if you create a file ".xsession" in your home directory with the lines "#!/bin/sh" and "exec startxfce4", run "chmod +x .xsession" to make it executable, and then "deco start xorg-server" and try logging in via the X login manager?
<espectalll123>Have a quick question. I'm gonna write an article about Guix and would like to have an .svg file for its logo (I know, I'm the laziest thing on the Earth, meow). Do you know where may I find it?