IRC channel logs

2023-11-09.log

back to list of logs

<fiscalli>hello guixers, do you know some way of programmatically getting the current commit of a channel? something like (current-source-directory) but for commits
<Guest25>is babashka not free software ?
<ieure>I got my Yubikey working, which means I can get the credentials to connect to IRC from my Guix install. First time!
<Guest25>ieure whatis yubikey for?
<ieure>Guest25, My GPG and SSH keys are on it, so it's required to clone the repo containing my password store or use anything in it.
<ieure>Ideally, I'll get this laptop set up like my daily driver, which requires the YubiKey to unlock the LUKS container or log in.
<Guest25>ieure  is it a good way to store the key ?
<ieure>Gueest25, Yes, because once it's on the YubiKey, there's no way to extract a copy.
<ieure>It's much more secure than storing them on disk.
<KE0VVT>Where can I get help with Guix Home?
<zamfofex>Here is the place. 🙂
<KE0VVT>zamfofex: https://codeberg.org/csh/dotfiles/issues/7
<zamfofex>Is that from https://codeberg.org/csh/dotfiles/commit/94c4ab2b4b1b3a0866f21359ffb567ed923de9ba ? Because I can’t use that in its current form at all. Or do you have some other configuration file?
<KE0VVT>zamfofex: https://codeberg.org/csh/dotfiles/commit/a3fd36c9a7fc5c7a5c61c8f9dfd0f85becd1dc2e
<KE0VVT>zamfofex: I can't get home-configuration.scm to build.
<zamfofex>KE0VVT: I’m trying to build it currently. Though I will say: You mix tabs and spaces a lot, and it looks awful in my editor.
<KE0VVT>zamfofex: I use Emacs.
<zamfofex>I don’t understand how that relates to what I said. 😄
<KE0VVT>zamfofex: Emacs mixes tabs and spaces by default.
<zamfofex>Really? I mean across lines, mind you. Some of them are indented with tabs, others with spaces.
<KE0VVT>zamfofex: Hm.
<zamfofex>Hmm, looking into it, maybe I’m wrong. I suppose Emacs just assumes tabs are 8 halfwidth characters long.
<KE0VVT>Right.
<zamfofex>I found a simple example, e.g. the line for “cmatrix” is indented only with spaces, whereas nearby lines use tabs too.
<zamfofex>It also contains trailing whitespace.
<KE0VVT>zamfofex: Ah. I wasn't aware I did that. Strange.
<zamfofex>I knew I wasn’t going crazy. 🙂 There might be other lines like that too.
<KE0VVT>zamfofex: Hm. How do I make Emacs see the whitespace?
<KE0VVT>zamfofex: Were you able to reproduce the error?
<zamfofex>I just was a few seconds ago. (Sorry it took a while, I didn’t have most of those packages, so they began substituting. I stopped the build to remove all of them, and the error is indeed there.)
<KE0VVT>zamfofex: It's OK. Guix takes a while.
<apteryx>ieure: did you use the cookbook?
<ieure>apteryx, No.
<apteryx>OK; there's some documentation regarding using a Yubikey with Guix in the Cookbook
<apteryx>such as setting it up to use with KeepassXC
<ieure>Yeah, I saw. I might need that once I get around to stuff like the PAM module or LUKS.
<ieure>For now, it's enough that I can clone and push repos and sign commits in them.
<ieure>I appreciate the pointer!
<apteryx>I'd be interested in having this kind of setup as well (LUKS, PAM with Yubikey)
<apteryx>if you are motivated to write the steps down, we could extend the cookbook with it
<apteryx>assuming it's feasible already (I guess it is for PAM, not sure about LUKS)
<apteryx>you'd have to add stuff to the initrd, right?
<zamfofex>KE0VVT: Combine your ‘dino’ and ‘scripts’ services into one.
<zamfofex>In fact, all of your ‘home-files-service-type’ services.
<zamfofex>Oh. The actual issue is that ‘.profile.d’ is defined as a file on one, and as a directory on the other.
<zamfofex>Just played around a bit with it, and figured out those two services together caused the issue. From there, I tried to justify why. 🙂
<KE0VVT>zamfofex: clutter it all into one service?
<KE0VVT>zamfofex: Fix whitespace: https://codeberg.org/csh/dotfiles/commit/3c9b2f315df87f2fdb6a07aa3496279ac8294117
<zamfofex>No, sorry, I was mistaken then. The actual issue is the one I clarfied afterwards.
<zamfofex>Which is that ‘dino’ and ‘scripts’ have noncompatible definitions for the ‘.profile.d’ file.
<zamfofex>(One of them defines it as a directory, the other as a regular file.)
<zamfofex>Simple example reproducing the same error. https://www.irccloud.com/pastebin/sWbVDzyL/home.scm
<zamfofex>Also as plain text: https://www.irccloud.com/pastebin/raw/sWbVDzyL/home.scm
<Kolev>zamfofex, home is built! 😀
<zamfofex>Kolev: I guess you and KE0VVT are the same person. I’m glad I was able to help! 🎉
<Kolev>zamfofex, yes, I'm KE0VVT. The network records say so. Thank you very much for getting it built!
<adanska>Hi guix!
<Kolev>adanska, hi! I'm using Guix Home now! 😀
<adanska>nice! what are you using it for?
<Kolev>adanska, personal laptop.
<adanska>oh, i meant just generally how are you using it. what configs are you keeping there? emacs packages, shell configs, etc
<Kolev>adanska, my config is very minimal. Emacs, Dino, IceCat. https://codeberg.org/csh/dotfiles/
<adanska>nice! its laid out quite well. i've tried to experiment with rde before but maybe i should give it a go again. it would be nice if some of the code from ide would be merged upstream one day.
<Kolev>adanska, I don't like rde because it's single-user.
<adanska>oh. how do you mean?
<Kolev>adanska, it assumes you own the entire machine.
<Kolev>adanska, "Currently, it’s targeted for single-user setups, to some extent it can be used by multiple people on the same machine, but with restrictions (see FAQ)." https://trop.in/rde/manual#Introduction
<adanska>ahhhh, interesting
<efraim>it took 52 seconds to build the docs part of the 'build phase for icedtea@3 on my x86_64 machine but 15 hours on my powerpc machine
<lilyp>those are some heavy docs
<efraim>there's a flag to disable them. I'm not sure how necessary they are, but I think we could disable them at least for non-x86 builds. I'm sending that patch and one to fix building on powerpc-linux to the mailing list
<xelxebar>Hrm. I have a package that's looking for gnu/stubs-32.h, but glibc only provides gnu/stubs-64.h for the target system.
<efraim>I think that normally means you're building with a 64-bit toolchain and should be using a 32-bit toolchain
<efraim>does anyone remember what gets to use the daemon from inside a container? I want to see if I can get it working with guix home
<efraim>guix shell has a --nesting flag
<xelxebar>efraim: It's Darling, which normally builds both 32-bit and 64-bit libs.
<efraim>My first thought would be to see if there's an option to use a different CC for 32bit from 64bit. Second thought would be you might need a custom gcc with multilib support :/
<efraim>Next thought would be to build 64bit then re-set CC and co for 32bit and build that part
<efraim>I think wine builds both halves separately and then combines them, but I haven't looked at it recently
<efraim>oh, 2018 was the last time. I guess I should see if I can get it to build for other architectures again
<efraim>'guix deploy --help'
<efraim>'guix deploy --help' lists --rounds, I don't think that really applies
<xelxebar>Ah, nice idea. I'll check wine and see what it's doing.
<xelxebar>Darling does have a flag to disable building 32-bit libs, so as the nuclear option that's available.
<santiagopim>Hi guix, pushed some patch (my first ones) https://debbugs.gnu.org/cgi/bugreport.cgi?bug=67011, but they are not showing at nntp gmane.comp.gnu.guix.patches, nor showing at https://qa.guix.gnu.org/issue/67011. Where was my fault ?
<avalenn>Can I specify a channels.scm file when using "guix shell" ?
<futurile>santiagopim: how long ago did you send it?
<mrh57>avalenn: you can use guix time machine: https://guix.gnu.org/manual/en/html_node/Replicating-Guix.html
<santiagopim>futurile: 1h40m ago
<futurile>santiagopim: Is the email showing up on the issue?
<santiagopim>? Yes, I think so https://debbugs.gnu.org/cgi/bugreport.cgi?bug=67011
<santiagopim>And I received the CC emails in my box.
<futurile>santiagopim: OK, in that case your email worked. What's happening with the patches email list is that it's manually administered: I *think* it's a one time thing (not sure), so you have to wait for someone to let the email through to the mailing list.
<santiagopim>Ah, ok. Will wait :) Thanks
<futurile>santiagopim: it will build the excitement ... for when your first patches are accepted!
<mrh57>it sounds like somebody just asked this, but ~how-long does it take for a first patch to be reviewed by somebody?
<mrh57>I submitted my first patch 7 days ago, with a minor revision 5 days ago, and its definitely on issues/debbugs
<Kabouik>Was there something blocking this? https://issues.guix.gnu.org/63299 Would be nice to have qimgv available, it's a nice image viewer situated between very minimalist ones (imv, feh, sxiv) and others.
<futurile>mrh57: it's variable. Did you look up whether there is a team responsible for the area? If so you should CC them onto the email so they know about it. You could probably politely give a nudge after a few days.
<futurile>Kabouik: remember you can built the package locally; and help out by then confirming to QA that you both built AND used it successfully
<futurile>Kabouik: ofc, that requires some work heh heh
<Kabouik>Could you please remind me what would be the most parcimonious way to build a package from an unofficial patch? Writing the .scm file, adding the name of the package at the end, and guix build -L /path/to/file? I'm sorry, I'm rusted.
<mrh57>futurile: thanks :)
<mrh57>futurile: how does one find out if there's a team for a particular area of software?
<gabber`>Kabouik: it's -f path/to/file
<gabber`>-L prepends a directory in front of your Guile load path
<futurile>mrh57: https://guix.gnu.org/manual/en/html_node/Teams.html gives an overview. This works for me: cd guix; guix shell --development guix guile ; ./pre-inst-env etc/teams.scm get-maintainer <patch file name>
<mrh57>futurile: good to know. doesn't look like there's a team for wayland compositors / window managers in general, although good to see there are teams for lisp, go, and emacs as I have some packages for those
<mrh57>futurile: when you say "nudge", do you mean sending another email to the issue thread (i.e. to [bug-number]@debbugs.gnu.org)?
<santiagopim>futurile: That formula should be in the manual https://guix.gnu.org/en/manual/devel/en/guix.html#Teams, actually I am afraid CC sent my patches to all the "mentors" team ... so clumsy myself :|
<Kabouik>Thanks gabber
<Kabouik>I remember now that the main problem I'm having when trying to build locally a patch I found in the issue tracker, is finding which modules the package would require, since this is usually not in the patch given that the main .scm file has all modules already.
<gabber`>Kabouik: in regard to *patches* it might be easiest to host your own git clone of the repository and *apply* the patch to it -- you can then build with $(./pre-inst-env guix build foo)
<futurile>mrh57: I would check if the QA system build packages from your patch - if it's all good it's a lot easier. Yes, send an email to the bug@debbugs etc as that will cause it to go back up in the patch email list. If there's no 'team' then I think it's just to do with someoen seeing it at the right time. There's a general thing that there aren't enough people available to review/commit patches.
<gabber`>mrh57: everyone is cordially invited to do reviews, general outline of patches, formats and other caveats with respect to that is written down in the reference manual (:
<Kabouik>Thanks gabber, that seems to be a better workflow indeed. The build failed on my end but at least it started, so I guess it might be an issue with the patch (I'm unable to understand the ice-9/boot-9.scm exception I got to be honest, will have to check that later since I'm at work).
<Kabouik>I assume I should just guix pull and guix package -u beforehand.
<Kabouik>Unfortunately guix package -u freezes my computer and I have no choice but hard rebooting. The last message before the freeze is "Building profile with xxx packages..." What are my options? Can I build only a fraction of the packages to update my system little by little if it can't take that much load?
<Kabouik>I'll try with cpulimit, maybe.
<gabber`>Kabouik: that sounds bad (and kinda weird)
<gabber`>when working with your own guix checkout you don't need neither $(guix pull) nor $(guix package -u). come to think of it you should never need that to $(guix build) something
<gabber`>the ./pre-inst-env ensures you use the adequate versions of guix and the package's dependencies
<gabber`>also: if you provide the logs and/or the patches we could glance over and maybe provide you with more specific help
<Kabouik>Re: pre-inst-env: got it, thanks. A guix pull && guix package -u is long overdue though, it was not a bad thing to make me run it. Not sure though why it crashes. I'll try with cpulimit and see if throttle/overheat that was the culprit.
<Kabouik>If not, I'll post more details yes, but can't delve too much time on it myself today anyway. Thanks again.
<Kabouik>s/delve/spend
<gabber`>HTH
<lilyp>you can split your profile into multiple ones, but support is kinda low; you need your own glorified shell code to source them
<elevenkb>Hello there, is there an ETA for the gnome-team to merge their changes?
<gabber`>what's the go-to method to exit/quit/terminate a $(guix system container)? i am unwilling to accept $(kill -9) to be the solution
<lilyp>elevenkb sadly not yet
<elevenkb>sad :-(
<gabber`>my $(guix system vm) crashes almost directly into a scheme REPL -- the
<gabber`>only error i can see is "/dev/vda1: Can't open blockdev"
<gabber`>it's the first message after "loading kernel modules..."
<Kabouik>Apparently running the guix package update with 66% of my CPU only worked; so I guess it was a hog/overheat issue.
<gabber`>\o/
<jpoiret>gabber`: shutdown in the container?
<gabber`>jpoiret: that didn't work (it hung but i could C-c it again) and also C-c in the parent process didn't terminate it (i suspect an interestingly broken OS definition since it also doesn't work as expected in the VM)
<nutcase_>Hi Guix, is there anyone here happily doing Java development on a Guix System?
<lilyp>"happily doing Java" is already a contradiction, and I recently packaged some java RDF stuff, so I guess I qualify for whatever question you have following up
<mirai>amen
<Kabouik>Any idea about this? This follows my update. /home/mat/.guix-profile/bin/chromium: error while loading shared libraries: /gnu/store/ljik32x4kdplpbpyyp79wbd6m2vz6yhz-xvid-1.3.7/lib/libxvidcore.so.4: file too short
<gabber`>that is an interesting error (i think i have never seen before)
<lilyp>Does your update by any chance include a gratuitous power outage?
<Kabouik>My update did include two hard reboots due to freezes lilyp
<lilyp>congratulations, you can garbage collect and try again :)
<Kabouik>Damn! Thanks.
<lilyp>alternatively guix build --repair might fix things if there's few enough broken packages
<Kabouik>Good to know, but gc is already running
<lilyp>(btw. you need to gc the generation that you currently updated to, in case that wasn't clear)
<Kabouik>That would be guix gc -d xxx?
<lilyp>where xxx is the bad generation, yes
<Kabouik>Thanks.
<Kabouik>That didn't end too well lilyp: https://0x0.st/Ht6e.jpg It failed and the computer is now unresponsive.
<gabber`>that was your current generation, wasn't it?
<Kabouik>Yes, did I misunderstand when lilyp said "the generation you updated to"? Was it "the generation I updated from"?
<gabber`>maybe a roll-back would have helped beforehand -- but i guess you can still boot into the previous generation?
<gabber`>also, i think guix should not garbage-collect a currently active generation. i think this qualifies as a bug
<Kabouik>Right, I should have rolled-back, you're right. I was overconfident and thought guix gc would take care of everything when deleting the last generation.
<gabber`>Kabouik: you're not to blame! i'd have done the same. i hope you can boot into the previous generation though
<Kabouik>Well, for now, the reboot does not prompt me for my passphrase, which sounds like the right moment to start panicking. :>
<gabber`>please don't panic
<gabber`>that only sets you up to make things worse
<gabber`>IIUC all the old generations are still *there*
<gabber`>what happens after boot? no password means it just boots? grub rescue? what do you see?
<Kabouik>Except I guix gc'ed before guix gc -d 677. But I didn't delete-generations before so hopefully that didn't touch the previous generations.
<Kabouik>I just get the manufacturer logo, no grub. But I'll let it col down too, this symptoms occurred too before when it was overheating during the stalled updates that forced me to hard reboot. Could be the BIOS being blocked when temps are higher than some threshold.
<Kabouik>cool down*
<gabber`>:) yes, let's all cool down
<Kabouik>Yeah, that was it. Got to grub now. Booting.
<jonsger>oh nice we have a vim-build-system now. have to look into that...
<gabber`>btw what machine is that? is it old-ish or why is temperature such an issue?
<Kabouik>No wories, I'm calm gabber. :p
<gabber`>ACTION is calm and relieved
<Kabouik>Sadly I'm blocked at the second passphrase prompt, this does not look too good: https://0x0.st/Ht6f.jpg Also holding the power button doesn't allow rebooting, now that's interesting.
<gabber`>it indeed does not - it's all blurry (please excuse my cheap joke here)
<Kabouik>It's well deserved
<gabber`>i'm not sure when/why a GC (or even a reconfigure) change anything in disk encryption
<Kabouik>Ok I could turn it off after a 120s timeout at least
<gabber`>maybe (worst case) is to boot from an external medium, decrypt and mount your root, chroot into that and get it all back to work
<gabber`>i'm about 40% sure there is something covered/mentioned in the manual? lemme check
<gabber`>Chapter 12 System Troubleshooting Tips
<Kabouik>Well it's booting now. Really weird. If I had just mistyped my passphrase in the previous attempt, I would have had another chance.
<gabber`>maybe the machine hadn't cooled down enough?
<Kabouik>Ok so I'm at the logon script. Can't log in my session, I guess the WM package is broken (among a million other things). I'll try a rollback from tty.
<Kabouik>s/script/screen
<gabber`>was there the option to boot into a previous generation in GRUB?
<Kabouik>Heh you're right. Maybe. Let me check.
<Kabouik>I could select an old configuration but got the same issue at the logon script: typing my passwords sends me back to twthe log on screen. I'll try an even older configuration (that's what it's called in grub, not generation) and if it fails, try from tty a rollbac.
<Kabouik>I guess configurations in Grub are just system reconfigures, not package generations?
<gabber`>they are synonymous
<gabber`>GRUB only knows about where to find the kernel and the relevant parameters to load that one (hence configuration) but the rest of the system definition resides in these parameters IIUC
<Kabouik>Okay I could switch to generation 676 from tty (and needed a connection apparently to download guile or some other package), but Sway is back up and running. Phew.
<Kabouik>Now I guess I can run guix gc -d 677 again and then guix package -u.
<Kabouik>Thanks a lot for your help gabber, and for being by my side in those trouble waters. It helped not panicking. :>
<Kabouik>troubled*
<gabber`>you could also first do a system reconfigure
<gabber`>and *then* (when you know you have a sane and working system again) do a gc
<Kabouik>Sure
<gabber`>and maybe delete generations, except you're collecting them for some reason
<gabber`>you're very welcome (: HTH
<Kabouik>No I'm not, I'd be happy to delete them but I guess I misunderstood the delete-generations patterns. I always use `guix package --delete-generations=2m` before my gc.
<gabber`>are $(guix system vm) and --system=some-foreign-system mutually exclusive?
<gabber`>according to the --help option of $(guix gc) the part after the = sign in --delete-generations= is a pattern matching string.
<gabber`>i think the 2m is a useful option for --collect-garbage (where it denotes a minimum of garbage to collect) or maybe (but that doesn't seem to make much sense) the --free-space option
<Kabouik>I thought =2m would keep me only two-month worth of generations. See the manual: "When pattern specifies a duration, generations older than the specified duration match. For instance, --delete-generations=1m deletes generations that are more than one month old."
<Kabouik>But somehow I still have 677 generations so there is something wrong with my workflow.
<nutcase_>lilyp: ok, I should've said "as happily as possible with Java". I have several issues, some of them could be solved by guix shell --containers. But still there are issues and I consider of having a fundamental error in my setup. So one example is, that I need to use OpenJDK 17 and maven and maven 3.8.6 (which is the version in guix) does not work with simple `guix shell [--container --network coreutils] maven openjdk@17.0.5:jdk`
<nutcase_>what would you suggest to try?
<gabber`>Kabouik: you may be right - or you found a documentation bug? i'm not too experienced with gc myself
<lilyp>Kabouik: generation numbers aren't recycled
<gabber`>aaah, that's it!
<lilyp>nutcase_: to be completely honest, I have no idea how maven is supposed to work and what's required to make it do so
<lilyp>in my personal experience, brute-forcing builds via ant-build-system is more likely to be fruitful (sad but true)
<gabber`>Kabouik: it'd be great if you filed a bug-report (if there isn't anything that resembles your issues of today)
<nutcase_>lilyp: in my case it's not about building a binary from source, but in performing different tasks with maven during the development process
<nutcase_>lilyp: So, I just want to run some `mvn clean package`. Furthermore, a lot of Java programs won't run, if I'm not using --container --emulate-fhs. Maybe just some env variable is missing to avoid that?
<lilyp>if it's guix-packaged once, they ought to have a wrapper setting the java classpath
<lilyp>s/once/ones/
<Kabouik>Sure gabber. I'll do it after I fix my update and after work.
<nutcase_>lilyp: what do you by "it" in "if it's guix-packaged once"?
<lilyp>if you have a java program packaged in guix, there should be a wrapper :)
<nutcase_>lilyp: I need a development environment (not for building guix packages), not a runtime environment (to run a software that is mature enough to run).
<futurile>nutcase_: hi - when you said 'maven' doesn't work when you start it with a shell, what happens? I just did `guix shell --container --nesting --network maven` and it's told me it's going to download 1G of packages - so might be a while heh
<nutcase_>futurile: What java version is mvn using? (java -version)
<nutcase_>futurile: this is (one of) my issue(s): http://paste.debian.net/1297668
<futurile>futurile: looks like 1.8 - had to explicitly tell it to install icedtea
<gabber`>is it possible to do foreign native-compilation (aka --system) with guix on a non-guix system? do i need to set up more than just qemu?
<futurile>nutcase_: yup, I get the same error for openjdk@17.05, and also tried 20. Adding 'icedtea' means mvn will run.
<futurile>futurile: take it nothing shows when you do a google search for that error?
<futurile>duh - talking to myself
<nutcase_>futurile: using icedtea means using Java 1.8 which is not sufficient in my case. I need 17
<nutcase_>futurile: after a while I ended with something, I am not happy with: http://paste.debian.net/1297671
<peanuts>"debian Pastezone" http://paste.debian.net/1297671
<nutcase_>and even with this, I am running in a problem with a software that additionally uses npm. So my initial questions were into the direction: Where did I go wrong? Is there a good source of information about guix shells for java development?
<futurile>nutcase_: I don't think you're going wrong anywhere really - you either have to use what's in the archive (and sounds like that's not going to work for you - or you can use ``shell --fhs`` and treat it that guix is giving you a 'chroot'
<nutcase_>with `shell --fhs` you mean a `guix shell --container --emulate-fhs`?
<futurile>nutcase_: yup - which basically makes the environment look like a 'normal' Linux environment. Essentially, it creates symlinks so that the 'normal' /lib is there.
<futurile>nutcase_: then things that have been compiled to work in that kind of environment should work - so for example, it's how I run Chrome
<futurile>nutcase_: if you're not familiar with guix shell much yet, this post might help (and there's some others about creating dev envs): https://www.futurile.net/2023/04/29/guix-shell-virtual-environments-containers/
<nutcase_>futurile: that is how I use Java, atm (see paste-link above), when I don't need maven (http://paste.debian.net/1297672)
<peanuts>"debian Pastezone" http://paste.debian.net/1297672
<nutcase_>futurile: I didn't figure out, how to add something manually to $PATH inside a guix shell --container
<futurile>nutcase_: so say you have something in ~/bin, you could do it two different ways - either use the `--preserve=^PATH$` to keep your existing path; or (b) create a script like the one shown in the blog post and manipulate PATH there
<Guest36>Hello, is the build server down? I get this error message:
<Guest36>```
<Guest36>guix pull: error: https://ci.guix.gnu.org/api/latestbuilds?nr=1&job=guix.x86_64-linux&jobset=guix&status=0: HTTP download failed: 504 ("Gateway Time-out")
<Guest36>```
<nutcase_>I think that --preserve=^PATH$ wouldn't work since $PATH is redefined by guix shell.
<nutcase_>futurile: I think that --preserve=^PATH$ wouldn't work since $PATH is redefined by guix shell. A script allows me to extend $PATH.
<nutcase_>futurile: Btw, I set JAVA_HOME now (see http://paste.debian.net/1297675), and I think that this got me a bit further, now I get another error (libstdc++.so.6 couldn't be found)
<peanuts>"debian Pastezone" http://paste.debian.net/1297675
<podiki>for libstdc++ use -e '(list (@@ (gnu packages commencement) gcc) "lib")'
<podiki>(it is in a hidden package currently, see https://issues.guix.gnu.org/63393 which ought to be changed)
<peanuts>"[PATCH 0/2] Fix libstdc++.so and gcc-toolchain" https://issues.guix.gnu.org/63393
<nutcase_>podiki: as a parameter to guix shell?
<podiki>yes
<podiki>-e is to evaluate some code, and the code given gets gcc:lib package
<nutcase_>podiki: my approach would have been to add gcc-toolchain to the list of packages of my shell
<podiki>gcc-toolchain does not have libstdc++ if I recall, hence that code and bug report with potential fixes in how we define the packages
<nutcase_>podiki: however, your suggestion helped
<podiki>the idea would be yes, adding gcc-toolchain should be the correct thing to do I would say, and it is a bug that it is n ot
<nutcase_>podiki: while my software seems to build now with your fix, your explanation builds me up a bit :-)
<podiki>it was a change in how gcc was exposed as a package, you used to be able to specify gcc:lib as a package to guix shell
<podiki>seems the conversation in that bug report stalled out so I should probably propose a new patch there
<nutcase_>podiki: why is the (list ...) expression not evaluated in my `guix repl`?
<Kabouik>Updating my machine is a rocky road today. My guix system reconfigure keep failing in the middle of the building step (here it stalled after linux-6.5.10.drv check phase) and makes my whole system read-only until I reboot: https://0x0.st/HtI0.jpg
<podiki>what do you mean? (list ...) evaluates to the gcc:lib package output for me
<podiki>Kabouik: are you sure some filesystem isn't mounted read-only as it says?
<nutcase_>sorry. It also works in my guix repl, I just forgot the final paranthesis
<nutcase_>( @podiki )
<podiki>:)
<nutcase_>podiki: / futurile: thanks to the both of you, I am now able to run a maven buildof a software in question. However, it still requires me to manually add something to $PATH. What would you to suggest, how I could do that elegantly in that shell: http://paste.debian.net/1297677 ?
<peanuts>"debian Pastezone" http://paste.debian.net/1297677
<podiki>did you try to preserve PATH? I think that works, just note that with a container you'll need to also share the directories of things from path you want to execute (and whatever they depend on)
<nutcase_>podiki: indeed, it works.
<nutcase_>futurile: sorry, you suggested that before and I didn't test and assumed that this won't work. Thank you
<futurile>nutcase_: no worries - it sounds like you're making progress
<podiki>as reported earlier seems some parts of ci.guix.gnu.org are down (web page) but responds to ping and weather requests
<nutcase_>futurile: yes, I do, but slowly. Unfortunately, this isn't something contributing to guix.
<nutcase_>I wish I'd be able to commit a patch that updates the maven version in guix
<Kabouik>podiki: it's not, you can see for instance in the picture I've taken that the guix system reconfigure command did do something the first time (top half of the screen), then after it stalled, the same command does not work anymore and complains about the system being read-only. It kinda crashes half through.
<nutcase_>but in particular the maven package doesn't look trivial to me
<podiki>Kabouik: but after do you see things mounted read only? just curious if that is really the case then.
<Kabouik>And when it crashes like that, I cannot even use wl-copy or scrot to make a screenshot of the error (hence why I took a photo).
<Kabouik>Oh, I haven't checked that. But I can relaunch the reconfigure and see if it happens again.
<podiki>and all the other parts were downloads but this was the first thing being built locally? maybe something with /tmp?
<Kabouik>Would it throw this error if I run out of disk space?
<Kabouik> /tmp definitely is rw.
<Kabouik>I'm asking about disk space because I'm in btrfs and knowing exactly how much free space I have is far from being trivial, but I know it's on the low size (i3-statusbar-rust says 18GB, that's not comfy I'll give you that).
<Kabouik>low side*
<podiki>I was thinking that too, but that seems not too low?
<podiki>guix build for something works?
<podiki>i don't really have any ideas what is happening, sorry
<Kabouik>My suspect is disk space, with a shady error message
<Kabouik>I actually have a SSD twice bigger that I need to install in my computer. That would be a perfect way to solve the issue without using my brain. But I need to make a 1:1 copy of everything onto it first, knowing that my current SSD is encrypted, so I doubt I could just use dd if=xxx of=xx, could i?
<ieure>Kabouik, What do you see if you run `df -i`? You can have space available on the disk, but run out of inodes in the filesystem to reference it.
<podiki>shouldn't be a problem with btrfs as I understand it
<futurile>nutcase_: well I personally would be interested if you manage to get a good working 'development environment for Java' - so if you do and you blog about it that would be brill - lots of people are asking about that sort of thing in the channels / email lists etc
<podiki>I would think dd works (just copies the raw data) and still would need to be decrypted at mount? but don't quote me on that
<Kabouik>I could try anyway. But given that my disk UUID is in my config.scm, I suspect I'd have to decrypt it externally first, chroot into it, edit the UUID and then system reconfigure?
<podiki>probably? i might check some general information about moving/changing encrypted disks, obviously the process will be a bit different with guix, but that might be helpful before you spend the time
<podiki>or maybe someone here has done it on a guix system
<Kabouik>ieure: https://0x0.st/Htlu.txt
<nckx>sneek: later tell adanska Here's an untested attempt at exFAT support (*of course* it wasn't as easy as I promised, where would be the fun otherwise?) <https://tobias.gr/temp/exFAT.patch>. If you could test it with wild exFATs (created by SD vendors and/or Windows) I'd be grateful. I don't have either.
<sneek>Okay.
<nckx>sneek: botsnackx
<nckx>Eventually, the internal 'superblob' API should be replaced with a simple record type or something.
<charlotte1123581>hi guys, how do i set up a guix channel?
<gabber>Chapter 7 (Channels) in the Reference Manual covers that quite well IMO
<charlotte1123581>also: how should i reference sources, should i set up e.g. cgit and set the thing to use urls? because if it uses relative files or something, it kind of defeats the purpose, no?
<gabber>i think i don't understand the question. reference what source in which context?
<charlotte1123581>also: is there a way to globally specify a channel for all users? withhout them having to manually add it using the ~/.config/... file?
<charlotte1123581>there is a (source (origin ...)) in the package definitions and i am unsure how to handle it so it works for myself on the host the repo lives on as well as for others
<gabber>the standard way is to refer to it from an upstream (online, public) source on the internet, especially if you publish your package definitions in a channel
<nckx>You can specify the default list of channels in /etc/guix/channels.scm but users' ~/.config/guix/channels.scm will replace, not append to, it by default.
<charlotte1123581>ok, so how can i start cgit for example? i tried adding (use-modules (gnu services version-control)), but cannot append the (service cgit-service-type). is it from some other module?
<charlotte1123581>the cgit-service-type symbol isnt set
<gabber>what error did you get?
<charlotte1123581>ice-9/boot-9.scm:1685:16: In procedure raise-exception:
<charlotte1123581>error: cgit-service-type: unbound variable
<gabber>it's in (gnu services cgit) not version-control
<gabber>you can search for system services (analogous to packages) with $(guix system search cgit)
<charlotte1123581>cool thx
<charlotte1123581>do you run your mailserver with guix too?
<gabber>me personally, no. but i'm sure people do
<charlotte1123581>also: have you tried setting up a samba DC/is it possible on guix
<gabber>WDYM with "DC"? i didn't but there's samba services (check the manual at chapter 12.9.26)
<charlotte1123581>domain controller. i never set up samba beyond simple smb shares, so i am unsure if it needs extra stuff to do this or just the right config
<charlotte1123581>generally, is there some ldap style single auth stuff, like cockpit or anything? i would like to use any ldap stuff to have single sign on for all services provided by my guix server
<charlotte1123581>but i guess i can try using samba and report back in case of failure
<gabber>i have a feeling you haven't been looking stuff up in the reference manual, have you? ;)
<gabber>there's a chapter called LDAP Services in there
<charlotte1123581>now, checking out your recommended chapter for channels, there is talk of PGP: how can i manage secrets in guix? as in, i want my development host to get keys set up.
<charlotte1123581>so i just run my personal installer iso and everything works again as it should. in nixos there was agenix with age aencryption, where you just had to get your ssh keys for example
<charlotte1123581>and it would properly decrypt everything as needed
<charlotte1123581>also i promise to read the reference manual front to back if that is in there too
<charlotte1123581>ok i will just ctrl-f in the reference manual from now on before pestering
<charlotte1123581>thx for the patience
<gabber>np :) have fun!
<roptat>hi guix!
<podiki>o/
<podiki>anyone familiar with skia? it started failing on mesa-updates in check phase, no idea why https://ci.guix.gnu.org/build/2573633/details
<podiki>long build and test process needing lots of ram, so a bit hard to test
<roptat>trying to reduce the closure size of josm, I made javacc reference the jre instead of the jdk, reducing its closure by 350MB (\o/), but I also removed the reference from josm to javacc (which is only needed at build time). Still, java-swt has a refreence to a library in icedtea:jdk, but making it an input instead of a propagated-input (it's an optional dependency, but anything depending on it will have to explicitly add it) makes it no
<roptat>longer a dependency of josm, and reduced its closure size by 1GB :)
<podiki>nice!
<roptat>there's one more trick I need to test
<podiki>(not sure if skia is needed for parts of gnome, guix refresh skia -l shows gnome as dependent but not sure what part)
<roptat>I don't know about skia :/
<podiki>me neither, never heard of it
<podiki>i guess I'll wait to see if gnome packages build okay
<podiki>(not a gnome user personally)
<zamfofex>It is a Google/Chrome project. Similar to Cairo in spirit.
<podiki>zamfofex: is it used in gnome rendering? or is that something they are starting to use?
<zamfofex>I don’t know. Maybe it’s a transitive dependency of some kind.
<podiki>I'm less concerned if it only would break a few leaf packages, but if it causes lots of gnome to fail to build I'll need to get some help (my quick try of updating it didn't get far)
<roptat>saved 240MB more
<roptat>by not referencing the jdk in josm, using the jre instead
<podiki>ACTION lets some stuff build locally to see what might be broken...
<zamfofex>podiki: Maybe you could try taking some packages away from the ‘gnome’ package’s propagated inputs and seeing what dependends on it.
<podiki>I just looked with guix graph (so handy that)
<podiki>gnome->font-abattis-cantarell->python-skia-pathops->skia
<lilyp>that's just the shortest path tho
<lilyp>that being said, with 9 packages in total ya ain't breakin webkit, so go for master
<podiki>oh this is on mesa-updates, but thanks
<podiki>found another issue, qtbase did not like libxkbcommon 1.6 (some removed keysyms)
<podiki>the only breaking change in libxkbcommon but what do you know
<podiki>why skia fail I don't know, it just fails some tests it seems
<podiki>(so did mbedtls-apache, but a version bump fixed that; should have just been because of libx11 ungraft causing rebuild of python, yet tests broke for mbedtls-apache)
<podiki>ACTION shrugs, lets qtbase build locally, and literally runs away
<futurile>Q: how so I tell the QA system to build my patches against a particular branch? (in this case rust-team)
<nutcase_>futurile: I don't blog (usually), but of course I will share my findings and thoughts on how to setup java environments in Guix
<futurile>(twice today I've tested my patches against rust-team, but the QA system is building against master - probably because the base commit I'm using is in both??
<nutcase_>I'm thinking about the format (probably some literate org file) in a git repo, what would you suggest?
<futurile>nutcase_: that would be great - and usable by lots of people in this community!
<nate1>Can someone help me figure out why my variant of httpd stopped building? This used to work and build me a version of httpd with some additional modules enabled, but now even though libxml2 and zlib are inputs, the path that gets passed to the configure phase for those inputs doesn't exist
<nate1> https://paste.debian.net/1297707/
<nate1>I think there's a great chance I'm doing this wrong so please correct me if I am
<nate1>If I manually build libxml2 and zlib so that the store items are there, it seems to work fine
<gabber>nate1: i'm no expert and you seem to have crafted some advanced magic here, but i think this can be written more easily?
<gabber>i think your ,@(lowered-gexp-sexp could be inlined with some gexp ungexp?
<gabber>is there some error message or other indication as to *what* does not work (anymore)?
<nate1>It won't even build because when it goes searching for libxml2 at the store path that mess of a line generates, it doesn't exist. I would expect it to have built all of the inputs before it got to the configure phase
<nate1>Do you have an example of what I would do instead of that mess? It definitely felt when I was writing it that there had to be a better way that I didn't understand
<nate1>So to be more specific about the error, configure is ran with the argument --with-libxml2=/gnu/store/81l6jbs7rxxsx1ld0vmn43gwnnysa0gf-libxml2-2.9.14, but that store path doesn't exist, so I get this error
<nate1>checking for libxml2... checking for libxml2... no
<nate1>checking whether to enable mod_xml2enc... configure: error: mod_xml2enc has been requested but can not be built due to prerequisite failuresy
<gabber>ok first i think your input modification can be simplified to something like: (cons* libxml2 zlib (package-inputs httpd))
<gabber>and i think your (lowered-gexp-sexp (with-store store)) shabang can be simplified with some #$(this-package-input "input-name")
<gabber>have a look at e.g. the weston package
<nate1>gabber: Doesn't package-inputs return an association list so cons* wouldn't work? I thought that was the whole point of modify-inputs. But I changed the arguments stuff to this https://paste.debian.net/1297713, and everything seems to work now
<nate1>I'm still confused why the inputs weren't built first, but those arguments feel far more correct, so thanks for that
<nate1>And I'm just happy that it works now
<gabber>first of all: yee (and i can't stress this enough) haw!
<gabber>you may be right about the association list - at least that's the way inputs used to look for all packages. but since a couple of years(?) now this has changed and if you look at the package definition of httpd the (inputs) field is a simple list of packages (while (native-inputs) is still in the old form)
<Kolev>Is anybody good at using Haunt?
<Kolev>I need to fix some things with my site. https://codeberg.org/csh/personal-site/issues
<roptat>Kolev, have you tried setting #:domain to your subdir for #1?
<Kolev>roptat, I thought that would cause issues. Sounds hacky. I can try it.
<Kolev>roptat, I didn't see gnu.org/software/guile do it that way. I couldn't figure out how they did it, either.
<roptat>ah, it probably doesn't matter. You could simply serve from a subdir (not with haunt serve though, that's only for local test)
<roptat>you just have to make sure you always use relative URLs or add the prefix
<Kolev>reproducible, my site is ~csh/public_html/ on a server.
<roptat>that's what they do: https://git.savannah.gnu.org/cgit/guile/guile-web.git/tree/haunt.scm (see #:blog-prefix includes "/software/guile/")
<Kolev>roptat, Haunt generates URLs starting with /.
<roptat>Kolev, for #2 there's #:make-slug in your site generation you could use
<podiki>apteryx: I had to change an input for qtbase for it to build on mesa-updates; should I see about doing a minor version bump or is that likely to cause a lot more work for possible breakage/qt updates?
<roptat>something like #:make-slug (lambda (post) (string-append (time->string (post-date post) "~Y/~m/~d") "/" (post-slug post)))
<roptat>it might break links though
<roptat>I meant date->string, not time->string
<roptat>need to go, hope that helped :)
<Kolev>roptat, thanks!
<apteryx>podiki: is the minor version bump tracking an LTS release?
<apteryx>I think it may be a good idea to stay on an LTS for now, as even Jami struggles to keep up to date
<podiki>I'd have to check, i'm not familiar with qt versioning
<podiki>qt5 is only the last number changes, and qt5 is LTS by default? or not?
<efraim>5.15 is the last of the 5 series, so bumping to a later 5.15.x wouldn't be a bad idea
<podiki>grafts question: grafts are done after building, right? so having tests fail after ungrafting could happen? (in other words, now the package is actually built/tested with the updated input that was before just grafted after, exposing potential changes?)
<podiki>efraim: thanks. I'll take a look then, since qtbase is being built anyway (libxkbcommon update on mesa-updates)
<podiki>lots of little things failing (in tests mostly) that I didn't expect on mesa-updates
<Guest25>is it possible to install java on guix . if so, which is the right package ?
<vagrantc>Guest25: i think openjdk
<Andronikos>icedtea if you need Java 8
<Andronikos>Emacs requires to sign a paper for giving copyright to FSF in case someone violetes it. Guix does not require it. Someone knows why?
<ieure>Andronikos, Shush! Don't bring it up or someone might try to implement that process for Guix!
<Andronikos>ieure: Well, I don't think it is possible anymore. That is why I ask.