unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Prafulla Giri <pratheblackdiamond@gmail.com>
To: Julien Lepiller <julien@lepiller.eu>
Cc: 43628@debbugs.gnu.org
Subject: [bug#43628] Further Info
Date: Sat, 26 Sep 2020 17:52:34 +0545	[thread overview]
Message-ID: <CAFw+=j1YaOdywXXN9V5UeeOT6Oprrfq4mesOhFprr+nskysTyA@mail.gmail.com> (raw)
In-Reply-To: <CAFw+=j0HP4-EV_TfJsg-AowzxoosNeAF3FBpCe0OKyaYsEqd1w@mail.gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 2549 bytes --]

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
>> }
>>
>

[-- Attachment #1.2: Type: text/html, Size: 3541 bytes --]

[-- Attachment #2: aegisub_alsa_pulseaudio.diff --]
[-- Type: text/x-patch, Size: 2781 bytes --]

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 0f727a6e9e..c828be546b 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -3836,7 +3836,52 @@ programmers to access a standard API to open and decompress media files.")
        ("hunspell" ,hunspell)
        ("mesa" ,mesa)
        ("libass" ,libass)
-       ("alsa-lib" ,alsa-lib)
+       ("alsa-lib-with-pulseaudio-plugin"
+        ,(package
+           (inherit alsa-lib)
+           (name "alsa-lib-with-pulseaudio-plugin")
+           (source #f)
+           (build-system trivial-build-system)
+           (arguments
+            `(#:modules ((guix build union)
+                         (guix build utils))
+              #:builder
+              (begin
+                (use-modules (ice-9 match)
+                             (guix build union)
+                             (guix build utils))
+                (let ((out (assoc-ref %outputs "out"))
+                      (alsa-lib (assoc-ref %build-inputs "alsa-lib")))
+                  (match %build-inputs
+                    (((names . directories) ...)
+                     (union-build out
+                                  directories
+                                  ;; Instead of a symlink union, this is will be a
+                                  ;; copy union, because this won't "Just Work™"
+                                  ;; with mere symlinks. Some of the files that make
+                                  ;; up the union need to tweaked to work properly.
+                                  #:create-all-directories? #t
+                                  #:symlink copy-file)))
+                  ;; Fix alsa-lib pkg-config file to point to the /gnu/store of
+                  ;; this union, rather than that of alsa-lib itself.
+                  (substitute* (string-append out "/lib/pkgconfig/alsa.pc")
+                    ((alsa-lib) out))
+                  #t))))
+           (inputs
+            `(("alsa-lib"
+               ,(package
+                  (inherit alsa-lib)
+                  (arguments `(,@(cons
+                                  (car (package-arguments alsa-lib))
+                                  (list (append
+                                         (cadr
+                                          (package-arguments alsa-lib))
+                                         (list (string-append
+                                                "--with-plugin-dir="
+                                                ;; stuff goes here
+                                                ))))))))
+               )
+              ("alsa-plugins:pulseaudio" ,alsa-plugins "pulseaudio")))))
        ("pulseaudio" ,pulseaudio)
        ("libx11" ,libx11)
        ("freetype" ,freetype)

  reply	other threads:[~2020-09-26 12:08 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-26  6:15 [bug#43628] Request for patch evaluation/review Prafulla Giri
2020-09-26  6:36 ` [bug#43628] Further Info Prafulla Giri
2020-09-26  7:31   ` Prafulla Giri
2020-09-26  9:43     ` Julien Lepiller
2020-09-26  9:57       ` Prafulla Giri
2020-09-26 12:07         ` Prafulla Giri [this message]
2020-09-26 14:35           ` Julien Lepiller
2020-09-26 20:46             ` Prafulla Giri
2020-09-26 21:15               ` Julien Lepiller
2020-09-27  5:56                 ` Prafulla Giri
2020-09-27 11:09                   ` Julien Lepiller
2020-09-28 14:43                     ` Prafulla Giri
2020-09-28 15:20                       ` Julien Lepiller
2020-09-26  9:51 ` [bug#43628] Progress (?) Prafulla Giri
2020-09-28 17:02 ` [bug#43628] Request for patch evaluation/review Leo Famulari

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAFw+=j1YaOdywXXN9V5UeeOT6Oprrfq4mesOhFprr+nskysTyA@mail.gmail.com' \
    --to=pratheblackdiamond@gmail.com \
    --cc=43628@debbugs.gnu.org \
    --cc=julien@lepiller.eu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).