IRC channel logs
2018-01-15.log
back to list of logs
<catern>How is the reimplementation of the nix-daemon remote API in Guix? <catern>I am feeling tempted to use Guix's implementation of the nix-daemon remote protocol, to develop an alternative implementation of the nix-daemon in Guile which can actually be used with Nix <catern>ah, it looks like the guix-daemon is still all C++ :( <civodul>catern: check out the 'guile-daemon' branch <civodul>it's not fully functional, but it's promising <Apteryx>what's up with this file? When viewed locally it looks just like text, but somehow the system thinks it is SVG? <Apteryx>substitute* also chokes and dies on it with a "string contains #\\nul character:". <Apteryx>I think I know where to fix it. I must skip lines containing #\\nul characters in the `substitute' procedure of (guix build utils). <marusich>pkill9, at the level of derivations, there are only "inputs", which are things that might be required to build the derivation (the intent is that they are precisely the things required, but you can over-specify and the build can still succeed). <marusich>In addition, any references that are "retained" by the output of the derivation are things that might be required for running the software that was built. <marusich>At the level of packages, there are more concepts: inputs and native-inputs. These are multiple layers above the derivation level of abstraction. Ultimately they will be translated into inputs - just inputs - of some derivation or derivations. <marusich>I believe those - inputs vs. native inputs - matter only when cross-compiling. The distinction only matters for the higher-level machinery in Guix which is responsible for execuitng the cross compilation. That machinery implements the cross-compilation in terms of the lower-level concepts of derivations and their (the derivations') inputs. <marusich>That is my understanding, although I might be wrong. It wouldn't be the first time. <marusich>The word "dependency" can mean lots of things depending on the context. <marusich>So, the phrases "build-time dependency" and "runtime dependency" are also very unclear. <marusich>And in any case, you don't really specify runtime dependencies as inputs to derivations or packages. <marusich>"Runtime dependencies" are those things that are still retained by the output of the build's output when it's done. <marusich>You can query for them using "guix gc --requisites", I think <marusich>Strictly speaking, I guess it'd be 'guix gc --references'. --requisites shows the transitive list references, while --references shows the immediate references. <marusich>It's...confusing, but I hope that helps a little. <atw>what about propagated inputs? <marusich>That's another package-specific concept, I believe. <marusich>When you add a propagated-input, it means that when that package is installed in a profile, the propagated-input gets installed into the profile, also. <marusich>derivations do not have "propagated inputs" at all <Apteryx>hehe, I've just packaged RealGUD, which has a nifty source debugger for Emacs if someone is interested :). <buenouanq>has anyone encountered a guixsd/gnome problem where attaching an external usb harddrive freezes gnome <nalaginrut>hi guixers! Could anyone kindly point me out about how to create a mirror in a LAN server? <amz3>nalaginrut: it's it guix publish? <amz3>nalaginrut: héllo btw ;) <t0167641>i have build my own package, with the cmake build system, and i need help to use it <t0167641>i do a guix package -i name but doesn't work and i wass force to use the full path <t0167641>however i cannot use the name or path to build a environment,a pack, or a archive <t0167641>do you know, witch step i need to do to define a package usable with the name and usable in env ? <t0167641>i have already read this doc but doesn't understand how to use it. then i have use the guix build -f command <nee`>t0167641: where did you save your package definition? If you wrote it to a file you can use `guix package -f`. Alternatively you can add the directory with your package definitions to the GUIX_PACKAGE_PATH env variable. If you are using the guix git repository user `./pre-install-env guix package -i` <t0167641>thanx for the package -f file but it's the same as build and package -i PATH <t0167641>i still cannot use it in environment container <nee`>t0167641: that wouldn't change it <nee`>or, no try the GUIX_PACKAGE_PATH and then run `guix environment --ad-hoc <yourpackage>` <snape>t0167641: what is the full path you were talking about? <t0167641>yep the full path work with guix package -i __PATH__ <t0167641>and not with guix environment --ad-hoc __PATH__ <snape>so your package got installed? <t0167641>the path look like /gnu/store/hash-name-version/ <t0167641>my package was build with guix build -f file <snape>the full path to the executable (/gnu/store/hash/something) <wigust>t0167641: I think you cannot use 'guix environment /gnu/store/…-package', only 'guix environment PACKAGE' <t0167641>/gnu/store/npcxdhiwxlm6iybg95bivjcj5x07s0nx-lapin-2 <snape>so when you say it doesn't work, what do you mean? <snape>it seems to be installed, at least <t0167641>thanks wigust, it's just a nonimplemented argument parsing or some techical <snape>my understanding is that the package was installed, but the binary wasn't in your $PATH <snape>so you needed the full path to execute it <t0167641>i cannot do guix package -i lapin but I can do guix package -i /gnu/store/...lapin.2/ this is not a big problem. BUT i want to use my packet in a guix environment and not in a profile <t0167641>and it's not possible to use it, with /gnu/store/...-lapin-2 and with name too <t0167641>with this command guix environement --ad-hoc lapin or guix environement --ad-hoc /gnu/store/...-lapin-2 <snape>t0167641: what does "echo $GUIX_PACKAGE_PATH" outputs? <buenouanq>what is the recommended way to deal with things like #!/usr/local/bin/guile in scripts under guixsd? <t0167641>do you know the cause to the error no code for? <snape>did you use (define-public name), in your file? <snape>I don't think it can work if you just use (package ...) <snape>can you try to replace (gnu packages lapin) with (lapin)? <snape>(define-module (foo bar) ...) means bar.scm is within the 'foo' directory. <snape>so if 'bar.scm' is at the root, you need (define-module (bar) ...) <t0167641>ok thanx, not supper logic for a non scheme developer <snape>great, enjoy it then :) it's fun indeed. And guix environments are nice. <t0167641>I think it can be a good idear to write a small tutorial about package creation <t0167641>and do you know why the package create with build cannot be use in environment pack and archive ? <snape>no, but it's not a big deal now that you can use the package name <snape>As the tutorial, I think that improving the doc (which I find pretty good) is a better bet since it's maintained and official. <buenouanq>what is the recommended way to deal with things like #!/usr/local/bin/guile in scripts under guixsd? A symlink sounds nice, but this would break/become wrong every update... <buenouanq>I should just call them with guile -s and alias that if I need. <snape>buenouanq: is that a custom script? Or a software you are packaging? <buenouanq>so yeah, small scripts, nothing fancy or important <snape>could you use: /home/foo/.guix-profile/bin/guile? <snape>or, if you want compatibility with non-Guix OSes, you can use the special-files-service-type service, which would link guile to #!/usr/local/bin/guile for example <efraim>there's also /run/current-system/profile/bin/guile <t0167641>do you know why the commande create with guix build -f cannot be use with pack, environment and archive <snape>buenouanq: the problem with /run/current-system/profile/bin/guile is that it won't work on, say, a Guix + Debian system <snape>whereas /home/foo/.guix-profile/... work on both <snape>(provided that guile is installed) <clacke[m]>buenouanq: The usual way to handle things on the path is to use e.g. /usr/bin/env guile <snape>plus, you would need root rights to update it <clacke[m]>any particular reason that wouldn't work for your scripts? <snape>because there is no /usr in GuixSD <clacke[m]>I thought there was a /usr and it contains exactly jusy /ust/bin/env <snape>clacke[m]: if it's the case, it was installed with special-files-service-type service <snape>but I don't think it's the case, since the docs explain how to add it <snape>it wouldn't explain how to add something that is already there <roptat>hi, is there a way to follow the status of a package on berlin.guixsd.org? (built, failed, wating) <rekado_>roptat: there is, but it’s a little raw. <civodul>clacke[m]: /usr/bin/env is not in GuixSD by default but the manual shows how to add it <roptat>I found an issue with claws-mail: when you update it, it still fetches its plugins in the old version (its configuration file references the store), so after a guix gc, the plugins disappear and I get an error message <roptat>also that means the old version is still in use until the next guix gc, which is bad (compatibility, vulnerability...) <roptat>should I report it to bug-guix even though I don't think there's a solution? <civodul>rekado_: we could do nifty things by integrating guile-debbugs + guile-git + guix pull <civodul>like displaying a list of fixed security vulnerabilities <snape>roptat: non fixable bugs are still bugs :-) <civodul>roptat: you can report it to bug-guix, like snape says :-) <civodul>at some point GIMP had that problem too <civodul>but i'm sure we could at worst modify claws-mail to fix this problem <ng0>I have the feeling our gnucobol should include more packages by default at runtime. So far I had to add ncurses, gmp, and db to make a simple hello world compile <rekado_>roptat: we have a bunch of these problems. In general ~/.cache files suffer from the same issue. <rekado_>civodul: what nifty things do you have in mind? <ng0>or maybe this is expected in cobol.. I just got curious <str1ngs>ng0: like a simple printf kinda thing? <ng0>str1ngs: the simple hello world from the gnucobol Manual <str1ngs>not familiar with cobol, but seems you might be right and ncurses, dmp and db are runtime depends <str1ngs>unless there is away to fiddle with cobol build flags. possible it has some start thing like gcc <ng0>given its presumable corporate use (from what I read in job offers) and the young age of our distro, I don't think it has been used very much in Guix <ng0>well. oops. added last september :) <str1ngs>more then likely. and if someone does use it. they would make a better maintainer haha <ng0>you can just add applications sometimes and they juts compile <ng0>run time should usually be tested, but sometimes is missed <str1ngs>I need to setup my guix contribution work flow. been meaning to send a patch for deluge. <ng0>wrt run time is not always caught, see the now missing LISPF4 :) <rekado_>roptat: you *could* access the hydra end points on berlin.guixsd.org directly, but all you get is some ugly JSON. <rekado_>roptat: the Guix Emacs interface is vastly superior. <str1ngs>at the very least, if they are semi not working. it gives people an opportunity to bug report. or contribute patches <roptat>rekado_: ok, thanks for your help <civodul>rekado_: JSON is not ugly, it's modern ;-) <civodul>that said IWBN if we had a thin JS client using this HTTP API <str1ngs>I wrote a json prettify thingy. uses elastic tabs <roptat>where's the info about that API? <civodul>Cuirass currently implements a handful of URLs <civodul>i suppose one could use datatable.js (?) and populate tables dynamically <civodul>rekado_: if we get core-updates merged within a few days, we could try to do 0.14.1 before FOSDEM, WDYT? <str1ngs>is core-updates going to break all mys stuffs!!!? :P <civodul>str1ngs: of course, we're working on it ;-) <str1ngs>ACTION starts backing up all the things. <rekado_>Unfortunately, I haven’t yet been able to review our list of bugs and patches, despite my plans to do this before FOSDEM. <efraim>ng0: I saw there was a release of gnucobol so I packaged it, didn't test it beyond building and running the test suite <civodul>rekado_: well, we'll see what we can do <ng0>efraim: no problem, no blaming :) <efraim>I meant it more as 'it looked good but I don't know if it actually works' <efraim>Kinda like Smalltalk or SBCL(?), which should probably have another dozen inputs <quiliro>i broke my boot by running sudo guix gc <quiliro>i am using a macbook air and it will nota take usb boot any more <efraim>I assumed sbcl works, it just seems like it could use more inputs, like gtk2 for graphics <efraim>quiliro: do you always install with --no-bootloader? <quiliro>it has an error before GrUB...but it gives GrUB boot menu and tryed to boot <quiliro>perhaps it was the 'guix system reconfigure config.scm' <quiliro>but i do not have an idea how to do it in order to boot <groffer>I get >>starting phase `configure'\\nUsage: qmake[...] <<? How can I see which command was actually called? --verbosity does not for me? <rekado_>groffer: you need to pass separate arguments <rekado_>(system* "qmake" "signetdev/signetdev.pro" "QMAKE_CFLAGS += -std=c99") <rekado_>“system*” does not take a shell command line. <groffer>rekado_, "oh, the simplicity" :) Thanks a lot! <quiliro>is there a way to make my system boot? <wigust>quiliro: Do you have '/boot/grub/fonts/unicode.pf2'? <apteryx_>note to self: installing compilers and build tools in my user profile on top of a foreign distro is a good way to break the foreign distro's native infrastructure ;) <amz3>apteryx_: what is your foregin distroy? <apteryx_>but I should have expected this :). Guix is designed to work as independently as possible from the host, not fuse with it. <amz3>try to keep guile exports inside another .bash_guix_profile <amz3>and when you want to work on guix, start bash with that config file <amz3>I used to have bash and zsh <amz3>and only one was configured with guix <quiliro>wigust: I have '/boot/grub/fonts/unicode.pf2' <adamvy>I can't find it in the list on the gnu.org license list. <adamvy>Fedora has a special name for it when the copyright owner is the FSF. <adamvy>The debian strongswan package calls it "MIT" <adamvy>quiliro: I don't believe so. The MIT license as listed on wikipedia is different. <adamvy>none of those is the same as the wording in the pkcs11.h file <quiliro>i think i can recover if i can link to wifi and run reconfigure <quiliro>how can i link to a no secrity wifi from command line (bash)? <quiliro>but i have to run fsck first i think <quiliro>i cannot bot from external source or remove disk to correct in nother machine <adamvy>You can connect to an unsecured wifi from the command line with # iw connect "wifiSSID" <adamvy>sorry # iw wlp1s0 connect "wifissid" <adamvy>assuming your wifi cart is wlp1s0 <adamvy>although i find it drops the connection sometimes using this method <adamvy>but might be enought to get you through <quiliro>WHY DO I GET DISCONNECTED RIGHT AFTER CONNECTING? <quiliro>i could link and are running reconfigure <groffer>I'm using gnu-build-system but the generated Makefile does not contain a usable "install:" target. Should I just "(modify-phases %standard-phases ..." and "(replace 'install ..." with "(system* "install" "-m" "555" "-o" "root" "-g" "root" ...)" or is there some guix-way to copy the executable (which is only linked to /gnu/store/... libs and linux-vdso.so.1)? <civodul>groffer: you could indeed replace the 'install' phase, and use the 'install-file' procedure <civodul>there are examples of that in the packages <pkill9>wow, it turns out i *can* run graphical applications via Guix with my proprietary nvidia drivers :D <pkill9>i thought i could only do that with nix