First and foremost: wow. A post-doc at just three years older than me. *cries in high-school drop-out* Super awesome!

I have cleaned up my package definition as per your review: https://github.com/peanutbutterandcrackers/guix-packages/blob/master/aegisub.scm

I will look into the matter then. Might take me a while, but I'll try.

It's sad that framagit is closing. I think they were doing a great job with peertube and all...

On Sun, Sep 27, 2020 at 3:00 AM Julien Lepiller <julien@lepiller.eu> wrote:
Thanks! On the guix system, aegisub already works properly (at least it did when I last used it), because the alsa config allows it to find pulseaudio.

There are three issues with your proposed change:

First using derivation-outputs is a bad idea, and it probably only works because alsa-plugin doesn't depend on your modified alsa-lib (you'd get an infinite loop I think). Since alsa-plugin doesn't depend on this modified alsa-lib, you don't need such a convoluted work around. When defining the conhigure flags, you can simply use (assoc-ref %build-inputs "alsa-plugin") when "alsa-plugin" is defined as an input to the package.

Second, setting plugindir at build-time is just asking for the same kind of issues you are trying to fix, only for finding another plugin that might be needed.

Third, the way you modify the arguments is… unconventional :) try using substitute-keyword-arguments instead. There are plenty of examples in the repo.

I remember having dealt with this issue before, and pushed a patch some 3 years ago: http://issues.guix.gnu.org/31239

Could you look at what happened in the meantime? I think it was reverted in favor of the asound.conf file we have in the guix system now. You might learn something if you find the reason why it was changed.

Re my other projects, framagit is going to close next year, so I'll be migrating to my own hosting, currently at git.lepiller.eu.

Ok for the cultural difference. It's probably too soon to call me a "senior" though, I'm still pretty young: only 3 years older than you :p

Le 26 septembre 2020 16:46:50 GMT-04:00, Prafulla Giri <pratheblackdiamond@gmail.com> a écrit :
Oh, I come from a culture that does not call seniors by their first names. (:
Yes! guix-android looks super awesome! I'm glad that you are working on that. You're awesome.
(Also, I just realized that you've also got guix-home-manager and so many more cool repositories! I need to check those out, and soon!)


All I had to do was re-define 'alsa-lib' to point to the /gnu/store path of alsa-plugins. The /gnu/store path had to be figured out during runtime.

Could you please check how this fares in a GuixSD system? If it goes well, perhaps I should send a patch in for aegisub. But then again, I wonder if I should make the changes in alsa-lib itself, but I am not very sure about that.

On Sat, Sep 26, 2020 at 8:20 PM Julien Lepiller <julien@lepiller.eu> wrote:
Hehe, thanks for your interest in guix-android. It's not really done yet, but I'm very motivated :). It always feels weird when someone on the internet calls you Mr ^^. No need to be so stiff, you can call me "Julien" (and I suppose it's the norm to call people by their first name in this kind of internet community).

Maybe try to run aegisub with strace -f, you might find out something. You may have to take a look at alsa's sources to find out how it looks for its plugins exactly (maybe try to grep for PLUGIN or PLUGINDIR)?

Le 26 septembre 2020 08:07:34 GMT-04:00, Prafulla Giri <pratheblackdiamond@gmail.com> a écrit :
Okay, I think I'm stuck now. lol



On Sat, Sep 26, 2020 at 3:42 PM Prafulla Giri <pratheblackdiamond@gmail.com> wrote:
Hello Mr. Lepiller,

Thank you for the tip. For the moment, I want to poke around this issue. Perhaps I get absolutely tired of it (or find a good hack - and an ugly patch). I did manage to learn a bit more about union-builds in general. So, that's a silver lining.

Also, your work on guix-android seems so very cool! Please keep up the great work!

On Sat, Sep 26, 2020 at 3:28 PM Julien Lepiller <julien@lepiller.eu> wrote:


Hi Prafulla,

Le 26 septembre 2020 03:31:38 GMT-04:00, Prafulla Giri <pratheblackdiamond@gmail.com> a écrit :
>Another information:
>
>I have other programs on my foreign system (installed via guix) that
>produce sound well, without any issues. They include:
>espeak and kdenlive.
>
>Also, I did try making the union-build use copies instead of symlinks
>using
>(union-build ... #:symlink copy-recursively) but that didn't work out
>either.
>
>Now, I'm going to take a look at fixing the pkg-config rules, and will
>be
>updating this thread should that resolve this issue.
>
>On Sat, Sep 26, 2020 at 12:21 PM Prafulla Giri
><pratheblackdiamond@gmail.com>
>wrote:
>
>> I forgot to mention, but the union-build works. If one `guix build`s
>the
>> union package, and cd into the /gnu/store/...-union-build, one will
>see
>> that things are there as it should be (lib/normal-alsa-*.so and
>> lib/alsa-lib/*pulse*.so).
>>
>> It's just that aegisub seems to be looking from the
>> /gnu/store/normal-alsa-lib-dir instead of
>/gnu/store/union-alsa-package.
>>

I think the issue with the union-build is that it is completely ignored: alsa doesn't look in it's current directory for plugins, but in the directory where it's been configured (at build time) to look for.

On the Guix System, there is a service that creates a /etc/asound.conf, which references alsa-plugins:pulseaudio. Maybe you actually want to configure that? Maybe try to copy this to a new file .asoundrc:

pcm_type.pule {
  lib "/home/foo/.guix-profile/lib/alsa-lib/libasound_module_pcm_pulse.so"
}

ctl_type.pulse {
  lib"/home/foo/.guix-profile/lib/alsa-lib/libasound_module_ctl_pulse.so"
}

pcm.!default {
  type pulse
}

ctl.!default {
  type pulse
}