<alextee[m]>civodul: yes the audio plugin is an external shared library that MUST have its dependencies statically linked, but seems that some distros (including guix) don't do that. i guess the problem is on the plugin side for not being statically linked and requiring other .so's
<alextee[m]>er, plugins not having their dependencies statically linked is a problem that's probably a combination of bad upstream build scripts and distros
<alextee[m]>on windows and macos all audio plugins are completely statically built but some gnu/linux plugin upstreams/distros don't do it
<raingloom>Kozo: well, it's not that important now, because i just ordered a GCN 4 card that others told me is well supported.
<raingloom>but it might be useful for others if we got this one working properly as well
<ryanprior>Okay so I've got a nice working version of my wrap-cc system that allows you to invoke your favorite c compiler as "cc" if that's convenient in your build environment. Anybody want to dissuade me from submitting it upstream? Are wrappers considered uncool or problematic? Or am I just the first person to want this?
<raingloom>ryanprior: i think the reason it hasn't been added before is that packages are supposed to explicitly refer to their inputs? but that's just a guess. might be worth taking a look at whether Nix has something similar, and if not, why.
<ryanprior>My reason for wanting this is as an end-user. If I create a manifest that I'm going to load to work on my code, and the upstream build system relies on having "cc," then I'm either going to have to create symlinks myself or patch the build system like a package definition
<ryanprior>Either way is non-obvious to other people who might try and use my manifest if I share it with them
<ryanprior>With this patch in Guix I could just specify `gcc-toolchain-wrapper` in my manifest and have that be the end of it.
<raingloom>how come --with-commit doesn't work in `guix system reconfigure`?
***catonano_ is now known as catonano
<alextee[m]>ryanprior: most packages just do CC=gcc, doesn't that work?
<alextee[m]>doesnt the build system accept a replacement for cc? sounds like a very poorly written build script
<alextee[m]>although i dont get why gnu-build-system doesn't set the CC variable by default
<ryanprior>Has anybody devised a nice format for specifying all the attributes of a guix container yet?
<ryanprior>Using Guile for that could be acceptable, or something like TOML would be even nicer.
<drakonis>its probably going to be guile all the way down
<ryanprior>There's already the JSON package definition format, which is not the nicest format to write but it's a good start.
<reepca`>raingloom: regarding why "@@" might not be working, guile 3.0 added certain optimizations related to bindings in modules. At the optimization level guix compiles at, many non-exported bindings are optimized out entirely.
<apteryx>nckx: thanks! Seems I lost my ability to match parens in my excitement to push that change ;-).
<ryanprior>sneek: later tell lprndn: want to join #elementary to coordinate on pantheon packaging? I'm working on reviewing your packages :)
<raingloom>reepca`: i see, that's basically what i expected. well, i worked around it in another way.
<raingloom>incidentally, does anyone know why changing the kernel package required building guix 1.1.0 as part of the system build? does the kernel somehow use it? or is it needed for, idk, computing some derivation or something?
<ryanprior>badair_: there is already a libstdc++ package that doesn't hae the rest of gcc in it. However, it is a "hidden package" and I'm not totally sure why those exist or how to use them.
<ryanprior>badair_: they are apparently packages that tend to confuse people... I'm not sure what's confusing about a libstdc++ package but maybe there is some hidden danger in it. If somebody can explain to me I would appreciate that.
<badair_>ryanprior: It confuses people because of the breaking (by default) ABI changes in GCC 5 and later.
<mbakke>craftyguy: the installer was made with an older revision of Guix
<mbakke>once you have installed and run 'guix pull', you will have the latest and greatest
*janneke wonders what would happen if that were a logical and
<boeg>I am trying to add elogind-service-type to my services, but when I do, I get the error "service: 'file-system-/run/systemd' provided more than once". If I remove the (service elogind-service-type ...) the error disappears. Am I trying to configure elogind wrong? Here is the piece of code: https://paste.debian.net/1148103/
<rekado_>boeg: %desktop-services already includes elogind-service-type
<rekado_>so if you want to configure it use (modify-services %desktop-services …)
<boeg>I had on arch linux a systemd service in /etc/systemd/system/disable-xhc1.service that did `ExecStart=/bin/bash -c "echo XHC1 >> /proc/acpi/wakeup"` to make my laptop not wake up from suspend untimely. How would I configure that on guix?
<boeg>rekado_: Do you have an example of how to create such a service that is run on start up and runs "echo XHC1 >> /proc/acpi/wakeup" - i've tried looking in the manual but, an example of a service would be nice
<sirmacik>damn, ungoogled-chromium and icecat still don't have a substitute >:
<lprndn>rekado_: Just read your mail. I just have a soe questions on your first point.
<lprndn>First, I suppose you mean lightdm-gtk-greeter-service-type, right? Also, It should only override seats that are defined inside its own service or did I miss something?
<mbakke>boeg: maybe something like (define disable-xhc1-service (simple-service 'activation-service-type (let ((port (open-file "/proc/acpi/wakeup" "a"))) (format port "XHC1") (close-port port)))
<mbakke>you can also shell out to bash there, but that's no fun ;-)
<PotentialUser-66>I want to create a package that builds only if bash 3.2 is installed. I think I should place bash as a native-input. How do I ensure that v 3,2 gets used if the system currently has 4.3 available everywhere?
<mbakke>PotentialUser-66: then you'll need to create a bash-3.2 variable and use that as native-input
<PotentialUser-66>mbakke: I don't understand. Could you point to a package that does this sort of thing?
<mbakke>package build processes do not have access to the currently running system, so they cannot see what is installed, they can only access the declared inputs
<mbakke>PotentialUser-66: you can do compile-time checks with something along the lines of (if (version>= (package-version bash) "4") (error "Bash is too new!" '()), but it does not really make sense in Guix.
<lprndn>rekado_: can you tell where lightdm-service-type overrides greeter-session? It was not intentional, hence my poor understanding...
<rekado_>lightdm-service-type does not override anything
<mbakke>PotentialUser-66: if you create a package with name "bash", version "3.2.1" and an output called "bin", you can access it from the CLI with "firstname.lastname@example.org:bin"
<rekado_>it has a “seats” field that takes a list of lightdm-seat-configuration objects
<rekado_>these seat configurations have a greeter-session field
<mbakke>PotentialUser-66: you can probably use (name "email@example.com:bin") too, but that will be all kinds of weird
<rekado_>(the default is “lightdm-gtk-greeter”, but it doesn’t have to be this way)
<PotentialUser-66>mbakke: Understood I quite liked the manifest syntax and in my situation it fits quite well, bash was a bad example.
<rekado_>the lightdm-gtk-greeter-lightdm-service procedure takes the seats from the “config” value and replaces them with a new seat configuration where the “greeter-session” field is overridden with the string "lightdm-gtk-greeter".
<rekado_>that procedure is used by lightdm-gtk-greeter-service-type as an extension to the lightdm-service-type
<PotentialUser-66>mbakke I also like the idea that a package named x@n:lib will look to most people like something they shouldn't touch. Which would be correct.
<rekado_>this means that whatever seat configurations lightdm-service-type contains will be changed to use the greeter-session “lightdm-gtk-greeter”
<mbakke>PotentialUser-66: to clarify, you can access the pango-1.42 variable through (specifications->manifest ...) as "firstname.lastname@example.org"
<PotentialUser-66>mabkke: whoah there. never read anything like that. now x@n:lib does sound bad.
<PotentialUser-66>mbakke: mbakke is guix parsing the pango@1,42 and looking for pango-1.42 or does guix look for name =pnago version>=1.42
<mbakke>PotentialUser-66: both, kinda: when you use specifications->manifest and the guix CLI, you can ask for email@example.com and Guix will try to give you any package with name "pango" and "version "1.42.x"
<bricewge>rekado_: What you are saying doesn't look correct to me.
<PotentialUser-66>mbakke: OK understand much better now. Really appreciate you taking the time to help and share your expertise.
<bricewge>rekado_: FWIU it's not the case, the procedure 'lightdm-gtk-greeter-lightdm-service' which returns a list of seat to extend 'lightdm-service-type' only override the 'greeter-session' field for the seats that this greeter contains.
<mbakke>PotentialUser-66: glad to spread the knowledge! :-)
<lprndn>rekado_: (don't get me wrong I agree with you, I just miss something...) I thought using extension would mean lightdm-gtk-greeter-service would just pass its own (overriden) seats field to lightdm-service-type. But if I understeand correctly, it gets the whole list of seats (it's own + those defined in lightdm-service-type or nother greeter service) and override them before passing them back to lightdm-service-type, is that right?
<haha>guix offload: error: failed to connect to `#<input-output: channel (open) 7f4e4667c600>': Protocol error
<haha>The server I used to build remotely is Guix on Debian. I ran guix offload test and it got this error. Has anyone solved it?
<bricewge>rekado_: In other words it won't override seats in other greeter. The procedure could do without overriding of 'greeter-session' since it seems to only do it to avoid a user misconfiguring lightdm-gtk-greeter seats with an other greeter.
<mbakke>haha: did you authorize the signing key of the offload server?
<mbakke>haha: guix offload error messages are terrible :/
<sirmacik>there is next (CL based) browser with a nice community and upcoming 2.0 release (:
<haha>mbakke, It seems I can't guarantee that I can find ~/.guix-profile/bin/guile when logging in with ssh. Is there any way to set it up?
<janneke>yeah, there are all kinds of nice efforts to create "friendlier monsters"
<haha>The profile seems to only take effect for shell sessions.
<lprndn>rekado_, bricewge: To me, our main problem might just a UI one. Do we want to have greeters defined inside the lightdm service or not? I think we have solutions for both (with pros and cons). But I might forget things...
<sirmacik>janneke: other solution is gopher experience which appears to have a little renaissance
<mbakke>haha: many distro-provided .bashrc files do nothing when invoked "non-interactively" (like ssh host command), you probably should add something like '[[ -n "$SSH_CLIENT" && source ~/.guix-profile/etc/profile ]]' at the top of .bashrc
<rekado_>lprndn, bricewge I’m leaning towards having just one service that accepts a bunch of greeters.
<rekado_>the problem with that approach, however, is that a greeter can be configured
<rekado_>so it needs a way to produce a configuration file
<rekado_>and then it needs to make lightdm-service-type arrange for the config file to be found, e.g. by setting XDG_CONFIG_DIRS
<rekado_>I don’t know enough about greeters in general to know if there are common properties
<rekado_>if there’s nothing in common then I don’t see how lightdm-service-type could do any such setup work *without* the use of service extensions.
<rekado_>lprndn: using *just* the greeter package would probably not be enough.
<haha>mbakke, I added it in bashrc and it doesn't seem to work
<haha>Commands executed directly by ssh do not seem to use the shell
<rekado_>lprndn: since I don’t want to block this while chasing for a vague improvement let’s wait for bricewge and then decide whether to merge it as is.
<rekado_>(well, with the few minor improvements I made on top of your patches)
<sirmacik>mbakke: what are the chances for substitutes to start appearing?
<haha>Ok, modified the environment variable of sshd, it didn't work
<mbakke>haha: did you add a line like 'source ~/.guix-profile/etc/profile' at the very top of .bashrc? can you share the .bashrc file?
<mbakke>haha: perhaps the user is configured to use a shell other than bash?
<lprndn>rekado_, bricewge: FYI, greeters "often" use /etc/lightdm/... for their configuration files. But for example, I think elementary-greeter uses GSettings... in this case we might just give up on its configuration all together. So there are ways.
<haha>Thanks, I modified /etc/profile.d/guixenv and then it worked.
<lprndn>we could pass greeters' configuration as a list of records in a greeters field. Each record would probably be more or less the same as the current implementation. we dispath themwith (case ) or something to specific procedures outputing a list composable with the list of service-extension of lightdm-service-type. compose them. magic happens.
<haha>mbakke, Haha, there is no output from this command, it seems that it passed.
<lprndn>some kind of local service extension really. but I'm throwing out thing passing through my mind so I may be totally wrong here.
<lprndn>rekado_, bricewge : Also, reminder for thoughts. LightDM should be able to work without greeter (autologin).
<mbakke>haha: can you verify that /etc/guix/signing-key.pub on the offload machine is present in your /etc/guix/acl ?
<haha>Sorry, I forgot to put the client's public key on the server, I configured too many servers, I forgot this one.
<haha>mbakke, Now it works fine, thank you very much.
<mbakke>haha: great, and sorry you had to go through all this trouble! :)
<nckx>I'm a few years late to the (working) qemu-binfmt party and suitably in love, but… how do I conditionally apply a patch to an origin? Even with --system=armhf-linux, (%current-system) returns x86_64.
<haha>this is my defineition. I am not quite sure if it is wrong.
<haha>There is no error in guix system init, but this error occurs in reconfigure
<haha>I do n’t quite believe that it ’s the package definition error, because it shows the error when bzip2 compressed the log.
<kmicu>Iirc blobs were removed from upstream kernel Linux so the kernel is libre but not fsdg compliant ‘cuz it steers users into loading blobs.
<apteryx>haha: note that you won't get support for a non-free related issues here. Did you try to adapt your config to use the linux-libre Guix package to validate that your custom kernel package is actually the problem?
<jayspeer>is python3.7 still available? I need it for something :)
<mbakke>kmicu: I'm pretty sure the vanilla kernel includes a bunch of blobs that are not in linux-firmware.git, having watched the output of the deblobbing script... What other FSDG issues are you referring to?
<mbakke>jayspeer: you can always access it through 'guix time-machine'
<kmicu>(That thing in my mind is clear: vanilla kernel Linux spams dmesg with ‘load this blob’, ‘searching for a blob’, it’s source code also mentions blobs and steers me into them. So that part of Linux-libre deblob scripts is sweet. I’m just uneasy about calling vanilla kernel Linux ‘nonfree’ after they moved (notall?) blobs into linux-firmware around 4.4. I personally have troubles with reading with confidence the deblob shell script.)
<raghavgururajan>I am removing the line 569 in the mentioned file. But it is not applying.
<jonsger>I added font-hack which says it supports powerline but even after times of fc-cache its not fixed
<kmicu>jonsger: did you apply hints from FAQ like ‘Adding let g:airline_powerline_fonts = 1 to your vimrc will automatically populate the g:airline_symbols dictionary with the proper font glyphs for various symbols.’?
<kmicu>(Later you could contribute a patch with a properly configured vim-airline for Guix so I guess that’s on topic.)
<kmicu>‘If you are using rxvt-unicode, try using an odd font size, 11, 13, 15 etc. in your .Xdefaults’, that’s a lot of hacks for a status line xD
<jonsger>kmicu: that makes the status bar even worser
<nckx>kmicu: I can see the logic for uneven heights here: you can't have a sharp, symmetrical ❯ in an even number of pixels. And all I know about Powerline is that it has ❯s.
<boeg>why i cant do this: (define xhc1-fix-suspend (simple-service 'xhc1-fix-suspend activation-service-type (...))) and then in my services list of operating-system have (xhc1-fix-suspend), but I can directly have (simple-service 'xhc1-fix-suspend activation-service-type (...)) in my services list? Why are they different?
<kmicu>Only rxvt is affected? BTW we can have a sharp > with an even numebr of pixels on a screen with many pixels (and subhinting), but granetd, not on TIC-80 😺
<nckx>kmicu: I'm assuming bitmap fonts here, I was told they are superior.
<nckx>For some reason my Icecat's monospace font changed to a bitmap one after the core-updates merge, and it's… great. Honestly refreshing.
<lfam>Ah, I see the discussion was private to Guix sysadmins. Anyways, an email to guix-devel could be worthwhile
<nckx>I think so. A CDN is nice, it's also a money furnace.
<craftyguy>for some distros, setting up a mirror is basically just having a cron job rsync from some central repo periodically, and then throw on an http interface (e.g. nginx). if it's that easy for guix, maybe volunteers could set up mirrors to help ease the load a little?
<nckx>I wonder what kind of problems rekado ran into with rsync. I really think a ‘CDN’ is a bad fit for us, so many institutions and even individuals would be willing to donate a mirror.
<lfam>There is also work being done to set up an rsync mirror for China
<lfam>Well, it's a funny idea but most of our stuff is not content-addressed
<boeg>why i cant do this: (define xhc1-fix-suspend (simple-service 'xhc1-fix-suspend activation-service-type (...))) and then in my services list of operating-system have (xhc1-fix-suspend), but I can directly have (simple-service 'xhc1-fix-suspend activation-service-type (...)) in my services list? Aren't they practically the same?
<reepca`>boeg: it looks like you've defined xhc1-fix-suspend to be a service instance, not a procedure, so I'm not sure why you're writing it as (xhc1-fix-suspend) in your services list, it should just be xhc1-fix-suspend, no?
<boeg>So I have installed some stuff with `guix install` and then afterwards added it to my config. Now I have reconfigured my system so they were installed on "system level" - is there a command to delete stuff from user level that is also installed on system level so I don't have e.g. two of the same gimp installed?
<nckx>I don't have time to review/think now but if you think the patch is bug-free go ahead & push, bricewge.
<bricewge>nckx: No worry, anyone seems to care about this bug and from my point of view it's fixed
<nckx>bricewge: ‘Simple’… hm, matter of opinion I guess. I still think this was a (slight) change in behaviour, not a bugfix. And I'm certainly glad you're pushing v2 and not v1.
<nckx>Printing progress to non-tty stdout just ain't right.
<thorwil>hi! so i could use ocr, which is quite an exception. guix package -s led me to tesseract-ocr. now trying it in the most naive way, i get: “Error opening data file /gnu/store/y3ci4m2vvbmc5nk3jvc28n29qmn8camx-tesseract-ocr-3.04.01/share/tessdata/eng.traineddata”
<thorwil>the path exists, but has no *.traineddata at all
<thorwil>i see no trace of a separate package for any language
<reepca`>thorwil: if I remember correctly you need to download the training data separately and export TESSDATA_PREFIX
<reepca`>I think our package is also somewhat outdated, and so it might be tricky to get training data for its version
<thorwil>that’s what i started to worry. their docs suggest that other distros have “tesseract-ocr-eng” and so on. time for apt-get, then :/
<craftyguy>probably as lfam said, people watching netflix/porn overloading the tubes
<rekado>the ramp down from 20 to 2MB/s has been observed even in the same city, and it only happens when the firewall node is involved
<craftyguy>I don't know, I am not at the system now, but there were something like >8 hops taking that much time
<rekado>I wish I could just tell them to exempt ci.guix.gnu.org from their annoying firewall, but no dice
<nckx>craftyguy: I must not understand your complaint. The last time I had an (admittedly cheap) server in Miami pings were over 100ms. An extra 60-80ms on top of that (I'm assuming you're deeper inland than that, and we know the MDC network is less than stellar ATM) is not out of this world.
<craftyguy>nckx: my complaint is the really slow download speed I see from ci.guix.gnu.org. the ping/hop latency thing may/may not be related to that. but high latencies between hops can lead to TCP throttling back I think..
<alextee[m]>so i just installed mingw, but where is the cross compiler?
<craftyguy>yeah sorry for the confusion. the problem is slow download speed from the official repo. I pointed out the hop latencies in case it was related somehow (because they seemed high to me), but I don't know what I'm talking about :D
*reepca` only discovered the existence of traceroute a month or so ago and was initially confused by the way hop latency was reported
<alextee[m]>i installed mingw-w64-x86_64 but it doesn't have any bin dir with gcc and friends
<nckx>reepca`: How networks work in practice doesn't always make it obvious that they're cumulative. There's often some weird outlier in the middle (that doesn't affect your real path) or bizarre MPLS phantom packet loss or…
<alextee[m]>does it only have libraries and im supposed to build the cross compiler myself?
<dongcarl>This procedure should probably be upstreamed, and I will take a stab at it at the next opportunity
<alextee[m]>mbakke: dongcarl nice, thanks! it looks pretty promising, although im not sure how these things are supposed to work at the low level so this looks a bit cryptic to me. having some sort of build system or wrapper to handle the low level stuff would be awesome
<alextee[m]>meson already supports cross files but it expects you to pass a few paths to binaries and pkgconfig libdir etc...
<alextee[m]>so i'd expect those to be set up by a build system or wrapper or something
<alextee[m]>and have some sort of special prefix for everything built with this toolchain or something
<dongcarl>alextee[m]: Another place that could be worth looking into is the nsis package in (gnu packages installer)
<alextee[m]>nsis is for creating installers right? dongcarl:
<dongcarl>because the nsis package requires a cross compiler as a runtime dependency
<mbakke>alextee: setting up the cross files should be done by meson-build-system. I tried doing it a while back but ran into complications because Meson propagates the target Python, but needs a native one, and is unable to work with a wrapper ...
<mbakke>alextee: you might be able to hack something together without support from meson-build-system though
<alextee[m]>what about things using autotools? there's a lot of gtk dependencies for example using autotools
<alextee[m]>it would be nice to have some sort of mingw package management system in guix, like we have ruby and python packages
<alextee[m]>something like msys2, except it doesn't need windows!
<alextee[m]>im able to package a lot of stuff, but i dont have much knowledge about linking and object files and whatnot so hacking at that level is probably outside my expertise
<alextee[m]>like you'd install a mingw-w64-gtk3 guix package and then you could just link to it
<mbakke>alextee: autotools and CMake projects should be fine
***reepca` is now known as reepca
<mbakke>is it just me, or do cuirass evaluations complete much faster now?
<defaultxr>hi, according to https://guix.gnu.org/blog/2020/gnu-shepherd-user-services/ shepherd can be used for user services. it seems to work for me, but only if i run 'shepherd' manually after logging in. what's the recommended way to make shepherd automatically start for my user when the system boots? i'm using the guix-system-vm-image-1.1.0.x86_64-linux in qemu if that matters.
<defaultxr>and while i'm asking, is there a recommended template /etc/config.scm to start from for this qemu image?
<jonsger>defaultxr: yes in gnu/system/examples/vm-image.tmpl
<gignomai>hey all! i was wondering if there was a way i could connect to wifi manually and then run the terminal based interface after
<mroh>nckx: thanks for the review of mediainfo. i havent tested, if updating in 2 patches work, will do now...
<mbakke>can I get some reports on whether 'guix build --check util-linux' works for everyone? there is a bug report about a test failure that looks kernel-related, but I'm not able to reproduce it on 5.6.7.
<mroh>nckx: you are right, firstname.lastname@example.org builds and runs w/ email@example.com => 2 patches inc ;)
<nckx>mbakke: Ah perfect, I was unable to build util-linux on aarch64 just now, prolly this.