IRC channel logs

2021-08-02.log

back to list of logs

<cehteh>uhm could someone with more scheme knowleges than me implement a generic list-merge to get rid of all these modify service stuff (and others)
<cehteh>like (services %desktop-services (list (service ...overrides..))
<muradm>cehteh: modify-services is exactly for that purpose
<muradm> https://git.savannah.gnu.org/cgit/guix.git/commit/gnu/services/docker.scm?id=f946a370edbf65baab41e8373e25157da5029a88
<cehteh>just in a braindead way, if anything is in both lists the elements from the 2nd would be merged/overwrite the one the prev list
<muradm>damn
<cehteh>muradm: modify servicse is really unergonomic or i just dont get how to uses it
<muradm>cehteh: that is not so simple, it is not just simple list
<cehteh>ok
<muradm>cehteh: works fine here, show your config, may be some misuse?
<cehteh>i am just starting the misuse :D
<cehteh>lemme try something
<cehteh>wow worked .. with some try'n'error :D
***Kimapr1 is now known as Kimapr
<cehteh>hmm only half as good
<cehteh>when i use modify services then the defaults seem to be gone, i thought i can only change the setting i want to be non default
<leoprikler>cehteh: you can inherit the existing config
<cehteh>how?
<cehteh> https://paste.debian.net/1206287/ is what i have now
<cehteh>ah stupid .. its already there :)
<cehteh>ok
<cehteh>(setuid-program (program (file-append #$shadow "/bin/passwd"))) .. what does the #$shadow do there?
<muradm>cehteh: guix package --list-available=shadow
<cehteh>muradm: i mean scheme/syntactically?
<muradm>(file-append <pkg> <path-within-pkg>) form gets the absolute path of passwd program which is part of shadow package
<cehteh>i want brightnessctl make suid-root (or alternatively change the permissions on the respective proc entry) ..
<cehteh>#$ does what?
<muradm>that is kinda of context switching, scheme is lisp language where code is data, sometimes writing code as data, sometimes code as code, sometimes data as code :)
<ft>Those are G-expressions. The manual has a section on them.
<cehteh>ah ok
<muradm>evaluate the value of variable "shadow" i would say simplistically, instead of using variable reference
<ft>They are not standard scheme, but guix implements them.
<muradm>btw, this weekend i managed to switch elogind/xorg/i3 to seatd/greetd/sway, result ~300-400MB ram freed and battery life dramatically prolonged..
<cehteh>hah ..on my desktop i configured everything to sway .. with a scaled 4k monitor
<cehteh>worked somewhat until i noticed the fuckups :D
<cehteh> https://pbs.twimg.com/media/Eq_HT5cW8Ag-P63?format=jpg&name=900x900 thats my left/bottom edge of the monitor in detail under i3
<cehteh> https://pbs.twimg.com/media/Eq_HWNtW4AAg6pc?format=jpg&name=900x900 and thats under sway
<cehteh>see the difference? :)
<cehteh>actually with 2 monitors, differnt dpi and different toolkits the cursor is never the same size, depending on in whcih part of the desktop it is, even on the same screen it changes
<muradm>size of pointer?
<muradm>i don't remember last time i saw pointer :)
<cehteh>well i like keyboard + pointer
<muradm>will see how sway will work with 2 2k monitors in the office may be in the mid of next month only..
<cehteh>i have one 2k and one 4k but different dpi
<cehteh> https://twitter.com/i/status/1328676527328940032 also nice i3 big, configured the mouse wheel for resizing
<cehteh>somehow one axis resize didnt got the message which window is active
<cehteh>hah that bug still exists
<cehteh>what do i need to use-modules to get gexpressions?
<cehteh> /etc/config.scm:56:27: error: ungexp: unbound variable
<cehteh>hint: Did you forget a `use-modules' form?
<cehteh>yes .. certainly,
<cehteh> https://paste.debian.net/1206288/ is my conf
<muradm>every identifier should be defined somewhere like (setuid-programs is identifier
<muradm>(append is identifier, but this one is built in
<cehteh>yes
<muradm>brightnessctl is identifier
<muradm>brightnessctl, you know that is package, use guix package --list-available=brightnessctl
<cehteh>yes
<muradm>it says on the right gnu/packages/linux.scm:
<muradm>meaning that its module is (gnu packages linux)
<cehteh>i includes that in packages
<muradm>try (use-modules (gnu packages linux))
<muradm>on the top of the file
<muradm>not only in packages
<muradm>but if it works in packages, then problem is not there
<cehteh>eh?
<muradm>some other identifier might be undeclared
<cehteh>doesnt fix it
<cehteh>ungexp is undefined
<cehteh>(use-modules (guix gexp)) << i use thart
<muradm>candidates: program, file-append, setuid-program, %setuid-programs, setuid-programs
<cehteh>(use-modules (gnu system setuid)) is also there
<cehteh>file-append is defined where?
<jorge[m]><civodul> "jorge: me parece que había un..." <- Quiero ofrecer disculpas a los colaboradores por que todo este tiempo era mi maquina y es que no se conectaba a la red,disculpa nuevamente pero ahora estoy alegre por usar mi sistema.
<muradm>cehteh: if you use emacs, you may get emacs-guix or something like that that uses geiser
<cehteh>and then?
<muradm>then just "g d"
<muradm>consider guile scheme is a normal language
<muradm>you will also get auto completion in emacs
<cehteh>oh .. is this a documentation bug: (program (file-append brightnessctl "/bin/brightnessctl")))) works .. without the #$
<muradm>and you may use ripgrep like and search for definitions of symbols
<cehteh>i dont even know where to search
<muradm>look at ~/.cache/guix/checkouts/
<muradm>guix pull creates there source tree
<muradm>cehteh: try'n'buy model )))
<cehteh>when one knows that
<cehteh>anyway thanks, works now
<cehteh>and scheme isnt really a 'normal' language as it allows to customize syntax forms
<chipb>seems like a pretty arbitrary definition of 'normal'.
<cehteh>well i done a lot lua which is pretty much a scheme, sans the syntax :)
<cehteh>so only thing missing is changing the cursor size, then my laptop looks almost as it looked with debian
***califax- is now known as califax
<tissevert>hello guix
<MysteriousSilver>\o
<tissevert>what's up ?
<MysteriousSilver>nothing much, wbu?
<tissevert>doing paperwork again instead of trying to package stuff : )
<MysteriousSilver>good luck :D
<tissevert>but maybe if I'm done fast enough I'll be able to fail writing packages ? that'd be something : )
<tissevert>thanks ! XD
<civodul>Hello Guix!
<MysteriousSilver>salut
<NicholasvonKlitz>Ì'm currently trying to package this rust app: https://gitlab.com/asus-linux/asusctl/-/blob/main/asusctl/Cargo.toml
<NicholasvonKlitz>I already packaged all of it's dependencies.
<NicholasvonKlitz>The problem I'm facing now is that 4 of the dependencies are crates that are not published on crates.io. I packaged these crates, but now when building the rust app, it says the dependencies cannot be found (event though I pass them in as build inputs and patching the Cargo.toml file) since they are not published on crates.io
<NicholasvonKlitz>This is the package definition I have so far: https://paste.debian.net/1206316/
<NicholasvonKlitz>And this is the exact error I receive after running `guix build asusctl`: https://paste.debian.net/1206317/
<NicholasvonKlitz>Anyone have any ideas to mitigate such an issue?
<NicholasvonKlitz>Here is also the package definition of the supposedly missing crate: https://paste.debian.net/1206318/
***silasfox_ is now known as silasfox
<raghavgururajan>Hello Guix!
<raghavgururajan>Anyone else using Sway experience these? [1] system stuttering when xwayland is enabled [2] icecat tabs crashing often.
<vivien>Hello, what license from (guix licenses) is that? https://github.com/intuit/karate/blob/master/LICENSE
<vivien>"MIT License"
<vivien>Never mind, it’s expat: https://directory.fsf.org/wiki/License:Expat
<civodul>:-)
<vivien>I foolishly thought I could take https://github.com/intuit/karate and make a guix package out of it, but then it requires graalvm JS (https://github.com/oracle/graaljs), and I don’t know how to compile that one. Does anyone know what build system it is?
<leoprikler>vivien: no step closer, but it appears you'll have to package this thing first: https://github.com/google/jsonnet
<leoprikler>the build tool appears to be this thingy: https://github.com/graalvm/mx
<vivien>Why did they think they would use python to compile java code? Anyway.
<vivien>So, jsonnet requires an exotic json library, whose test suite is here: https://github.com/nlohmann/json_test_data
<vivien>Should I package the test suite? If so, what license should it have?
<vivien>OK I won’t.
<vivien>Now, jsonnet requires an exotic md5 third-party implementation (it claims to be the one used by https://www.bzflag.org/, but it’s not used by that project anymore). It looks like it would be easy to replace with another md5 implementation. What library should I use instead? Nettle? libmd?
<vivien>Let’s go with nettle.
<leoprikler>vivien look at ppsspp for a package with external tests as an example
<leoprikler>but it's fine not to package if you don't want to
<vivien>So! I have packaged nlohmann-json without its tests, and jsonnet with a hack to use nettle for md5. I copied the PR statements on their websites for the package descriptions. They build, and jsonnet passes its tests. Now, where should I put these package definitions?
<vivien>Oh the nlohmann json library was already packaged, but it did not mention nlohmann
<civodul> https://gitnft.quine.sh/ <- craziness
<leoprikler>vivien: where was nlohmann already packaged?
<vivien>leoprikler, it’s called json-modern-cxx
<vivien>I could not find it with guix search nlohmann
<leoprikler>what a confusing package name
<vivien>There are many confusing things with modern and fast c++ projects
<vivien>But since json-modern-cxx does not have a monolithic header, I need to find another way to add these to the include path
<vivien>I see that artanis does a snippet to remove the packaged third-party code
<vivien>It uses substitute*
<vivien>However I don’t understand how the parenthesis work within the pattern. Do I have to escape real parenthesis?
<vivien>For instance, (#:use-module \\()artanis third-party (json\\))
<civodul>vivien: substitute* takes POSIX regexps in Scheme strings, so you have to escape accordingly
<vivien>I don’t know much about POSIX regexps, what if I want to match an open parenthesis, anything, a closing parenthesis and end of line? Should I go \\((.*)\\)$ or (\\(.*\\))$ ?
<roptat>first one if you don't want the group to contain parenthesis
<roptat>() creates a group, it doesn't match anything, \\( and \\) is first an escape for guile strings \\ -> \ and then interpreted as an escaped parenthesis, which matches a parenthesis in the text
<vivien>I have this line in the file:
<vivien> find_package(nlohmann_json 3.6.1 REQUIRED)
<vivien>I want to match it with: ("([:space:]*)find_package\\(nlohmann_json (.*)\\)$" space rest)
<vivien>It does not seem to work.
<roptat>not sure about [:space:] ...
<vivien>(if I add ((".*") "aaaa") it destroys the file, so it means that the file name is correct)
<vivien>artanis uses [:space:]
<vivien>Oh but in double brackets
<roptat>yeah, I see that now, so it should work
<roptat>no, the first one groups space and punct together
<leoprikler>i'd write [:space:] as [ \t] in practise
<vivien>Ah OK I see, I can’t match anything then a parenthesis then $
<vivien>because the .* gets greedy I guess
<roptat>I don't think so
<leoprikler>but actually you don't have to match the space at all, do you?
<vivien>I don’t
<vivien>But it’s prettier!
<leoprikler>fair enough
<vivien>So, the regexp is detected with ("([[:space:]]*)find_package\\(nlohmann_json (.*)$" space rest), but if I replace it with (string-append space "find_package(nlohmann_json " rest "\n" space "add_subdirectory(${nlohmann_json_INCLUDE_DIRS})") it is all messed up
<vivien>Oh maybe I could group the whole line
<roptat>looks like I can match with "find_package\\(nlohmann_json (.*)\\)" but not "find_package\\(nlohmann_json (.*)\\)$" for some reason
<vivien>If I match the whole line and give up about the space, it works!
<vivien>match: ("(find_package\\(nlohmann_json .*)$" line)
<vivien>replacement: (string-append line "
<vivien>add_subdirectory(${nlohmann_json_INCLUDE_DIRS})
<vivien>")
<vivien>Now I have access to the next stage of debugging
<vivien>OK it works again! Should I put it in (gnu packages cpp), so that it’s with its friend json-modern-cxx?
<roptat>sounds good
<abrenon>hello
<MysteriousSilver>\o
<abrenon>I'm a fairly new guix user but I'm trying to package some ocaml lib and I have a question
<MysteriousSilver>don't ask to ask
<abrenon>: )
<MysteriousSilver>just ask! :)
<abrenon>I get a "no matching pattern" error, which, if I understand correctly is linked to a missing field in the package I'm trying to import
<abrenon>I really have no idea whether this is all going to work in the end, I just want to get a POC package: what's the shortest way to fix this ? can I somehow force the opam imported not to look for that field ?
<abrenon>am I better off writing the whole package myself and skip the importer ?
<maximed>abrenon: Could you paste (paste.debian.net) the package definition and the complete error message?
<maximed>The importer should provide a good basis to start with, though sometimes some changes are required
<maximed>Though "no matching pattern" is odd
<maximed>Do you mean "guix import ..." doesn't give you a package definition, but an error message?
<abrenon>yes, exactly, it yields https://0x0.st/-4TJ.txt
<abrenon>which, after downloading the incriminated package, opam-iter 1.2.1 seems legit:
<abrenon>the package indeed lacks a synopsis field, which is the one queried on line 337
<abrenon>as reported by the backtrace
<maximed>Seems like 'metadata-ref' doesn't support missing fields
<abrenon>so I mean, the opam package is broken, here, nothing to do for guix, I just wanted some piece of advice as to what the shortest path to fixing it would be in your experience
<maximed>Maybe send a bug report bug-guix@gnu.org
<maximed>I'd think "guix import ..." should be robust to missing a synopsis
<abrenon>on the other hand, I can understand the value of a tool which stops people from importing too easily malformed packages, that will then get refused later
<maximed>In that case, the error message could be nicer
<abrenon>totally ! : )
<maximed>"guix import: error: Package opam-xxx is missing a synopsis" or something like that
<abrenon>so I will report that bug, but I'd much rather do it while my package is building
<abrenon>so what do I do ? can I import from an edited local version ? should I draft a rough patch to fix the opam importer and import with that ?
<maximed>as a work-around, you could replace (metadata-ref opam-content "synopsis") with #f
<abrenon>should I write the package from scratch ?
<abrenon>so patch, ok
<abrenon>how then do I run the edited version of the importer ?
<maximed>The manual has some instruction regarding how to set up a development environment
<abrenon>thank you !!
<maximed>basically, "git clone https://savannah...." "guix environment guix" "./bootstrap" "./configure --localstatedir=/var" modify the source code "make" "./pre-inst-env guix import ..."
<ixmpp>has setuid-programs changed recently?
<abrenon>worked flawlessly ! thanks again for the support maximed
<abrenon>I'll report the bug right away
<maximed>ixmpp: Yes: <https://git.savannah.gnu.org/cgit/guix.git/log/?h=wip-setuid>
<maximed>it's not so WIP anymore, as it is in 'master' now
<ixmpp>maximed; wonderful, thanks
<ixmpp>docs are now out of date, i couldn't find this anywhere
<ixmpp>updated my channel now
<NicholasvonKlitz><NicholasvonKlitz> "The problem I'm facing now is th" <- Following up on this. Anyone have any ideas how to address this issue?
<PurpleSym>I’m trying the Guix installer right now, but when formatting partitions it bails out with “/dev/sdb (the usb drive) is still in use”. Is this a known issue?
<cehteh>unexpected build daemon error: stoi .. means what? when offloading builds
<roptat>PurpleSym, are you trying to format the USB you've booted on? that's not possible
<PurpleSym>roptat: Nope, selected /dev/sda.
<civodul>new blog post! https://guix.gnu.org/en/blog/2021/taming-the-stat-storm-with-a-loader-cache/
<roptat>PurpleSym, sounds like a bug then, it shouldn't touch sdb if you selected sda...
<PurpleSym>I’ll try again and file a bug.
<vivien>I have jsonnet! http://debbugs.gnu.org/cgi/bugreport.cgi?bug=49823
<mothacehe>interesting read civodul, really well explained!
<maximed>vivien: the inlined code fo "md5.cpp" seems a bit large for a (gnu packages ...) module, maybe use 'local-file' and save "md5.cpp" in gnu/packages/aux-files/..., or make it a patch (YMMV)
<maximed>packe descriptions are in texinfo, so I'd use @itemize and @item for lists
<vivien>maximed, do you have an example for a program that uses such a local-file?
<maximed>Not really important for "guix show" I guess, but it does seem important for "https://guix.gnu.org/en/packages/r-acp-2.1/"
<maximed>maybe "icecat-source" in (gnu packages gnuzilla)
<roptat>civodul, very nice post :)
<civodul>thanks, roptat :-)
<zacchae[m]>In my experience, there are always pre-build binaries for 64bit x86, but does the same go for aarch64?
<zacchae[m]>I'm wondering how easy it will be to get the guix package manager on my reMarkable 2 tablet
<zacchae[m]>(which, other than the wifi firmware, is capable of running on free software)
<zacchae[m]>oh actually, the guix user guide says to use armhf for arm7 processors, not aarch64.
<zacchae[m]>Basicall, I don't want to try and build things from source on my punny tablet. In case I can't rely on pre-built binaries, is there an easy way to compile for armhf on my laptop and access it from my tablet as a normal repo?
<vivien>maximed, I can’t get local-file to work, so I will go with a patch.
<maximed>Anyone interested in a few Minetest mods? --> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=49828
<abrenon>I see ocaml packages relying on the dune-build-system like ocaml-num that seem to build perfectly, but the ocaml-iter I imported won't build because of the `check` phase which apparently tries to run "dune runtest test" and fails
<abrenon>I have to disable tests for the build to succeed
<abrenon>is that a common dune thing ? and if so why do some package work without appearing to disable their own tests
<abrenon>?
<roptat>abrenon, maybe the tests are elsewhere? try #:test-target "." for instance
<roptat>or it could be there is no tests at all, then you can disable them
<abrenon>it seems in ocaml-iter they use something called qtest, could that be it ?
<roptat>zacchae[m], armhf doesn't have substitutes currently
<roptat>yeah
<abrenon>I see, packages having ocaml-qtest as dependency have #test-target: ".", that's the pattern I was missing !
<abrenon>thank you very much
<roptat>could be more specific I think, with "." you're running the tests for everything. But maybe it should be made default
<roptat>since "test" is also not very specific
<abrenon>well at least it did run some tests and everything works so I couldn't ask for more : )
<zacchae[m]>roptat: Thanks. If I set up a custom repository, would I be able to generate appropriate substitutes?
<roptat>no need to set up a repository, you'd need a build farm for armhf though
<roptat>you could use a cuirass instance for that (that's what's running behind the official build farm)
<zacchae[m]>I see
<cehteh>huh ctrl-c in kitty does not work, is that a feature? :D
***attila_lendvai_ is now known as attila_lendvai
<bricewge>Sometimes this terminal get unresponsive, even Ctrl+c won't work
<cehteh>nah doesnt do any action at all even on simple things
<cehteh>like tail -f .bash_profile cant be interrupted
<cehteh>ctrl-z works but thats no solution
<cehteh>i would like to keep urxvt, but for some reason that has ugly font rendering and i didnt figured out the cause yet
<podiki[m]>I miss termite already (also on kitty, which is fine, unless you have graphics drivers issues and then lose your terminal)
<cehteh>kitty is suprisingly heavy and slow
<podiki[m]>anyone here using f2fs on desktop systems? thoughts?
<cehteh>makes no sense, i use it on some raspberry pi with sd-cards, but for normal SSD's there wont be any reasonable benefits
<podiki[m]>you prefer ext4 or btrfs then?
<cehteh>ext4
<cehteh>i can crash btrfs in no time :D .. and the features i would really like are not implemented or buggy
<cehteh>i have some hopes that bcachefs lands
<podiki[m]>i've always used ext2/3/4 but feeling...experimental (not how one should normally feel for filesystems probably)
<abrenon>any idea why a bad sha256 would go undetected building an ocaml package but not a blank one ?
<abrenon>is source retrieval build-system dependent ?
<roptat>if you have already a source with the same file name and that hash, guix will simply reuse it
<abrenon>Oo
<roptat>make sure the source has a proper name (like, not "checkout") by using the file-name field of origin
<roptat>the source retrieval is independent from the build system, it uses whatever you declare as the method in the origin record
<roptat>like url-fetch, git-fetch, ...
<abrenon>I was expecting it to fail, given the fact the actual sha256 of the retrieved folder doesn't match the one I was passing
<abrenon>this looks to me like a good source of errors
<roptat>like I said, guix will not get the source if it already has it (or thinks it has it)
<abrenon>yeah, that's understandable
<vivien>maximed, I would love to try the minetest patches, but when I download the mbox from the bug report and try to add it with git am, the patches end up in the wrong order and it makes a lot of errors
<abrenon>but still ^^'
<roptat>and it will think it has it if there is a file with the same name and the declared hash present
<roptat>so, usually you have to give a file name that depends on the version, or when you change the source, switch the leading 0 or 1 to 1 or 0 in the declared hash, to make sure your cache can't interfere
<abrenon>will do
<abrenon>damn, it worked
<abrenon>it would seem
<abrenon>but all that glitters isn't gold, …/bin is empty : /
<maximed>vivien: I created a branch "minetest" on https://notabug.org/maximed/guix-gnunet
<maximed>it also has some unrelated patches
<daviid>gnome
<daviid>sorry
<ploupi>hi there, I've just tried a fresh install of guix. There are some troubles with the keyboard layout / encrypted fs. At boot it doesn't use the layout configured with the installer (can be really boring), then for the 2nd password it uses the correct layout. I guess that someone already pointed it out, but just in case.
<vivien>ploupi, if you can still log in, add another encryption key as root: enter your passphrase, change your keyboard settings to US QWERTY, type the same keys, and switch back your keyboard. With this trick, you will have 2 encryption keys: one for your keyboard layout, and one as if your keyboard was QWERTY. It is sufficient to satisfy both prompts.
<vivien>This does not solve the bug, but at least you will be able to log in without trouble.
<ploupi>yes, thx :)
<abrenon>how to properly look for ocaml packages ? is there a "core" of packages containing things like "str" or such ?
<abrenon>my compilation fails because of a missing "log" package, which is not on opam
<abrenon>what dependency could I be missing ?
<roptat>what's the error exactly? an opam error or a compilation error about a missing module?
<roptat>s/opam/dune
<zacchae[m]>Does the guix project use any git forges(gitea, gogs, etc.), or does it just rely on bare git + mailing lists?
<roptat>guix uses savannah
<roptat>which is essentially git + mailing lists ^^
<zacchae[m]>Is that just because email is eternal, while git forges are temporary?
<roptat>dunno
<leoprikler>yes
<leoprikler>but also the barrier to entry for email is significantly lower than for forges, despite what forges tell you
<leoprikler>It comes at the minor expense of committers having to read their mail, though
<Guest80>hello, I'm a 1.3.0 user and love what I got. At the moment I try to get non-english locales into libreoffice and icecat (preview). I've strong vibes for the english language but it is not my first one. ;-) Thanks in advance.
<roptat>I don't think we have solved these issues yet
<zacchae[m]>leoprikler: You think mailing lists are easier than raising issues? I think you end up cutting out contributions from anyone not as CLI savy
<vivien>leoprikler, maximed sent a series of patches here: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=49828 but I can’t figure out how to have them applied to my local guix repository. I tried to download the mail as mbox through one of the links in the bug reports, but git am chokes on it. That’s a practical example of a barrier to me, but I’d like to know what I do wrong.
<Noisytoot>zacchae[m], creating issues with forges usually requires making an account
<zacchae[m]>like, with raised issues, you very often get solutions from non-developers, thus saving the valuable time of non-non-developers
<leoprikler>vivien: git am --patch-format=mbox
<Noisytoot>non-developers can use email
<Noisytoot>you don't need to use the command-line to use email
<Noisytoot>but you don't need to use a web interface either, like you do with most forges
<maximed>zacchae: There is an interface for reading & submitting issues
<maximed>It's https://issues.guix.gnu.org for reading
<leoprikler>vivien: if you want the entire patch set as an mbox, see http://issues.guix.gnu.org/issue/49828/patch-set
<maximed>and "send a mail to bug-guix@gnu.org" for submitting
<maximed>and "send a mail to NNNN@debbugs.gnu.org" for responding to an issue
<maximed>there is no CLI involved (except for sending patch series)
<zacchae[m]>maximed: Oh wow, that looks ideal. Just a gui frontend to a system run primarily through email.
<vivien>leoprikler, wow, it works, thank you! How did you get the patch-set URI?
<maximed>zacchae[m]: a warning though: sending responses via the form at https://issues.guix.gnu.org/NNNN is (was?) buggy
<maximed>your responses can get lost
<leoprikler>vivien: it is a somewhat undocumented mumi feature issue/N/patch-set gives you the patch set
<leoprikler>I think you can also do patch-set/M to get the Mth patch set but last time I checked that didn't work too well for me
<leoprikler>btw. this is the kind of web api that I like: just send a GET request somewhere and stuff happens
<ixmpp>anyone here use clangd?
<ixmpp>i feel like it's not packaged right
<zacchae[m]>maximed: I don't plan on using the web interface, but I would like my projects to be user friendly, which is why I ask. Hopefully that bug isn't a problem when(if) I get around to using it.
<vivien>I have another practical question. If I send a patch-set, then I notice I made a stupid error in one of the commits and decide to fix it, should I rather send only the new version of the commit, or should I send the whole suite again?
<leoprikler>There's split opinions on that
<leoprikler>some prefer to just fix that patch, others "spam" the ML with the entire run
<leoprikler>If you feel like you'll make multiple changes over time, the best thing is to hold back a little and then resend when you have enough opinions on the original piece to make a full v2
<leoprikler>if you just want to quickly resend to say "hey I fixed this embarrassing thing, don't yell at me", that's fine too
<vivien>I notice that the /patch-set URI for my own patch (https://issues.guix.gnu.org/issue/49823) does not include the revisions
<leoprikler>the first one should be 0 or 1, idk
<vivien>If I had to review that one, how should I proceed to have only the latest applied?
<leoprikler>It also doesn't work for attachments, you have to git send-email with the correct revision set for it to work as intended
<vivien>Oh ok, so I did it wrong
<leoprikler>In that case you have to scroll down the thread and apply the latest manually, sadly :P
<vivien>Hopefully I have only one commit.
<leoprikler>it's okay, dare mo beginner
<vivien>But if the issue gets 4 messages: patch 1/3, patch 2/3, patch 3/3, and patch 2/3 (because I fixed patch 2/3 later), the /patch-set URI should ignore the first patch 2/3 and reorder the others?
<leoprikler>vivien that's not how this works, sadly
<leoprikler>As a reviewer, if you're already on the case you could git revert the offending one, then git am the new one and finally git rebase to fix the order
<vivien>Is it better to close the issue and open a new one?
<leoprikler>sending the whole v2 in one go is in some sense preferable, because it *does* make patch-set and cbaines' patchwork work
<leoprikler>nono, we don't want duplicates
<leoprikler>Don't worry, we're intelligent humans, we can handle what you throw at us :)
<vivien>Is it ok in the last situation to send patch 1/3, patch 2/3, patch 3/3 and patch 4/4 named "fixup! patch 2/3"?
<leoprikler>I think that'd be more confusing than to simply send a revised 2/3 or the whole thing in one go
<leoprikler>the dirty commit style is something for feature branches in certain projects or for personal experiments, not for stuff with a clean history like Guix
<leoprikler>*cough* or sometimes not as clean *cough*
<vivien>You mean, with the fixup! commits?
<leoprikler>w.r.t. jsonnet is it necessary to pack our own cmakelists?
<leoprikler>can't we simply patch the existing one through substitute*
<leoprikler>yep
<vivien>It’s not the full one
<vivien>It’s just to add a dependency
<vivien>It replaces this one: https://github.com/google/jsonnet/blob/master/third_party/md5/CMakeLists.txt
<vivien>So if we do a substitute*, it will end up larger because the original is a one-liner
<vivien>(for fixup! commits, it’s usually just for the review, and magit does propose to reorder and merge them, so the final patch series won’t have fixup! commits)
<ixmpp>yeah guix really fucks with lsp-clangd
<ixmpp>i'm not sure i even know where to begin fixing this
<ixmpp>cppcheck will do instead
<abrenon>roptat: as far as I can tell it's an ocamlfind error, from what I understand the package is using a simple Makefile, not dune
<abrenon> https://0x0.st/-4mT.txt
<abrenon>what I don't understand is I think I've seen on previous occasions the whole build command displayed (with a prefix set to the destination directory), is that specific to other kind of builds ?
<roptat>unrelated, but see how the source is called "/gnu/store/51smfhrwq0sck518wc7nmv9b6rwlcrk2-git-checkout"? that's incorrect. you should use (file-name (git-file-name name version)) in the origin record (see other packages for examples)
<roptat>yeah, that's specific to the build system
<roptat>but here it's just running "make" with maybe a "-j" argument
<abrenon>(I found the occurrence I was thinking about, it is indeed a haskell package, in setup-compiler
<abrenon>sorry, I had missed that git-checkout thing you had told me about
<roptat>which package is this? maybe we can find a hint in the sources
<abrenon>yeah and what I understood from the opam file there is that PREFIX should be passed to make
<abrenon> https://gitlab.inria.fr/grew/grew/-/blob/master/opam
<abrenon>but I don't understand why my package draft is lacking the file-name field
<roptat>you have to use #:make-flags I think or #:build-flags, I can't remember
<abrenon>it usually gets generated from the import I start from
<roptat>mh, the importer probably didn't specify it
<abrenon>and I noticed it's not either in its other (ocaml too) dependencies
<abrenon>but they seem to be fine
<roptat>I don't know how you could import that one though, it's not in opam
<abrenon>yeah absolutely
<apteryx_>weird, I got: error: failed to load 'build-aux/compile-all.scm': No such file or directory, then running 'make' again, it was successful.
<abrenon>I imported the dependencies
<abrenon>and edited that one from the import
<roptat>I see, you missed libcaml-log, which I think is what you need
<roptat> https://gitlab.inria.fr/guillaum/libcaml-log
<abrenon>(of the others, I'm not making a lot of sense and am sorry for that, there's too much noise around for me to concentrate properly)
<abrenon>wow
<roptat>unfortunately with no license, this is not free software :/
<abrenon>but seriously: how did you find it ?
<roptat>looking for "libcaml-log" on a search engine
<abrenon>this could become free software with a proper mail to the developer,
<roptat>I hope so :)
<abrenon>we still have the source, maybe there's some willingness
<abrenon>(far better than other competitors in the same field)
*vagrantc waves
<roptat>yeah, many people think publishing the source basically mean it's public domain, so I hope it was the intention
<abrenon>but what prompted you to look for "libcaml-log" specifically, when the log cries about "Package 'log'"
<abrenon>I thought it was some core thing
<roptat>the opam file talks about it: https://gitlab.inria.fr/grew/grew/-/blob/master/opam
<abrenon>also, clearly according to the install instructions it was the developper intent for opam to be used
<abrenon>even though it's on a private opam repos, not the official one
<abrenon>would there be a way to have opam import from a custom repos ?
<roptat>yes, it's already possible
<abrenon>maybe the various custom dependencies are described there and more easily packaged thus
<abrenon>that's great news !
<abrenon>and how is it achieved ?
<roptat>arf, it's not exactly useful, but you can pass --repo to the importer
<abrenon>why isn't it useful ?
<roptat>unfortunately the only accepted values are coq, coq-<version> and opam (or unset)
<abrenon>: (
<roptat>you could change that in get-opam-repository in the importer code (guix import opam)
<abrenon>was precisely looking at that file
<abrenon>but that sounds like long work so I'll have to delay
<abrenon>thank you very much for the help, I think I have my next steps planned
<roptat>not necessarily, if you replace that throw with repo, you can pass a url to --repo and have it work for you
<roptat>if you really can't do it, please send another bug report and I'll try to take care of it
<abrenon>I want to try it, I'm just lacking time right now
<abrenon>but it's on my TODO list for tomorrow
<abrenon>honest
<roptat>ok
<abrenon>thank you again
<roptat>what's the url of that opam repository?
<roptat>oh http://opam.grew.fr
<roptat>mh... not a git repository, which the importer expects
***Kimapr7 is now known as Kimapr
<leoprikler>vivien: although the overlap between guix and emacs certainly exist, not everone is an emacs user here and even some of those don't use magit
<roptat>is there a way to see which URLs a program is fetching at runtime?
<leoprikler>strace or Wireshark, pick whichever you want :P
<roptat>yeah, used wireshark
<roptat>so /index.tar.gz is the file opam uses
<apteryx_>sneek: later tell yoctocell how does the prefix trick work for define-maybe? It seems I'd still be bound to a single (define-maybe something (prefix myprefix-)), otherwise there'd be name clashes at the top level for 'something'.
<sneek>Got it.
<galuf>I'm using the latest stable VM image of Guix with qemu. When I try to change the display resolution from within XFCE (or xrandr), it will change momentarily but immediately go back to the default 1024x768. Any ideas as to what is happening here?
<Noisytoot>Is it possible to install GCC for a certain target (such as riscv64-unknown-linux-gnu)?
<Noisytoot>or create an environment with it?
<apteryx_>yes, it should; 'guix environment gcc-toolchain --system=aarch64-linux', for example. But I don't know the current status of the riscv64 port; I think it's a WIP.
<apteryx_>I forgot the --ad-hoc in the above command
<cbaines>the latest revision of Guix failed to be processed by data.guix.gnu.org
<apteryx_>hmm
<apteryx_>'Failed to import data'; what does it mean?
*apteryx_ guix pulls
<cbaines>assuming that comes from the data service, it just means that I think
***apteryx_ is now known as apteryx
<cbaines>make as-derivation will probably reproduce the failure locally
<vivien>I think the emacs directory-variables should be disabled by default, and only enabled with an appropriate argument in bootstrap or configure
<podiki[m]>hmm, using cmake-build-system and getting an error of the version of cmake being old (3.16.5), wouldn't the build system use the highest available version? (3.21 or something)
<apteryx>vivien: may I ask why?
<vivien>They are way too many to review individually
<vivien>Anyway, the indentation and so on should be a pre-commit hook, so that they could also apply to people not using emacs.
<cbaines>apteryx, yep, make as-derivation fails for me
<cbaines>apteryx, I think it's because only .scm files are pulled in to the guix-system-tests derivation from the gnu/tests directory
<podiki[m]>ah, cmake-build-system uses cmake-minimal which is at 3.16.5 still (from the bootstrap)
<podiki[m]>where exactly do i put #:cmake in a package def to specify the version of cmake?
<roptat>podiki[m], in the arguments field
<roptat>if there's none, add something like (arguments `(#:cmake ,cmake))
<apteryx>cbaines: reproduced
<apteryx>I'll revert the commit pending investigation
<cbaines>I think I might have a fix
<podiki[m]>roptat: thanks!
<podiki[m]>and is there any particular reason cmake-minimal is older than cmake currently?
<vivien>I guess that each time cmake is updated, the whole world needs to rebuild
<apteryx>cbaines: I just pushed the revert; no stress
<vivien>That will add a lot of degrees to global warming
<apteryx>vivien: I think the issue is mostly in how Emacs present or prompts for accepting of these variables; they are really useful in the context of Guix development so I don't think they should be hidden in a configure script.
<vivien>Yeah, they take up the whole screen
<apteryx>another Emacs bug (?) is that if you say no; it doesn't seem to remember IIRC. It keepts prompting.
<vivien>Maybe the file could be installed by bootstrap and registered in .gitignore then
<vivien>Honestly I don’t know
<apteryx>I think if you already trust to run guix, there's not much more to trust that .dir-locals
<cbaines>apteryx, cool, this change fixes the issue for me https://paste.debian.net/plain/1206385
<vivien>The problem is we don’t have a program that formats scheme source code
<vivien>apteryx, if I mark these values safe, they will be safe for any project
<vivien>I don’t want each project to do ugly things behind my back, just because these values happen to be safe for guix.
<lispmacs[work]>does guix have a gitter client?
<Noisytoot>lispmacs[work], You can use Matrix to access gitter
<lispmacs[work]>what is Matrix?
<Noisytoot>apteryx, That generates a gcc-toolchain that runs on that system. I meant a gcc-toolchain that compiles for that system
<podiki[m]>(insert gif of neo...)
<Noisytoot>lispmacs[work], https://matrix.org/
<podiki[m]>or maybe more helpful a matrix client, and which will connect to gitter channels via the matrix protocol
<lispmacs[work]>Noisytoot: do guix have a Matrix client?
<Noisytoot>lispmacs[work], Yes
<Noisytoot>quaternion and nheko
<podiki[m]>there's also some you can use via a web browser
<lispmacs[work]>i tried to avoid using Web browser JavaScript unless quite desparate
<apteryx>vivien: the only two unsafe (eval) directives from Guix's .dir-locals are configuring directory-local variables (not project wide). If you mean that the expression it whitelists itself is global, then yes, but they're not that hard to review.
<podiki[m]>lispmacs[work]: there's even one for emacs, wonder why I haven't tried it yet...
<apteryx>cbaines: checking
<podiki[m]>(actually several versions for emacs)
<apteryx>cbaines: is it because of the data file with the .dat file extension?
<vivien>So, I "fixed" the problem by asking emacs to only set safe variables and never ask for unknown variables, but it’s not really satisfying.
<lispmacs[work]>Noisytoot: can I create a Matrix account through quaterion? I've started quarterion but it wants a MatrixID, etc.
<lispmacs[work]>or do I need to create a gitter account and connect to their matrix server...?
<lispmacs[work]>I've never used gitter or matrix
<lispmacs[work]>was just trying to connect with a developer
<lispmacs[work]>who has a gitter room or something like that
<Noisytoot>lispmacs[work], you need to create a Matrix account
<Noisytoot>I'm not sure if quaternion can do that
<vagrantc>hrm... guix pull is failing on my pinebook pro ... guess i only have 16 revisions since the last pull to bisect...
<apteryx>vagrantc: may want to guix pull again, I reverted the last commit (mine).
<apteryx>sorry!
<vagrantc>oh
<vagrantc>well, will first pull to the version that updates u-boot, as that was what i was interested in :)
<apteryx>cbaines: uh, it seems I had listed my test data file under dist_patch_DATA, clearly wrong
<lispmacs[work]>Noisytoot: hi, I created a Matrix account and am logged in through Quaterion. but I am not clear how to join this gitter room:
<lispmacs[work]> https://gitter.im/punyforth/Lobby
<lispmacs[work]>I see the join room menu option, but am not sure what to put in for the room id or alias
<lispmacs[work]>can you help me?
<jackhill>lispmacs[work]: I'm in gitter via the xmpp->matrix bridge, but the room name is probably punyforth_Lobby@gitter.im
<lispmacs[work]>jackhill: okay thanks, that just worked for me
<jackhill>lispmacs[work]: super!
<apteryx>cbaines: your fix looks good! Perhaps my test data file should go under MODULES_NOT_COMPILED (gnu/local.mk)
<Rooks>How can I remove all my packages from the default profile?
<vagrantc>the default user profile? the system profile?
<Rooks>My user profile
<Rooks>Sorry
<apteryx>you could make an empty manifest and install that, perhaps
<Rooks>Not root
<apteryx>guix install -m your-empty-manifest.scm
<apteryx>(not tested)
<vagrantc>i suspect that's a poorly tested codepath :)
<apteryx>hehe
<vagrantc>maybe also "guix remove ."
<vagrantc>guess that doesn't work with remove
<apteryx>guix remove . --dry-run -> guix remove: error: package '.' not found in profile
<vagrantc>guix remove --dry-run $(guix package -I . | awk '{print $1}' )
<Rooks>guix package -m ~/.guix-extra/manifests/empty-manifest.scm --dry-run just was empty
<apteryx>perhaps also: rm ~/.guix-profile && guix pull
<Noisytoot>rm -rf
<Noisytoot>rm doesn't work for directories
<vagrantc>yeah, if you don't mind loosing older generations ...
<apteryx>it's a symlink, me thinks
<Rooks>wouldn't it just remake the symlink then?
<Rooks>rm -rf $(readlink ~/.guix-profile)?
<apteryx>I think ~/.guix-profile should be enough. Don't need -rf as these are all symlinks, and you don't want to try deleting the actual profile in the store anyway
<Rooks>Alright, that awk one worked, I might try the rm ~/.guix-profile
<Rooks>some other time
<PotentialUser-10>Hello. Will I be able to bring up Xen using Guix as host (dom0)?
<lfam>I tweaked the gpsd package to get farther along building a newer version
<lfam>Now it fails with "/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/include/bits/local_lim.h:38:10: fatal error: linux/limits.h: No such file or directory"
<lfam>Is there a known solution for this?
<lfam>It's a SCons package
<iskarian>hey, looks like the issues.guix.gnu.org certificate might be expired
<lfam>Thanks, I sent a note to <guix-sysadmin@gnu.org>
<lfam>Something is wrong with the automatic renewal :( This happens every 3 months
<PotentialUser-10>I installed Xen from the repository, but I do not understand how to enable it, usually the kernel is simply replaced, I did not find any documentation either
<apteryx>cbaines: jami service, takes 2! Thanks for the heads up about the previous failure.
<apteryx>take 2*
<lfam>I updated the gpsd bug report: <https://bugs.gnu.org/49815>
<Rooks>is there a package to reference that has multiple outputs and uses copy-build-system?
<Rooks>I am trying to make a package that copies different parts of a package given a selected output
<lfam>It's not definitive, but `grep -rI -A15 -B15 copy-build-system | grep '(outputs'` suggests "no"
<lfam>It's typical for the build-system and outputs to be defined near each other
*lfam g2g!
<iskarian>also, looking at the code for copy-build-system, it looks like it always uses "out"
<iskarian>it might be a good addition to support multiple outputs
<Rooks>Ah well
<Rooks>I guess I'll make them different packages
<Rooks>does a gtk theme have to be in the default profile to work?