IRC channel logs

2022-03-17.log

back to list of logs

<nisa>"nomodeset" did the trick I think
<daviid>vagrantc: gnu foliot (still) uses guile-gnome (which (guile-gnome) actually compiles and works fine up to the latest guile 2.2), but i shall port it to g-golf sometime this year
<nckx>nisa: Because it's broken and in turn breaks kmscon.
<nckx>(radeon)
<daviid>vagrantc: I never really maintained g-wrap, just 'kept it alive', the last g-wrap core fix is from andyin 2015
<daviid>g-wrap also compiles and works fine with guile 2.2
***piyo` is now known as piyo
<Gooberpatrol66>Does anything look wrong with this?
<Gooberpatrol66>(start #~(lambda _
<Gooberpatrol66> (invoke #$bash "-c" "'" #$sleep "30 &&" #$wg-quick "up" #$config "'")))
<Gooberpatrol66>in the definition for a shepherd service
<nisa>nckx: so I will not be able to utilize my AMD card on guix?
<vagrantc>daviid: fair. haven't tried very hard, but seems guile 3.0 would need changes.
<Gooberpatrol66>it throws "unexpected end of file while searching for other `''
<Gooberpatrol66>when i try to run it
<Gooberpatrol66>the quotes are wrong somehow
<catt[m]>Today is rms birthday
<nckx>Yup.
<catt[m]>He is 69 now
<nckx>nisa: I'm afraid AMD cards are frequent sources of trouble with free software. That's all I can say. I don't own any.
<catt[m]>nckx: Isnt nvidia worse?
<nisa>Huh and I thought I'd be good off giving away my Nvidia and buying AMD
<nckx>Probably.
<catt[m]>AMD has libre drivers
<catt[m]>Afaik
<catt[m]>Nvidia has proprietary ones
<nckx>I don't think any modern GPUs work well without proprietary software.
<catt[m]>nisa: Nvidia is worse, AMD publishes their drivers under a libre license
<catt[m]>nckx: Well, i dont run a fully free distro
<catt[m]>But iirc the drivers are libre on AMD
<nisa>Is it possible to replaye linux-libre with mainline linux?
<nckx>That's fine, but Guix is.
<catt[m]>nckx: Yeah i know
<catt[m]>But i dont think amd needs any proprietary things to run
<nckx>What I mean is we don't support proprietary software here, sorry.
<catt[m]>Except obviously it runs proprietary bios
<catt[m]> https://github.com/GPUOpen-Drivers/AMDVLK
<catt[m]>Here it is
<catt[m]>I think
<Gooberpatrol66>it needs a closed firmware blob to run
<nckx>catt[m]: I doubt the ‘open source’ AMD drivers work without blobs.
<catt[m]>Gooberpatrol66: I never looked too much into it
<catt[m]>It's more free than nvidia in that case, but i guess if you wanna run guix you should use an older machine?
***caleb__ is now known as Kolev
<nisa>No just run on an iGPU I guess
<nisa>And avoid doing anything closely gpu intensive
<nisa>*remotely
<catt[m]>Im installing parabola to my thinkpad that i recently librebooted
<catt[m]>Since i had arch already running on it because i needed the proprietary drivers at that point but i don't now and arch to parabola is simple
<nckx>Gooberpatrol66: Why are you passing ' (twice) as an argument to bash?
<nckx>Paste the following into a bash prompt:
<nckx>bash "-c" "'" sleep "30 &&" echo "up" foo "'"
<nckx>It doesn't make sense. The error is correct.
<nckx>Wrapping it in an invoke doesn't change the bogus command line.
<nckx>Did you port this from string-append or so?
<Gooberpatrol66>nckx i want to enclose the command, like: bash -c 'sleep 30 && wg-quick up config'
<nisa>Any other distro you can recommend that is 1. rolling release (at least somewhat, I tend to be in need of quite new package versions) 2. not arch 3. "good" for guix package manager 4. runs mainline linux kernel ?
<Gooberpatrol66>the double quotes get filtered out by the invoke function somehow
<nckx>(invoke #$bash "-c" (string-append #$sleep " 30 && " #$wg-quick " up " #$config))
<nckx>Gooberpatrol66: Double quotes delimit a Scheme string, such as (display "foo"). They don't get ‘filtered out’, they're just not part of the string.
<nckx>You want to invoke bash (argument 0) with 2 arguments, "-c" and the long string. So you pass invoke 3 strings.
<nckx>Passing bash single-character arguments such as "'" won't do what you think it does.
<nckx>Just like it fails when you paste them on bash's command line.
<Gooberpatrol66>it works when i remove the double quotes, so clearly string quoting in scheme doesn't work in a way i understand
<nisa>Good night everyone, it's past midnight already (for me!) so I should head to bed now. Thanks for all the help.
<nckx>Good night, nisa!
<nckx>Gooberpatrol66: Scheme quotes start with a " and end with a ". For example, (foo "a" "b") takes means ‘call a with two one-character strings, ‘a’, and ‘b’.’
<nckx>-takes
<daviid>vagrantc: right, and i won't work to make guile-gnome work using guile-3.0, rather invite those interested to use guile-gi or g-golf
<nckx>I don't think you're misunderstanding Scheme, I think you're misunderstanding bash. As I said, the exact same code pasted into bash causes the exact same ‘unexpected EOF’ error — Scheme was never involved.
<nckx>Ugh, ‘call a’ above should've been ‘call foo’. Sorry.
<nckx>But the point is that "'" in Scheme is just a single-character string and the string is an apostrophe. There is no magic. No exceptions to the rules.
<Gooberpatrol66>is scheme bound to bash on an abstract level? i was expecting it to just dump the contents of the double quotes into a command line.
<Gooberpatrol66>but anyways, your version works, thanks
<nckx>It's not.
<nckx>So if you pass garbage to bash, Scheme won't care and step in to say ‘oh! this is nonsense, let me fix it for you’ 😛
<nckx>You'd never write $ bash -c "'" echo foo "'" on a bash command line and expect it to work. So why write it in Scheme? Anyway, I've made my point ad nauseam.
<Gooberpatrol66>i guess my confusion is how "'" in scheme turns into "'" literally in bash
<Gooberpatrol66>double quotes and all
<nckx>The double quotes aren't passed to bash.
<nckx>Only the '
<Gooberpatrol66>wat
<nckx>bash has no idea what to do with those two unexpected 's
<nckx>so it throws an error.
<Gooberpatrol66>but bash -c ' echo foo ' should work
<Gooberpatrol66>it does on my machine
<nckx>Your last command calls ‘bash’ with 2 arguments: ‘-c’ and ‘echo foo’.
<nckx>bash never sees a single '.
<nckx>Your first invoke command that started this called bash with more arguments: ‘bash’, ‘-c’, a single quote, stuff, another single quote.
<nckx>These 2 single quotes aren't valid.
<nckx>Think in strings, not in quotes.
<Gooberpatrol66>so you're saying the ' gets passed as an argument, whereas if i just typed it in, bash would not see it as an argument
<nckx>When you type ‘echo "foo"’ on your command line, echo never sees a double quote. It sees foo. If you type ‘bash
<nckx>dammit
*nckx on phone.
<nckx>Just ignore that last bit. I'm not helping.
<nckx>Gooberpatrol66: ‘Just typing it in’ means calling bash from bash, and the first bash uses the ', but the second bash never saw them.
<Gooberpatrol66>oh ok
<nckx>My way of thinking/explaining is clearly doing no good but confusing you further so I'll stop wasting your time. TL;DR you're overthinking or thinking invoke is somehow magic. It's not. It follows the same rules as any other Scheme code. (invoke "bash" "-c" "echo hello; echo 'how are you'; echo etc."). ☺
<atka>hey guix, rule of thumb when to use (cons vs (append for system configuration? I see them used interchangeably a lot between configs and examples. can someone recommend "best practices"?
***rekado_ is now known as rekado
<nckx>It's purely a matter of taste. ‘Append’ is considered more ‘general’ and ‘friendly’ or ‘familiar’ to new users by some. cons is a bit less flexible (adding a second list means refactoring) and old-school.
<nckx>atka: ☝
<nckx>Use whatever you find most readable.
<barra>Okay, I may be missing something: I'm using emacs-next, but I can't seem to get emacs packages from guix to use the newer version of emacs. Can I do this, because I want to use EXWM on emacs 28.
<atka>nckx: thanks for the info, I suppose the same is true for indentation style? does the quix project have a style guide I can reference?
<barra>I'd reckon the GNU style is a good place to start, although I am pulling that one out of me arse
<barra>Simplified my question: How can I get Emacs packages from guix to use the Emacs-next package?
<nouun>Is there a way to automatically package required Rust dependencies when trying to package a Rust program?
<nouun>It seems rather inefficient manually packaging the several hundred recursive dependencies for something I'm trying to package.
<barra>whattaya mean! it's perfectly efficient to package thousands of dependencies
<barra>:P
<nckx>No, actually please follow the exact indentation that emacs does when you C-M-q. If you down own an emacs, there's ‘guix style’, which is… documented, for sure, I bet.
<nckx>atka: ☝
<nckx>nouun: Nothing more automatic than the recursive option to ‘guix import’.
<nckx>* don't, and I should really → 😴💤. Good night Guix.
<atka>thanks nckx, night
<barra>nckx, sorry for jumping in with a wrong answer
<the_tubular>Umm I wonder what needs to rebuild after you update OpenSSL
***taiju is now known as Guest8739
<the_tubular>How many package does that need to rebuild ?
<atka>hey the_tubular
<the_tubular>Hey atka, how are you ?
<atka>well, yourself?
<the_tubular>Pretty good!
<atka>good to hear, have you set up a wireguard "server" yet with guix?
<the_tubular>No, BUT I heard it was very easy
<atka>well the peers aspect is and is documented
<the_tubular>Ohh, can't help you :(
<the_tubular>I've typed it into a scheme file, but never tried it
<the_tubular>I've done lots of code like this
<atka>yeah, I need to figure out which variable is unbound, keeps failing
<nckx>I didn't mean to imply you were wrong, barra. I'm not even familiar enough with the GNU style to know. The most important distinction in Guix is to use a ‘functional style’, which isn't really related to spaces v. tabs (oh: use spaces, always spaces :). the_tubular: See ‘guix refresh -l openssl@VERSION’, because there are 2. That's why openssl fixes are grafted, so we don't have to rebuild >7000 packages. Bye bye for real now.
***iyzsong-www is now known as iyzsong-w
<the_tubular>nckx I gotta learn more about grafts
<the_tubular>I know what they do, I just don't understand how
<atka>the_tubular: got wireguard "server" plus "clients" working
<the_tubular>Nice :D
<the_tubular>Mind showing me your work ?
<atka>sure I'll paste
***taiju_ is now known as taiju
<Aurora_v_kosmose>If I felt like packaging Vosk, how should I deal with datasets?
<Aurora_v_kosmose> https://alphacephei.com/vosk/ https://alphacephei.com/vosk/models
<jts>I'm trying to package an ocaml library and for some reason it is failing because it cannot copy files to the store during the install phase. Does anyone know if there's a work-around for this (using the gnu-make build system)?
<gnoo>it's probably trying to copy to /etc or somewhere else during install, see if you can patch the makefile to point to it's location in the store
<gnoo>(add-before 'build 'fix-makefile (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (substitute* "Makefile" (("/var/prog") "/tmp/prog") (("/etc/prog.conf") "${DESTDIR}${PREFIX}/etc/prog.conf") ) (mkdir-p (string-append out "/etc")))))
<Aurora_v_kosmose>Was that answer aimed @ me or someone else while I dc'd?
<gnoo>this is an example of how i do to one of the packages, add this as argument to build-system
<gnoo>it was for jts
<Aurora_v_kosmose>Alright, thanks.
<jts>Thank you, unfortuantely it's failing to copy into the store
<jts>the specific cause of failure is lack of permissions
<jts>alas, my eyes are insufficiently sharp. it appears it's attempting to copy the files to *the OCaml* store directory.
<jts>substitute* seems to be having issues how I'm using it. Relevant code:
<jts> (add-before 'build 'fix-install
<jts> (lambda _
<jts> (substitute* "Makefile"
<jts> (("INSTALLDIR=`$(OCAMLC) -where`") "INSTALLDIR=${CAML_LD_LIBRARY_PATH}")))))
<jts>
<jts>sorry, not used to IRC...
<jts>running `guix build --keep-failed` and inspecting the Makeful indicates this change fails
<jts>oh it calls for a regexp
<abrenon>hello guix
<atka>hello
<AwesomeAdam54321>sneek: botsnack
<sneek>:)
<civodul>Hello Guix!
<Lumine>Hey!
<civodul>hmm https://issues.guix.gnu.org/issue/54393/patch-set/1 is giving me an empty file
<oliverp>Hm its kind of sad to see https://issues.guix.gnu.org/54072 still open..
<oliverp> It would be very nice if the bug the caught the attention of one of the maintainers.
<oliverp>I mean think there was so much good vibes during the conference
<oliverp>So it would be really nice to see bug addressed sooner rather then later
<oliverp>*the bug
<apteryx>One thing I'm ambiguous about is if a TODO in the maintenance repo is really the right place to track this kind of thing (why maintenance vs actual guix repo? who gets to add new entries to the list?)
<apteryx>other than that concern, it seems reasonable to me, so I'll commit it for now, and we can build upon that, thanks for the reminder
<apteryx>rekado: hi! I experimented a lot with iDRAC, enough to render the node 129 unbootable ^^'
<apteryx>but it seems it would boot even with the controller in RAID mode for this Btrfs RAID1c3 root file system (it doesn't because I forgot to adjust the swap field)
<WesterWest>Hi, I have a quick question, is there a way to access fields of some object?
<WesterWest>I have defined the `operating-system` as `(define name (operating-system (services ...))` and I want to access the services field and copy append something to it
<WesterWest>I know that I can use `(inherit name)` but that will only overwrite it, I want to get the value and append to it `(add-to-list (service ...) (name.services))` or something similiar (don't know the exact syntax. I need to know, if there's a way to do something like the `.` in that example, working like in C-like languages
<rekado>sneek: later tell civodul https://issues.guix.gnu.org/issue/54393/patch-set/ works. The numbers are for revisions.
<sneek>Will do.
<rekado>sneek: botsnack
<sneek>:)
<apteryx>rekado: when I try booting from the previous install (virtual RAID disk), it fails with "File system chec[ 27.726590] FAT-fs (sda1): invalid media value (0xe2)"
<apteryx>seems I could try reinstalling Guix on node 129 by using "Deploying operating system using remote file share", if there's a NFS share available with the guix .iso on it
<barra>Hello again, asking once more: How can I get the packages for emacs from guix to install to emacs-next instead of the normal emacs package?
***taiju_ is now known as taiju
<apteryx>you must rewrite the graph to use emacs-next
<apteryx>It's been discussed on the list before; there was some procedure proposed to do this more easily, but it was not working 100%
<barra>ah, okay, any idea what date that was on?
<barra>okay, I think I may have figured it out: I'll try a quick relog
<barra>thanks apteryx, even if this doesn't work
<apteryx>is anyone suffering freezes when editing Scheme in Emacs? Seems to have to do with Geiser.
<apteryx>I have to continuously hit C-g to see what I'm tying, it's quite annoying.
<apteryx>typing*
<apteryx>rekado: guix deploy: error: failed to deploy hydra-guix-125: SSH connection to '141.80.167.182' failed: No route to host; is this known?
<apteryx>oh, but 125 is berlin, so I don't want to do this anyway :-|
<jpoiret>sneek, later tell WesterWest: each field of a record has a corresponding procedure to access the corresponding value, here it would be `operating-system-user-services` (you can look up the definition of the operating-system record in gnu/system.scm)
<sneek>Okay.
<unmatched-paren>um so i updated to Linux-libre v5.16.14 and i got a boot message about 'potential Spectre v2 data leaks'?
<unmatched-paren>...oh
<unmatched-paren>`lscpu` states that:
<unmatched-paren> Spectre v2: Vulnerable: eIBRS with unprivileged eBPF
<unmatched-paren>it didn't say that before the update...
<unmatched-paren>hum
<unmatched-paren> https://www.spinics.net/lists/kernel/msg4274606.html
<jpoiret>basically, unprivileged eBPF is the main way to exploit this new spectre vulnerability
<jpoiret>you could disable it, if you don't know what it is chances are you don't need it
<unmatched-paren>what's eBPF an acronym for?
<jpoiret>i don't remember, but basically it's a language for small in-kernel programs
<unmatched-paren>ok, is there some kernel parameter...?
<jpoiret>you can write packet filters with eBPF for example, but also many other things
<unmatched-paren>apparently 'spectre_v2=eibrs,retpoline'
<unmatched-paren>shouldn't we use those kernel parameters by default?
<jpoiret>the default spectre_v2=auto should select the proper mitigations, but either 1) we don't compile the kernel with RETPOLINES 2) you need the nonfree microcode
<unmatched-paren>so the parameter won't work?
<unmatched-paren>i think my unfortunately proprietary bios _should_ update the microcode, even if the kernel is not able to?
<jpoiret>no, i don't think the BIOS is responsible for that
<jpoiret>im not 100% sure the parameters won't work though, you can try setting them
<lilyp>last time I checked we did have retpoline
<unmatched-paren>hm, so mitigation is impossible without regular linux?
<jpoiret>it's possible, yes
<unmatched-paren>i'll try it then -.o.-
<jpoiret>i mean, nonfree microcode became pretty important with spectre v1 iirc
<jpoiret>i hadn't heard of it before
<lilyp>there's a spectre-meltdown-checker package still waiting in the ML IIRC
<lilyp>you might want to try that first
<jpoiret>by the way, i don't think disabling unprivileged eBPF would harm you in any way
<jpoiret>unless you're using it of course
<unmatched-paren>no, i'm not using it
<barra>okay, I managed to screw up by getting the packages to use Emacs 29 but now Emacs 27 is called by GDM to run EXWM and no packages work in emacs
<barra>so that's fun
<barra>So my system configuration needs to use emacs-exwm, but it needs to be based on emacs-next, and I can't figure that out
<jpoiret>yeah, the system/user separation is pretty annoying
<jpoiret>you could get around it by using a xinitrc or similar
<jpoiret>i'm not sure the patch got through but i remember someone had it working
<jpoiret> https://issues.guix.gnu.org/52806
<unmatched-paren>yeah, i found it. i'll try putting it in a manifest and `guix package -f`ing it
<barra>I don't mind using an xinitrc, but I'm going to reinstall because I literally haven't done any configuration at all on this
<lilyp>barra, you can use transformations and all that good stuff in config.scm as well, see (guix transformations)
<jpoiret>lilyp: but for the emacs-exwm to pick up guix-installed emacs packages, they'd have to also be in the system profile, which would be a bit unwieldy, right?
<lilyp>exwm is IIRC only a package and not a service, so it ought to be easy to adjust
<barra>It normally is
<barra>but the guix package seems to manage the xsession as well
<lilyp>jpoiret: true, but you could code around that in elisp, applying your user profile post launch
<barra>I think that's what "guix-emacs-autoload-packages" does
<lilyp>ik it's not the best solution, but it's no different from regular xwm
<lilyp>no, it's not
<barra>oh?
<lilyp>guix-emacs-autoload-packages autoloads stuff in the current EMACSLOADPATH
<jpoiret>right, I sometimes forget that you can totally toy with elisp just as well as with scheme
<lilyp>the bug jpoiret and I are talking about is that EMACSLOADPATH is currently incorrectly set when launching EXWM directly
<jpoiret>actually, it might be properly set now that i think about it, as long as the packages are in the default profile
<barra>right, right
<barra>I think the problem that I'm facing here
<barra>is that emacsloadpath is getting screwy because of the two versions of emacs
<jpoiret>in any case, xinitrc should be the way to go, removing emacs-exwm from the system config
<barra>yep, I'm going to do just that
<jpoiret>WMs should be a user choice, not a sysadmin one
<lilyp>technically speaking allowing xinitrc is a sysadmin choice 😛️
<barra>yeah, now that I'm actually thinking about what I was trying to do
<barra>that's exactly the problem I was facking
<barra>s/facking/facing
<jpoiret>lilyp: i mean, you could just login with agetty and manually startx, what's the harm in having it be automatic?
<lilyp>having agetty is also a sysadmin choice
<barra>having users is also a sysadmin choice; i decided to remove them forcibly so I will no longer have any user issues
<barra>:P
<jpoiret>"our computer's users may only interact with it by manually shorting transistors and reading the result with a voltmeter"
<barra>"our computer's users may only interact with the computer by manually evaluating their machine code using pen and paper and this 200,000,000 page specification dictating our massive instruction set, while the sysadmin gets to play solitare"
<lilyp>our computer's users may only interact with the computer through this simulation of Magic the Gathering
<barra>to interact with the computer of the free, thou must first answer my riddles three
<jpoiret>barra: spectre mitigation irl: "do *not* cheat on your neighbor!"
<barra>lilyp: i love that it's a *simulation* of mtc
<barra>mtg
<barra>are proxies allowed in the simulation, or do we have to shell out to WOTC?
<lilyp>sneek later tell barra no one likes arena
<sneek>Okay.
<apteryx>would someone know how I can end up with the error "&message: "more than one target service of type 'shepherd-root'" after extending the services of an OS with nfs-service-type?
<apteryx>Here's the error with the change I did: https://paste.gnome.org/pqvmdzojc
<apteryx>it seems to be related to something the rpcbind-service-type does
<Guest1>I've been trying to install guix by downloading the .iso, using `dd` to put it on a USB drive and then booting into the drive. Everything goes fine until I get to the end of the graphical installer (after setting up users and choosing the target drive to install onto) - and then the installer just loops round back to the start (asking me for a
<Guest1>language for the installation). Does anyone have any suggestions how I should proceed?
<jpoiret>Guest1: did you get the latest or stable installer?
<Guest1>I don't have the faintest clue why it's not working. I've started again a few times (download the image again, dd again etc) - but I always get the same outcome.
<Guest1> https://ftp.gnu.org/gnu/guix/guix-system-install-1.3.0.x86_64-linux.iso.sig
<Guest1>Well, for the .iso, not the .sig of course.
<jpoiret>can you try with the latest instead? 1.3 is pretty old at this point, and some work has gone into the installer since
<jpoiret>also, if you're comfortable enough with a shell-based install, that will mostly Just Work™
<Guest1>Right, I just picked it out of the manual.
<Guest1>I'll give that a go. Didn't realise it would be so old
<Guest1>The shell based install seemed much more involved than the graphical installer. But I admit I didn't look at it too much.
<jpoiret>it's not Slackware N-1 old, but Guix has moved a lot since then (1 year ago i think?)
<Guest1>Maybe I'll give the manual install a go.
<Guest1>if the update doesn't work.
<jpoiret>hmmmmm, i think i might know why though
<Guest1>The downloads page list 1.3.0:
<Guest1> https://guix.gnu.org/download/
<jpoiret>you're running into a bug someone else has reported previously, although only on IRC i think. i'm not sure it's fixed in the latest version, but it might be interesting to get something more detailed
<jpoiret>the latest magic is at https://guix.gnu.org/en/download/latest/
<Guest1>Fab, thanks. I'll give that a go, see how I get on.
<jpoiret>are you familiar with gdb? if it's what i'm thinking of, the installer is segfaulting, probably because we're doing something nasty with the C parted library, and it would help to have a backtrace
<Guest1>Happy to try and get a backtrace, but I might need some help with how to do that. My gdb is very rusty.
<jpoiret>oh, mine as well, but it'll just be a simple backtrace
<jpoiret>the more annoying thing will be to find the guile executable to pass to gdb
<apteryx>I think the problem with rpcbind-service-type was that it's shepherd service was not bound at the top level; hence it could be folded into multiple objects, causing the error
*apteryx attempts to validate the fix
<unmatched-paren>according to `sudo spectre-meltdown-checker.sh`, i am only vulnerable to the new spectre
<unmatched-paren>so i guess i'll try rebooting
<unmatched-paren>(i have the correct kernel option enabled)
<unmatche1-paren>spectre mitigated :)
<sneek>Welcome back unmatche1-paren, you have 1 message!
<sneek>unmatche1-paren, mwette says: I was able to run a demo a few years ago with nyacc's ffi helper. Have not tried recently. See https://git.savannah.nongnu.org/cgit/nyacc.git/tree/examples/nyacc/lang/ffi-help/gtkgl-01.scm?h=main
***unmatche1-paren is now known as unmatched-paren
<barra>Thanks for the help earlier, emacs is now actually working
<sneek>Welcome back barra, you have 1 message!
<sneek>barra, lilyp says: no one likes arena
<barra>lilyp: of course no one likes arena
<barra>I just have to switch the branch I'm on so I can use the tab bar as a "global-modeline"
<florhizome[m]>Hi guix
<unmatched-paren>\o
<Lumine>o/
<unmatched-paren>why is my c program failing to compile with glibc but working with musl?
<unmatched-paren>hm, it seems to work fine when i build with guix, but not with mak
<unmatched-paren>e
<florhizome[m]>I‘m trying to package some go stuff but I get an error message that „some deprecated features are used“ and I should set „GUILE_WARN_DEPRECATED“ to detailed but doing that before the build phase does nothing.
<florhizome[m]>anyone got some experience with go?
<unmatched-paren>this is the output from `gcc test.c`; `test.c` contains only an include for <stdio.h>, and a main function with a printf("hi\n"): https://paste.debian.net/1234754/
<unmatched-paren>but when i do the same in `guix shell musl`, it works
<unmatched-paren>hm, okay... when i run the musl binary: ./a.out: error while loading shared libraries: /gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib/libc.so: invalid ELF header
<unmatched-paren>so i guess it uses the musl headers but the glibc shared object
<jpoiret>did you use gcc-toolchain rather than just glibc?
<unmatched-paren>oh! gcc-toolchain works!
<unmatched-paren>thanks jpoiret
<robin>hmm, if i start using core-updates, will i miss smaller commits that land in master?
*robin was just about to report the pam unix_chkpwd bug, which was fixed last month but only in core-updates
<robin>"This branch is not expected to be buildable or usable until late in its development process." ah, so i'm not really supposed to use it. guess i'll have to cherry-pick the patch or something (or wait a few months)
<robin>it could probably be made into a graft, actually
<apteryx>robin: re core-updates; yes
<robin>('it' = pam bugfix)
<robin>ty apteryx
<alethkit>When packaging OpenGL applications, should I assume that the OpenGL implementation is Mesa, or use libglvnd for support for other implementations?
<alethkit>I'm having issues with libglvnd due to the vendor config directory not being transferred
<unmatched-paren>assume mesa
<unmatched-paren>all other opengl implementations are (i think) proprietary and thus irrelevant to guix
<unmatched-paren>anyway, i'm pretty sure The Other Channel has a way to graft packages such that they use evil drivers instead of mesa
<unmatched-paren>alethkit: ^
<Guest1>Tried to install from the latest image, but I'm still getting what appears to be the installer crashing (and looping back to a restart)
<apteryx>Guest1: :-(
<apteryx>your last bet could be going with a manual install (it's not as bad as it seems)
<apteryx>it used to be the only way to install Guix System; simply follow the manual (available tty2; Alt-Control-F2 while installing)
<Guest1>I'm just reading through the install docs now. I'll give it a go. My worry is that I leave the system in an unusable state, and I have to revert to another blank slate OS without having any benefit.
<alethkit>unmatched-paren: Good to know!
<Guest1>But I suppose that's a risk I'll have to tkae
<alethkit>Just wanted to make sure
<alethkit>Now to figure out how Guix deals with font paths without fontconfig
<apteryx>uh, "rpc.idmapd: -c is deprecated and may be removed in the future. See idmapd(8)"
<alethkit>Does guix have an equivalent of "/run/current-system/sw/share/X11/fonts" in Nix?
<alethkit>(I'm referring to Guix System, not Guix on a foreign distribution)
<alethkit>Although now that I think of it, the same problem might take place on foreign Guix
<jpoiret>alethkit: wdym? we do use fontconfig internally iiuc
<jpoiret>also we do have /run/current-system/profile/share/fonts
<alethkit>jpoiret: The terminal emulator I'm trying to package explicitly avoids using fontconfig and loads fonts directly
<alethkit>And I don't seem to have the fonts folder on my current profile, oddly enough.
<jpoiret>well, if you don't have anything graphical installed in your system proflie, then there won't be anything there I reckon
<jpoiret>while fontconfig is arguably a mess, it's still the standard way to find fonts on linux
<apteryx>haha, my earlier problem with "more than one target service of type 'shepherd-root'" ended up being caused by inheriting an OS and extending its service field with (cons (new-service ...) (operating-system-services base-os)); I had to use 'operating-system-user-services' instead.
<alethkit>jpoiret: I know, but the developer explicitly rejects the use of fontconfig
<alethkit>And I currently do have a window manager set up
<alethkit>which only confuses me more
<apteryx>if this application doesn't use fontconfig, it doesn't matter you have it or not available
<alethkit>Which is why I was wondering if profile/share/fonts existed
<alethkit>so I could pass that directly to the program in question
<alethkit>Sorry if I was not clear before
<apteryx>it should, if you installed any font package
<alethkit>So default fonts do *not* get mentioned
<alethkit>s/mentioned/put in the fonts folder
<apteryx>which default fonts?
<alethkit>font-misc-misc
<apteryx>it's part of the default fonts available to xorg, it seems (see the (gnu services xorg) module)
<apteryx>the variable holding them is %default-xorg-fonts, and it gets used in a config file of xorg (rather than install to the system profile)
<civodul>vagrantc: are you aware of patches to make mke2fs deterministic?
<sneek>civodul, you have 1 message!
<sneek>civodul, rekado says: https://issues.guix.gnu.org/issue/54393/patch-set/ works. The numbers are for revisions.
<civodul>oh, my bad
<vagrantc>civodul: not off the top of my head :)
<vagrantc>civodul: you mean using mke2fs to create an ext filesystem, not building mke2fs itself?
<civodul>vagrantc: right
<civodul>the ext2 superblock includes three timestamps and one random seed
<civodul>(visible with "tune2fs -l")
<vagrantc>i have vague recollections of discussions about it ...
<civodul>yeah i'm surprised i can't find anything
<vagrantc>most live images use some form of fat and/or squashfs, which are further along with reproducibility
<vagrantc>due to simplicity and/or read-only nature...
<vagrantc>civodul: certainly worth prodding rb-general@lists.reproducible-builds.org about it
<vagrantc>if nothing else, it might spur renewed interest in solving it :)
<vagrantc>civodul: any specific images you're looking into?
<civodul>vagrantc: i'm looking at the "partition.img" files for "guix system image -t hurd-qcow2"
<civodul>but that affects all the ext2 images we produce
<vagrantc>ah, there isn't much choice of filesystem i'm guessing for that particular case
<vagrantc>civodul: https://reproducible-builds.org/docs/system-images/ there's a reference to ext filesystems there ...
<vagrantc>apparently make_ext4fs instead of mkfs.ext4 or mke2fs
<vagrantc>civodul: genext2fs appears to also be able to set a timestamp
<vagrantc>civodul: and/oor respect SOURCE_DATE_EPOCH
<vagrantc>civodul: genext2fs appears to be in guix already, too :)
<vagrantc>bit out of date, though...
<vagrantc>civodul: presuming the manpage is accurate for genext2fs in guix, you need to update to a newer version
<vagrantc>glad to refresh my brain on this topic. :)
<vagrantc>only one dependent package
<vagrantc>hopefully it has other features you need for hurd
*vagrantc gives it a short
<vagrantc>shot
<vagrantc>civodul: would require a change of workflow, probably ... e.g. build all the files in a temporary directory, and then generate an image out of that directory
<vagrantc>looks like guix is following an old debian packaging repository for genext2fs ...
<florhizome[m]>> <@florhizom:matrix.org> I‘m trying to package some go stuff but I get an error message that „some deprecated features are used“ and I should set „GUILE_WARN_DEPRECATED“ to detailed but doing that before the build phase does nothing.
<florhizome[m]>> anyone got some experience with go?
<florhizome[m]>._.‘
<vagrantc>updating genext2fs causes genimage to fail it's test suite...
<vagrantc>new version of genimage available...
*vagrantc goes down the rabbit hole
<civodul>vagrantc: ooh thanks, i hadn't found that info
<civodul>vagrantc: and thanks for going down the update rabbit hole :-)
<civodul>i wonder if genext2fs has all the features (gnu build image) expects though
<civodul>like can it create ext4 file systems?
<vagrantc>dunno
<vagrantc>seems pretty much ext2 only
<vagrantc>civodul: maybe look at packging the make_ext4 that mentioned on the r-b.org/docs
<vagrantc>so ... genext2fs produces different output, which causes genimage to fail (both at the current and updated version)
<vagrantc> https://git.openwrt.org/?p=project/make_ext4fs.git maye that has all the features you need
*vagrantc steps back and gets some food
<civodul>vagrantc: thanks for the pointers!
<civodul>i think i'll go get some sleep for now :-)
<EndOfAnEra>hi, so I've made a patch to upgrade rust, and it builds. How do I install it into my guix home? Since the package definition is in the git repository
<EndOfAnEra>doing ./pre-inst-env guix home reconfigure ..., fails because it doesn't seem to have the channels set up correctly
<EndOfAnEra>guix home: error: font-microsoft-impact: unknown packag
<EndOfAnEra>./pre-inst-env seems to modify the channels where it gets these from