<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 <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>I'm referring to `installManPage` <jgart>I think portage has a similar function for installing man pages *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) <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]>like pactl set-sink-volume @DEFAULT_SINK@ +2.5% <podiki[m]>very standard pulseaudio control, nothing special *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]>podiki[m]: hm O.o might not be a bad idea to make a wiki entry too <M6piz7wk[m]>basically thing that e.g. `;;;! # something` converts to markdown and generates a docs out of <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 <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 <xelxebar>M6piz7wk[m]: `cons` just acceps a single arg. `cons*` can cons multiple items <xelxebar>BTW, see `info guile` for `cons*` documentation. I'm not familiar with `append*` <xelxebar>Navigate to the Procedure Index and then search for "cons\*" <M6piz7wk[m]>that's just `* cons*: List Constructors. (line 25)` ? <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. <xelxebar>kittyblam: Looks like the openexr package provides the relevant include/ directory in its default output <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? <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>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>LMAO well, it almost built .. havent checked the log yet to see the error but that got *way* further than any other time <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] tried mrustc which is not recognized by cargo *M6piz7wk[m] is trying to install cargo-make through cargo <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>rekado_: should we declare say Thursday as core-updates bug squashing day? <M6piz7wk[m]>civodul: scheme@(guile-user)> (display "Hello, Guix!") <M6piz7wk[m]>don't ya dare my guile ability! i am overconfident now <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] would change that on rlang-openssl to mak that more explicit <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' <wleslie>if the build tool is make, placing them in #:make-flags also works nicely <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! <jpoiret>and no, shebangs are loaded by the interpreter as well <jpoiret>you can see an example with `less $(which guix)` <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>you need to move the closing !# to the next line <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]>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 <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]>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 <brendyn>i guess look at (string-append "emacs-" name) <M6piz7wk[m]>emacs-extensions-manifest.scm -> emacs-extensions.mscm <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 <efraim>bah, can't test the julia pkg patch, can't download the julia registry :/ <rekado_>civodul: 24937#22 sounds like a good idea! *M6piz7wk[m] defined `mgix` extension as manifest guix` <efraim>yeah, with the currently packaged julia <efraim>wow, much bigger packtrace using Pkg.add ("PyPlot") vs add PyPlot (after ']' in REPL) <M6piz7wk[m]>oh defining manifest file with emacs and then another with just extensions without emacs results in emacs withotu extensions <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 <efraim>ok, I have some building of julia packages to do and then I can test it finally <florhizome[m]>Anybody else having problems with guix home since a recent pull? *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 <M6piz7wk[m]>florhizome[m]: yep afaik thing used to configure packages for the user <jpoiret>guix home is a guix command, and included in guix now <jpoiret>it does, but is still highly experimental with bugs <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 <jpoiret>tbh, it's the user equivalent of `guix system` *M6piz7wk[m] wanted to also use it to configure DNS server >.> <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 <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? <efraim>could it be becase we have 1.92.3 packaged and 1.92.5 is released? <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>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]>It says it doesn’t find the lockfile although its clearly there <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) <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]>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]>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 <florhizome[m]>I think you could abandon them and have a „profile“ subcommand <jpoiret>i think `guix upgrade` is equivalent to guix package -m .guix-profile/manifest <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 <jpoiret>but yeah, maybe having guix profile instead of guix package would be more explicit <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 <florhizome[m]>jpoiret: I would like to do guix install package xyz to profile abc and that manifest gets updated automatically <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` <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]>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]>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 <M6piz7wk[m]>i now have different color for comments and some things <M6piz7wk[m]>used it 6 years ago for 3 days then 2 years ago for 7 days now using it again for 5 days <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]>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 <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 <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]>> It uses different shades for the nestlings of lisp <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 ***wielaard is now known as mjw
<civodul>jpoiret: sure, np! for the installer i'd rather let mothacehe take a look <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. <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. <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. <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. <zimoun>florhizome[m], thanks. I know the option. :-) <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. <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] needs a custom channel for testing <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] 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 <zimoun>jlicht: thanks for the quick investigation. :-) <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]>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] would prefer to be explicit in where guix is allowed to look <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 <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" <abrenon>I tried all reasonable I could think of to clean things up: make clean, ./bootstrap, ./configure --localstatedir=/var *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? <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 <M6piz7wk[m]>that i can just do on a scm file that contains the package definition <singpolyma>Like, a guile module. Such a the ones inside guix itself full of packages <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>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 <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 ? <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 ? <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]>kreyren@leonid ~/Repositories/guix-hello$ guix build -f hello.scm <M6piz7wk[m]>guix build: error: #<unspecified>: not something we can build <singpolyma>M6piz7wk[m]: seems like the file does not end with a package <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>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 <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 <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 <M6piz7wk[m]>but preferable something that can be just copy pasted to guix <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 <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]>How else do you ensure that it builds on other archs <jlicht>docker does not firectly deal with other archs, right? <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 <singpolyma>M6piz7wk[m]: guix shell -C will give you a container already <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>Same as guix build or guix install or anything else <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]>> /home/kreyren/Repositories/guix-hello/hello.scm:30:26: error: gnu-build-system: unbound variable <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 <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? <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 <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>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? <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. <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 <roptat>but it must have been a different error, no? <singpolyma>oh, yeah, the backtraces are useless. I just take them as "something went wrong" <abrenon>you want "gnu-make: unbound variable" <M6piz7wk[m]>and `error: gnu-make: unbound variable` doesn't ring any bells <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]>guix has defined gnu-make though.. shouldn't it take that? <roptat>mh, I get the same backtrace, at least <roptat>not if it's missing an import somewhere <M6piz7wk[m]>i feel like reading that manual just makes things worse <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 <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) ...) <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 <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 <roptat>and you don't even get a warning ... <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)) <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! <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 <abrenon>M6piz7wk[m]: indent the block two spaces right (trivial if you use vim or emacs) <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 :) <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 <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? <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, 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. <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>M6piz7wk[m], as with all repositories, make will only rebuild what's necessary <zimoun>I met the author last week and that motivated me. ;-) <M6piz7wk[m]>wait what? i am not aware of make having caching of steps <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? <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? <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 <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 <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>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>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 <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 <zimoun>roptat, thanks. Package just builds fine. :-) <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 ») ;) <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 <roptat>a package can only create files/directories in its output when it's being built <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 <singpolyma>It's usually only needed if you make a manual wrapper like wrap-program but custom somehow <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 <roptat>well, I'd say make a package, annoy us and once you have a bit of practice it'll be easier ^^ <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] figured out `guix import crate cargo-make` <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 <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] 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]>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 <roptat>M6piz7wk[m], yes (guix build-system cargo) has crate-uri <roptat>M6piz7wk[m], looks like the same error, the file doesn't evaluate to a package definition? <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 <roptat>no it's already a package in guix <roptat>I tried "guix show rust-ansi-term@0.12" and it tells me it's in (gnu packages crates-graphics) *M6piz7wk[m] is trying the guix show <roptat>although, I don't have version 0.14 here (maybe I just have an older guix revision) <roptat>M6piz7wk[m], you sure you got the location for version 0.14? <roptat>for rust I think we just add new versions, we don't bump them <roptat>but I'm not very familiar with this part of guix <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] pokes roptat <roptat>if you never run it before, "./bootstrap" "./configure --localstatedir=/var" "make" <roptat>ah, you can run that in "guix shell -D guix" <roptat>that's the easiest to get all the dependencies <roptat>no, that creates an environment with all the dependencies of the guix package <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]>so it is invoking the guix.scm file in the guix repo ? <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 <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 <tissevert>you were probably referring to some development feature, where developers commonly define a guix.scm file to describe how to compile their package <tissevert>but here it's the name of a particular module defining the guix command <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) <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 <roptat>--pure will ensure you can only use the dependencies of guix <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...) *M6piz7wk[m] remembered that he read that on wiki x.x <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? <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 ;-) <apteryx>searching the scroll back is one example <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 <apteryx>nope, it byte compiles for now; that'd be Chez <M6piz7wk[m]>or like is it comparable to the efficiency of rustlang <roptat>llvm has a bitcode format, but it's mostly used as an intermediate representation, I don't think anyone actually executes it <roptat>llvm bytecode is usually compiled to native code (assembly) <roptat>but not guile bytecode, it's more like java bytecode for instance <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 <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 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? <M6piz7wk[m]>kreyren@leonid ~/Repositories/guix [env]$ ./pre-inst-env guix build hello <M6piz7wk[m]>/gnu/store/a462kby1q51ndvxdv3b6p0rsixxrgx1h-hello-2.10 <M6piz7wk[m]>so `./pre-inst-env guix shell cargo-make -- makers --version` now? <apteryx>nckx: is this on core-updates-frozen? <roptat>M6piz7wk[m], you probably want to try and build it first *M6piz7wk[m] goes to define rust-cargo-metadata-0.14 <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 <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 <roptat>M6piz7wk[m], "guix import care ci-info -V 0.14"? <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>apteryx: No, it is on mostly-master. *roptat can't read --help output <apteryx>nckx: ah, it was an attempt at a joke *apteryx known next to nothing about wayland/sway <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 <podiki[m]>(i3-likes are fine, but much prefer stump or xmonad) *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? <apteryx>but that defeats the whole point, does it? <drakonis>xwayland is used for running applications, afaik <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 <roptat>yes, but you'll paste multiple packages at once <M6piz7wk[m]>but then it won't be alphabetically sorted and might contain duplicates <dstolfa_>a lot of packages aren't really alphabetically sorted either <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 <M6piz7wk[m]>drakonis: more smart then defining a bash logic that checks the first line against the file before parsing? <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 <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.) <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 <nckx>I was sloppy but meant that. <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>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. <nckx>It doesn't live-update by default no. <nckx>There is non-copyleft (a procedure! call it!) for ‘non-standard’ Free-software licences. <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 <nckx>Don't worry, just try it ☺ (non-copyleft "file://RELATIVE-FILE-NAME-OF-LICENCE-FILE") <nckx>So file://LICENSE in this case. <nckx>I think this is just the ISC licence though. <nckx>Double-check and if so, use ‘isc’. <nckx>M6piz7wk[m]: Looks like bsd-3. <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. *M6piz7wk[m] did the `(list license:bsd-3 license:isc)` <nckx>They just clarified ‘the copyright holder’ of the original. <nckx>You clearly made a typo. <nckx>This wasn't there earlier. <nckx>And it's a basic syntax error which guix import doesn't (really: can't) generate. <roptat>crates-io.scm:63905:1: unexpected end of input while searching for: ) <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>‘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 <nckx>M6piz7wk[m]: googletest is in (gnu packages check). <roptat>not sure, but I'd say maybe you have a stray "warning" somewhere? <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)) <roptat>(with maybe more closing parenthesis <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. <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. <roptat>anyway can't help more, I need to go *nckx uses it only for Scheme though. <nckx>You can customise the colours so they contrast higher because I don't agree with the defaults. <M6piz7wk[m]>nckx: how? i failed to figure it out when i was trying it out by mistake x.x <M6piz7wk[m]>yay i can do pipe redirect from guix import to a file while being nervous and confused the while time <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>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. <podiki[m]>I agree with nckx, you should have fun with this 6piz7wk <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 <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 <apteryx>xwayland is not in the output since it was split off the regular xorg release <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]>"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 <podiki[m]>apteryx: if you could restart the nov 5 failed i686 builds that would be good too <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]>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. <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) <nckx>But I can't feasibly search for ‘builds that failed with ENOSPC’ unless there's a clever hack for that. <nckx>That, ideally, does not involve the words ‘SSH into berlin, then grep for’. <podiki[m]>I was trying to see what was up with gtk+-3 and others on i686 and chased the builds down <M6piz7wk[m]>guix pull: error: failed to connect to `/var/guix/daemon-socket/socket': No such file or directory <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 <nckx>Is the guix-daemon service running? (Use whatever service manager your host OS uses.) <nckx>That probably doesn't help. <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. <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. <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]>or like is there a recommended distro on which to run guix-install <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>You're not supposed to run guix-install.sh in Docker and it probably won't work. Just… don't. <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 <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! <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? <nckx>apteryx: Stop it, I will hurt myself. <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) <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) <apteryx>in the guix tree, in the file gnu/packages/rust.scm <apteryx>ouch; that's a couple years back, if their release schedule is every 6 months as it's supposed to <nckx>Looking at guix/build-system/cargo.scm. <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])) <nckx>I think we're talking about the same thing. <nckx>As in, it's just ‘rust’. ☺ <nckx>To the package that fails to build. <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. <jpoiret>nckx: I respectfully agree with that stance <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 <nckx>M6piz7wk[m]: Rust the language is fine. <nckx>The surrounding development practices the actively encourage are abysmal. <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 <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. <drakonis>i tried to build a thing that had a rust dep <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>. <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. <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 *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 <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? <vivien>jpoiret, what does /s means at the end of your statement? <M6piz7wk[m]>on bright side i don't have to figure out how to fix RFC thing yay <vivien>I thought that it might be a long forgotten hieroglyph <vivien>I don’t believe it, otherwise nckx would be destroyed by now <vivien>Since they started a message with /s <nckx>/s turns your entire backlog into a sed command and runs it on / <M6piz7wk[m]>so is there a way to bump the rust thing for building <nckx>They way you were shown. Master != newest stuff. What is the full output of the failed command? <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 <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>If there are subs, yes, go4it. <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... <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>We'd all be dead by now. <nckx>And look at us, with most of our limbs. <nckx>We are, but Guix isn't, promise. *M6piz7wk[m] tried to paste the output in his matrix client, but it crashed it <M6piz7wk[m]>nckx: maybe guix should be more terrifying in that case~ <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))` ? <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 <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]>oh rust-cargo-make fails bcs rust-rust-info failed to build? <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. <nckx>Hm, you're still using the old Rust: /gnu/store/j4fazhp9rzgnss3gq5zdvw73jdkgnbn3-rust-1.45.2-cargo/bin *M6piz7wk[m] added the argument to rust-cargo-make then <nckx>I meant to past /gnu/store/m6c2rrqkzxfpcdw61dlkl2808zsnn9f2-rust-1.45.2/bin but same implication. <nckx>(= it is very much a valid keyword and used all over Guix.) <M6piz7wk[m]>sounds like something you would say to someone when you were about to murder em *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>Nobody talks about it anymore because the acronym was a failure. <vivien>Wild animals carry viruses, and you can transmit them viruses too <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 <roptat>(inputs `(("openssl" ,openssl))) <roptat>yes, pkg-config would be in native-inputs *M6piz7wk[m] is waiting for check <roptat>--check means to compile again and check for reproducibility <nckx>roptat: check phase, methinks. <roptat>M6piz7wk[m], so if it's the check phase, the goal is to run the package tests <roptat>mh, I don't know, did you run with --check, are is it guix telling you starting check phase? <roptat>mh, rust is behaving in mysterious ways :p <roptat>I think you're good, just let it finish <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. <M6piz7wk[m]>the one where he starts heavily breathing in the face of his wife that is giving a birth xD <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. <nckx>I don't know who that is but great. 1 should suffice, though. <nckx>I think the useful part precedes that one. <nckx>Although I can't help you with Rust proper. <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? <efraim>looks like there are files missing from the release tarball <jave>M6piz7wk[m]: that sounds interesting yes <efraim>you can't "unwrap" files that aren't there <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 <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 <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 😢 <mahmooz>and lose the rest of the updated software 🤔 <mahmooz>i meant lose the updates for the rest of the packages <mahmooz>i thought rolling back would be instant but apparently it has some downloading to do.. *M6piz7wk[m] would check dmesg and physical switches <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 *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 <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/ <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?