IRC channel logs

2019-09-03.log

back to list of logs

<xavierm02[m]>I don't understand why "guix import crate tar" but "guix import crate cbindgen" yields "guix import: error: failed to download meta-data for package 'cbindgen'"
<gnu_srs1>rekado: roptat: I'll send patches of what I've done tomorrow. Next would be to find out why xz fails.
<gnu_srs1>I replaced the cross-built xz with the native one, and got a long way further.
<gnu_srs1>Now I'm at: builder for `/gnu/store/...-make-4.2.1.tar.xz.drv' failed with exit code 1
<gnu_srs1>How do I replace an already downloaded static-binaries-0-i586-pc-gnu.tar.xz with a new one?
<gnu_srs1>The buggy one is at: /gnu/store/dll4sqmdiv69cnhr6j6fg2yg9cx1sbh9-static-binaries-0-i586-pc-gnu.tar.xz.drv
***xavierm02_ is now known as xavierm02
<apteryx>is it possible to test two records for equality?
<apteryx>answer: yes
<apteryx>(equal? seems to do it)
<apteryx>is the jargon "tuples" correct to denote lists of two elements or more in Scheme/Lisp?
<apteryx>err, I meant to ask this in #guile
<vagrantc>rekado_: thanks regarding updated keys! :)
<quiliro>i am upgrading after a recent guix pull
<quiliro>but it is downloading texlive-texmf-20180414 after downloading texlive-20180414-texmf
<quiliro>is this a bug?
<quiliro>sizes are 2.38GiB and 2.42GiB, respectively
<cooper[m]>The node package in the Guix repos doesn't work for me. When I run node/npm after installing, they do nothing. If I use guix environment node, the node/npm binaries aren't even in my path
<quiliro>it is normal that texlive-texmf-20180414 and texlive-20180414-texmf exist?
<quiliro>they weigh about the same...and both are downloaded
<quiliro>is it a bug?
<quiliro>I had to install texlive-beamer after guix pull...i had it before
<quiliro>why did it get removed after guix upgrade?
<gnu_srs1>I unfortunately manually removed a *.drv file from /gnu/store: Is there any way to restore the situation?
<gnu_srs1>Maybe I have to build guix again from scratch on another location. Should I then remove all files at /guix/store?
<gnu_srs1>What about the pre-inst-env vs installed guix ownership of /gnu/store?
<quiliro>gnu_srs1: do you have any orror?
<quiliro>error
<quiliro>you could 'guix pull' and 'guix upgrade'
<vagrantc>really shouldn't be messing with /gnu/store manually
<quiliro>vagrantc: absolutely!
<quiliro>vagrantc: good clarification
<quiliro>vagrantc: will what i suggested repair the erasure?
<vagrantc>there's some way to get guix to check the state of the store and repair issues; forgetting the name of the command/arguments off the top of my head
<quiliro>the symlink will try to find the file but it will not exist
<quiliro>but a derivation will not affect executing
<quiliro>it will affect building
<vagrantc>guix gc --verify=repair
<quiliro>nice!
<vagrantc> https://guix.gnu.org/manual/en/html_node/Invoking-guix-gc.html#index-repairing-the-store
<vagrantc>apparently there's also "guix build --repair"
<vagrantc>so close to initializing guix from an empty chroot with the binary tarball unpacked...
<vagrantc>really should figure out how to build an aarch64 installer...
<gnu_srs1>Thanks but: guix gc: error: you are not privileged to repair paths and guix build: error: repairing is a privileged operation
<vagrantc>yes, you'll need to be root, as describe in the manual
<gnu_srs1>I tried as root too :(
<gnu_srs1>Thanks. I think I'll erase /gnu/store and start over. Do these files belong to guix and/or guile?
<cooper[m]>I am struggling to get nodejs working on Guix system. If I install with guix install node, the node, npm and npx commands do nothing (though they are in my path). Any ideas?
***deadman007 is now known as ramajd
<cbaines>cooper[m], when you say do nothing, does that mean when you run node, you don't get the > prompt?
<gnu_srs1>Can I safely wipe out /gnu/store after make distclean to start over?
<quiliro>gnu_srs1: i think you asked that a few days ago......
<quiliro>gnu_srs1: the answer was a web page from arch wiki i think instructing how to uninstall guix
<quiliro>gnu_srs1: use duckduckgo
<efraim>gnu_srs1: you can wipe /gnu/store and /var/guix, that should get rid of everything on a system level
<gnu_srs1>efraim: Thanks!
<roptat>hi guix!
<gnu_srs1>roptat: Hi, I started over and got further.
<roptat>nice :)
<roptat>I went to bed :p
<gnu_srs1>Now ./pre-inst-env guix build -e '(@@ (gnu packages commencement) gnu-make-boot0))' fails at:
<gnu_srs1>builder for `/gnu/store/22d5h1gnnbacy7cfcb45ai8fwmr0vij0-make-4.2.1.tar.xz.drv' failed with exit code 1
<gnu_srs1>guix build: error: build of `/gnu/store/xyvvw7f5hadb36g49yn22mcr9grk5v5n-make-boot0-4.2.1.drv' failed
<gnu_srs1>View build log at '/usr/var/log/guix/drvs/22/d5h1gnnbacy7cfcb45ai8fwmr0vij0-make-4.2.1.tar.xz.drv.gz'. but the build log is empty.
<gnu_srs1>the cross-compiled xz is corrupt, and I replaced it with the local version.
<roptat>what do you mean "local"?
<gnu_srs1>Sorry it should be: builder for `/gnu/store/22d5h1gnnbacy7cfcb45ai8fwmr0vij0-make-4.2.1.tar.xz.drv' failed with exit code 1
<gnu_srs1>build of /gnu/store/22d5h1gnnbacy7cfcb45ai8fwmr0vij0-make-4.2.1.tar.xz.drv failed
<gnu_srs1>View build log at '/usr/var/log/guix/drvs/22/d5h1gnnbacy7cfcb45ai8fwmr0vij0-make-4.2.1.tar.xz.drv.gz'
<gnu_srs1>By local I mean the Hurd version from xz-utils.
<gnu_srs1>So is the problem that the cross-built tar is buggy too?
<roptat>according to rekado, yes
<gnu_srs1>I can replace tar and try again.
<roptat>but you're replacing them with dynamically linked binaries, which only works because we're disabling chroots I think
<roptat>we should rather find out why these binaries don't work, and fix them
<roptat>what does the log have to say, by the way?
<gnu_srs1>Yes, you are right. The build log is empty.
<roptat>can you try using the static binaries to extract that archive somewhere?
<gnu_srs1>Replacing ./gnu/packages/bootstrap/i586-gnu/tar with the local one did not help. Next would be to replace tar also in static-binaries-0-i586-pc-gnu.tar.xz.
<gnu_srs1>I can build xz, tar, bash, mkdir statically if needed.
<gnu_srs1>And: What about building static binaries of all 5 *.xz tarballs natively, instead of cross-compiling?
<roptat>I don't know if that will work, but it could be an idea
<roptat>it'd be best if people could check these tarballs though
<efraim>It would cut the problem in half, I suppose
<efraim>leave the "create usable bootstrap binaries" for another time while "take the bootstrap binaries and bootstrap the whole thing" and make sure that works for Hurd
<efraim>it definately couldn't be upstreamed with hand crafted bootstrap binaries but it would help along the way
<gnu_srs1>I did run tar ft on static-binaries-0-i586-pc-gnu.tar with both dynamic (native) and static (cross-built) tar, no problem.
<gnu_srs1>Where do I find the script/whatever for the cross-built xz files?
<efraim>gnu/packages/make-bootstrap.scm I'm pretty sure
<efraim>xz specific stuff starts at line 170
<gnu_srs1>Can I run this with the native version of guile-2.2?
<efraim>its all guix code, expected to be run from a working guix installation
<gnu_srs1>Maybe the recently built guix executable.
<gnu_srs1>Ok, I'll try ./pre-inst-env guix <whats next> Or make install and guix <??>
<efraim>to build xz again it looks like the easiest option would be on another machine ./pre-inst-env guix build --no-grafts -e '(@@ (gnu packages make-bootstrap) %static-inputs)' and i'll be in there
<efraim>oh, and with --target=i586-pc-gnu
<gnu_srs1>Now you are talking about a Linux box, right?
<gnu_srs1>But that cross-build creates the buggy files.
<gnu_srs1>I've used my own cross-built static binaries on a GNU/Linux Guix installation, not the ones from Berlin.
<civodul>Hello Guix!
<gnu_srs1>Is it possible to cross-build the .xz-files with more recent tools? gcc is version 5.5.0
<nixo_>Hi civodul :)
<efraim>gnu_srs1: yeah. sorry, I was afk looking for more coffee
<gnu_srs1>efraim: Filled my coffee cup too.
<gnu_srs1>I've already replaced xz with the dynamic native version in static-binaries-0-i586-pc-gnu.tar.xz. Now I would like to replace tar too.
<gnu_srs1>But how to make guix download an updated version of that file?
<efraim>find the guix hash of the file and pre-load it into the store with 'guix download file:///path/to/file
<gnu_srs1>I have now replaced the cross-built tar with the native one. Same problem. Any ideas?
<gnu_srs1>I think I'll leave this for a while and send the patches to the ML for others to confirm status.
<civodul>gnu_srs1: yes, please send a status update
<civodul>we should consolidate what you've already achieved
<civodul>hey nixo_!
<rekado_>sneek: later tell vagrantc My key on Savannah has been updated. I also uploaded a copy to https://elephly.net/rekado.pubkey and uploaded it to https://keys.openpgp.org
<sneek>Will do.
<gnu_srs1>How to make an if statement in guix/build/syscalls.scm: if (string-contains %host-type "linux") (define (set-thread-name name) ... else (define (set-thread-name name) #t)
<rekado_>(if this the-thing-if-true the-thing-if-false)
<rekado_>but you would “convolute” the expression:
<rekado_>(define (set-thread-name name) (if … foo bar))
<rekado_>i.e. place the “if” inside of the definition. Doing this ifdef style would be weird.
<htgoebel1>Hi, I'm struggling with some guile-code, trying to avoid set!.
<htgoebel1>Could someone please have a quick look at https://haste.tchncs.de/sanixeguce.lisp (just a few lines) and say whether this code is okay?
<rekado_>htgoebel1: I would use “cond”
<rekado_>oh, these are supposed to be done sequentially?
<htgoebel1>rekado: How would this work? cond only processes the first matchin case, while here all cases nedd to be handled.
<htgoebel1>rekardo: yes,sequentially
<civodul>hi htgoebel1!
<civodul>what you wrote is correct
<civodul>there are ways we could make it nicer to the eye, using a macro, as i suggested by email
<civodul>lemme see
<civodul>also note that 'canonicalize-path' is already taken, you should choose a different name for clarity :-)
<rekado_>or you can use an alist of predicates and actions, and then fold over them
<htgoebel1>All of these is beyond my scheme skills :-)
<htgoebel1>(except choosing a different name, of course :-)
<civodul>htgoebel1: this should work: https://paste.debian.net/1098529/
<civodul>"->" here is a "threading macro"
<civodul>that is, it passes "path" through each of the following steps
<civodul>like the original code
<rekado_>complete overkill: https://paste.debian.net/plain/1098530
<civodul>heheh :-)
<rekado_>(I mean *my* version is complete overkill, not the macro solution)
<civodul>that would prevent inlining and all, which is bad :-)
<civodul>htgoebel1: nitpick: i'd avoid the hard-coded "17"
<htgoebel1>civodul, rekado: Thanks. But to be honest, both of these are much harder to read and understand.
<htgoebel1>I'd prefer a solution which not only guile-gurus can read.
<civodul>if you take the definition of "->" for granted, i think it's easy to read
<civodul>it's all about managing complexity
<civodul>like, "guile guru" is not a Boolean, there are many levels :-)
<civodul>you can focus on your procedure and consider "->" to be the boss of the next level ;-)
<htgoebel1>This "->" thing needs quite some advanced knowledge of guile.
<civodul>its definition, not its use, i think
<rekado_>the “->” definition ensures that the expressions all end up being nested and referring to the previous expression’s result.
<rekado_>but reading just be part *after* the definition makes it pretty obvious what it should do at a higher level.
<civodul>i find that it helps a lot to look at the result of macro expansion
<htgoebel1>Sorry, IMHO defining a syntax rule just for sequentially processing a string is total overkill.
<civodul>you can try ",expand (define ...)" at the REPL
<htgoebel1>My code is 11 lines, the "->" thing need 16 lines
<civodul>htgoebel1: it could (should?) be part of the standard library
<civodul>i mean, you're right that it's a lot of lines for just one function
<civodul>but it's a common abstraction, so it could just be there
<rekado_>this could be golfed down if lines of code is a concern
<rekado_>the macro could deal with the negative case and pass through “path” if the predicate doesn’t apply
<rekado_>but then it’s harder to understand as the macro would be much less generic
<civodul>yeah
<rekado_>it would need to have some knowledge of how it’s used and that’s generally not nice.
<rekado_>but you *could* get rid of the ifs and the else branch
<rekado_>it would look like my version without the “cut” (because the macro could do that) and without the “fold”
<rekado_>but I think “->” is much clearer.
<rekado_>(and I do think it should be part of Guile)
<civodul>but in the end, if you prefer your version htgoebel1, that's fine too :-)
<htgoebel1>rekado: I strongly disagree with "->" being clearer - at least for guile beginners.
<civodul>i think the conclusion is that it's the kind of tool that should be available in Guile, indeed
<htgoebel1>civodul: Okay, then I'll keep mine :-) Thanks
<civodul>htgoebel1: there's a precedent though, "->" exists in Clojure, and while clarity is in the eye of the beholder :-), i do think that it's fairly easy to "get" what it does
<htgoebel1>civodul: If "-Y" would be defined elsewhere, it would be okay for me. But since it needs to be defined here by a syntax-rule, makes it hard to understand. One needs to understand the syntax-rule first.
<htgoebel1>s/-Y/->/
<htgoebel1>Anyway, thanks for the review and teh discussion :-)
<civodul>yw! :-)
<civodul>roptat: did you have a chance to look at the web site translation proposal?
<quiliro>why did i lose beammer when upgrading guix?
<roptat>civodul, not really
<civodul>ok
<roptat>could you give me a pointer to the thread?
<civodul>roptat: https://lists.gnu.org/archive/html/guix-devel/2019-08/msg00044.html
<roptat>thanks
<quiliro>i could not export an org document as beammer pdf
<civodul>roptat: Florian did a lot of work, notably with a custom xgettext kind of tool for sexps
<civodul>i haven't look in detail but it looks nice
<htgoebel1>civodul: Another thing: Regarding the "valid-store-file-name" in "guix download":
<htgoebel1>I'm not sure whether my change is right: It will fix the store-filename when using "guix download",
<htgoebel1>but what if a package source would contain invalid characters?
<gnu_srs1>civodul: A status update sent to guix-devel.
<roptat>civodul, from what I see, the tool from Florian is really nice, but hides html a bit
<roptat>that's an issue when I want e.g. to change a url in a link to a localized resource
<quiliro>what package is needed to make beamer presentations in emacs?
<rekado_>quiliro: org-mode can export to LaTeX/beamer
<quiliro>thank you, rekado...i did it before my last guix upgrade....now emacs does not export to beammer pdf only regular pdf (and others...but nothing beammer)
<quiliro>i have also restarted emacs...maybe i should restart the user? or the system?
<quiliro>i will close the session to test
*civodul just notices the loooong Hurd thread on guix-devel
<chrislck>regex.... (/me runs)
<quiliro>civodul: will check!
<sirmacik1>Hi, is it possible to mount luks2 volume in guix?
<efraim>Does core-updates build on non-Intel? I got 'missing bootstrap tar' on my powerpc side project
<efraim>Haven't rebased there in 4? months
<civodul>efraim: there are no longer bootstrap files in the tree (tar, mkdir, bash)
<civodul>they're downloaded instead
<efraim>so I'll 'guix download' each of the files I guess
<efraim>I thought I added them in my tree
<cbaines>this might only work intermitantly, as I think the server is going to be rebooted at some point, but I have something working regarding getting lint warnings in to the Guix Data Service: http://milano-guix-1.di.unimi.it:8765/repository/1/branch/master/latest-processed-revision
<civodul>hello cbaines!
<cbaines>hey o/
<civodul>page loading...
<civodul>looks like it's not accessible over Tor
<cbaines>it might just be slow, do you get an error?
<civodul>over Tor i just never receive the page, dunno if it's a problem on my side
<civodul>anyway, i've been able to browse it now and it looks cool!
<civodul> http://milano-guix-1.di.unimi.it:8765/repository/1/branch/master/latest-processed-revision/package/btanks/0.9.8083
<civodul>really cool that you can select which linter you're interested in, etc.
<civodul>it seems to be slow sometimes, weird
<cbaines>civodul, I can't get to it at all now, so I'm guessing Giovanni is rebooting it...
<civodul>ok
<civodul>that'd explain it :-)
<cbaines>It's not actually shown, but I am storing some translations for lint warnings, so I'm hoping to build on this to add more internationalisation
<cbaines>I also haven't included lint warnings in the comparison between revisions, but I'm interested in that for reviewing patches, as it's hopefully really useful to see if any lint warnings are being introduced
<civodul>that's nice
<civodul>yup, i always run 'guix lint' when reviewing
<civodul>if we had that info upfront, that'd be great
<cooper[m]>cbaines All of the nodejs related commands (node, npm, npx) literally do nothing. node --version, nothing. npm install, nothing, etc.
<cbaines>cooper[m], I'm still unsure what literally nothing means. Do they exit immediately giving no output?
<cbaines>Or do they hang, giving no output?
<cooper[m]>They exit immediately with no output
<cbaines>cooper[m], perhaps try something like: guix environment --ad-hoc node -- node --version
<cbaines>Do you definately get no output?
<gnu_srs1>I downloaded a naive dynamically built tar. How to make guix use that file instead of the statically cross-built one?
<gnu_srs1>s/naive/native/
<xavierm02[m]>I still can't figure out why "guix import crate log" yields "guix import: error: failed to download meta-data for package 'log'" bu "guix import crate clap" works...
<roptat>gnu_srs1, don't you just have to put it in the sources, to replace the static tar?
<gnu_srs1>guix gc crashes the daemon: ERROR: R6RS exception:
<gnu_srs1> 1. &i/o-read
<gnu_srs1> 2. &i/o-port: #<input: /proc/9/environ 9>
<gnu_srs1>roptat: They are there now, at gnu/packages/bootstrap/i586-gnu/ but the old version was already installed by guix at /gnu/store,...
<roptat>oh, I think you have to update the hashes in (gnu packages bootstrap)
<roptat>ah no, nevermind
<roptat>you never added their hashes
<roptat>so they should be picked automatically
<roptat>these files in the store are content-addressed, and I think guix would take the file that has the same content as the file in gnu/package/bootstrap/i586-gnu anyway
<roptat>so it's not an issue if you have additional files in the store
<gnu_srs1>How to rebuild from scratch is the question.
<roptat>I think it's automatic, but I'm no expert in these parts
<roptat>does guix really use a different tar from what's in the sources?
<gnu_srs1>Maybe, I tested with the tar versions in the store, and -mtime works for all dynamic as well as static.
<gnu_srs1>So, how to clean out stuff and start over, guix gc crashes, see above?
<gnu_srs1>You should never manually tinker with /gnu/store, I've learned that now starting from scratch once already.
<roptat>I guess the store doesn't have anything important, so you can probably wipe /gnu and /var/guix
<roptat>wiping everything is the only exception to that rule I guess ^^
<gnu_srs1>OK, is that the only way?
<roptat>or fix gc somehow
<roptat>but guix is not as statefull as you seem to think it is...
<roptat>it shouldn't be needed to wipe the store or remove items by yourself
<roptat>unless you corrupt the store, or lack disk space
<roptat>but maybe these bootstrap binaries don't work as I expect them to
<Minall>Hello guix!
<Minall>I'm seeing the amazing power of guix reconfigure... I want to do something similar like... for example, make a debian-like environment
<Minall>Is it possible?
<xavierm02[m]>Alright. I found out why guix import crate doesn't work for some packages: in guix/guix/import, things are extracted from the JSON with an and-let*, and because of this, when there is no homepage, the script doesn't work.
<gnu_srs1>roptat: This time bash crashed... Took a screen shot of the qemu console. I have to replace all four: bash mkdir tar xz and put them into the .xz file too.
<xavierm02[m]>I don't really understand the idea behind the and-let*. Especially since it fails with something that looks like a network error. And also, if you just replace the and-let* by a let*, it works and magically finds the home-page anyway :o
<rekado_>gnu_srs1: start “qemu” with “-curses” in a terminal
<pkill9>Minall: what do you mean debian-like?
<rekado_>xavierm02[m]: and-let* is used to abort when a necessary previous step failed, so that worse errors or unnecessary work is avoided.
<Minall>pkill9: For example, a reconfigure when I only have gnome, and basics utilies installed with the same versions as in debian
<Minall>JUst that would be cool, like for example, since debian is so stable since it goes with 'old' versions of the packages, If I want to work on a 'stable debian' environment, I would install the same packages with the SAME versions as in Debian
<Minall>And the same kernel of course, but in linux-libre
<pkill9>yes that would be possible, if you put in the time to write the package definitions
<Minall>And icecat from firefox
<Minall>Yes, And I can have another reconfigure for the latest packages, and another for example, with packages to work with something exactly
<Minall>Also... How can I add emacswm to a reconfigure?
<pkill9>you wouldnt need to use reconfigure, you could put the package definitions in another channel, and create a manifest with the debian packages that you want, and use with `guix environment`
<xavierm02[m]>rekado_ I understand that. But why should a missing home-package field in the JSON returned by crate lead to a failure at all? The behaviour for the license (i.e. setting it to #f) seems fine.
<rekado_>yeah, perhaps it’s a thinko
<Minall>pkill9: For starting, I should look for every package and their versions, and creating a definition for every one that's not on guix
<Minall>Of course, the libre ones only
<pkill9>doesn't debian provide their own patches to packages?
<Minall>pkill9: What do you mean?
<Minall>So it's not only the versions?
<pkill9>they patch packages in ways that make it specific to debian i think, i might be wrong
<Minall>Whaaaa
<bandali>no i think you’re quite right
<Minall>So, I won't be able to do it...
<bandali>afaik many (most?) distros patch software they include in their repos
<bandali>i think arch is somewhat of an exception (they try to ship vanilla packages as much as possible)
<Minall>Well, the think that I actually want to acompplish is to make an environment with packages that will work for sure, a totally 'stable' environment
<bandali>Minall, you probably could, if you write package definitions that also apply debian’s patches
<bandali>but i think it won’t be an easy task to do that for a large number of packages
<Minall>since Debian is stable, I was using it as an example, but, are there something in guix packages that separes the newer one for the stable one?
<Minall>bandali: Totally
<pkill9>Guix is more like "rolling-stable"
<pkill9>it has the latest stable version of packages
<Minall>For example, having an environment with the same packages but in their 'stable' version, an another with the newer ones
<joshuaBPMan>hmmm, guix is outputting weird sound. Sound sounds fuzzy, and when I plug in my head phones, only one headphone gets sound.
<Minall>pkill9: Yes!, you're right, but guix is more than an archlinux rolling-release, It enables us the users to make different environments!
<pkill9>do you mean, how does guix provide access to mulitple versions of packages?
<pkill9>multiple*
<Minall>I can have for example one reconfigure with a totally different desktop environment, I already tested it, I have one reconfigure with xfce and another with gnome, that's awesome
<Minall>Yep, for example, I can have icecat 4.5 and the latest one (for example)
<Minall>But suppose icecat 4.5 has the 'stable' flag
<Minall>I can have the stable one, and the latest one, that would be awesome
<Minall>If I have to work, I'll go to the stable environment, since I need everything working without errors
<sirmacik>has anybody packaged riot or signal for guix? >:
<Minall>But If I just want to test something, or some newer feature in a package, I can go to the latest reconfigure with the latest packages
<pkill9>Minall: you can specify the package version on the commandline by specifying the package as "package@version"
<pkill9>in a manifest, you can just use the package definition variables directly
<Minall>Totally, I can add for example, on global packages that, but what I'm asking is: 'Is there like a 'stable' flag in a package' to know that' the stablest version?
<pkill9>oh, no there isn't
<pkill9>it wouldn't make sense as the official Guix repository only packages the latest stable package
<Minall>How can I make my wish come true then?
<pkill9>(though sometimes they package a newer unstable release if the stable release isn't possible, like one time with blender)
<pkill9>Minall: is your goal to add a mix of package versions newer and older than the ones provided in Guix?
<pkill9>i think what you want to do is possible, but i'm unclear exactly what you want, except for packaging different versions of packages, which is possible
<civodul>rekado_: do you have a "guix deploy" file for the build machines?
<Minall>Would be to be sure I'm using a stable version of a package jeje
*civodul finally gets around to playing with "guix deploy" for real
<pkill9>what does your guix configuration look like? does it use package specifications or package variables in the packages field?
<pkill9>if it's just variables then you don't really need to do anything as they are stable by default
<pkill9>as long as you don't add a channel that overrides those variables
<Minall>What do you mean?, they are already stable?
<pkill9>all the packages in Guix upstream are the latest stable version of the package
<Minall>Mhh, actually thinking it through, I'm asking something possible but possibly not necessary, since If some package doesn't work, I should roll back right?
<pkill9>yea
<Minall>Lol
<Minall>Thanks pkill9, I'm more clear now
<civodul>it's disconcerting that "guix deploy" just works
<civodul>it's not very talkative though, i'd like to see a congratulations message or something upon completion
<davexunit>a bunch of party emojis maybe
<civodul>yup, something like that
<roptat>not necessarily a good idea with terminals though...
<vagrantc>there doesn't happen to be a searchable database of which packages contain what files in guix?
<sneek>Welcome back vagrantc, you have 1 message.
<sneek>vagrantc, rekado_ says: My key on Savannah has been updated. I also uploaded a copy to https://elephly.net/rekado.pubkey and uploaded it to https://keys.openpgp.org
<vagrantc>rekado_: here's to redundancy :)
<roptat>vagrantc, no there is not
<vagrantc>hrm.
<vagrantc>trying to track down more things that diffoscope might be able to suggest to install on guix
<vagrantc>but it's a bit challenging to build the world just to figure that out :)
<civodul>heh, a file-to-package database is an oft-requested feature/service
<Minall>Hello guix!
<vagrantc>so far, it's just missing: apktool, cbfstool, dumpxsb, enjarify, gifbuild, javap, js-beautify, lipo, odt2txt, oggDump, otool, pgpdump, ppudump, procyon, showttf, sng, wasm2wat
*vagrantc could try packaging wabt to get wasm2wat
<rekado_>civodul: we do have one at /root/maintenance/hydra/deploy-berlin-node.scm
<civodul>rekado_: awesome! were you successful with it?
<GNUtoo>hi, I tried guix deploy ./example.scm with the example here:
<GNUtoo> https://guix.gnu.org/manual/en/guix.html#Invoking-guix-deploy
<rekado_>civodul: it worked on those target nodes that had a recent Guix. We don’t have many of them, sadly.
<civodul>rekado_: i guess we first need to reconfigure them all with (permit-root-login 'without-password), right?
<GNUtoo>I did a guix pull and such before
<rekado_>and I didn’t feel like upgrading them all manually.
<GNUtoo>and I still end up with an error like that: "error: missing field initializers (system)"
<rekado_>civodul: on those where I tried it I restarted sshd with a custom config that permits root logins from berlin’s IP.
<rekado_>GNUtoo: can you show us your config file?
<civodul>rekado_: problem is that they miss 'guix repl'?
<rekado_>civodul: hard to tell what exactly the problem is.
<GNUtoo>rekado_: which config file? test.scm?
<rekado_>GNUtoo: the example.scm you mentioned.
<rekado_>civodul: error reporting wasn’t too helpful.
<civodul>hmm why is "guix deploy" showing up in the stable manual?
<civodul>ok
<GNUtoo>rekado_: I copy-pasted the exact manual example
<GNUtoo>example.scm:34:22: error: missing field initializers (system)
<GNUtoo>(to reproduce the issue with something known)
<rekado_>can you show me the example or point me to a publicly accessible location of that manual you read?
<rekado_>(if it’s wrong I need to first see where it is so that we can fix it)
<GNUtoo> https://guix.gnu.org/manual/en/guix.html#Invoking-guix-deploy
<rekado_>thanks
<GNUtoo>I can also pastebin it if it can help
<roptat>vagrantc, javap is part of openjdk/icedtea
<rekado_>the manual is incomplete
<GNUtoo>ahh ok
<rekado_>machine-ssh-configuration needs a “system” field
<rekado_>the value is something like "x86_64-linux"
<rekado_>(or whatever target architecture you have)
<GNUtoo>oh ok, thanks
<vagrantc>roptat: thanks!
<roptat>I don't know about the rest
<GNUtoo>I saw that in the documentation way below in machine-ssh-configuration but I'm still very new to all that, thanks a lot!!!
<roptat>apktool is an android thing, but I think it's not packaged
<vagrantc>right
<GNUtoo>rekado_: can that be inffered if you use (build-locally? #f)
<vagrantc>one by one, improving them :)
<Minall>How can I add a name to one reconfigure?
<Minall>For example: gnome-desktop, and another for xfce-desktop
<vagrantc>civodul: so "make doc-pot-update && make dist" got a little further ...
<vagrantc>civodul: /bin/sh: convert: command not found
<vagrantc>civodul: looks like make dist needs imagemagick?
<vagrantc>how do i get "guix environment guix" to also pull in imagemagick? will "guix environment guix --ad-hoc imagemagick" work?
<vagrantc>that suggests that --ad-hoc will install all specified packages rather than dependencies
<rekado_>vagrantc: yes
<rekado_>GNUtoo: these are orthogonal things.
<rekado_>I think.
<rekado_>you could also build a foreign system on the remote
<rekado_>e.g. a i686 system on a native x86_64 target.
<tune>sirmacik: there is a matrix client for emacs you can use instead of riot
<GNUtoo>ok thanks
<rekado_>GNUtoo: the manual is wrong. The example needs to be fixed. Thanks for the pointer
<GNUtoo>Thanks a lot for fixing it
<Minall>How can I add sddm as a display manager?
<rekado_>Minall: you need to remove the gdm-service-type from the list of services first.
<Minall>Done!
<Minall>Just replaced it from sddm-service
<Minall>for'
<civodul>roptat: https://guix.gnu.org/manual/fr/html_node/ corresponds to master, not version-1.0.1, weird!
<vagrantc> error: 'strncmp' defined twice
<vagrantc> error: store file names embedded in the distribution
<vagrantc>followed up with more verbose log on list
<efraim>rekado_: I found setting up wkd (simple version) was easy with this blog post: https://keyserver.mattrude.com/guides/web-key-directory/
<vagrantc>roptat: installing openjdk didn't include javap ... but i see javap in some other items in my store /gnu/store/*openjdk-*jdk/bin/javap ... is this some specific output?
<roptat>openjdk:jdk
<sirmacik1>Does it support encryption?
<efraim>vagrantc: do you have a dsc somewhere for guile-json@3?
<vagrantc>efraim: it's in debian experimental
<vagrantc>haven't pushed to unstable yet because i don't have a guix tarball to test that uses guile-json 3.x
<vagrantc>(e.g. my ramblings today in irc and list)
<vagrantc>then again, maybe should just push it to unstable...
<efraim>thanks, I'm tinkering again with guix on powerpc
<vagrantc>roptat: thanks. not used to packages with multiple outputs, but i think this may have solved another missing diffoscope tool :)
<GNUtoo>by the way does static-networking-service support ipv6?
<Minall>Is there an option on guix, maybe on operating system definitions, that allows me to make my laptop a gateway?, sharing internet from the wireless to the ethernet to another pc?
<sirmacik>2
<GNUtoo>Minall: This proably needs to be configured as usual, by configuring each and every part of it, like from sysctl-service-type to the iptables and such
<sirmacik>tune: does it support encryption?
<GNUtoo>Minall: as weather people already have scm that does that, I don't know, I'm very new here and I didn't deploy GuiX in production yet, but I'm working toward doing that
<Minall>I'm asking since I'm unable to share internet, using Debian for example, I could do it changing the profile of my ethernet, and setting the IPv4 to 'sharing mode'
<Minall>That doesn't seem to work on guix, so... I'm at a loss, and I need to share my internet in order to use my pc
<GNUtoo>It's usually not a simple toggle to do that, if you want simple ipv4 Internet sharing you need to:
<GNUtoo>(at least):
<GNUtoo>(1) to setup net.ipv4.ip_forward like in the manual
<GNUtoo>(2) to setup iptables to do NAT
<GNUtoo>like with with the usual iptables commands like iptables -A POSTROUTING -o <the interface that has internet) -j MASQUERADE
<Minall>I've tried manually to... but nope jeje
<GNUtoo>(3) You also need to setup IP address and network configuration to the interfaces
<Minall>I'm thinking I need to have something installed, since I can't make it owrk
<GNUtoo>(4) You also probably want to setup a DHCP server
<GNUtoo>(5) If you've a strange connection, you might also want to fix the MTU (look for MSSFIX or something like that)
<vagrantc>Minall: i presume on debian you were using network-manager? have you tried network-manager on guix?
<GNUtoo>good point
<Minall>Yes, Debian uses network-manager... I assume using gnome already installs network-manager? or maybe do I have to have it installed?
<Minall>I can do a reconfigure adding the package, to see if it works
<GNUtoo>thanks, you can easily install network manager
<GNUtoo>If you installed with the livecd you should have a scm system configuration file on your system
<GNUtoo>to get NetworkManager you need to add the package in there and do guix system reconfigure /path/to/that/scm/file
<Minall>I'll do,
<GNUtoo>there are several videos online that explains how to do that in details as there was a bug in GuiX 1.0 that required users to do that
<Minall>I'll add the package globally, the package is just 'network-manager'?
<GNUtoo>Not sure, but you at least need network-manager or sure
<Minall>Ok, I'll do it...
<GNUtoo>I'm not sure if the GUI for it are included or not
*GNUtoo doesn't use network-manager
<GNUtoo>(it's a great software but it doesn't work for my use cases)
*GNUtoo has a complex networking setup
<tune>sirmacik: probably not
<Minall>Anyone packaging KDE?
<rekado_>Minall: Hartmut has been working on the various KDE framework libraries in the past, but the work is still incomplete.
<rekado_>Minall: would you like to help packaging KDE?
<Minall>Perhaps, where can I find Hartmut?
<rekado_>on the guix-devel mailing list
<Minall>Does he have a git repository? to see the work?
<rekado_>Minall: much of it is in Guix.
<Minall>What do you mean?
<GNUtoo>hi, is the following valid: (services (append (list (service [...] (static-networking-service "eth1" "2001:910:1314:ffff:ffff:0000:0000:0043") (service [...]) )
<GNUtoo>I saw no examples of ipv6 for static-networking-service
<GNUtoo>and I've been trying since some hours to reconfigure one of the interfaces as ipv6
<GNUtoo>I also tried (static-networking-service "eth1" "[2001:910:1314:ffff:ffff:0000:0000:0043]") without success as it didn't reconfigure the interface, I also tired other IPv6 notations etc
<g_bor[m]><GNUtoo "hi, is the following valid: (ser"> GNUtoo: that is not supported yet.
<GNUtoo>ooh ok
<GNUtoo>is there a way around that, like issuing ip commands manually ?
<GNUtoo>or setting up a dhcp server on another machine specifically for that maybe?
<g_bor[m]>The problem being is that we miss a netlink wrapper for guile.
<rekado_>Minall: see gnu/packages/kde*.scm
<GNUtoo>oh ok
<GNUtoo>My use case is the following: I'm evaluating GuiX to see if it can be deployed in production, so we could step by step move the Replicant infrastructure to Guix, when new things get suported in GuiX
<g_bor[m]>GNUtoo: yes,you can manually configure using ip, and it will be lost on reconfigure.
<GNUtoo>Here my goal is to fullfil the most basic use cases like using a basic web server and such, and I'll probably get a public ipv4 for that
<GNUtoo>I see
<Minall>rekado_: Thanks!, I see that they are only adding kde packages
<GNUtoo>so I can temporarily do that on my local infrastructure to do the testing on ipv6 and at the end deploy on ipv4
<g_bor[m]>I have just found some time to work on netlink.
<Minall>We have to add more kde packages, and then add kde as a collection of them..
<g_bor[m]>GNUtoo: yes, it should work
<GNUtoo>That would work, but it'd be better if there was a quick and dirty workaround for that (like issue commands in the scm or generate or copy some config files that would at the end make sure that the interface has an ipv6)
<GNUtoo>(it'd make testing less manual and less error prone, and at the end of the day the hack will be gone when deployed)
<g_bor[m]>A dchp server would also work fine.
<GNUtoo>Right, that would be way less error prone
<GNUtoo>And in the worst case I could add it on localhost, lol
<g_bor[m]>It is just the limitation of the static-networking-service
<GNUtoo>Thanks a lot!
<GNUtoo>*on the local vm
<g_bor[m]>Netlink is also long overdue, but I could not find enough time recently...
<GNUtoo>Another way would be to use OpenVPN to get a public IPv4
<GNUtoo>I'll see if there is an easy way to do that
<GNUtoo>At the end since I use guix system reconfigure, I ended up using that: (system "ip addr add 2001:910:1314:ffff:ffff::43/80 dev eth0 || true")
<bluekeys>Hi guix.
***slyfox_ is now known as slyfox
<sirmacik1>tune: unfortunately encrypted chat is practically my only use for matrix.org :/ I"ll try to package riot
<quiliro>mhot do you think of Jami
<quiliro>?
<quiliro>What*
<rekado_>GNUtoo: the supported way to accomplish this would be to define a one-shot service that executes the network configuration command.
<rekado_>still a hack, but better than an arbitrary “system” invocation somewhere in the config file.
<quiliro>i cannot produce beammer slides with org mode since an upgrade
<quiliro>how can i go back?
<quiliro>guix package --roll-back
<quiliro>?
<GNUtoo>rekado_: ok thanks
<ison[m]>quiliro: That or --switch-generation. Also if the upgrade came as a result of "guix system" rather than "guix package" then you should use guix system to switch the generation
<quiliro>ison[m]: true! thanks