<trevdev>I am banging my head against guixifying nim's whole build process (nim with it's included runtime binaries such as nimble). I can get the guix package to compile nim (nothing new) but the wall is at getting that built binary to compile anything that comes with
<bjc>florhizome[m]: by default, gdm won't show wayland sessions
<trevdev>For example, I need to use the freshly compiled ./bin/nim to compile kosh.nim. It starts, but then fails because something (can't derive _what_) is trying to call /bin/sh directly in the build environment. This is not a problem outside of a guix build.
<trevdev>"CC: stdlib_digitsutils.nim" -> Searched the file, there is no hard-coded call for /bin/sh - I'm starting to feel a bit hooped here. Is there no simple way to symlink bash to /bin/sh within the build environment?
<johnjaye>maybe it's trying to find the value of an environment variable. that's a common thing
<trevdev>But if that isn't helpful, it's a compiled language that is trying to be as readable as Python but also have some really nice language features.
<johnjaye>although it's weird it's doing it via bash directly
<johnjaye>> Nim is designed to be "efficient, expressive, and elegant", supporting metaprogramming, functional, message passing, procedural, and object-oriented programming styles by providing several features such as compile time code generation, algebraic data types, a foreign function interface
<trevdev>I agree. I hopped on their discord to ask someone (anyone) where this behavior is coming from. I can't seem to `grep` it
<johnjaye>did you look at the disassembly with objdump
<trevdev>johnjaye: I wish I knew what you were talking about
<trevdev>Maybe that's part of why I, or whomever tried to package this fully before me, haven't sorted this out
<johnjaye>meaning. if you look at the binary you might be able to see directly what command it's trying to invoke
<trevdev>I will look into that. This has all been for the fun of learning Guix + do some of this nimrod stuff with a friend of mine who's absolutely chuffed with the language
<trevdev>john33: No problem. Stick with using `guix install` for getting packages and maybe look into the new-ish `guix home service` later once you're more used to the new guix idioms.
<trevdev>I jumped in head first and my head still hurts haha
<john33>i have 0 packages. i'm using windows and plan to switch to linux after my exams. i've decided to go with guix, and i'm currently testing it on a vm. i'm a bit out of the loop with the guix terms (my fault), so even following advice is tough; it's nice to know i can come here if i stumble across an issue. i'd take a dive at the docs first tho
<trevdev>john33: Guix is an interesting first distro choice.
<trevdev>john33: So far as I can tell Guile is just Scheme with some unique features. I am probably newer to Scheme than you are. Lean on the manual for the Gexps and stuff
<singpolyma>How is arch hard mode when Gentoo stage1 and LFS exist?
<trevdev>singpolyma: It was near to Arch's first release that he made that challenge to me. I don't know when Gentoo happened, but I never considered it a prospect. It's Emacs/Lisp that largely pulled me into this space
<trevdev>But in every thread about why "Arch is Great!" or "Arch is <anything at all>" you can hear the shrill cry of the Gentooian yelling "Gentooooooo!"
<singpolyma>Gentoo is an established distro. I know it makes me look old, but I still consider arch "new"
<trevdev>singpolyma: Anything a popular distro has done, GNU has done it in some less (unfortunately) popular way. I will try to remember this conversation if I feel the itch to try something 'new'
<acrow>Guix goes places... After updating my Linux container on my chromebook to bullseye -- vagrantc's guix package easily installs and then following a 'guix pull' things are up to date. Testifying to the practicality of running guix on a chromebook. I don't expect it to be popular but I can testify it works just fine.
<trevdev>sneek later tell acrow Oh it absolutely works. Part of what I like about guix is that it is portable. I am on Guix System now. If there were any reason for me not to be, I have my config :) I just feel challenged by learning the packaging, mostly.
<trevdev>Time appropriate greetings. Can anyone help me make it appear as though /bin/sh exists at /bin/sh in a build procedure? I have (substitute*'d) all that I could. I am still running up against Additional info: Could not find command: '/bin/sh'. OS error: No such file or directory 2
<sheertj>"#!/usr/bin/env sh" at the start of your script? Or "#!/usr/bin/env bash"
<rekado_>johnjaye: you need to do this in an environment that contains development files for Guile 3.0
<unmatched-paren>johnjaye: do `guix shell -D guix` and then run the build commands (assuming you're building Guix...)
<unmatched-paren>johnjaye: "i feel like you have to know scheme c and also a little of autotools workings to do guix" <- I think you only really need to know Scheme. No C or autotools knowledge is necessary
<unmatched-paren>Unless you're hacking on the build system (Autotools) or the daemon (C++)
<attila_lendvai_>is it smart to use /run/setuid-programs/ping in an mcron job? or am i doing it wrong?
<fnstudio_>hey abrenon thanks for getting back to me; here's the problem: i have this tiny emacs library that i'd like to ship with a guix.scm file with the bare minimum of emacs dependencies; but then my init.el won't work in a pure environment because of the missing deps
<fnstudio_>i think the only solution is to use emacs -q
<fnstudio_>and to manually load those init.el bits that are needed
<reyman>@abrenon yeah, this is into the REPL using Pkg.add("bla")
<abrenon>I don't use emacs so I don't know what -q does, sorry ^^ but I don't see why you couldn't achieve what you are trying to do
<reyman>is it possible to call an older version @jvbl[m] ? i try to call firstname.lastname@example.org but that fail in guix
<jbv1[m]>I guess that you could, using something like guix time-machine but I have no experience with that. Also I'm not sure that would solve your problem. Best would be to update the julia package definition to 1.6.6 the currently supported LTS release.
<mekeor[m]>if i want to use cargo on guix system, should i install rust:out or rust:cargo?
<apteryx>monadam: try removing your channel file, the conflict may well come from a channel package
<ncbfg36>I have a simple config.scm with stumpwm, %desktop-services and a single user. Evrrything appears to work as root but as user account I am unable to run guix pull or install any packages. It always throws back "unsupported manifest format". I'm strugglinf to figure out what's going on
<Franciman>hi, has anyone had a chance to try guix system on a thinkpad t440?
<johnjaye>ncbfg36: is that from profiles.scm? i see the errror in there
<johnjaye>also how does guix produce the cd images. just a shell script?
<johnjaye>the "guix" repo is 97% scheme. and i can't imagine you could make an iso file system with schme
<ncbfg36>johnjaye: It appears to be coming from ports.scm. I can't even "guix pull" as user. Digging around it appears that there has been no per user profile created for the user in /var/guix/profiles/per-user/
<johnjaye>i don't see ports.scm anywhere in the guix source
<ncbfg36>johnjaye: I'm just reading that from the error on stdout
<johnjaye>me too. i'm just reading from the output of grep.
<jpoiret>monadam[m]: about yoru profile conflict, could you paste the ~/.guix-profile/manifest file as well as your guix describe output?
<jpoiret>ncbfg36: are you logged in as root or your user?
<ncbfg36>I'm confused. The docs just say run guix pull creates profile in .config/guix/current and to install packages with guix install <package>. Why is it concerned with a manifest when I haven't called it to read a specific manifest? I thought guix pull updated guix and packages for the current user
<jpoiret>did you use `guix package` as root or user
<reyman>i try to test guix time machine for an old version of julia, but i'm not sure because i obtain an error
<dlowe>I think guix pull syncs the local guix store without affecting installations or configuration
<reyman>my manifest is simple : (specifications->manifest (list "email@example.com"))
<reyman>i try to get the corresponding channels.scm using this guix time-machine --commit=02a67810e566e8402e0b927c81ae39391762767d -- describe --format=channels > channels.scm
<ncbfg36>jpoiret: The user account has no .guix-profile. And there is no user folder in /var/guix/profiles/per-user/
<reyman>with commit 02a67810e566e8402e0b927c81ae39391762767d equal the commit of guix with this julia 1.6.2
<ncbfg36>jpoiret: I am trying to run guix package as user. It works as root but not as user
<silicius[m]>Would guix welcome a package for a game launcher that downloads prebuild packages while both the launcher and the game itself have guix-compatible licenses? The game itself is already in guix, but there's an experimental branch that releases every few hours and a lot of people (including me) play it.
<reyman>i suppose this is linked to the fact my channels contain other things than linux-libre
<ncbfg36>and then started working on a system config.scm
<jpoiret>can you fetch the manifest version from /run/current-system/profile/manifest, and the guix commit which should be in /run/current-system/profile/share/guile/site/3.0/guix/config.scm (inside the define %channel-metadata block)
<ncbfg36>okay i'll need a minute as i have irc on phone
<jpoiret>only the first couple characters of the commit should be ok
<reyman>error returned continue to be "(exception unbound-variable (value #f) (value "Unbound variable: ~S") (value (linux-libre-5.18)) (value #f))"
<jpoiret>yet another issue with having out-of-date guix-the-package: any system installed (or reconfigured) using a commit between the introduction of the new manifest version and the updating of guix-the-package to a commit after the former will have a non-functional system-wide guix
<jpoiret>it's ok for people that have already guix pull'd, but for people just installing it's an issue
<jpoiret>that's because `guix pull` and `guix describe` both try to lookup the version of the current guix, which it does by sequentially a) looking at the manifest of the profile it's running from, to see if there's extra properties about the guix provenance (which is only present in `guix pull`ed profiles) b) looking at the guix/config.scm file which
<jpoiret>should hold such info if guix was built as a package otherwise.
<jpoiret>in case a) if guix cannot read the manifest, it instantly bails out instead of falling back to b) (I think)
<ncbfg36>jpoiret: I remember it complaining about not being able to establish system provinance, but it ran without error otherwise
<ncbfg36>jpoiret: but then why is it working as expected for root account? why does the root account habe a profile and is able to update/install packages?
<jpoiret>this system is not a fresh install, right?
<jpoiret>well, it worked because guix pulled as root before reconfiguring
<jpoiret>hence the problem appeared with the system wide guix after reconfiguring
<ncbfg36>yes i installed it yesterday. All I have done is added desktop environments to system config and ran guix system reconfigure. I was able to log in to graphical desktop as user account and use system wide packages e.g emacs.
<cbaines>digging the guix store item out, even the describe command fails: guix describe: error: unsupported manifest format
<cbaines>I wonder if some recent manifest format change is actually breaking old guix'es
<lfam>cbaines: Can we clarify the weather situation? My understanding is that `guix weather calibre` makes a derivation and then checks if a substitute for the derivation exists on the server. Is that right?
<lfam>Well, the issue with weather is a red herring anyways, IMO. The issue is that `guix build` and `guix upgrade` are building different derivations for the same package, and I don't understand why that is the case
<cbaines>right, I think I see the same behaviour locally
<cbaines>guix build --no-grafts calibre doesn't build anything, since it's in the store
<cbaines>but guix build calibre starts to actually build calibre
<lfam>It's unexpected, right? Or am I missing something
<jpoiret>just send a whole novel to guix-devel about the different ways we build guix, hope it's not too daunting to answer :) don't hesitate to answer, even if it's because there's a part you don't really understand, so that everyone has a good understanding of the issue
<silicius[m]>guix lint tells me firstname.lastname@example.org and email@example.com propagated inputs collide, not sure how I can I fix this
<apteryx>it's wrong to propagate different versions of Python inputs
<silicius[m]>cloudscraper#1.5.28 is the victim as it depends on firstname.lastname@example.org ("last release supporting python2.x"), but I don't see why since cloudscraper at this and later version depends on python3
<apteryx>probably should be adjusted to use the latest version then