IRC channel logs

2021-11-16.log

back to list of logs

<M6piz7wk[m]>what is the apulse command to control audio? i can't find it and my keyboard can't control audio so i have to define a keybind x.x
<podiki[m]>pactl?
<jgart>What do people thing of having a function called `install-man-page` that does the work of installing the man page?
<jgart>Instead of writing the same lines of code always to do the usual thing in a custom phase
<jgart>We could abstract it out a bit. I just got inspired a bit by looking at this nix package and one liner for installing a man page: https://github.com/NixOS/nixpkgs/blob/nixos-unstable/pkgs/development/compilers/fennel/default.nix#L21
<jgart>I'm referring to `installManPage`
<jgart>I think portage has a similar function for installing man pages
<M6piz7wk[m]>how do i find a command using guix?
*M6piz7wk[m] is trying to find `apulse`
<podiki[m]>I don't think there's a command search; you'd have to know what package it is in (talk recently of making a search for files by package, but I don't think anyone has started it)
<podiki[m]>what's apulse
<M6piz7wk[m]>cli thing i used on other distros that allows me to keybind my physical keyboard keys to control the audio
<M6piz7wk[m]>bcs my keyboard has dedicated keys for that and i like em
<M6piz7wk[m]>bcs they don't work by default as that requires non-free firmware afaik
<podiki[m]>I use pactl
<M6piz7wk[m]>how? i need + or - 5% on each press and mute
<podiki[m]>like pactl set-sink-volume @DEFAULT_SINK@ +2.5%
<podiki[m]>check the man
<podiki[m]>very standard pulseaudio control, nothing special
<M6piz7wk[m]>i see
<M6piz7wk[m]>what provides pactl
<podiki[m]>pulseaudo
<podiki[m]>pulseaudio
<M6piz7wk[m]>These work for me:
<M6piz7wk[m]>pactl set-sink-volume @DEFAULT_SINK@ +2.5%
<M6piz7wk[m]>pactl set-sink-mute @DEFAULT_SINK@ toggle
<M6piz7wk[m]>thanks
*M6piz7wk[m] goes to submit a contrib to cheatsheets
<podiki[m]>probably found that on arch wiki or something around configs for WMs like i3, xmonad
<podiki[m]>along with the keys like XF86AudioRaiseVolume
*M6piz7wk[m] created https://github.com/cheat/cheatsheets/pull/105
<M6piz7wk[m]>podiki[m]: hm O.o might not be a bad idea to make a wiki entry too
<M6piz7wk[m]>is there something like guiledoc? Like rustdoc?
<M6piz7wk[m]>basically thing that e.g. `;;;! # something` converts to markdown and generates a docs out of
<M6piz7wk[m]>or like generates docs in general
*M6piz7wk[m] likes docs
<phodina[m]><jlicht> "phodina: I believe I might..." <- Thanks, I received it. Though I haven't checked the font if it's the same or not. I'll reply in the thread
<lilyp>vivien: Not just that one but yeah – if it's not in response to a pre-existing bug, send it to guix-patches
<lilyp>Most peeps do follow both, but you never know
<M6piz7wk[m]>how is `cons` different from `const*` ?
<M6piz7wk[m]>s/const/cons/
<podiki[m]>did the CI run out of space a week ago? bunch of (i686) builds failed due to space and looks like were never re-attempted (e.g. tevent, groff)
<M6piz7wk[m]>is that why am i now running guix build for 26 hours
<podiki[m]>so a good chunk of i686 is not built, wasn't sure if the rust/svg/pixbuf was sorted or not on i686
<podiki[m]>(this is on core-updates-frozen)
<xelxebar>M6piz7wk[m]: `cons` just acceps a single arg. `cons*` can cons multiple items
<M6piz7wk[m]>oh i see
<M6piz7wk[m]>thanks
<M6piz7wk[m]>does the same work for `append` vs. `append8` ?
<M6piz7wk[m]>ehh append vs. append*
<xelxebar>BTW, see `info guile` for `cons*` documentation. I'm not familiar with `append*`
<M6piz7wk[m]>how do you search cons* in the info guile?
<xelxebar>Navigate to the Procedure Index and then search for "cons\*"
<M6piz7wk[m]>that's just `* cons*: List Constructors. (line 25)` ?
<M6piz7wk[m]>oh
<M6piz7wk[m]>enter
<M6piz7wk[m]>got the docs now
<M6piz7wk[m]>cool
<xelxebar>:D I've gotten lots of mileage out of that when navigating/writing guix stuff.
<xelxebar>Guix also has a lot of helper procedurs and macros, so if you don't find what you're looking for in the Guile manual, it's usually worth grepping the Guix repo.
<M6piz7wk[m]>oke o.o
<kittyblam>Hmm, still can't figure out yafaray, I remember and got a bit of help before and I might read the logs in a bit, but, anyone know how I can do this OpenEXR directory thing going on in the .nix? https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/tools/graphics/yafaray-core/default.nix
<kittyblam>I feel like I am missing something so basic
<xelxebar>kittyblam: Looks like the openexr package provides the relevant include/ directory in its default output
<avp>I wonder if there's any progress update on this: https://www.mail-archive.com/help-guix@gnu.org/msg11056.html'
<kittyblam>xelxebar: just removed my futile attempts from the yafaray.scm, assuming I am understand it correctly, what is meant to go on the commented area?
<kittyblam> https://files.p7.co.nz:5281/upload/qpW00LVDG_yM-lUE/yafaray.scm
<xelxebar>kittyblam: You should be able to just set CFLAGS. Check out the source for make: `guix edit make`
<xelxebar>IIUC you should just be able to add something like: (arguments '(#:configure-flags '("CFLAGS=...")))
<kittyblam>xelxebar: I tried that a few times before, as a sanity check what would it appear should go on the [...] section of the CFLAGS thing?
<kittyblam>xelxebar: I tried that a few times before, as a sanity check what would it appear should go on the [...] section of the CFLAGS section?*
<xelxebar>Oh... This is a cmake project...
<kittyblam>yeah
<xelxebar>Check out guix/build-system/cmake.scm. That's the "official documentation" as far as I can tell :P
<xelxebar>Around line 126, you can see a list of keyword args. Looks like #:configure-flags and #:make-flags might be helpful?
<kittyblam>excuse my unfamiliarity, while technically using guix for a while now I never delved in much, how do I find/open cmake.scm? xD
<xelxebar>I'm not that familiar with CMake, but it looks like there's a CMAKE_C_FLAGS macro it uses? At worst, you could try adding a pre-build phase that just does (setenv "CFLAGS" "...")
<xelxebar>kittyblam: Oh, cmake.scm is in the guix repo: git://git.savannah.gnu.org/guix.git
<xelxebar>FWIW, The gnu/packages/ directory contains package definitions and is a gold mine of information when first learning how to write package defs. I've shamelessly mined it countless times.
<kittyblam>ah finally downloaded and figured out how to get to the cmake.scm
<kittyblam>also may or may not have gotten distracted reading other files in this lmao
<kittyblam>xelxebar: yeah I do notice in graphics.scm blender (which, while it does not include yafaray, both deal with rendering and openexr etc.) does appear to have something kinda like that setenv junk
<kittyblam>I'm going to take a quick break, one momento uwu
<xelxebar>Cool. Hope that gets gets you running :D
<kittyblam>back
<kittyblam>LMAO well, it almost built .. havent checked the log yet to see the error but that got *way* further than any other time
<vivien>Hello Guix :)
<kittyblam>ok so looks like it reached 100% *then* screamed, hopefully I got it from here but being the first real package I am attempting is very nice and just wanted to say uwu lol
<M6piz7wk[m]>how do i get rustc on guix?
*M6piz7wk[m] tried mrustc which is not recognized by cargo
*M6piz7wk[m] is trying to install cargo-make through cargo
<abrenon>hello guix
<kittyblam>btw I wantn to mention that I got it working I believe, although I don't have an XML to feed the 3d rendering engine to confirm as a sanity check it did appear to build just fine and show up in my terminal uwu, next step after a sanity check will be packaging the GUI version then I guess looking into how I could clean it up and how commiting this stuff works lmao
<rekado_>the python-notebook tests relating to deletion also fail outside of the build container.
<rekado_>I haven’t been able to reproduce problems with python-send2trash directly. It works just fine on its own.
<civodul>Hello Guix!
<abrenon>civodul o/
<M6piz7wk[m]>apparently `rust` provides `rustc`
<efraim>hello!
<M6piz7wk[m]>(display "Hello, Guix!")
<civodul>#<unspecified>
<civodul>rekado_: should we declare say Thursday as core-updates bug squashing day?
<efraim>+1
<M6piz7wk[m]>civodul: scheme@(guile-user)> (display "Hello, Guix!")
<M6piz7wk[m]>Hello, Guix!scheme@(guile-user)>
<M6piz7wk[m]>-w-
<M6piz7wk[m]>don't ya dare my guile ability! i am overconfident now
<civodul>:-)
<civodul>'display' returns "the unspecified value" but the REPL doesn't print it
<M6piz7wk[m]>pretty that confidence will be ruined in 2 min when i try to figure out how to handle me things
<M6piz7wk[m]>civodul: o.o
<M6piz7wk[m]>why is package `r-openssl` prefixed with `r` ?
<M6piz7wk[m]>is that for the R lang
<M6piz7wk[m]>it is.. dammit
<abrenon>yeah, it's the convention we follow
<abrenon>r-, python-, ghc-, ocaml-…
*M6piz7wk[m] would change that on rlang-openssl to mak that more explicit
<abrenon>^^
<henk_guix>Hi there! How does one set environment variables in the build environment from a package definition?
<civodul>henk_guix: hi! usually this is done by adding a build phase that calls 'setenv'
<civodul>like: (setenv "FOO" "bar")
<civodul>see https://guix.gnu.org/manual/en/html_node/Build-Phases.html
<henk_guix>Ahhh ok I feel silly now
<henk_guix>worked from memory and used envvar :)
<henk_guix>thanks!
<civodul>yw!
<wleslie>if the build tool is make, placing them in #:make-flags also works nicely
<civodul>oh yes
<civodul>rekado_: BTW thanks for texlive-fira! do you want me to push texlive-translator on your behalf?
<rekado_>civodul: yes, you can push it. Thanks!
<civodul>thank *you* :-)
<M6piz7wk[m]>ehh
*M6piz7wk[m] sent a console code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/5a1b0235ebc23892ffe23f02d1f3e3b94efcbbc6
<M6piz7wk[m]>isn't it supposed to ignore shebang
<jpoiret>scheme block comments are #! !#
<jpoiret>and no, shebangs are loaded by the interpreter as well
<jpoiret>you can see an example with `less $(which guix)`
*M6piz7wk[m] sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/bb9b77cb011f07a42800ec4ad4a124fa457c359a
<M6piz7wk[m]>oh
<M6piz7wk[m]>wrong way !
<M6piz7wk[m]>works now thanks
*M6piz7wk[m] sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/afd6396fa2842d2b3187023cb133690e2c17ce38
<jpoiret>the !# should be on its own line
*M6piz7wk[m] sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/6cfb3630f0a995b14609dc095e56464d97322e6f
<M6piz7wk[m]>hmm
<M6piz7wk[m]>jpoiret: I have it like this now:... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/0b7bdff1bc4c46bb88fd1f1ead219fd6abb2410b)
<M6piz7wk[m]>which seems to work
<M6piz7wk[m]>but it considers emacs as unknown package if invoked through that
<jpoiret>no it considers your .scm file as an unknown package because the command line used is `guix shell -D #! ./emacs-manifest.scm`
<jpoiret>s/-D/-m/
<jpoiret>you need to move the closing !# to the next line
<civodul>i'll go ahead with https://issues.guix.gnu.org/24937#22, probably even using 8KiB as the threshold
<M6piz7wk[m]>jpoiret: works now thanks!
<jpoiret>shebangs are a kernel feature, they just recognize the #! at the beginning and use the command line until a newline is encountered. The scheme block command is to make scheme ignore it, but you don't want the !# to end up in the command line
<M6piz7wk[m]>i see
<M6piz7wk[m]>Is there any implementation of calling emacs to do guix call to provide packages for it?
<M6piz7wk[m]>like implementing guix inside the init.el file to be used as a package manager
<M6piz7wk[m]>e.g. like MELPA or whatever
<jpoiret>well your approach of using guix to setup emacs and then launching emacs through it is better imo
<jpoiret>then you can just (require ...) in your init
<M6piz7wk[m]>i changed that approach to make it more flexible so now i am using guix to provide emacs and then i am doing `default.el` file in the root of the repo that is loaded through `emacs -q -l default.el` that i expect to make a call to guix to provide the desired packages
<jpoiret>you don't need to call guix from inside emacs
<jpoiret>rather, you can do `guix shell -m ./emacs-manifest.scm -- emacs -q -l init.el`
<M6piz7wk[m]>i do as i want emacs to decide which package manager it wants to use e.g. if guix is available then use guix else fallback to MELPA
<M6piz7wk[m]>so that this way it can also implement nixos and others as needed
<M6piz7wk[m]>and also for it to not fail when guix is not available
<jpoiret>i mean, it isn't impossible to do at all, just that no one else has written it yet
<jpoiret>the thing is, to have it work across melpa and guix at the same time, you'd need to have both the melpa and guix name (they might differ)
<M6piz7wk[m]>hm O.o so like can i just do `(shell-command "guix shell -m path/to/manifest.scm")` and expect it to work that way?
<M6piz7wk[m]>or will that just create an environment that is not reachable to emacs
<jpoiret>nono, you have to launch emacs inside the shell
<jpoiret>otherwise yes that will create and env that is not reachable to emacs
<jpoiret>i'd say for now, you can add a check for a guix shell at the beginning of your init and disable the package manager (do you use use-package?)
<M6piz7wk[m]>oh so i have to handle that though cargo-make O.o
<M6piz7wk[m]>so that it decides the check for package manager prior to invoking emacs
<jpoiret>ehhhhhhh, not sure if this should be the responsibility of cargo imo, but your call
<M6piz7wk[m]>ehh i meant that i use cargo-make to manage the repo (i don't use cargo just the project that is named that way) to make the project call to check the package manager and install the packages
<M6piz7wk[m]>and then open emacs with the packages already installed?
<brendyn>M6piz7wk[m], I would like to implement a straight.el backend to use guix packages for emacs
<jpoiret>not installed, only present in the env through a shell, but yes (that might be what you said)
<M6piz7wk[m]>so like `makers emacs -> package manager check -> Install packages and emacs -> launch emacs with the packages and load the default.el`
<jpoiret>brendyn: you mean use-package backend, right?
<brendyn>maybe. i dont actually understand it in depth. Doom uses straight so i was looking at that
<jpoiret>oh, no, okay, i see what you mean. It won't use the guix package definitions though then
<jpoiret>but yes you could translate straight recipes to guix package i think
<brendyn>it will, but for example you could inherit the guix package definiton, but using the commit specified for example
<jpoiret>but how do you tell by the straight recipe which already existing package definition it corresponds to?
<M6piz7wk[m]>is there any standardized extension for manifest.scm files?
<M6piz7wk[m]>i have one that provides emacs and second that provides extensions to emacs
<M6piz7wk[m]>and the naming conversion is weird
<brendyn>i guess look at (string-append "emacs-" name)
<M6piz7wk[m]>so mby:
<M6piz7wk[m]>emacs-manifest.scm -> emacs.mscm
<M6piz7wk[m]>emacs-extensions-manifest.scm -> emacs-extensions.mscm
<M6piz7wk[m]>mscm -> manifest scheme?
<rekado_>manifests contain just scheme code, so the extension is .scm
<rekado_>(I thought we stopped caring about file extensions in the 90s)
<M6piz7wk[m]>i don't care about file extension i care about file size! :p
<M6piz7wk[m]>emacs.mscm has less letters then emacs-manifest.scm
<efraim>bah, can't test the julia pkg patch, can't download the julia registry :/
<rekado_>civodul: 24937#22 sounds like a good idea!
<jbv1[m]>efraim: ah?
*M6piz7wk[m] defined `mgix` extension as manifest guix`
<efraim>ERROR: could not download https://pkg.julialang.org/registry/23338594-aafe-5451-b93e-139f81909106/7a022eaac4aa31b9910e205bf18346eb86c38720
<jbv1[m]>that happens when you do Pkg.add ?
<efraim>yeah, with the currently packaged julia
<efraim>wow, much bigger packtrace using Pkg.add ("PyPlot") vs add PyPlot (after ']' in REPL)
<efraim>s/packrace/backtrace
<M6piz7wk[m]>oh defining manifest file with emacs and then another with just extensions without emacs results in emacs withotu extensions
<M6piz7wk[m]>\>.<
<efraim>looks like I might need 7z
<jbv1[m]>hmm yes
<jbv1[m]>but that would mean that there is a bug in the package then
<efraim>yeah, adding p7zip to the guix environment did it
<efraim>separate bug, I can test the other patch now
<jbv1[m]>because the julia package has 7z in /libexec so it should use this one
<efraim>adding PyPlot failed with conda error, not unexpected
*M6piz7wk[m] figured it out
<M6piz7wk[m]>bwahahaha this is pretty cool
<efraim>ok, I have some building of julia packages to do and then I can test it finally
<M6piz7wk[m]>> building guile-emacs-0.0.0-0.41120e0.drv
<M6piz7wk[m]>i guess not usable lol
<florhizome[m]>Guile emacs should be in guix emacs pretty much
<florhizome[m]>Anybody else having problems with guix home since a recent pull?
<florhizome[m]>It doesn’t want to reconfigure anymore.
*M6piz7wk[m] smells insufficient QA
<efraim>florhizome[m]: Might have to talk to civodul, they made some changes 2 days ago
<M6piz7wk[m]>where is the repo for guile-home btw? i tried to find it 2 days ago and failed
<florhizome[m]>guix Home?
<florhizome[m]>I think most of the development happens with red
<M6piz7wk[m]>florhizome[m]: yep afaik thing used to configure packages for the user
<M6piz7wk[m]>oh
<M6piz7wk[m]>x.x
<jpoiret>guix home is a guix command, and included in guix now
<M6piz7wk[m]>*ignore me then(
<M6piz7wk[m]>oh
<M6piz7wk[m]>O.o
<M6piz7wk[m]>what
<jpoiret>it's in maste
<jpoiret>master *
<M6piz7wk[m]>does it do what i said it does?
<M6piz7wk[m]>like changing proxy settings for icefox?
<M6piz7wk[m]>... for the user?
<jpoiret>it does, but is still highly experimental with bugs
<M6piz7wk[m]>gut gut
<jpoiret>note that it is supposed to be called by the user himself for his own configuration
<florhizome[m]>ephraim: thx I will do a proper session today, so I can post some pastes and leave one for civodul ^^
<jpoiret>i don't think it's made to provision many user homes
<M6piz7wk[m]>but it can be called from guix system to oright?
<jpoiret>nope
<M6piz7wk[m]>aaaaaaaaaaaaa
<jpoiret>tbh, it's the user equivalent of `guix system`
<M6piz7wk[m]>i guess not bad i can just do second guix command
<florhizome[m]>It’s way less powerful but cheaper
*M6piz7wk[m] wanted to also use it to configure DNS server >.>
<florhizome[m]>Basically your „work environment“
<M6piz7wk[m]>o.o
<florhizome[m]>Your personal settings and synchronizations
<florhizome[m]>Every thing you might want to automate there.
<florhizome[m]>In userland.
<florhizome[m]>that’s what it’s good for.
<M6piz7wk[m]>hmm O.o i guess i cross that bridge when i figure out my management
<M6piz7wk[m]>as i though i can use it to configure DNS server for DNS-user
<M6piz7wk[m]>and tasks alike
<florhizome[m]>idk
<florhizome[m]>Not proficient in that area
<M6piz7wk[m]>hmm o.o
<efraim>jbv1[m]: so with your patch I should be able to do `guix shell julia julia-pycall` and then in julia just do 'using Pkg; Pkg.add("PyCall")' and it'll use the packaged version?
<jbv1[m]>yes
<efraim> https://paste.debian.net/1219700/ with just the first patch applied from 51319
<efraim>could it be becase we have 1.92.3 packaged and 1.92.5 is released?
<jbv1[m]>yes it could
<jbv1[m]>I think you can specify the version with Pkg.add
<efraim>I updated julia-pycall locally and this time Pkg.add("PyCall") didn't fail. It did still download conda which was interesting
<efraim>I might have to try again with a package I haven't stripped a dependency from
<jbv1[m]>you should check that ~/.julia/packages/PyCall is empty
<efraim> https://paste.debian.net/1219701/ Pkg.add("Preferences"), once with and once without it in the environment
<efraim>so it looks like it works
<efraim>I'll check if PyCall is empty
<jbv1[m]>looks good
<efraim>there is no ~/.julia/packages/Pycall when I make the shell with julia-pycall
<jbv1[m]>that's good then it uses guix PyCall
<jpoiret>great, git send-email ate my paragraphs, and now it just looks like I sent a v2 patch without any comments
<florhizome[m]>Hmm now also my profiles don’t work anymore
<florhizome[m]>It says it doesn’t find the lockfile although its clearly there
<florhizome[m]>I think it’s time to try this roll back mechanism
<florhizome[m]>hm is there an overview of my generations by guix (command) version, does rollback even change that?
<civodul>florhizome[m]: "guix package -l 2w" will show generations from the last two weeks
<florhizome[m]>I thought I can change my guix version (so if things are broken like rn I can go back)
<florhizome[m]>but it would be good to see when I did guix pull
<jpoiret>civodul: while you're here, sorry for the 2 patches about the installer, I noticed a typo in a variable name right as I sent it. I tested the second patch in a VM and it worked properly (installer worked, and tested the function manually). git send-email ate most of what i wrote in the v2 patch mail
<florhizome[m]>but does roll–back even set back my guix to a previous commit or just the composition of my packages?
<florhizome[m]>Since I’m doing profiles the packages in my „main–profile“ have become pretty arbitrary anyways
<jpoiret>if you want to rollback guix itself you need to use `guix pull --list-generations/--switch-generation`
<jpoiret>and you can use guix pull --commit= if you just want to use an old commit
<florhizome[m]>ah
<florhizome[m]>so these are separate
<florhizome[m]>That’s very good to know, thx
<florhizome[m]>it might be getting over my head what is all gathered under „guix“
<jpoiret>well, guix pull works on your guix program itself, guix system on your system + system profile, guix package on your user profiles
<jpoiret>(and then guix home... manages your home)
<florhizome[m]>And guix shell
<florhizome[m]>I didn’t know guix pull had that specific definition
<florhizome[m]>Then there are commands like upgrade/install etc that are just shortcuts
<florhizome[m]>And profiles which are an important function but mangled unter package
<jpoiret>imo guix upgrade and guix install are confusing since you don't really see the `guix package / guix system / guix pull` separation
<florhizome[m]>What does guix upgrade do, actually. isn‘t guix itself upgraded by pull already?
<jpoiret>upgrade tries to update all of your current profile's packages
<M6piz7wk[m]>How do i get a text colorization in emacs for guix?
<M6piz7wk[m]>oh geiser mby
<florhizome[m]>I think you could abandon them and have a „profile“ subcommand
<florhizome[m]>or some kind of a helper program for that
<jpoiret>i think `guix upgrade` is equivalent to guix package -m .guix-profile/manifest
<M6piz7wk[m]>nope geiser doesn't seem to do that x.x
<jpoiret>the thing is that ideally, everyone would use guix package with profiles, but you want to let users install packages not-declaratively by using guix package -i xyz
<florhizome[m]>M6piz7wk[m]: What exactly do you mean?
<florhizome[m]>for scheme files, for the package / service functions?
<jpoiret>but yeah, maybe having guix profile instead of guix package would be more explicit
<M6piz7wk[m]>> <@florhizom:matrix.org> What exactly do you mean?
<M6piz7wk[m]>> for scheme files, for the package / service functions?
<M6piz7wk[m]>meaning that i have all code in black color how do i get it colorized like in an IDE?
<jpoiret>using emacs -Q somefile.scm i have syntax highlighting so i don't know how you don't
<jpoiret>maybe your configuration is overriding something, try emacs -Q file.scm
<M6piz7wk[m]>ah syntax highlighting!
<M6piz7wk[m]>forgot the word
<M6piz7wk[m]>x.x
<florhizome[m]>jpoiret: I would like to do guix install package xyz to profile abc and that manifest gets updated automatically
<florhizome[m]>or I say guix package „ some packages“ to new profile „xyz“
<jpoiret>do you have a proper manifest.scm file? if so, you should not use guix package -i (aka guix install) but rather change your manifest and use `guix package -m`
<florhizome[m]>Normally scheme mode should handle that.
<jpoiret>if you want `guix package` to operate on a different profile, use -p profile-dir
<M6piz7wk[m]>jpoiret: i don't using `emacs --no-splash -q -l default.el default.el`
<florhizome[m]>What’s the major mode?
<florhizome[m]>I‘ve had one file where emacs didn‘t turn scheme mode on automatically, I needed to copy it. Don’t know why that happened
<jpoiret>oh yes, if you happen to change file extensions, you won't get syntax highlighting automatically
<florhizome[m]>There are also minor modes for guix but I’m not sure what they do exactly
<florhizome[m]>„guix–devel–mode“ or so I think is for working on scheme code
<florhizome[m]>No it was a .scm file, just didn’t get picked up
<M6piz7wk[m]>florhizome[m]: Emacs-Lisp ElDoc i guess?
<florhizome[m]>do m–x scheme mode
<florhizome[m]>That’d be weird, if nothing happens you should be in fundamental
<jpoiret>florhizome[m]: no but they were talking about using .mscm extensions previously
<florhizome[m]>oh
<florhizome[m]>what is that for?
<M6piz7wk[m]>florhizome[m]: Scheme Guile/A
<M6piz7wk[m]>i now have different color for comments and some things
<florhizome[m]>.mscm
<M6piz7wk[m]>this is .scm file
<M6piz7wk[m]>oh it has syntax highlighting
<M6piz7wk[m]>just kinda weird
<M6piz7wk[m]>like `use-modules` is purple
<M6piz7wk[m]>and some values are different shade of black
<M6piz7wk[m]>and comments are red
<florhizome[m]>emacs defaults
<florhizome[m]>?^^
<florhizome[m]>How familiar are you with emacs :D
<M6piz7wk[m]>i guess x.x are there any more colorized
<M6piz7wk[m]>used it 6 years ago for 3 days then 2 years ago for 7 days now using it again for 5 days
<florhizome[m]>I recommend doom–themes for a good bunch
<florhizome[m]>You can also use their modeline and solaire mode mode
<jpoiret>I think you should look into customizing emacs through your init.el, there are many good resources on the web about this
<florhizome[m]>*solaire mode
<florhizome[m]>Systemcrafters f.e. :)
<florhizome[m]>just start with vertico from the Start, don’t get into the ivy/helm trap ;P
<M6piz7wk[m]>florhizome[m]: that seems same just with different colors.. O.o
<florhizome[m]>(This is about completion systems)
<M6piz7wk[m]>is tehre a way to get like more complex highlighting ? like more things colorized
<jpoiret>lisps in general have very simple syntax, and so not much to highlight
<florhizome[m]>Uhm
<florhizome[m]>i use prism mode
<florhizome[m]>It uses different shades for the nestlings of lisp
<jpoiret>everything is a list, and even basic things are handled my macros and aren't even in the syntax itself
<M6piz7wk[m]>it's quite depressing compared to the highlighting i had in vscodium x.x
<M6piz7wk[m]>> <@florhizom:matrix.org> Uhm
<M6piz7wk[m]>> i use prism mode
<M6piz7wk[m]>> It uses different shades for the nestlings of lisp
<M6piz7wk[m]>prism mode?
<florhizome[m]>I think the package is called prism or prism mode
<M6piz7wk[m]>guix search prism returns nothing
<jpoiret>i don't think we should go too in depth about emacs customization here, there must be an #emacs channel for that, as well as a bunch of good resources out there
<florhizome[m]>Yeah you can dm me^^
<M6piz7wk[m]>The syntax highlighting on github looks much more comfortable though https://github.com/alphapapa/prism.el
<M6piz7wk[m]>jpoiret: oke x.x
***wielaard is now known as mjw
<civodul>jpoiret: sure, np! for the installer i'd rather let mothacehe take a look
<civodul>sneek: seen mothacehe
<sneek>I think I remember mothacehe in #guix 3 days ago, saying: rekado: re gc: yeah also killed it a couple of times, guess we're facing a serious problem.
<brendyyn>prism.el looks pretty radical
<florhizome[m]>civodul: this happens to me on guix home reconfigure since yesterday evening:... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/7dc8b4c4f6fbba328d4da67bf118823b43554ed9)
<florhizome[m]>(ofc the line before is just a syntax error in a package definition i fixed that now)
<xelxebar>Looks like it's trying to build a normal package...
<zimoun>“guix pull” broken because e31d48d. Could someone revert?
<florhizome[m]><xelxebar> "Looks like it's trying to..." <- The second line might be confusing... I Just had a Bad Definition in path.
<florhizome[m]>But the last line appears anyways. I tried simplifying my Home Definition to some packages, didn't help.
<florhizome[m]>The derivation should be that of a home service probably
<florhizome[m]>("on-first-login")
<vivien>Hi, do people know how I can use a printer on Guix System? I try to add it via the gnome control center, I can select it but then an error message informs me that it failed.
<florhizome[m]><zimoun> "“guix pull” broken because e31d4..." <- guix pull --switch-geberations
<vivien>I even tried to run as root to set it up, but it failed in the same way.
<florhizome[m]>?
<vivien>I think it’s not a problem with my printer, because I tried with another one some time ago and it failed in the exact same way.
<florhizome[m]>I haven't tried since on guix tbh
<zimoun>florhizome[m], thanks. I know the option. :-)
<florhizome[m]>zimoun: it worked?
<florhizome[m]>Vivien: i guess you installed your driver extension in your system config?
<florhizome[m]>cups should be running at localhost:631, you can try there directly
<zimoun>florhizome[m]: I do not know, it is not what I want to do.
<florhizome[m]>zimoun: hm, what did you want to do then?
<vivien>florhizome[m], thank you, I can add a printer from here. Unfortunately, it asks me the brand (it’s canon) but does not propose canon.
<vivien>I can also upload a PPD, but I don’t know where to find one.
<zimoun>Commit e31d48d seems incorrect. And this revision breaks “guix pull”.
<M6piz7wk[m]>How can i define my own channel that uses a git repository with the definitions in path/to/git/repo/pkgs/things/foo.scm ?
*M6piz7wk[m] is reading https://guix.gnu.org/en/manual/devel/en/html_node/Creating-a-Channel.html and doesn't understand it
*M6piz7wk[m] needs a custom channel for testing
<florhizome[m]>Vivien: archwiki lists a bunch of sources
<florhizome[m]>I have an epson fortunately ;)
<efraim>zimoun: Indeed. It doesn't look wrong though
<jlicht>I found the reason; sbcl-package->cl-source-package assumes all inputs are packages
<florhizome[m]>6piz7wk: Well.. i haven't tried but it seems pretty straight Up, have you looked at other custom channels?
<jlicht>which they aren't, in this case :-)
<jlicht>I'm not at my machine-with-commit-keys right now though
<M6piz7wk[m]>florhizome[m]: i didn't because i don't know where to look for custom channels x.x
<jlicht>specifically guix/build-system/asdf.scm, line 165: argument pkg might not be a package
<M6piz7wk[m]>i guess i have to define .guix-channel
*M6piz7wk[m] doesn't know what to put in that
<florhizome[m]>you need the .guix-channel file that describes the structure and have your modules named accordingly.
<florhizome[m]>I would guess as long as it's in your local filesystem to test you don't need auth so that's it and you could put it in your Channel config
<jlicht>efraim, zimoun: see my previous msg. It might make more sense to simply revert the borked commit for now
<efraim>jlicht: indeed, will do
<M6piz7wk[m]>ah found 6.8
<yewscion>Good Morning, Guix!
<zimoun>jlicht: thanks for the quick investigation. :-)
<jlicht>efraim: thanks!
<florhizome[m]>i get my emacs version from "flatwhatson"s Channel, the one with guile-dwl is "engstrand", adcw (or similar) has rde (guix home Definition) on sourcehut
<jlicht>zimoun: yw! Nothing like coming back from lunch break and seeing a failed guix pull :P
<florhizome[m]>could that correspond with my broken guix Home?^^
<florhizome[m]>* tries guix pull
<florhizome[m]>ah, pretty sure it was civoduls last guix home commit, it touches on-first-login. "sneek: later tell civodul" ?
<M6piz7wk[m]>how does guix know that it should be looking for packages in `pkgs/something.scm` ?
<efraim>florhizome[m]: I think I found a fix, give me a bit to check it
<jlicht>M6piz7wk[m]: I believe (by default) everything that is both exported and not a hidden package is found by fold-packages; see %package-module-path in gnu/packages.scm for the implementation details
<M6piz7wk[m]>oh O.o
*M6piz7wk[m] would prefer to be explicit in where guix is allowed to look
<florhizome[m]>efraim: sure! thanks.
<M6piz7wk[m]>if i make a custom channel and set guix as dependency can i just use the custom channel instead of guix and have all the guix packages + custom channel?
*M6piz7wk[m] wants to package bunch of tests that way
<civodul>M6piz7wk[m]: the 'guix' channel is implicitly a dependency of every channel
<M6piz7wk[m]>i see O.o
<efraim>florhizome[m]: I pushed a revert
<M6piz7wk[m]>AAAaaaaaAAAAaaAaaAAAAaaaaaAAAAaaAaaAAAAaaaaaAAAAaaAaaAAAAaaaaaAAAAaaAaaAAAAaaaaaAAAAaaAaaAAAAaaaaaAAAAaaAaaAAAAaaaaaAAAAaaAaaAAAAaaaaaAAAAaaAaaAAAAaaaaaAAAAaaAaaA
<abrenon>I updated my local copy of guix' sources and I'm attempting to build but I get this warning about the translations for the manual
<abrenon>"Your input po file po/doc/guix-manual.de.po seems outdated"
<M6piz7wk[m]>after 29 hours it hugging failed
<M6piz7wk[m]>💢
<abrenon>I get it for every language
<M6piz7wk[m]>> out of memory
<M6piz7wk[m]>-w-
<abrenon>I tried all reasonable I could think of to clean things up: make clean, ./bootstrap, ./configure --localstatedir=/var
<abrenon>s/ble/ble commands
*M6piz7wk[m] 's mood changed from being excited and learning how to write guix packages to wanting to burn that notebook to the ground
<abrenon>am I missing something ? what is this po4a-updatepo command mentioned further in the warning message ?
<abrenon>is there something I can do about it ?
<civodul>efraim, florhizome[m]: sorry for the breakage! i also noticed a few minutes ago and pushed a followup
<M6piz7wk[m]>civodul: wait are you the reason why my 29h long `guix pull` failed?
<M6piz7wk[m]>oh you ain't out of memory
<M6piz7wk[m]>\>.>
<M6piz7wk[m]>motivation to revolutionize guix's QA avoided
<efraim>civodul: thanks
<florhizome[m]> i just want to install plasmas breeze, bc it probably hast the nicest cursors in guix, but apparently i need to install half Plasma for that :O
<florhizome[m]>kwallet, kinit, plasma-frameworks, kglobalaccel...
<M6piz7wk[m]>How can i check if my package works?
<M6piz7wk[m]>is there some command or something
<M6piz7wk[m]>that i can just do on a scm file that contains the package definition
<singpolyma>M6piz7wk[m]: guix build -f PKG.scm
<M6piz7wk[m]>oh
<M6piz7wk[m]>cool
<singpolyma>Or guix build -L. pkg-name if you made a module
<M6piz7wk[m]>what's module
<singpolyma>Like, a guile module. Such a the ones inside guix itself full of packages
<M6piz7wk[m]>eh?
<M6piz7wk[m]>what's the difference in between package and module
<henk_guix>Another package question from me: I'm trying to download a binary in a .gz file, but that's not unpacked because 'unpack expects a tar.gz. Probably missed something somewhere?
<M6piz7wk[m]>like library that is used to do things with packages = module?
<henk_guix>Hello!
<abrenon>hi henk_guix : )
<henk_guix>hi sorry, something didn't look good
<henk_guix>my IRC that is
<henk_guix>Do you have any idea why I can't just unpack a gz file?
<singpolyma>M6piz7wk[m]: a package is just a value. A module is a bunch of scheme code together you can require into other files, etc
<abrenon>doesn't it depend on the build system you're using ?
<singpolyma>Just the same as a module in Python or anything else
<abrenon>I don't really know so I'm glancing at the source
<henk_guix>I'm using copy-build-system
<M6piz7wk[m]>singpolyma: i see O.o
<singpolyma>M6piz7wk[m]: not sure what languages you're familiar with maybe I can give a better example
<abrenon>I don't really understand what could be going wrong
<abrenon>but copy-build-system doesn't expose something called unpack
<M6piz7wk[m]><singpolyma> "6piz7wk: not sure what languages..." <- all of em just don't talk about java and C# x.x ... and brainfuck math hurts now
<abrenon>so I'd guess it comes from gnu-build-system ? why apparently is made to untar or unzip, but not to gunzip, so it might be why ?
<henk_guix>I think it does inherit a lot from gnu
<abrenon>s/why//g
<henk_guix>:)
<singpolyma>M6piz7wk[m]: ok, well I think python modules are the closest equivalent then to guile modules
<abrenon>I'm clearly missing something here, sorry, but I'd venture as far as to say that maybe it is the intended behaviour
<abrenon>and probably you should just exec your decompressor or something ?
<henk_guix>possibly, sounds like a plan
<M6piz7wk[m]>singpolyma: oh oke O.o So by defining package i am doing metadata and then i am using modules to process the package?
*abrenon is trying to think of a project which would build from some .gz data
<abrenon>your best bet is to read existing package definitions and try to find similar cases and see how it's done
<singpolyma>M6piz7wk[m]: no. By defining a packages you are (to extend the python analogy) instantiating an object. Nothing more
<M6piz7wk[m]>O.o
<M6piz7wk[m]>oke
<M6piz7wk[m]>kreyren@leonid ~/Repositories/guix-hello$ guix build -f hello.scm
<M6piz7wk[m]>guix build: error: #<unspecified>: not something we can build
<M6piz7wk[m]>w-w
<singpolyma>M6piz7wk[m]: seems like the file does not end with a package
<singpolyma>Probably you have it wrapped in define-public?
<M6piz7wk[m]>o.o
<M6piz7wk[m]>yes.. it's not supposed to be wrapped in it?
<singpolyma>M6piz7wk[m]: it depends what you want. Easiest thing to do to make guix build work for the moment is just make the last line be the variable name by itself (no parent)
<singpolyma>S/parent/parens
<singpolyma>That will evaluate to the value in the variable and thus to the package
<M6piz7wk[m]>trying to define a simplest possible package so that i can learn how it works and define a working environment x.x
<M6piz7wk[m]>did:... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/8a406e336e393378d6bd5d39549d96647ea94591)
<singpolyma>Ok. I would suggest given how guix shell works that you make the "main" package in a file not a variable and name the file guix.scm if you plan to keep this as a one-off out-of-tree package
<M6piz7wk[m]>rather want to define a template out of it to develop packages from it
<singpolyma>Packages that will go into guix as patches, or into a channel, or you will keep just seperately?
<M6piz7wk[m]>so ideally a thing that can be defined as a channel on demand
<M6piz7wk[m]>singpolyma: either? depending on the package
<singpolyma>Ok. I *think* channels are full of modules, so if you want to make a channel I suggest making packages in modules.
<singpolyma>If you want to submit to guix as a patch I would suggest just developing right inside the guix codebase to begin with
<M6piz7wk[m]>singpolyma: i want to develop my environment outside so that it's not spamming unfinished things in the guix repo
<singpolyma>Branches are pretty good at that
<M6piz7wk[m]>but preferable something that can be just copy pasted to guix
<M6piz7wk[m]>so module is not great idea?
<vivien>So, what is the plan for at-spi2-core on core-updates-frozen?
*M6piz7wk[m] is getting flustrated by the lack of information on guile and guix >.<
<singpolyma>M6piz7wk[m]: if you do it in an out of tree module that will be the easiest cut-paste, but if you intend them to go in eventually using branches of the actual guix git will probably save you work
<M6piz7wk[m]>>.<
<M6piz7wk[m]> * \>.<
<florhizome[m]>civodul: nothing bad, good occasion for learning how to switch generations now. Home reconfigure works again here :)
<M6piz7wk[m]>How do i make the bare-minimum guix repo? just keeping the base.scm ?
*M6piz7wk[m] is thinking about defining a docker environment to which he injects his file and builds it through `guix shell my-package -- command`
<jlicht>I think adding docker to the mix is overcomplicating things, but YMMV
<M6piz7wk[m]>sigh w/e i can keep all the files
<M6piz7wk[m]>How else do you ensure that it builds on other archs
<jlicht>docker does not firectly deal with other archs, right?
<M6piz7wk[m]>.. and works
<jlicht>s/f/d
<M6piz7wk[m]>nope, but i can inject it in vagrant
<jlicht>this is above my paygrade ;). You can use qemu-binfmt on guix to build and run stuff for other architectures. I'm not saying it always works, but it seems less complicated than adding several other tools
<M6piz7wk[m]>you are getting paid for working with guix? O.o
<singpolyma>M6piz7wk[m]: guix shell -C will give you a container already
<jlicht>Just in good feelings
<M6piz7wk[m]>jlicht: so if i give you virtual headpats will that increase your paygrade? :P
<M6piz7wk[m]>singpolyma: i can do guix shell on file definition of a package?
<singpolyma>M6piz7wk[m]: yes
<singpolyma>Same as guix build or guix install or anything else
<M6piz7wk[m]>eh how?
<M6piz7wk[m]>oh -f
<abrenon>yeah it's very useful when working on some code
<abrenon>because you can allow guix shell to auto-load the guix.scm it finds there
<M6piz7wk[m]>How do i figure out what to import?
<M6piz7wk[m]>> /home/kreyren/Repositories/guix-hello/hello.scm:30:26: error: gnu-build-system: unbound variable
<M6piz7wk[m]>> hint: Did you forget a `use-modules' form
<abrenon>yeah, it usually tells you what to import
<abrenon>and when it doesn't but you're sure the package exists you can guix search it
<apteryx>M6piz7wk[m]: what abrenon said; but it's good to have the guix source available to refer to
<abrenon>and in the report displayed, one field tells you where it's defined
<abrenon>you can also guix edit it, and look at the path of the file open
<abrenon>whatever floats your boat
<M6piz7wk[m]>oke O.o
*M6piz7wk[m] sent a console code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/6f1d2868c1bba9acb21a4841fa300cd51a3ea7df
<M6piz7wk[m]>eh.. x.x
<zimoun>My OCaml setup is a bit old. How do I use a module from toplevel? I do “guix shell ocaml ocaml-num” then I would like to check Big_int and friend, how?
<abrenon>like #load ?
<zimoun>abrenon, yeah this was my old and vague remembering. But it does not work. So I should miss something.
<abrenon>I was trying to gain time because it's old for me too
<zimoun>heh
<abrenon>I'm pretty sure I managed to import something when I was giving grew a try, it's must be a matter of path above
<zimoun>maybe roptat knows the obvious solution. :-)
<abrenon>I bet he does
<abrenon>ok, so #load "str.cma" works, because it's in /gnu/store/.../lib/ocaml
<abrenon>now my $OCAMLPATH also contains site-lib, so why doesn't "num/num.cma" work ?
*M6piz7wk[m] ragequits writting the package
<abrenon>don't despair M6piz7wk[m] you mustn't be too far
<roptat>abrenon, zimoun sorry I never managed to get it to work...
<zimoun>abrenon, because the file does not exist, I guess.
<abrenon>yeah, obviously but why ? it's there ! I'm know
<roptat>M6piz7wk[m], what does hello.scm look like?
<zimoun>roptat, so how do you use libraries in the REPL?
<M6piz7wk[m]>roptat: like hugging garbage
<abrenon>I tried "site-lib/num/num.cma" too…
*M6piz7wk[m] sent a scheme code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/7ad1c5dbcdfb78f8efa8f61a7414290b91233e4a
<abrenon>maybe ocaml just doesn't like symlinks ?
<roptat>M6piz7wk[m], uh, I thought we now had better error messages for that case...
<zimoun>abrenon: find $GUIX_ENVIRONMENT -name "*.cma" will show you, I guess.
<M6piz7wk[m]>hmm >.>
<roptat>M6piz7wk[m], evaluating this scheme file results in #<unspecified> because the last expression is a (define-public ...). You want to return a package object instead, which you can do by adding my-package in a single line at the end
<M6piz7wk[m]>i had it there and it errored too Y_Y
<roptat>but it must have been a different error, no?
*M6piz7wk[m] sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/384b2cb96016edd6b6fb834e40455610470b784b
<M6piz7wk[m]>i guess.. no idea what's happening
<M6piz7wk[m]>i lack the experience to interpret the backtrace
<singpolyma>oh, yeah, the backtraces are useless. I just take them as "something went wrong"
<roptat>even with experience it's hard
<abrenon>you want "gnu-make: unbound variable"
<M6piz7wk[m]>and `error: gnu-make: unbound variable` doesn't ring any bells
<M6piz7wk[m]>abrenon: ha! saw that comming
<abrenon>^^
<roptat>yeah, but you don't have gnu-make in your file...
<M6piz7wk[m]>how could it be missing something i literally just took base.scm and removed thing from it but the imports
<M6piz7wk[m]>O.o
<roptat>dunno, let me try
<M6piz7wk[m]>guix has defined gnu-make though.. shouldn't it take that?
<roptat>mh, I get the same backtrace, at least
<abrenon>actually hello is packaged as an example in http://guix.gnu.org/manual/en/html_node/Invoking-guix-package.html
<roptat>not if it's missing an import somewhere
<abrenon>the import list is much shorter
<M6piz7wk[m]>abrenon: didn't help much
<M6piz7wk[m]>i feel like reading that manual just makes things worse
<abrenon>that's a problem ! : )
<roptat>ah!
<M6piz7wk[m]>hmm >.> mostly bcs it just makes me ask more questions to which i can't find answers to
<roptat>M6piz7wk[m], you defined a module (gnu packages base)
<roptat>which overrides the one from guix, that defines gnu-make
<M6piz7wk[m]>the manual example works, but it's not in the same format as what guix accepts
<abrenon>guix build, yes
<roptat>and so the first dependency that needs something from (gnu packages base) fails, and that's something that needs gnu-make
<abrenon>yeah, by not trimming the import list, you caused your doom
<roptat>M6piz7wk[m], rename the module: (define-module (gnu packages base) ...) -> (define-module (gnu packages base2) ...)
<M6piz7wk[m]>roptat: i am not defining i am using?
<abrenon>the module override of packages base like roptat said, plus you'd probably have had an error for exporting something you don't declare
<M6piz7wk[m]>oh i am
<abrenon>delete everything
<abrenon>and start from there
<abrenon>editing source files from guix' own source code isn't a sane approach to creating new packages
<roptat>abrenon, no you can export something you don't declare... guile is weird
<abrenon>roptat: you can ?!
<roptat>and you don't even get a warning ...
<abrenon>sorry… I assumed it made sense ; )
<abrenon>M6piz7wk[m]: I copied your definition without the import in a new file, built that and got
<M6piz7wk[m]>Can someone just give me a working thing that i can maintain clean environment from...
<M6piz7wk[m]>kinda painful to try to duct tape a broken thing hoping for a miracle
<roptat>M6piz7wk[m], for stand-alone files, you usually don't want to declare a full module, but rather use (use-modules (guix build-system gnu) (guix download) ...)
<M6piz7wk[m]>or should i just use the example from manual and keep in mind that i have to convert it?
<abrenon>unbound variable package, try adding (use-modules (guix packages))
<roptat>M6piz7wk[m], here's an example of what I use: https://git.lepiller.eu/guile-netlink/tree/-//guix.scm
<abrenon>there's nothing to convert, the example is perfect, it's just not the format you want in order to contribute a new package to guix
<abrenon>but it's enough for you to build your package localy, to hack on some repos etc.
<M6piz7wk[m]>abrenon: how painful it is to convert it into a guix package after?
<civodul>rekado_: i can now build my Beamer slides with modular TeX Live! \o/ thank you!
<civodul>i'll share my manifest
<roptat>not very hard, you just copy the package form, put it in a define-public bloc and maybe add a few imports
<abrenon>M6piz7wk[m]: add line (define-public your-package-name
<M6piz7wk[m]>abrenon: oh..
<abrenon>M6piz7wk[m]: indent the block two spaces right (trivial if you use vim or emacs)
<M6piz7wk[m]>well now i feel stupid
<abrenon>M6piz7wk[m]: add the trailing )
<M6piz7wk[m]>though it was much more complicated
<abrenon>please don't
<abrenon>it's really not obvious
<M6piz7wk[m]>... well i am going to use the manual example then >.<
<roptat>I find it a bit easier if you modify a checkout of the git repo directly, but it's a matter of taste :)
<roptat>and it requires some more setup
<abrenon>but it's actually the same thing, this define-public is just there to give a name to your package, which is useful in a module which contains and exports several of them
<M6piz7wk[m]>roptat: o.o
<abrenon>if you're familiar with lambda calculus, it's really just a matter of writing: "T" vs. "let x = T in x"
<roptat>M6piz7wk[m], it's really the same thing, it just removes a step when you want to contribute the package
<zimoun>roptat, I ma trying to build a package and I get «Error: Unbound module Big_int». The package ocaml-num is listed in inputs. I miss what is wrong. Any idea?
<M6piz7wk[m]>roptat: how do i test the package if i do it that way?
<M6piz7wk[m]>like i have to build guix for that no?
<podiki[m]>did the CI run out of space a week ago? bunch of (i686) builds failed due to space and looks like were never re-attempted (e.g. tevent, groff)
<roptat>yes, you'd need to run make on the repo and use ./pre-inst-env
<podiki[m]>so a good chunk of i686 is not built, wasn't sure if the rust/svg/pixbuf was sorted or not on i686 (core-updates-frozen)
<M6piz7wk[m]>podiki[m]: from what i captured someone broke it and it's nowreverted?
<roptat>zimoun, maybe missing some variables? are you using the ocaml- or dune-build-system?
<M6piz7wk[m]>roptat: so i have to build guix each time i want to test a new definition?
<apteryx>podiki[m]: due to polkit I guess; we were discussing using polkit-duktape instead of polkit on rustless archs
<apteryx>I'm not too sure if we can make the package conditional; need experimenting
<zimoun>roptat, none. gnu-build-system. It is a Coq package.
<roptat>M6piz7wk[m], mh, put it that way it sounds expensive, I dunno. I'm just used to it and do it all the time, so I don't really see the cost. Once you built the repo once, you can make changes and run ./pre-inst-env immediately. You don't have to build everything all the time
<roptat>zimoun, that could explain it
<M6piz7wk[m]>x.x
<roptat>zimoun, oh maybe you're missing ocaml itself in the inputs?
<roptat>M6piz7wk[m], it's up to you really, both methods are similar
<zimoun>heh, it is. The failure comes from “ocamlbuild -no-hygiene -classic-display -libs num“
<roptat>M6piz7wk[m], like I said, it's more of a matter of taste
<podiki[m]>apteryx: the tevent, groff, etc. builds failed due to lack of space and is down in dependencies before tex and stuff it looked like
<roptat>zimoun, I wonder if OCAMLPATH is defined in the build environment?
<podiki[m]>apteryx: but you're saying will get a rebuild when polkit sorted?
<apteryx>podiki[m]: hm, no these are lowel levels deps that wouldn't be affected by pushing changes to polkit
<apteryx>we should just restart them manually if they failed due to enospace
<zimoun>roptat, for debuging, I did ‘./pre-inst-env guix shell -D coq-semantics’ and run by hand some commands.
<podiki[m]>apteryx: that's what I saw, from Nov 5 builds, eg https://ci.guix.gnu.org/build/1435320/details
<roptat>zimoun, I don't have coq-semantics :/
<M6piz7wk[m]>roptat: is there some kind of caching that avoids duplicate builds or?
<zimoun>roptat, I am trying to add it. ;-)
<roptat>zimoun, can you share?
<roptat>M6piz7wk[m], as with all repositories, make will only rebuild what's necessary
<zimoun>I met the author last week and that motivated me. ;-)
<roptat>nice :)
<M6piz7wk[m]>roptat: i see
<M6piz7wk[m]>wait what? i am not aware of make having caching of steps
<M6piz7wk[m]>is this gnumake or something
<singpolyma>M6piz7wk[m]: only rebuilding what needs to be rebuilt is the whole point of make
<roptat>M6piz7wk[m], sorry I was talking about a checkout of the guix git repository
***MidAutumnMoon3 is now known as MidAutumnMoon
<M6piz7wk[m]>singpolyma: does that scenario ever include make not having to build the whole repo after a first build?
<singpolyma>M6piz7wk[m]: yes, always
<singpolyma>unless the Makefile is super broken
<M6piz7wk[m]>O.o oke i try both methods
<roptat>zimoun, this works: "ocamlbuild -no-hygiene -classic-display -use-ocamlfind -pkg num -libs num little.native"
<roptat>actually even without -use-ocamlfind
<roptat>you need to add -pkg num to find it, and the file is called num.cmxa, not nums.cmxa, so it's -libs num
<zimoun>roptat, thanks. I failes to use paste from Debian. I sent you by email. Drop it if irrelevant.
<roptat>zimoun, I found the package and used an environment with ocaml ocamlbuild and ocaml-num
<roptat>hopefully it's good enough :) I had the same issue and it was fixed by changing the ocamlbuild line
<zimoun>roptat, ok. I get Solver failed: but something should be wrong with the env.
<podiki[m]>question on special file services: if you remove from your config and reconfigure, should those links be removed automatically by guix?
<civodul>rekado_: here's my Beamer manifest: https://git.savannah.gnu.org/cgit/guix/maintenance.git/tree/talks/beamer-manifest.scm?id=31eacf80f817f94ca9fa3b2f22dafc5b990f5b07
<zimoun>roptat, indeed. Something was wrong. Thanks!
<vivien>Is there a plan to fix the propagation of at-spi2-core in core-updates-frozen? That’s a rather annoying issue :(
<civodul>vivien: what's the issue? that's when adding gnome to a profile, right?
<vivien>civodul, using the gnome-desktop-service-type puts gnome into the profile, which widely propagates stuff and at the end of the day I can’t reconfigure my system.
<podiki[m]>I was also going to finally guix pull on my older core-updates-frozen guix..... (but I don't use gnome)
<apteryx>vivien: could you remind us what how the issue manifest itself? a clash of at-spi2-core and at-spi2-core-minimal in the same profile (propagated by different packages in the closure of the GNOME meta package?
<apteryx>the minimal variant was introduced to break a cycle betweek GTK+ and Inkskape 1 in 2a92a2bc18ff1a95f507388c09d110715c2a507a
<vivien>apteryx, when I reconfigure my system, I get this error message: https://vivien.planete-kraus.eu/at-spi2-core-clash.log
<civodul>why is network-manager-applet propagating gtk+?
<apteryx>is the clash fatal only because the packages share the same name?
<civodul>looks like network-manager-applet has no reason to propagate anything
<civodul>perhaps an easy fix?
<civodul>apteryx: yes
<apteryx>perhaps another (dirtier) way to fix it would be to append '-minimal' to the name of th minimal variant
<vivien>I think rekado had seen a bigger problem, but I don’t remember exactly how that went (I didn’t care at that time because I had not tried to reconfigure ^^)
<civodul>apteryx: but then we'd get a big rebuild, no?
<apteryx>yeah
<apteryx>well a rebuild of 32% of the world
<apteryx>< 32%
<apteryx>;-)
<apteryx>but it'd be nicer to fix it another way if possible!
<rekado_>apteryx: could we not propagate the -minimal variant and make sure to explicitly add whichever variant is needed?
<rekado_>propagation has its way of escalating.
<rekado_>but civodul’s question is valid too: why does network-manager-applet propagate anything at all?
<rekado_>(this doesn’t remove the cause of the problem, but it’s another wart that we could probably do without)
<civodul>rekado_: so i tried depropagating from network-manager-applet and gnome-bluetooth, but there's always another one that does the same
<civodul>gnome-desktop now
<civodul>so i'm not sure if this is a viable approach
<apteryx>why was it propagating gtk in the first place? there must have been a reason
<apteryx>libnm-gtk.pc refers to all these.
<apteryx>so for pkg-config
<rekado_>I feel like we’re on the cusp of coming up with a new paradigm for conditional propagation…
<civodul>right, but these packages are leaves, normally
<civodul>(not exactly in practice)
<apteryx>yeah, I agree
<civodul>rekado_: no way! :-)
<zimoun>roptat, thanks. Package just builds fine. :-)
<abrenon>bye everyone !
<roptat>zimoun, also "something must be wrong" (« quelque chose doit mal se passer »), not "something should be wrong" (~« il faudrait que quelque chose se passe mal ») ;)
<zimoun>roptat, thanks.
<tissevert>hi
<roptat>hi tissevert :)
<tissevert>hi roptat
<tissevert>my IRC was displaying this chan like I had a mention but I could never find it scrolling back 3 days so…
<tissevert>don't assume I'm rude if I haven't answered, someone, I'm just clueless : D
<M6piz7wk[m]>I have the hello thing working.. how can i make a file and put it somewhere on the system?
<roptat>M6piz7wk[m], what do you mean? your hello package is already in a file, isn't it? :)
<M6piz7wk[m]>i want to learn how can i make a package that creates a file
<M6piz7wk[m]>or do you have ideas for some good exercises?
<roptat>a package can only create files/directories in its output when it's being built
<M6piz7wk[m]>dumb it down x.x
<M6piz7wk[m]>what's output
<M6piz7wk[m]>in this context
<roptat>that's the path in the guix store, /gnu/store/..., where all the files of a package are installed
<roptat>like /gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10 for the hello package (on some guix revision, the path can differ)
<M6piz7wk[m]>so is it a good practice to learn how to create a file in the output
<roptat>usually it's not needed, because that's the role of "make install" or whatever the package uses
<roptat>or, you would need to copy a file, but it's very rare that you need to create a new file
<M6piz7wk[m]>afaik important for patching in case the project doesn't work well for the distro
<M6piz7wk[m]>at least from my experience with portage/paludis
<singpolyma>It's usually only needed if you make a manual wrapper like wrap-program but custom somehow
<M6piz7wk[m]>what is a good exercise then
<M6piz7wk[m]>or how do i get the practice with making packages so that i can make them comfortably without annoying everyone in the chat
<roptat>to patch, you can either apply a patch on the origin (there's a patch field), or you'd patch the source with a substitute* (equivalent to a sed from the shell)
<singpolyma>M6piz7wk[m]: just start packaging stuff, I would say. Nothing like real practise
<M6piz7wk[m]>roptat: noted
<M6piz7wk[m]>singpolyma: oh O.o
<roptat>well, I'd say make a package, annoy us and once you have a bit of practice it'll be easier ^^
<M6piz7wk[m]>lets package cargo-make then! ^-^
<singpolyma>roptat: or... Snippets, right?
<roptat>ah yes, you can also fix sources with a snippet in the origin
*M6piz7wk[m] has no idea how to start making a package, but he remembers a command that generates the cargo derivation that he's mangling and unable to make work
<roptat>"guix import cargo make" might work
<singpolyma>M6piz7wk[m]: yeah, starting with something that has an importer is a great choice
<M6piz7wk[m]>roptat: invalid importer
<M6piz7wk[m]>-r cargo i think
<singpolyma>It's crate not cargo
<roptat>-r is for --recursive
<roptat>I'm not familiar with rust
<singpolyma>I mess that one up every time
<roptat>we should make an alias...
*M6piz7wk[m] figured out `guix import crate cargo-make`
<singpolyma>You probably do want with -r
<singpolyma>Also
<M6piz7wk[m]>is there any better way of figuring out what to import instead of mindlessly pressing guix-shell -f pkgs/cargo-make.scm and copy pasting the "did you forget" things?
<M6piz7wk[m]>singpolyma: it should have the deps already package afaik
<singpolyma>Not that I know
<M6piz7wk[m]>well ichecked like 30% of them and then gave up
<roptat>not really, after some time you'll know which ones you need all the time and it'll be a bit faster
<M6piz7wk[m]>so probably not
<M6piz7wk[m]>singpolyma: aaaaaaa
*M6piz7wk[m] goes to steal the imports from random rust pkgs
<M6piz7wk[m]>/home/kreyren/Repositories/guix-hello/pkgs/cargo-make.scm:11:14: error: crate-uri: unbound variable
<M6piz7wk[m]>ehh
<M6piz7wk[m]>crate-uri
<M6piz7wk[m]>that smells of (guix build-system cargo) ?
<M6piz7wk[m]>isn't there an extension to emacs like the google thing for go that just violates your code each time you type something to add the imports
<M6piz7wk[m]>and yells at you if you touch the imports
<M6piz7wk[m]>golang is so annoying meh
<roptat>M6piz7wk[m], yes (guix build-system cargo) has crate-uri
<M6piz7wk[m]>how did you figured that out!
<M6piz7wk[m]>aaa backtrace i am scared
*M6piz7wk[m] sent a console code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/b5f76225e5e77d83ee52617c15fb5cca07026156
<M6piz7wk[m]>Package definition:... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/05afda572a7f0ccacaec7d1a921c39314ab61523)
<roptat>M6piz7wk[m], looks like the same error, the file doesn't evaluate to a package definition?
<M6piz7wk[m]>oh bcs define-public
<M6piz7wk[m]>ehhh
<roptat>I don't get why you get a backtrace, there should be a hint for that case...
<roptat>oh, you get a hint with guix build, but not guix shell
<M6piz7wk[m]>apparently needs deps x.x... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/ec0230875845b7050ceff2e72f3cce8a993eb7af)
<M6piz7wk[m]>ehh whaddya do now
<M6piz7wk[m]>do i just import with recursive
<M6piz7wk[m]>and.. ehh
<M6piz7wk[m]>save me
<roptat>no it's already a package in guix
<M6piz7wk[m]>so just use-module something something
<M6piz7wk[m]>?
<roptat>I tried "guix show rust-ansi-term@0.12" and it tells me it's in (gnu packages crates-graphics)
<roptat>yes
<M6piz7wk[m]>(guix packages something) ?
<roptat>gnu, not guix, but yes
<M6piz7wk[m]>error: rust-cargo-metadata-0.14: unbound variable
*M6piz7wk[m] is trying the guix show
<M6piz7wk[m]>location: gnu/packages/crates-io.scm:8283:2
<M6piz7wk[m]>?
<M6piz7wk[m]>-> (gnu packages crates-io) ?
<roptat>yes
<M6piz7wk[m]>yay i learned something
<roptat>although, I don't have version 0.14 here (maybe I just have an older guix revision)
<M6piz7wk[m]>still unbound x.x
<roptat>M6piz7wk[m], you sure you got the location for version 0.14?
<roptat>you might have to use -r
<M6piz7wk[m]>roptat: what
<M6piz7wk[m]>for 0.6.4
<M6piz7wk[m]>x.x
<M6piz7wk[m]>0.13.0 seems latest
<M6piz7wk[m]>-> submit bump?
<M6piz7wk[m]>... that seems complicated x.x
<roptat>for rust I think we just add new versions, we don't bump them
<M6piz7wk[m]>the emacs's term is weird it keeps breaking
<roptat>but I'm not very familiar with this part of guix
<M6piz7wk[m]>roptat: oh O.o
<M6piz7wk[m]>ehh
<M6piz7wk[m]>howddya do taht
<M6piz7wk[m]>oh
<M6piz7wk[m]>i should probably define it in guix repo
<roptat>I think it's because packages expect exact versions in rust land, so we can't just bump a package, it would break dependents
*M6piz7wk[m] goes to do that
***dragestil_ is now known as dragestil
<M6piz7wk[m]>so ehh i define it in guix repo how do i test it now?
<M6piz7wk[m]>just make?
*M6piz7wk[m] pokes roptat
<roptat>if you never run it before, "./bootstrap" "./configure --localstatedir=/var" "make"
<roptat>can take some time
<M6piz7wk[m]>hm o.o
<M6piz7wk[m]>aaaa that needs so many things
<roptat>ah, you can run that in "guix shell -D guix"
<M6piz7wk[m]>what package provides autoreconf?
<roptat>that's the easiest to get all the dependencies
<M6piz7wk[m]>that's invoking the guix.scm file right
<roptat>no, that creates an environment with all the dependencies of the guix package
<M6piz7wk[m]>so hardcoded thing?
<roptat>yes? but you can change the package, like guix shell -D hello gives you an environment that contains the dependencies of the hello package
<M6piz7wk[m]>O.o
<M6piz7wk[m]>so it is invoking the guix.scm file in the guix repo ?
<roptat>not at all
<M6piz7wk[m]>x.x
<M6piz7wk[m]>oke x.x
<tissevert>here "-D guix" as a whole is an argument to guix shell
<tissevert>it tells guix shell what to put in the environment it prepares
<M6piz7wk[m]>i see O.o
<roptat>it would if you specified -f guix.scm, or with no arguments, but don't do that, because guix.scm in the guix repo doesn't work with guix shell, it's just a guile module
<M6piz7wk[m]>oke
<tissevert>you were probably referring to some development feature, where developers commonly define a guix.scm file to describe how to compile their package
<M6piz7wk[m]>how long will it build on 4 threats at 3.8 Ghz
<roptat>~5-10 minutes
<tissevert>but here it's the name of a particular module defining the guix command
<M6piz7wk[m]>i see O.o
<M6piz7wk[m]>is there any better emacs terminal that works with this environment? the default one is keep breaking lines and doesn't do a good job
<tissevert>actually it's a bit weird, because when you "guix shell -D guix", you ask your currently installed guix to prepare an environment containing the packages needed to develop… the guix package (as it is known by your current version of guix ! it has no link whatsoever with the current copy you happen to have in the current folder: you could run that command in any folder on your machine)
<tissevert>it just so happens that this development environment is suitable to… build what is in the current folder, since it's the same software (except for the version)
<M6piz7wk[m]>ah o.o
<podiki[m]>6piz7wk: in case you hadn't seen it, this is the part of the manual for reference (I check like every time I do it cause I always forget a step) https://guix.gnu.org/manual/devel/en/html_node/Building-from-Git.html
<M6piz7wk[m]>noted thanks
<M6piz7wk[m]>> guix shell -D guix --pure
<M6piz7wk[m]>is the `--pure` important?
<podiki[m]>yeah, think so (to have a clean environment using only what is in there)
<roptat>yes, but you'll need to edit files from another terminal
<M6piz7wk[m]>roptat: why from another terminal?
<M6piz7wk[m]>oh pure just makes everything else unavailable?
<roptat>--pure will ensure you can only use the dependencies of guix
<roptat>so no text editor
<M6piz7wk[m]>i see
<podiki[m]>err, did something change on core-updates-frozen?
<podiki[m]>Generating package cache for '/gnu/store/ci1bfiv0sblwb285wsic56mb6hayz57x-profile'...
<podiki[m]>(exception unbound-variable (value #f) (value "Unbound variable: ~S") (value (gdk-pixbuf+svg)) (value #f))
<podiki[m]>(unless this is from another channel I use...)
<apteryx>gdk-pixbuf+svg no longer exists
<apteryx>obsoleted by librsvg
<M6piz7wk[m]>guix is written in golang?
<roptat>no it's written in guile
<roptat>go is for "guile object"
<M6piz7wk[m]>it does imports of lot of go things
<roptat>or something like that ^^'
<M6piz7wk[m]>oh
<M6piz7wk[m]>guile object
<M6piz7wk[m]>not go lang thing
*M6piz7wk[m] remembered that he read that on wiki x.x
<M6piz7wk[m]>packaging emacs-libterm next
<M6piz7wk[m]>the default term sucsk
<apteryx>as an emacs neophyte you may be feeling more at home with M-x ansi-term
<podiki[m]>roptat: thanks, I'll track it down; maybe flat's emacs repo?
<roptat>podiki[m], no idea
<M6piz7wk[m]>apteryx: no match
<podiki[m]>or err no, my own packages :-P
<apteryx>M6piz7wk[m]: it's builtin in Emacs
<podiki[m]> https://github.com/akermu/emacs-libvterm is quite nice
<M6piz7wk[m]>apteryx: `guix shell emacs -- emacs` is not
<podiki[m]>(i meant thanks apteryx sorry!)
<nckx>Sup Guix.
<M6piz7wk[m]>O.o
<M6piz7wk[m]>ah ansi
<M6piz7wk[m]>not asci
<M6piz7wk[m]>damned dislexia
<podiki[m]>o/ nckx
<M6piz7wk[m]>apteryx: feels better thanks
<M6piz7wk[m]>71% 🌟_🌟
<apteryx>soon you'll realize you want to be able to search use regular emacs abilities in your term, then you'll want M-x term ;-)
<M6piz7wk[m]>apteryx: why would anyone want that~
<apteryx>searching the scroll back is one example
<M6piz7wk[m]>hm O.o
<M6piz7wk[m]>i guess it would be less annoying if it broke less and scrolled down on new input x.x
<M6piz7wk[m]>or made it less annoying to keep up with the latest output
<M6piz7wk[m]>guile compiles in C right
<apteryx>nope, it byte compiles for now; that'd be Chez
<M6piz7wk[m]>byte compiles?
<M6piz7wk[m]>like in machine code?
<apteryx>target its own VM
<apteryx>virtual machine yes
<M6piz7wk[m]>like LLVM ?
<apteryx>like Python and its .pyo
<apteryx>not sure about llvm
<M6piz7wk[m]>or like is it comparable to the efficiency of rustlang
<M6piz7wk[m]>oh
<apteryx>no, rust produces native code
<roptat>llvm has a bitcode format, but it's mostly used as an intermediate representation, I don't think anyone actually executes it
<M6piz7wk[m]>rustlang compiles in llvm instructions
<roptat>llvm bytecode is usually compiled to native code (assembly)
<M6piz7wk[m]>yep O.o
<roptat>but not guile bytecode, it's more like java bytecode for instance
<M6piz7wk[m]>ehw java
<M6piz7wk[m]>it feels like guix is much more efficient on storage compared to nixos.. it kept flooding my store with X amount of GB that it didn't even allowed me to garbage collect
<apteryx>guix has deduplication turned on by default for its store; nix doesn't
<M6piz7wk[m]>cool O.o
<apteryx>it's a tradeoff; 'guix gc' becomes more expensive, having to cleanup the deduplication links.
<nckx>The drawback is that ‘guix gc’ with it turned on can be very slow on rotating HDDs.
<nckx>☝ that.
<M6piz7wk[m]>make finished what now
<apteryx>./pre-inst-env guix build hello
*nckx got distracted because they wanted to link to Guile's ‘Compile Tower’ chapter for M6piz7wk[m], and… I can't paste? In anything? In sway, after about a week of uptime, suddenly.
<nckx>Anyone ever had this happen?
<M6piz7wk[m]>ehh am i deploying what i wrote in guix on my system?
<apteryx>nckx: that was a feature of Xorg
<M6piz7wk[m]>bcs that seems like a major mistake
<M6piz7wk[m]>kreyren@leonid ~/Repositories/guix [env]$ ./pre-inst-env guix build hello
<M6piz7wk[m]>/gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10
<M6piz7wk[m]>it's alive?
<roptat>yes it worked
<M6piz7wk[m]>yay
<M6piz7wk[m]>so `./pre-inst-env guix shell cargo-make -- makers --version` now?
<apteryx>nckx: is this on core-updates-frozen?
<M6piz7wk[m]>... to test the package i wrote..
<M6piz7wk[m]>... generated
<M6piz7wk[m]>yep seems to reproduce the thing
<roptat>M6piz7wk[m], you probably want to try and build it first
*M6piz7wk[m] goes to define rust-cargo-metadata-0.14
<roptat>I mean, it works too :)
<M6piz7wk[m]>roptat: guix shell doesn't build it?
<roptat>yes it does
<podiki[m]>for building guix shell won't give much output directly, so if debugging a build I tend to use guix build (or in a ./pre-inst-env) directly
<M6piz7wk[m]>i have to do `make` on each change right
<apteryx>you don't but it'll speed things up
<M6piz7wk[m]>podiki[m]: i see O.o
<M6piz7wk[m]>what's even happening on the background?
<podiki[m]>personally (new-ish) I tend to do packages outside of a full guix checkout until I need to actually make the patches; but that might not be as efficient
<roptat>for just a package that you change multiple times I find it easier to not run make until I have a version I'm happy with (or if I need to change more than 2-3 files)
*M6piz7wk[m] wants to adapt his brain compiler
<M6piz7wk[m]>> error: rust-ci-info-0.14: unbound variable
<M6piz7wk[m]>? O.o
<M6piz7wk[m]>can't import it x.x
<roptat>M6piz7wk[m], "guix import care ci-info -V 0.14"?
<roptat>crate*
<nckx>apteryx: I asked you what you meant by ‘that was a feature of Xorg’, because me no grokky, but that never arrived because my wi-fi card stopped working. So I rebooted. Paste (both via ‘the clipboard’ and ‘the primary selection’) works fine now.
<nckx>What a fun adventure.
<nckx>apteryx: No, it is on mostly-master.
<M6piz7wk[m]>ci-info@0.14?
<M6piz7wk[m]>that outputs version info of guix
<M6piz7wk[m]>yep
<M6piz7wk[m]>^-^
<roptat>-V not -v
<roptat>ah sorry
*roptat can't read --help output
<apteryx>nckx: ah, it was an attempt at a joke
<nckx>Oh! :)
*apteryx known next to nothing about wayland/sway
<apteryx>knows*
<M6piz7wk[m]>> * <@roptat:libera.chat> can't read --help output
<M6piz7wk[m]>better not being able to read --help output then not being able to understand the manual *laughs in pain*
<nckx>TBH I don't know the technical details either (how it is implemented/emulated across Wayland/X clients) but it just works. Most of the time.
<apteryx>that's nice. I'm interested in trying it one day, when I have to deal with multiple displays of mismatch pixel density
<dstolfa_>i really wish wayland wasn't held back by nvidia and the likes :(
<podiki[m]>I wish wayland had a stumpwm or xmonad; that's why I won't switch yet
<drakonis>well, good news
<drakonis>the drivers now support gbm
<drakonis>which means you can use wayland
<podiki[m]>(i3-likes are fine, but much prefer stump or xmonad)
<dstolfa_>drakonis: it's still extremely broken
<drakonis>sadly, yeah.
<drakonis>it still requires special casing
*M6piz7wk[m] is stuck in a loop of looking for packages and then importing them and rebuilding
<roptat>M6piz7wk[m], that's why you need -r in guix import
<nckx>podiki[m]: I wish Xmonad worked on Wayland too. Wayland is the reason I switched from Xmonad to i3 training wheels and then to Sway.
<apteryx>wouldn't xwayland allow to run these?
<M6piz7wk[m]>roptat: how would that help x.x
<apteryx>but that defeats the whole point, does it?
<drakonis>xwayland is used for running applications, afaik
<drakonis>M6piz7wk[m]: its recursive
<drakonis>it will generate the definitions for the entire dependency tree
<roptat>M6piz7wk[m], -r is for --recursive, meaning it'll import missing dependencies too
<M6piz7wk[m]>drakonis: i still have to paste it in the file though
<M6piz7wk[m]>... or not?
<roptat>yes, but you'll paste multiple packages at once
<M6piz7wk[m]>but then it won't be alphabetically sorted and might contain duplicates
<M6piz7wk[m]>assuming `guix import ... >> file.scm`
<dstolfa_>a lot of packages aren't really alphabetically sorted either
<dstolfa_>so that's fine
<drakonis>you still can, yes.
<drakonis>you can also do a really nice trick
<dstolfa_>(also, there are plenty of duplicate crates with different versions because... rust)
<drakonis>you can invoke the command in a script and have it output to a file
<drakonis>a scheme script
<drakonis>i've done that a while back
<M6piz7wk[m]>drakonis: more smart then defining a bash logic that checks the first line against the file before parsing?
<drakonis>works wonders.
<drakonis>yes?
<drakonis>you're invoking the function that does the importing
<roptat>M6piz7wk[m], -r only imports packages that are not yet in guix, so no duplicates
<M6piz7wk[m]>oh
<nckx>How clever is it about detecting ghc-foo → foo style renames and not emitting ghc-foo? How does it key packages?
<nckx>(My guess is ‘not’ and ‘by name’ but maybe I underestimate it.)
<roptat>"not" and "by name" :p
<drakonis>i think it checks the package name
<nckx>Okido! 😃
<nckx>‘Yay, I was right, yay.’
<drakonis>it'll check for (string-append "ghc-" package-name)
<roptat>well, maybe by name and version for rust
<M6piz7wk[m]>aaaa so many errors
<apteryx>welcome to rust packaging
<nckx>roptat: Right, yes.
<nckx>I was sloppy but meant that.
*M6piz7wk[m] sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/3aa9e79dcc6582f9035a37c43ec7473c48630f70
<M6piz7wk[m]>x.x
<drakonis>did you forget to import the modules that provide those packages?
<roptat>M6piz7wk[m], the first one is the issue: error: unknown-license!: unbound variable
<nckx>Also, ‘unknown-licence!’ means the importer failed to determine it and you get to do it yourself.
<roptat>means one of your packages uses unknown-license! in the license field
<M6piz7wk[m]>the file doesn't have `unknown-license!` anywhere though
<nckx>It must somewhere.
<nckx>Maybe (and that would be a poor choice on Guix's part) through a variable with a different name…
<nckx>if so that would be stupid and worth a bug report.
<M6piz7wk[m]>oh emacs doesn't show the changes in the buffer
<M6piz7wk[m]>ehh
<M6piz7wk[m]>figured it out~
<nckx>It doesn't live-update by default no.
<M6piz7wk[m]> https://crates.io/crates/webpki non-standard O.o
<M6piz7wk[m]>that looks like complying with GPLv3 to me?
<M6piz7wk[m]>ehh compatible with GPLv3
<nckx>There is non-copyleft (a procedure! call it!) for ‘non-standard’ Free-software licences.
<M6piz7wk[m]>why is that making me nervous
<nckx>You strike me as the nervous type.
<M6piz7wk[m]>ehh whaddya put instead of `unknown-license!` then x.x
<M6piz7wk[m]>nckx: i am not nervous all the time! x.x just around new lisp things
<vivien>Who wants a nice emacs mode to edit vala source code? https://issues.guix.gnu.org/51869
<nckx>Don't worry, just try it ☺ (non-copyleft "file://RELATIVE-FILE-NAME-OF-LICENCE-FILE")
<nckx>inside the tarball.
<M6piz7wk[m]>oh
<nckx>So file://LICENSE in this case.
<nckx>I think this is just the ISC licence though.
<nckx> https://opensource.org/licenses/ISC
<nckx>Double-check and if so, use ‘isc’.
*M6piz7wk[m] sent a console code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/ef5d5dd91c30b05f061129b343da3dc24154fac6
<M6piz7wk[m]>nckx: oh O.o
<M6piz7wk[m]>is there a thing for ISC license
<nckx>‘isc’ yes.
<M6piz7wk[m]>it has a note:
<M6piz7wk[m]>> third-party/chromium/LICENSE.it has a note
<M6piz7wk[m]>so i guess the non-copyleft is more descriptive?
<nckx>I was looking only at https://github.com/briansmith/webpki's top-level LICENSE file, I didn't grep the entire tree.
<M6piz7wk[m]> https://github.com/briansmith/webpki/blob/main/third-party/chromium/LICENSE
<nckx>M6piz7wk[m]: Looks like bsd-3.
<nckx>Yes, bsd-3 and isc.
<nckx>I don't know what the combined work is. No need to think about it, just write (list license:bsd-3 license:isc).
<M6piz7wk[m]>>Neither the name of Google, Inc or contributors may be used to endorse or promote products derived from this software without specific prior written permission.
<nckx>With a comment next to bsd-3 that it applies to third-party/chromium.
<nckx>M6piz7wk[m]: https://opensource.org/licenses/BSD-3-Clause
*M6piz7wk[m] did the `(list license:bsd-3 license:isc)`
<nckx>They just clarified ‘the copyright holder’ of the original.
*M6piz7wk[m] sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/0a2457daa141a10a1dc2a166bf862feb1c5a1eb5
<M6piz7wk[m]>O.o
<nckx>You clearly made a typo.
<nckx>This wasn't there earlier.
<M6piz7wk[m]>aaaaa
<nckx>And it's a basic syntax error which guix import doesn't (really: can't) generate.
<M6piz7wk[m]>yep missing parentecis x.x
<M6piz7wk[m]>how did you iinterpret that in the typo
<roptat>crates-io.scm:63905:1: unexpected end of input while searching for: )
<M6piz7wk[m]>oh
<roptat>meaning missing closing parenthesis ;)
<nckx>It's such a beautiful way of saying that.
<nckx>Not ‘we're out of sugar’ but ‘I‌ SEARCHED THE ENTIRE HOUSE and found no sugar gave up’.
<nckx>Drama queen.
*M6piz7wk[m] sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/a8a04129784588ff4e93742574174e297105d8a9
<M6piz7wk[m]>googletest i guess?
<nckx>‘Maybe there is sugar between the walls or someth—’ ‘Fine!! You've made you point. I'll go to the shop.’
<roptat>M6piz7wk[m], crates-io.scm:63612:4: warning: invalid field specifier
<M6piz7wk[m]>..eh ?
<nckx>M6piz7wk[m]: googletest is in (gnu packages check).
<roptat>not sure, but I'd say maybe you have a stray "warning" somewhere?
<M6piz7wk[m]>oh
<nckx>M6piz7wk[m]: See line 63612, 4th character.
<roptat>that error is the reason for all the other ones
<M6piz7wk[m]>it doesn't seem to like the `(list license:bsd-3 license:isc)`
<roptat>the line should be exactly (license (list license:bsd-3 license:isc))
<M6piz7wk[m]>oh it's lisense (list...)
<roptat>(with maybe more closing parenthesis
<roptat>)
<nckx>(license (list license:foo license:bar)), M6piz7wk[m].
*roptat also doesn't balance his parenthesis sometimes
*nckx uses emacs' rainbow-parentheses.
*apteryx leaves paredit-mode take care of it
<roptat>the list is the value of the license field
<M6piz7wk[m]>nckx: yep x.x i just did (list .. ithout the license before it x.x
<M6piz7wk[m]>> * <@nckx:libera.chat> uses emacs' rainbow-parentheses.
<M6piz7wk[m]>that exists?
<nckx>That would be asking for a field named list, which is invalid.
<nckx>I'm not 100% sure I got the name right but yes.
<nckx>rainbow-delimiters.
<M6piz7wk[m]>:o
<roptat>anyway can't help more, I need to go
*nckx uses it only for Scheme though.
<roptat>later!
<M6piz7wk[m]>thanku~ i had that on vscodium it was nice
<M6piz7wk[m]>roptat: thanku for help~
<M6piz7wk[m]>it buildsssss
<nckx>You can customise the colours so they contrast higher because I don't agree with the defaults.
<nckx>M6piz7wk[m]: Congrats.
<M6piz7wk[m]>nckx: how? i failed to figure it out when i was trying it out by mistake x.x
<apteryx>well done indeed, M6piz7wk[m]
<M6piz7wk[m]>yay i can do pipe redirect from guix import to a file while being nervous and confused the while time
<M6piz7wk[m]>is there a way to fix the https://github.com/briansmith/webpki/blob/main/third-party/chromium/LICENSE identification for guix?
<nckx>You need to pour yourself a big chill pill and enjoy this more ☺
<M6piz7wk[m]>so that it doesn't throw the unknown-license! for future krey to deal with
<M6piz7wk[m]>nckx: you said it just when the build failed! aaaaaaaa
<nckx>M6piz7wk[m]: It's not scanning the file, it uses the https://crates.io/crates/webpki metadata, so really that just needs to be fixed upstream.
<nckx>I have no idea who needs to do that or how.
<nckx>But I'm sure crates.io has an ‘ISC’ option that the author can set somehow.
*M6piz7wk[m] created https://github.com/briansmith/webpki/issues/246
<podiki[m]>I agree with nckx, you should have fun with this 6piz7wk
<podiki[m]>that's like 90% of why I Guix
*M6piz7wk[m] sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/55601e13444bf1ee0aa74b0e7e2347a6de420971
<M6piz7wk[m]>hmm seems like rustlang error with non-nightly cargo
<M6piz7wk[m]>podiki[m]: i am nervous when i do things i ain't confident in x.x
<M6piz7wk[m]>How should i handle the issue with rust info
<nckx>(Disclaimer: I do NOT enjoy Rust. At all. Hence I don't package any of it.)
<nckx>This is no longer purely a Guix error so I have no idea.
<podiki[m]>mutter is failing to build for me on core-updates-frozen
<podiki[m]>../mutter-40.5/meson.build:436:4: ERROR: Program or command '/gnu/store/lmyp4ik65v0mik0jzpm7lzfchws1ixb7-xorg-server-xwayland-21.1.0/bin/Xwayland' not found or not executable
<apteryx>podiki[m]: I have a local patch nearly fixing it
<podiki[m]>...that was quick :)
<apteryx>xwayland is not in the output since it was split off the regular xorg release
<podiki[m]>oh right, I remember chiming in on that now
<nckx>Why does it need Xwayland whilst building?
*M6piz7wk[m] goes to fix the issue then~
<podiki[m]>(the CI still isn't showing most build detail pages)
<apteryx>the bad news is that getting where I am required bumping libinput
<podiki[m]>it reports as a runtime dependency
<podiki[m]>"Run-time dependency xwayland found: NO (tried pkgconfig and cmake)"
<apteryx>I guess I'll add everything labeled core-updates-frozen to my tree when I'm reading to push to batch as many things
<nckx>podiki[m]: Oh, a bug?
<podiki[m]>apteryx: if you could restart the nov 5 failed i686 builds that would be good too
<podiki[m]>nckx: in it's configure it says that
<nckx>Right.
<podiki[m]>nckx: but maybe it just checks to know?
<apteryx>podiki[m]: OK, remind me later if I forget, I'm not in front of the machine configured for CI admininstration.
<nckx>If it doesn't need Xwayland during the build it shouldn't throw an error when it's missing.
<podiki[m]>no worries, thanks apteryx
<nckx>That's just buggy.
<apteryx>perhaps for its test suite?
<podiki[m]>you'll need the evaluation number or some individual packages?
<nckx><I'm not in front of the machine configured for CI admininstration.> I am.
<podiki[m]>gnome does do wayland by default
<podiki[m]>maybe that's why
<nckx>But building a Wayland client doesn't need an Xwayland binary lying around.
<nckx>That's like demanding an xorg-server during the build of each X client.
<nckx>The ones that do have it as input use it during the test suite, so it is useful, but that does not sound like what's happening here.
<apteryx>perhaps for tests? it attempts to start a xorg server (well, that's what I'm guessing xvfb-run does anyway)
<podiki[m]>nckx: e.g. https://ci.guix.gnu.org/build/1435320/details was due to space running out, seems to have held up a lot of i686 builds
<nckx>Restarted.
<apteryx>thanks, nckx
<nckx>But I can't feasibly search for ‘builds that failed with ENOSPC’ unless there's a clever hack for that.
<podiki[m]> https://ci.guix.gnu.org/eval/39809 seems to be the eval, tevent failed then too for same reason
<nckx>That, ideally, does not involve the words ‘SSH into berlin, then grep for’.
<nckx>podiki[m]: Thanks.
<podiki[m]>nckx: thanks
<nckx>504 Gateway Time-out
<podiki[m]>I was trying to see what was up with gtk+-3 and others on i686 and chased the builds down
<podiki[m]>for the CI?
<M6piz7wk[m]>```
<M6piz7wk[m]>root@ce05cedae1b2:/# guix pull
<M6piz7wk[m]>guix pull: error: failed to connect to `/var/guix/daemon-socket/socket': No such file or directory
<M6piz7wk[m]>``
<podiki[m]>that build eval looks like the merge of master into core-updates-frozen; and I guess we had some other big merges then, the CI has not been happy
<M6piz7wk[m]>why is that not available? x.x
<M6piz7wk[m]>after guix-install.sh
<nckx>Is the guix-daemon service running? (Use whatever service manager your host OS uses.)
<M6piz7wk[m]>this is guix-install.sh on debian
<M6piz7wk[m]>ehh
<M6piz7wk[m]>howddya make it to run as a daemon
<M6piz7wk[m]>this is also in a docker env
<M6piz7wk[m]>x.x
<nckx>That probably doesn't help.
<nckx>Does it have to be?
<vivien>The guix daemon can’t run in a docker container
<apteryx>indeed; the debian there is going to be stripped from things such as systemd I guess
<nckx>Isn't Docker containers?
<vivien>I think it can’t create namespaces anyway
<nckx>You can run guix-daemon with --disable-chroot which can mitigate that, but running it in a container is always going to be a bad time. It's not meant for that.
<nckx>Run it as root.
<vivien>Opam had similar problems, if you disable the chroot you will end up building a package that expects it can modify /bin/sh and fail to build because it can’t.
<vivien>(or something like that)
<nckx>Yeah, it's not really supported (in the warranty-voiding sense).
<nckx>Maybe that's not clear enough, but I doubt M6piz7wk[m] ever got that far, so I digress.
<M6piz7wk[m]>eh?
<M6piz7wk[m]>or like is there a recommended distro on which to run guix-install
<M6piz7wk[m]>or how do i docker it?
<M6piz7wk[m]>since i don't even have guix-daemon executable
<nckx>Ideally you get rid of the Docker part.
<nckx>podiki[m]: I restarted all builds of evaluation 39809.
<M6piz7wk[m]>how else will ppl outside of guix test the issue x.x
<nckx>After an unreasonable number of refreshes.
<nckx>M6piz7wk[m]: I don't follow.
<vivien>I have to agree with that, whatever the distro you will have a hard time running guix within docker
<vivien>(the getting rid of docker part)
<nckx>But why use Docker?
<nckx>You're not supposed to run guix-install.sh in Docker and it probably won't work. Just… don't.
<M6piz7wk[m]>so that i can wake up sagie and had him fix the RFC issue bcs i am lazy to read his code https://github.com/sagiegurari/rust_info/issues/6
<podiki[m]>nckx: great, thanks; will keep an eye on it
<nckx>M6piz7wk[m]: Heh. ☺
<M6piz7wk[m]>bcs RFC issues are pain to fix when he wants to have deny for this use in place x.x
<vivien>Rust is a safe programming language -> issue title: the unsafe_op_in_unsafe_fn lint is unstable
<vivien>Sorry for the troll
<podiki[m]>hahaha
<M6piz7wk[m]>since:
<M6piz7wk[m]>> In Rust for Linux we have been using -Dunsafe_op_in_unsafe_fn for a while and we think it is the right approach -- Rustlang core dev
<nckx>Hah, I wondered if it was due to a rustc version mismatch and then thought ‘nah, that's probably not it, don't comment on languages you don't understand’.
<M6piz7wk[m]>vivien: that's the safe part though! :p it doesn't build bcs the code is not safe :p
<podiki[m]>apteryx: if you need a tester for a patch or just someone to try it out once pushed, just let me know, thanks!
<vivien>"Go home coder, you’re drunk"
<M6piz7wk[m]>heh
<apteryx>podiki[m]: I was a bit stumped on the test suite of mutter; mimicked exactly what they do in their ci but it'd still hang
<apteryx>even in a non-containerized environment, at least on some suites
<apteryx>but since it was not enabled to start with, if it gives me too much grief I'll leave it at that
<nckx>M6piz7wk[m]: ‘i think you need to update your rust version’ To what, one wonders?
<apteryx>the last commit, of course
<podiki[m]>gotcha
<nckx>apteryx: Stop it, I will hurt myself.
<M6piz7wk[m]>sagie thinks that it's outdated
<M6piz7wk[m]>Howddya figure out what rustc version is guix using for the build?
<podiki[m]>I have a couple of leaf packages I will look to patch later (looks like needs older meson), hoping I will be able to finally run on newer core-updates-frozen soon-ish
<apteryx>M6piz7wk[m]: look near the end of (gnu packages rust)
<M6piz7wk[m]>it's 1.52.1 right?
<apteryx>on master I'm not sure, perhaps 1.48 or so
<podiki[m]>core-updates-frozen is 1.54, so that is coming (eventually)
<M6piz7wk[m]>eh?
<M6piz7wk[m]>apteryx: where
<M6piz7wk[m]>x.x
<apteryx>in the guix tree, in the file gnu/packages/rust.scm
<nckx>I think it's rust-1.45.
<nckx>On master.
<apteryx>ouch; that's a couple years back, if their release schedule is every 6 months as it's supposed to
<M6piz7wk[m]>well i need >=1.52.0 to build cargo-make
<nckx>Looking at guix/build-system/cargo.scm.
<podiki[m]> https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/rust.scm#n1478
<podiki[m]>the source is your friend
<M6piz7wk[m]>i have rust 1.52.1 in guix search though
<podiki[m]>nckx: restart working, I see some nice green up arrows appearing on cuirass
<nckx>M6piz7wk[m]: Try adding #:rust ,rust-1.52 to the arguments.
<M6piz7wk[m]>podiki[m]: more like an enemy now that i don't understand it fully yet! :p
<nckx>(arguments `(#:rust ,rust-1.52 [other arguments if any]))
<jpoiret>the default rust for the rust build system is selected at https://git.savannah.gnu.org/cgit/guix.git/tree/guix/build-system/cargo.scm#n57
<jpoiret>cargo build system *
<nckx>I think we're talking about the same thing.
<nckx>As in, it's just ‘rust’. ☺
<M6piz7wk[m]>nckx: to the package that breaks the build?
<nckx>To the package that fails to build.
<M6piz7wk[m]>oke
<jpoiret>hmmm, you can compile deps with a different rust version as the package being compiled?
<nckx>I have absolutely no clue.
<nckx>I am an anti-Rust individual.
<M6piz7wk[m]>jpoiret: about to figure it out~
<M6piz7wk[m]>bleh
<jpoiret>nckx: I respectfully agree with that stance
<M6piz7wk[m]>*rust is my fav lang >.>*
<jpoiret>The language seemed nice, until I actually wanted to use it for something. Also, new language seem to have inherited the js dependency hell
<jpoiret>new languages *
<nckx>M6piz7wk[m]: Rust the language is fine.
<nckx>The surrounding development practices the actively encourage are abysmal.
<nckx>*they
<M6piz7wk[m]>same issue with
*M6piz7wk[m] sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/f05089beadc0761d085b1f31daf293b7a982d63d
<nckx>I welcome Rust in the Linux kernel. Having to build Rust in the kernel will be hell.
<M6piz7wk[m]>nckx: never was hell for me.. cargo just handles everything
<M6piz7wk[m]>as long as it's up to date x.x
<drakonis>everyone uses rust nightly
<nckx>Exactly.
<drakonis>but nobody uses rust stable
<lilyp>CaRgO hAnDlEs EvErYtHiNg
<M6piz7wk[m]>rust stable is for users :p
<M6piz7wk[m]>... and releases
<jpoiret>M6piz7wk[m] didn't you forget a space after #:rust
<nckx>There's a special cool compiler for DeVeLoPeRs.
<nckx>jpoiret: Yes, but it shouldn't matter.
<M6piz7wk[m]>jpoiret: without the `,` ?
<jpoiret>no, with it
<M6piz7wk[m]>the skip-build above doesn't have that though
<nckx>So?
<drakonis>i tried to build a thing that had a rust dep
<drakonis>it was a python package
<jpoiret>#:rust is the keyword, and a value is expected afterwards. Note that #t is not a keyword but rather the true value
<nckx>M6piz7wk[m]: , unquotes the rust-1.52 variable, hence <space><comma><thing>.
<M6piz7wk[m]>i see O.o
<nckx>Scheme doesn't need many spaces, so it probably works without the space, but add it for humans and general sanity.
<jpoiret>damn you're right, unquote works without the space
<nckx>So does (display"foo") it is utter madness save the children.
<jpoiret>reader extensions be damned
<lilyp>(display,foo)
<lilyp>no, this is not a python tuple :P
*M6piz7wk[m] is pretty sure that he stopped using python before python tuples became a thing
<M6piz7wk[m]>still fails
*apteryx is pretty sure tuples were there from 1991
<jpoiret>i'm pretty sure tuples were one of the first datatypes introduced in python
*jpoiret was here before lisp lists became a thing /s
<M6piz7wk[m]>Hm O.o i don't remember them then
<jpoiret>currently, warnings in sanitizers of guix records have their source location correspond to the beginning of the record definition, rather than the field it's attached to. My macro-foo is very lacking, but does anyone think we could remedy this?
<M6piz7wk[m]>oh `mytuple = ("apple", "banana", "cherry")` i remember that xD
<jpoiret>I don't exactly know how macros interact with current-source-location though
*M6piz7wk[m] waits for kind person to build rust-info on 1.52.2 rustlang to confirm it builds
<jpoiret>M6piz7wk[m]: doesn't it work with the #:rust keyword?
<M6piz7wk[m]>nope
<M6piz7wk[m]>builds on 1.52 and 1.54 for ppl
<vivien>jpoiret, what does /s means at the end of your statement?
*apteryx guesses sarcasm
<M6piz7wk[m]>on bright side i don't have to figure out how to fix RFC thing yay
<jpoiret>end sarcasm
<M6piz7wk[m]>afaik it's lgbtqtia term for sarcasm
<vivien>I thought that it might be a long forgotten hieroglyph
<nckx>/s is the gay agenda.
<jpoiret>it's an irc trap
<jpoiret>the irc command to self-destruct
<M6piz7wk[m]>heh
<M6piz7wk[m]>howddya build me thing then x.x
<vivien>I don’t believe it, otherwise nckx would be destroyed by now
<vivien>Since they started a message with /s
<M6piz7wk[m]>maybe it just destroyed the gay agenda
<M6piz7wk[m]>he passed the arguments
<lilyp>/say /s
<nckx>/s turns your entire backlog into a sed command and runs it on /
<nckx>It's true.
<M6piz7wk[m]>x.x
<M6piz7wk[m]>so is there a way to bump the rust thing for building
<M6piz7wk[m]>this is branched from a master O.o
<nckx>They way you were shown. Master != newest stuff. What is the full output of the failed command?
<jpoiret>do not say the forbidden words
<jpoiret>(as in "bump rust")
<nckx>Errybody got their tetanus shots ready.
<vivien>"merge core-updates-frozen into master"
<apteryx>M6piz7wk[m]: I'd suggest "simply" trying out the core-uddates-frozen branch
<M6piz7wk[m]>*the log is long af so he's tee'ing it
<nckx>I'm not sure if I can handle the amounts of ‘aaaaaaaah’ that M6piz7wk[m] being forced to bootstrap all of Rust will generate.
<nckx>Or are there subs now?
<apteryx>nckx: rust has substitutes on cuf
<nckx>If there are subs, yes, go4it.
<nckx>Cool.
<lilyp>why are there only substitutes, but no domstitutes?
<podiki[m]>are there rust subs? when I checked this morning I thought I saw the whole chain scheduled...
<M6piz7wk[m]>nckx: no `h` just `As` -w-
<nckx>Subs are cool but also the gay agenda. They have Polari missiles.
<M6piz7wk[m]>as in horror movie AAAaAaAAaAAaaaaaaaaa THIS THING WILL KILL MEE aaAaaAaA
<nckx>It won't. ☺
<nckx>We'd all be dead by now.
<nckx>And look at us, with most of our limbs.
<M6piz7wk[m]>still terrifying
<nckx>We are, but Guix isn't, promise.
<M6piz7wk[m]> https://gist.githubusercontent.com/Kreyren/cc469d24fc08fdfa1d2e7ed9071614b1/raw/dd61c5b25ad0cbedb0e0610712da6e821113d41d/gistfile1.txt
*M6piz7wk[m] tried to paste the output in his matrix client, but it crashed it
<M6piz7wk[m]>u.u
<M6piz7wk[m]>nckx: maybe guix should be more terrifying in that case~
<M6piz7wk[m]>ehh the build is without the rust option
<M6piz7wk[m]>x.x
<nckx>Guix is cute like an angler fish is cute.
<nckx>And for the same reason.
<M6piz7wk[m]>ehh is it `(arguments '(#:skip-build? #t) '(#:rust, rust-1.52)` or `(arguments '(#:skip-build? #t #:rust, rust-1.52))` ?
<apteryx>the later
<nckx>M6piz7wk[m]: Why do you say that? What does ‘without the rust option’ mean? Did you modify rust-cargo-make, not some other package?
*M6piz7wk[m] > <@nckx:libera.chat> Guix is cute like an angler fish is cute.
*M6piz7wk[m] lives in central europe and is not familiar with sea fishes
<M6piz7wk[m]>nckx: i modified the rust-rust-info package that was failing
<drakonis>M6piz7wk[m]: that's a rust error
<nckx>M6piz7wk[m]: Writing ‘#:rust, rust-1.52’ instead of ‘#:rust ,rust-1.52’ works, but it means you still don't understand what , is. Which is OK for now, I just feel compelled to point it out.
<nckx>M6piz7wk[m]: The package that fails is NOT rust-rust-info: builder for `/gnu/store/9gi25bn6f4zn6c9qrz6mbhgw3k82yxcj-rust-cargo-make-0.35.6.drv' failed with exit code 1
<M6piz7wk[m]>o.o
<M6piz7wk[m]>drakonis: which required rust-1.52 to fix
<M6piz7wk[m]>nckx: eh?
<M6piz7wk[m]>oh
<M6piz7wk[m]>wait waht
<M6piz7wk[m]>oh rust-cargo-make fails bcs rust-rust-info failed to build?
<nckx>Basically.
*M6piz7wk[m] is confused
<M6piz7wk[m]>so just keep the argument for rust-rust-info?
<nckx>Guix's implementation/approximation/toxic containment of the Rust build system is special compared to other Guix packages. All dependencies are built ‘at once’, not individually like you can with C^Wsane packages. The upshot is you have to add #:rust to the final package, not some intermediate, even if the intermediate fails.
<nckx>M6piz7wk[m]: Can't hurt.
<M6piz7wk[m]>with the argument in place: https://gist.githubusercontent.com/Kreyren/3b41760363cf16f5b95e8ca776f23856/raw/317d750c93edccf2dd9eb3930da7106dcd6dcadd/gistfile1.txt
<nckx>Hm, you're still using the old Rust: /gnu/store/j4fazhp9rzgnss3gq5zdvw73jdkgnbn3-rust-1.45.2-cargo/bin
<nckx>I'm not sure why.
*M6piz7wk[m] added the argument to rust-cargo-make then
<apteryx>rust has a cargo output
<nckx>I meant to past /gnu/store/m6c2rrqkzxfpcdw61dlkl2808zsnn9f2-rust-1.45.2/bin but same implication.
<M6piz7wk[m]>eh yes?
<M6piz7wk[m]>Unrecognized keyword: #:rust,rust-1.52
<M6piz7wk[m]>eh ? O.o
*M6piz7wk[m] sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/6b959fbd2b82fb996e46c4f664ffb0449815175d
<M6piz7wk[m]>(changed it after also fails)
<M6piz7wk[m]>> Unrecognized keyword: #:rust,
<nckx>Well that's bizarre: https://paste.debian.net/plain/1219777
<nckx>(= it is very much a valid keyword and used all over Guix.)
<M6piz7wk[m]>o.o
*M6piz7wk[m] sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/22481022b8e6be27f33bc39e4cb001769792d041
<M6piz7wk[m]>oh works now
<nckx>My time has come:
<nckx>o_O
<M6piz7wk[m]>o.o
<nckx>OvO
<M6piz7wk[m]>what does that mean o.o
<M6piz7wk[m]>sounds like something you would say to someone when you were about to murder em
<M6piz7wk[m]>yay different error
<M6piz7wk[m]>seems to fail with openssl now O.o
*M6piz7wk[m] lost the output and it waiting for a new one
<nckx>OvO is a cute little owl. That wants to muwder you uwu
<vivien>owl is a semantic web thing
<vivien>Nobody talks about it anymore because the acronym was a failure.
<M6piz7wk[m]>i though OvO are a handcuffs~
<M6piz7wk[m]>vivien: b-but i like owls
<M6piz7wk[m]>adopted one when i was a kid
<M6piz7wk[m]>then it flew away
<M6piz7wk[m]>ungreateful creature
<vivien>Wild animals carry viruses, and you can transmit them viruses too
<M6piz7wk[m]>i am just harmful to the humans so that's fine~
*M6piz7wk[m] sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/9f68feef4e7c14ade1faf6879959e77fe0378d21
<M6piz7wk[m]>what provides libssl x.x
<M6piz7wk[m]>openssl?
<jpoiret>back to what I was saying: turns out that with some macro shenanigans, you can actually report the error with the location of the incriminating value, rather than the whole guix record definition!
<vivien>openssl provides an openssl pkg-config definition
<M6piz7wk[m]>ehh howddya define a dependency for a package
<M6piz7wk[m]>x.x
<M6piz7wk[m]>(inputs openssl
<roptat>M6piz7wk[m], I'm back :(
<roptat>:)*
<roptat>(inputs `(("openssl" ,openssl)))
<M6piz7wk[m]>roptat: welcome ^-^
<M6piz7wk[m]>i need native-inputs for pkg-config too right
<roptat>yes, pkg-config would be in native-inputs
<M6piz7wk[m]>exciting ^-^
<M6piz7wk[m]>build successful bwhahahahhaa
<roptat>well done :)
*M6piz7wk[m] is waiting for check
<M6piz7wk[m]>aaaaa it's compiling again
<roptat>that's what --check is for
<M6piz7wk[m]>it's gonna fail and i will cry
<M6piz7wk[m]>to make me cry?
<roptat>also, yes :p
<M6piz7wk[m]>\>.,
<M6piz7wk[m]> * >.<
<M6piz7wk[m]> * \>.<
<M6piz7wk[m]>can't even type anymore -w-
<M6piz7wk[m]>why is it compiling twice
<M6piz7wk[m]>oh
<M6piz7wk[m]>reproducibility check probably
<roptat>--check means to compile again and check for reproducibility
<roptat>exactly
<roptat>work best with --no-grafts
<M6piz7wk[m]>hah me smart
<M6piz7wk[m]>o.o
<nckx>roptat: check phase, methinks.
<roptat>oh
<roptat>M6piz7wk[m], so if it's the check phase, the goal is to run the package tests
<M6piz7wk[m]>o.o
<M6piz7wk[m]>but it's compiling
<roptat>maybe it's compiling tests?
<M6piz7wk[m]>says compiling cargo-make
<roptat>mh, I don't know, did you run with --check, are is it guix telling you starting check phase?
<M6piz7wk[m]>none that i can see
<M6piz7wk[m]>O.o
<M6piz7wk[m]>and it seems to be doing double compilation
<roptat>I'm confused
<M6piz7wk[m]>bcs it's outputting compiling cargo-make twice
*nckx nods.
<M6piz7wk[m]>did i break it again
<roptat>mh, rust is behaving in mysterious ways :p
<M6piz7wk[m]>ffs why is this keep happening to meh -w-
<roptat>I think you're good, just let it finish
<M6piz7wk[m]>oke O.o
<nckx>Remember our breathing exercises.
*M6piz7wk[m] imagines the ending of taxi 3
<nckx>I've seen… one of those, but don't ask me which.
<nckx>Aren't there like 10.
<M6piz7wk[m]>the one where he starts heavily breathing in the face of his wife that is giving a birth xD
<M6piz7wk[m]>bcs doctor said "breathe"
<roptat>going again, will be back
<nckx>M6piz7wk[m]: It could be that the Rust build system recompiles things differently for tests, or it could just be a minor bug we can fix later. Getting the tests to pass is what matters.
<M6piz7wk[m]>o.o
<nckx>Yes.
<M6piz7wk[m]>sagie runs like 20 CI builds so it shouldn't fail
<M6piz7wk[m]>...
<M6piz7wk[m]>it failed as i said it
<nckx>I don't know who that is but great. 1 should suffice, though.
<M6piz7wk[m]>i hate my life
<nckx>Oh.
<nckx>Well, don't.
*M6piz7wk[m] sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/fa55480a090bf6021c7bca9ae4e06e1f4e2842fb
<nckx>I think the useful part precedes that one.
<nckx>Although I can't help you with Rust proper.
*M6piz7wk[m] sent a code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/58b6d1d72e317907f5ded3c9e828dfe0d9cd60dd
<M6piz7wk[m]>i can help myself with rust if i know what to look for O.o
<jave>It seems to be possible to create an isolated development environment for, say emacs, with guix. Any rtfm link I can read about it?
<M6piz7wk[m]>jave: i created one today want sources?
<efraim>looks like there are files missing from the release tarball
<jave>M6piz7wk[m]: that sounds interesting yes
*M6piz7wk[m] sent a console code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/547cc9395bc33b06a5fc644994b7afbf3b7ec85c
<M6piz7wk[m]>jave:
<M6piz7wk[m]>efraim: eh?
<efraim>you can't "unwrap" files that aren't there
<M6piz7wk[m]>> https://github.com/sagiegurari/cargo-make/runs/4090012242?check_suite_focus=true#step:5:4205
<M6piz7wk[m]>Seems that it shouldn't fail with anything
<M6piz7wk[m]>efraim: eh?
<M6piz7wk[m]>> <@6piz7wk:tchncs.de> ```console... (full message at https://libera.ems.host/_matrix/media/r0/download/libera.chat/cd0f7dae5c31778ff987f8d4e58e1c560c63f735)
<M6piz7wk[m]>oh checking the CI for 1.52.0 it's skipped https://github.com/sagiegurari/cargo-make/runs/4090012607?check_suite_focus=true
<M6piz7wk[m]>so i asssume that failures are expected?
<M6piz7wk[m]> https://github.com/sagiegurari/cargo-make/runs/4090012493?check_suite_focus=true#step:6:5259
<M6piz7wk[m]>probably not
<M6piz7wk[m]>x.x
<podiki[m]>jave: look at "guix shell" in the manually (formerly "guix environment")
<jave>M6piz7wk[m]: tnx, im trying to wrap my head around it atm
<podiki[m]> https://guix.gnu.org/manual/devel/en/html_node/Invoking-guix-shell.html
<jave>tnx
<M6piz7wk[m]>jave: basically first deploying emacs with extension, then environment (with git etc..) and then openning the default.el file
<M6piz7wk[m]>... which opens emacs with the defined configuration
<podiki[m]>jave: you can combine that with a manifest and pinned channels if you want to enforce certain versions
<M6piz7wk[m]>whaddya do with the check failures? x.x
<jave>my use case is I want to develop emacs, maintain local patches, etc, and have a dev env where I have some form of control of the versions of dependencies
<jave>So I will try to understand what "guix shell" does, as you both suggest
<M6piz7wk[m]>jave: afaik guix shell provides the desired build derivations from store in your session
<M6piz7wk[m]>so changes to the package are not preserved, but things like saving files will be kept
<mahmooz>my bluetooth stopped working after the last time i updated 😢
<M6piz7wk[m]>mahmooz: so rollback?
<mahmooz>and lose the rest of the updated software 🤔
<mahmooz>i meant lose the updates for the rest of the packages
<mahmooz>that arent related to bluetooth
<mahmooz>i thought rolling back would be instant but apparently it has some downloading to do..
<M6piz7wk[m]>o.o
*M6piz7wk[m] would check dmesg and physical switches
<mahmooz>ye i should do that thx
<jpoiret>should warnings about configuration be emitted at expand-time rather than eval-time?
<jpoiret>I feel that expand-time is generally better but it could also mean that we need to syntax->datum a bunch of things at expand time and i'm not sure if that is right to do
***Inline is now known as Guest1099
***Inline_ is now known as Inline
<florhizome[m]>seems like this issue could make guix a lot more easy to use, or is that just me
<florhizome[m]> http://issues.guix.gnu.org/20255
<drakonis>perhaps
<drakonis>but most of the work has been done
<kozo[m]>Why is your link http?
*M6piz7wk[m] yolo submitted his patch to guix and goes to dolphin dive in his bed
*M6piz7wk[m] also checked the failed tests and they seem like a guix-sandboxing related things
<M6piz7wk[m]> https://issues.guix.gnu.org/51901
<yewscion>Hello all, quick question: Is there a trick to getting commands working with guix? I'm apparently unable to locate git-receive-pack (or indeed any of the git utilities) through SSH on my remote machine, but I can once I have SSH'd in.
<yewscion>s/getting commands/getting SSH commands/
<M6piz7wk[m]>i guess try `/usr/bin/env command` ?
<M6piz7wk[m]>as SSH probably doesn't have the session with those
<yewscion>M6piz7wk[m]: Hmm, it's interesting. I've used this setup on other distros in the past, so I'm sure that the Guix setup is the issue. When You say "the session doesn't have those", is it an environment variable that is unset (or something similar)?
<yewscion>running `ssh user@server env` works, and so does `ssh user@server env bash`, but `ssh user@server git-receive-pack` still doesn't work.
<yewscion>It does seem like the bash used by SSH in this instance is at fault here. Maybe there is something I need to learn about SSH, so that I can better integrate it with Guix.
<M6piz7wk[m]>Dunno x.x but it looks like an environment without imported derivations to me
<jlicht>yewscion: is the remote machine a guix system? Or a binary guix on a different distro?
<yewscion>jlicht: It's Guix System, running on linode.
<yewscion>I've just noticed that SSH /can/ find git if I use my user account, instead of the `git` user I'd created for this purpose. The main difference in my user declaration for git was the `(system? #t)` call; Does that prevent some Guix-specific setup for this situation?
<jlicht>does the git user have git installed?
<yewscion>Yes, when I ssh in as the git user, I can run all of the commands from the shell.
<jlicht>or let me ask my actual question; how have you installed git, yewscion?
<yewscion>I ran `guix install git` on both my personal account and the git user account.
<yewscion>Does it need to be in the system definition to be remotely accessible?
<jlicht>Not that I know. Are you able to reconfigure with e.g. git installed via the operating-system declaration?
<yewscion>Yup, I'll try that now.