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>remote protocol rather
<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>and also with Guix of course :)
<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
<civodul>ACTION -> zZz
<civodul>later!
<catern>thanks!
<Apteryx>what's up with this file? When viewed locally it looks just like text, but somehow the system thinks it is SVG?
<Apteryx>by this file, I mean: https://github.com/realgud/realgud/blob/master/realgud/common/bp-image-data.el
<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.
<pkill9>ok
<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>Hopefully that helps a little.
<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
<marusich>they only have inputs.
<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
<buenouanq>then unplugging the drive unfreezes it
<nalaginrut>hi guixers! Could anyone kindly point me out about how to create a mirror in a LAN server?
<nalaginrut>thanks
<str1ngs>nalaginrut: are you using guixsd?
<amz3>nalaginrut: it's it guix publish?
<amz3>nalaginrut: héllo btw ;)
<civodul>Hello Guix!
<pkill9>hi
<t0167641>hi
<kittybearwolf>hello
<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>this is not perfect but ok.
<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 ?
<civodul>t0167641: take a look at https://www.gnu.org/software/guix/manual/html_node/Defining-Packages.html for an introduction to packaging
<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>ok thanx
<t0167641>i will try this
<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
<t0167641>i will try GUIX_PACKAGE_PATH
<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/
<snape>can you copy-paste it here?
<t0167641>my package was build with guix build -f file
<t0167641>whitch one ?
<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
<t0167641>it's the path to the packet
<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>(s/installed/built/)
<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
<snape>is that your problem?
<t0167641>no it's not
<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
<snape>oh right, got it
<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>/home/t0167641/test.pkg/
<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 ...)
<t0167641>yep
<t0167641>i just follow the documentation
<snape>can you put the content of your file on https://paste.debian.net/ for example?
<t0167641>ok
<t0167641> https://paste.debian.net/1005265/
<snape>can you try to replace (gnu packages lapin) with (lapin)?
<t0167641>thank
<t0167641>perfect
<snape>:-) look at https://www.gnu.org/software/guile/docs/master/guile.html/Writing-new-Modules.html#Writing-new-Modules
<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
<t0167641>but now it's sound logic and fun
<t0167641>it's like python module
<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.
<snape>As *for the tutorial
<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>maybe I'm just going about this all wrong
<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>just things I want to call from the shell
<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
<buenouanq>that would be it
<buenouanq>to use for the symlink idea
<buenouanq>I just wasn't aware of that path.
<t0167641>do you know why the commande create with guix build -f cannot be use with pack, environment and archive
<t0167641>?
<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
<clacke[m]>maybe that was nix
<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>*the doc explains
<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.
<rekado_>roptat: (setq guix-hydra-url "https://berlin.guixsd.org") and then M-x guix-hydra-latest-builds
<civodul>clacke[m]: /usr/bin/env is not in GuixSD by default but the manual shows how to add it
<roptat>rekado_: I don't use emacs
<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
<civodul>upon 'guix pull'
<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>not sure if that's still the case
<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?
<rekado_>oh, never mind
<ng0>or maybe this is expected in cobol.. I just got curious
<str1ngs>ng0: like a simple printf kinda thing?
<str1ngs>ncurses seems kinda odd for that
<ng0>str1ngs: the simple hello world from the gnucobol Manual
<ng0>something along the lines oif https://open-cobol.sourceforge.io/HTML/gnucobpg.html#Readability-of-Programs
<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
<str1ngs>startup*
<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 ;-)
<rekado_>oh, my bad ;)
<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>roptat: https://git.savannah.gnu.org/cgit/guix/guix-cuirass.git/tree/src/cuirass/http.scm
<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_>civodul: yes, sounds good.
<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
<rekado_>SBCL actually does work.
<quiliro>hello!
<quiliro>i broke my boot by running sudo guix gc
<quiliro>is that supposed to be possible?
<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>efraim: never
<quiliro>it worked
<quiliro>but after sudo guix gc
<quiliro>it has an error before GrUB...but it gives GrUB boot menu and tryed to boot
<quiliro>the error is
<quiliro>error: no suitable video mode found
<quiliro>Booting in blind mode
<quiliro>and just stays there frozen
<quiliro>perhaps it was the 'guix system reconfigure config.scm'
<quiliro>but i do not know how to boot now
<quiliro>i can edit the grub entry
<quiliro>but i do not have an idea how to do it in order to boot
<groffer>I want to call >>qmake signetdev/signetdev.pro "QMAKE_CFLAGS += -std=c99"<< in the configure step. What am I doing wrong with http://paste.debian.net/1005318/ so that
<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?
<equalunique>@quiliro I hope so
<quiliro>equalunique: what do you suggest
<quiliro>?
<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_>ubuntu 16.04 at work
<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>or something like that
<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'
<quiliro>i can see it from the grub command
<adamvy>Anyone know what to call the license as found in this file? https://git.strongswan.org/?p=strongswan.git;a=blob;f=src/libstrongswan/plugins/pkcs11/pkcs11.h;h=da29a77d09fa8a7ba208c8e0f708d802a9282713;hb=HEAD
<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> https://fedoraproject.org/wiki/Licensing/FSF_Unlimited_License#License_Retention_Variant
<adamvy>The debian strongswan package calls it "MIT"
<quiliro>adamvy: is it equal to MIT?
<quiliro>or equivalent
<quiliro>you must compare those
<adamvy>quiliro: I don't believe so. The MIT license as listed on wikipedia is different.
<adamvy> https://en.wikipedia.org/wiki/MIT_License
<adamvy>Or the Expat license on directory.fsf.org https://directory.fsf.org/wiki/License:Expat
<adamvy>none of those is the same as the wording in the pkcs11.h file
<quiliro>on grub command prompt i typed:
<quiliro>'insmod efi_gop'
<quiliro>'insmod efi_uga'
<quiliro>and booted
<quiliro>with the first grub entry
<quiliro>saw fsck run and fail
<quiliro>then bournish shell
<quiliro>bournish@(guil-user)>
<quiliro>what do you suggest i do?
<quiliro>after typin:
<quiliro>,q
<quiliro>boot
<quiliro>continued
<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>and then # dhclient wlp1s0
<adamvy>although i find it drops the connection sometimes using this method
<adamvy>but might be enought to get you through
<quiliro>adamvy: thank you
<quiliro>it will not link
<quiliro>Reason: 3=DEAUT_LEAVING
<quiliro>deauthenticating by local choice
<quiliro>WHY DO I GET DISCONNECTED RIGHT AFTER CONNECTING?
<quiliro>sorry for the caps
<quiliro>i could link and are running reconfigure
<quiliro>ACTION is happy
<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)?
<groffer>ACTION apologizes for the long line
<civodul>groffer: you could indeed replace the 'install' phase, and use the 'install-file' procedure
<civodul>there are examples of that in the packages
<groffer>thanks civodul
<civodul>yw
<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
<pkill9>ACTION feels happy