IRC channel logs

2019-08-21.log

back to list of logs

<apostolis>The standard installation with i3 wm does not install a terminal or dmenu. How can I even change the system to download a terminal emulator or dmenu?
<daviid>rekado_: how far from the top is this xkeyval/texlive package problem on your todo list?
<apostolis>Anyone know how to kill the gdm from gdm so that I can enter into a terminal? Is there a keybinding?
<bandali>not sure how to kill it, but perhaps try switching to another tty?
<bandali>try one of ctrl+alt+f{1-7}
<bandali>apostolis, ^
<apostolis>that might work.
<str1ngs>herd stop xorg-server IIRC should stop gdm
<Sharlatan>Hi, I try to build a packge add to Guix source tree: ` [env]$ ./pre-inst-env guix build rust-rand
<Sharlatan>guix build: error: rust-rand: unknown package`
<str1ngs>did you add the package to the guix source tree?
<Sharlatan>str1ngs yes
<Sharlatan>Guides are quite incompleted :)
<str1ngs>did you create a new file or add to an existing file?
<bandali>str1ngs, or perhaps submitting the gdm service directly?
<str1ngs>bandali: I don't think there is gdm service. just a xorg-server check with herd status
<Sharlatan>str1ngs I've added to existing gnu/packages/crates-io.scm
<str1ngs>Sharlatan: does make build the file ?
<str1ngs>hmm pre-inst-evn uses both GUILE_LOAD_COMPILED_PATH and GUILE_LOAD_PATH so I do not think it's mandatory to build
<Sharlatan>str1ngs I've stoped on "./bootstrap
<Sharlatan>./configure --localstatedir=/var"
<str1ngs>Sharlatan: I would run make once, as tedious as it might be
<Sharlatan>Ok, runnint `make` now
<bandali>str1ngs, ah fair
<apostolis>str1ngs : bandali solution works because I haven't install a terminal yet, so I cannot use your command.
<str1ngs> apostolis regardless you can run this VT as well
<str1ngs>from VT*
<bandali>but yeah you don’t have to kill gdm to get to a term
<bandali>just switch to another tty
<bandali>and then you can switch back to the one running gdm again
<apostolis>Yea, I did , now I need to learn how to install packages, lol
<str1ngs>guix install terminal-of-choice :P
<bandali>guix install … :)
<Sharlatan>or `guix package -i PACKAGE`
<apostolis>guix system reconfigure for a global install, maybe?
<apostolis>Is this correct?
<Sharlatan>you canlist deriviteas like `guix pacakge -A PACKAGE`
<bandali>you do a reconfigure when you edit your global config.scm file (usually /etc/config.scm)
<bandali>you can list global packages there to be available for all users
<bandali>but most packages can be installed per-user just fine
<apostolis>Ok, I think it will work now.
<apostolis>Yes, I have used nixos before, but I haven't used guix.
<Sharlatan>apostolis roots are the same and priciple either :)
<Sharlatan>str1ngs so after each `git pull` I need to run all build process again? and after any changes I've added, mhm..
<str1ngs>Sharlatan: make will only build changed files. though there is a limit to that. like if new files where added etc
<str1ngs>Sharlatan: for the most part make should be enough to build subsequent changes
<apostolis>I just downloaded 3 versions of guix, probably due to different dependencies (?!?)
<str1ngs>Sharlatan: also it might easier to have a branch with your changes and re-base your branch from master after pulling. this way your changes are applied on top. it's easier to deal with conflicts this way.
<Sharlatan>thanks str1ngs probali I need to prepare multicore VM as it takes more than 40m to build Guix on T420 :-D
<str1ngs>Sharlatan: after running make were you able to build your package?
<apostolis>guix 0.16.* 1.0.0 and 1.0.1
<Sharlatan>str1ngs: it's on 95% GUILEC gnu/services/mail.go
<Sharlatan>I'll quote you to my notes str1ngs thanks for ideas
<Sharlatan> https://github.com/Hellseher/wds/blob/master/wds-guix/building_from_git.org
<Sharlatan>str1ngs: it looks much better now, thanks!
<str1ngs>np
***jonsger1 is now known as jonsger
<ecbrown>trying to build a new port with clang & clang++, but configure barfs on "can't make executables" i've included clang, clang-runtime, and llvm. wonder if there's something i'm missing...
<ecbrown>googling around, i found discussion of CPLUS_INCLUDE_PATH etc. but haven't found the right incantation
<ecbrown> https://pastebin.com/qaiHBmz0 openmodelica, in case anyone is interested and might be able to take a look
<ecbrown>guix environment guix ; guix package --install-from-file=openmodelica.scm
<ecbrown>Here is one that tries to use gcc-9, https://pastebin.com/iXPHdsH9 (openmodelica-gcc.scm)
<ecbrown>gets much much further but barfs for unknown reasons to me
<ecbrown>my bad: https://pastebin.com/xvkcJRmw *i think* is using gcc-9
<ecbrown>meh, looks like a stdlib.h issue. (can't use gcc 5 because it has other "issues" where the answer is "use a modern c++")
<minall>Hello guix!
<minall>qq
<apteryx>o/
<ecbrown>ok, got past the stdlib error, thanks to recipe found in mpd.scm
<apteryx>hmm... seems there's no safe way to implement a srfi-9 record -> alist converter, as the record's getter names can have arbitrary names and after the record is created it keeps no knowledge itself about those; so the best we can do is look at the bounded symbols in the scope and guess...
<apteryx>maybe the way to go would be to augment the record definition and bind the converter at expansion time, where we know what is what
***Noctambulist is now known as Sleep_Walker
***ng0_ is now known as ng0
<apteryx>hello!
<efraim>hi!
<ng0>hey, so if anyone wants to give packaging it a shot, https://github.com/slicer69/doas is claimed to work with the Linux kernel. I just tested the package I finished for it in pkgsrc-wip. That's the sudo equivalent worked on by OpenBSD.
<efraim>ng0: that is pretty cool, I'm interested to add it to my todo list
<ng0>:)
<ng0>all you need is yacc, cc, libpam
<efraim>ng0: oh, question about your rust packaging, are you grabbing all the sources to compile in one go or have you figured out something with dynamic libraries?
<ng0>I don't have that much insight yet, I'm working on getting that insight.. the gist is we name all crates used from Cargo.lock, throw them in a vendor path, patch the Cargo.toml to use that vendor path instead and (by default) don't allow any fetching of cargo in the build env. so you could say we grab them all in one go
<ng0>the .crate files end up in the global distfiles
<efraim>that's about what we have now too
<efraim>except we delete and recreate the Cargo.lock file with whatever version of the crates we have
<ng0>I'm not sure what you mean by dynamic libraries, I suppose you mean installing global and linking those globals ?
<efraim>creating libfoo.rlib and then linking to that rather than putting foo in the vendor directory
<ng0>okay
<efraim>got the idea from here https://www.hadean.com/blog/managing-rust-dependencies-with-nix-part-i and part-ii
<ng0>thanks :)
<efraim>trying to change it to shared libraries is going a bit slowly but I think it'll pay off in the end
<ng0>hm. for my part so far I only want to limit the repetition when it comes to binaries. if I can, I could try this afterwards (if it works out for us)
<ng0>I think you've made some changes to carg-build-system since last year. do you use cargo install for the installation? we have lots of install code in place in the specific packages which repeats
<efraim>looks like the main bit is (zero? (system* "cargo" "install" "--path" "." "--root" out))
<efraim>but only if there's a binary, nothing installed otherwise
<ng0>ah :)
<ng0>thanks
<sisyphe_>hello
<efraim>looks like I might have a bug or misconfiguration somewhere, I have files dynamically linked in the build directory that should probably have a .so suffix and are missing it
<sisyphe_>efraim: did you write all the crates packages in guix-bioinformatics by hand or do you have some kind of generator ?
<efraim>sisyphe_: 'guix import crate foo', copy-paste and some quick editing in vim
<efraim>it was fast for what it was, under a minute for ones I plopped in and ignored
<efraim>I had my target package, so I ran './pre-inst-env guix build --no-grafts foo', saw what I was missing, imported that and tried again
<sisyphe_>so you did run through the dependencies by hand ?
<sisyphe_>(as far as i know guix import crate does not support recursive import, is it right ?)
<efraim>mostly, but only as far as I needed to to get a couple of them building
<efraim>there's a patch for recursive imports, but it's not ready yet
<sisyphe_>ok, do you know how it will select the right dependency version, using Cargo.lock maybe ?
<efraim>if it's the wrong version it'll let you know (foo needs bar version 0.3, but versions 0.4, 0.7 provided)
<efraim>there's now a build phase to detect a Cargo.lock and replace it with a newly generated one so we can use any version from 0.3.x (for example)
<sisyphe_>ha good to known
<ng0>efraim: how do you treat the resulting .crates.toml which ends up in the root of what's pointed to? I know you don't have this problem in guix at first, but when updating the profile it would end up potentially being ignored because only 1 of those can exist in the profile root
<efraim>i don't think we install it
<ng0>thinking about just running rm on the file, because otherwise I'd awk the path out for no reason
<ng0>ah
<ng0>thanks
<ng0>having shared builds instead of vendoring every time would be so nice
<ng0>I've spend so much time building the same libs again and again
<bmwiedemann1>rekado: I was wondering, if there was progress towards a guix-packages.json
<chrislck>Is there a GUIX FAQ somewhere? trying to wrap head around it, rather difficult
<quiliro>chrislck: just the manual...what are you looking for?
<chrislck>the manual is not too clear unfortunately. on top of the hurdle of installing it correctly, (1) while piggybacking onto ubuntu what are the folder names and what used for? how to remove guix cleanly?
<chrislck>(2) using guix as a dev or as a user -- what's the difference? (3) i'm doing guix install guile-next which is running >20mins -- why????
<chrislck>(4) i find mistake/old package and wish to update - who/where is the package maintainer?
<chrislck>etc -- a bit steep for a beginner!!! mind you I'm comfortable in guile, just not guix
<chrislck>the manual is unfortunately a marketing blurb... tells me all the benefits of guix (which I believe) but rather scant on actual day-to-day usage
<chrislck>it seems a mix of docker/snap/flatpak/virtualenv
<quiliro>chrislck: i do not know all the answers, but what the manual says is 1) /gnu/store holds all the installed packages and there are some directories in /var named guix...there is also .guix-profile...there is an archwiki entry where it shows how to remove guix...probably the same on other systems..it is very easy
<quiliro>2) a user becomes closer to a dev in guix...but i am not sure if that is your question...please clarify
<chrislck>(2) if I do $guix install emacs-guix -- does it mean I'm an emacs user, or I'm setting up to hack on emacs source?
<chrislck>does it always need to compile from source?
<quiliro>3) if there are substitutes (some sort of binaries), installation will be quick... but not always substitutes are available and even if they are, not all systems are alike, so some compilation is required to make your system exactly as mine (reproducible)
<quiliro>2) that means that user has emacsguix installed for that user only...but emacs-guix is for doing several installation and hacking tasks for packages also
<quiliro>it does not always need compilation as long as what you propose installing is what others have installed exactly the same way...there is adependency graph that is taken even to the versions or compilation tags of the programs
<chrislck>others = other users on the same machine you mean... if I'm the only user then I always expect to compile from sources?
<quiliro>4) bugs are reported on the bugs-guix@gnu.org mailing list if it is something guix related...if not, you can use 'guix package --show=emacs' to show the website of the software
<quiliro>others= other users such as you of that guix package server
<quiliro>chrislck: are you an emacs user?
<chrislck>I'm an emacs user, and a gnucash dev
<quiliro>nice..you will love guix then
<quiliro>it is make on scheme as gnucash
<quiliro>you can hack it a lot...just get the hang that is it
<quiliro>maybe you can even help with a newbie tutorial
<minall>Hello guix!
<minall>quiliro, Kiel vi Fartas!
<quiliro>you have to just go ahead and install packages with 'guix install emacs emacs-guix' etc
<chrislck>well TBH guix looks like a nice idea made real... but to a newbie more ideology than day-to-day use
<quiliro>minall: saluton!
<chrislck>perhaps when I can understnad I will
<quiliro>chrislck: you can also do M-x guix on emacs
<quiliro>then just fiddle around
<nly>hi chrislck
<quiliro>i am learning scheme...
<nly>you probably want this https://guix.gnu.org/manual/en/html_node/The-Perfect-Setup.html
<quiliro>minall: Ĉu vi vidis mian retpoŝton (email)?
<chrislck>nly: thx
<nly>if guix is compiling too many things you might have to check if substitutes are enabled. guix is a source first distro, you have to enable trust on a server to be able to download built pkgs
<minall>quiliro, I'll check it!
<quiliro>chrislck: it would be nice if you started the guix faq with the questions you just made
<nly>sometimes it can take a while before built packages are available
<quiliro>nly: substitutes
<nly>^ quiliro uses the correct terminology
*quiliro and nly make a good team! nly uses the newbie terminology....quiliro uses the formal terms
<nly>:)
***jamesrichardson is now known as Guest65521
<chrislck>nly: so I can expect guile-next to install quickly one day?
<chrislck>all, thx for patience btw
<nly>yes
<chrislck>and where will the prebuilt packages be coming from? gnu.net? or other users like me?
<chrislck>(i know being crypto hash means the exact source is irrelevant)
<nly>ci.guix.gnu.org, it'll output this url when it fetches anything from there
<chrislck>ah ci.guix is a workhorse, always compiling
<nly>yes
<nly>that's why guix.git has a core-updates branch
<nly>where packages such as glibc update will force a full rebuild of the universe
<nly>update/are updated which*
<chrislck>so, back to gnucash, if I do $guix install gnucash it means I'm installing for running gnucash rather than hacking it
<nly>yes
<nly>for development you'll be using 'guix environment' mostly
<nly>'guix environment gnucash' will give all required things to compile gnucash
<nly>'guix environment --ad-hoc gnucash' will give you gnucash without installing it to your user profile, it'll be gone when you exit the shell
<nly>sometimes you may need extras so in that case 'guix environment gnucash --ad-hoc guile-next texinfo' etc
<chrislck>so, not easy :)
<nly>sorry that's my bad for posting too much noise
<minall>Do you geeks use guix environment pretty much?
<nly>minall: it helps separate your 'hacker' environment and 'user' environment
<minall>nly, Can you give an example when using guix environment is perfect?, and what can you achieve with it?
<minall>I read about it in the manual, but sometimes I feel I'm not using it well
<nly>eg. 'cd guix.git', 'guix environment guix' then './pre-inst-env guix build my-new-package'
<minall>There we are building a new package right?
<nly>yes, a new package for local use
<minall>Does it work just for doing packages?
<minall>For example, if I were to make a program with, guile for example, what's the difference with do it normally, and with doing it with guix environmente?
<nly>it's generally to seperate the 'stable' env from 'dev/bleeding-edge' env
<nly>eg. guix environment nomad then ./pre-inst-env src/nomad
<nly>^ this is bleeding edge nomad app
<chrislck>nly: not being difficult, but we still want to know internally why/how things are better!
<nly>but in my profile `nomad` is a stable/old package
<nly>sure chrislck, hope i can help a little
<nly>chrislck: guix gives you first class environments in your distro, lol
<minall>How can I install openjfx on guix? I don't see the package...
***Marlin1114 is now known as Marlin1113
<csprng>when I try doing a 'guix download ...' I get an 'X.509 certificate could not be verified' error
<csprng>haven't had any problems installing packages... any ideas?
<emyles>Hi guix...
<emyles>If I make a link to a profile/environment like this:
<emyles>guix environment --root=my-link --ad-hoc python
<emyles>how can I then 'load' that environment/profile again?
<rekado>emyles: you can ‘source …my-link/etc/profile’
<emyles>rekado: ahh thanks! Looking at that the comments in that file it suggest setting GUIX_PROFILE as well
<rekado>correct
<minall>Hello guix!
<minall>I need to install openjfx, but I don't see any package definition. Is it any reason that it is not on guix?, Is it non-free and that's why?
<bavier>minall: probably just hasn't been done yet
<bavier>openjfx is GPL-licensed
<minall>I would like to package it but... Can it definition be simple like the one in 'a guix packaging tutorial' blog?... I doubt it is that simple, for example, the definition for openjdk seems complicated
<minall>I'll probably try to package it