Subject: Re: [bug#68044] [PATCH] gnu: mpv-mpris: Fix build.

From: Zheng Junjie <[email-masked]>
Date: Wed, 27 Dec 2023 02:33:18 +0800

Josselin Poiret via Guix-patches via <[email-masked]> writes:

> From: Josselin Poiret <[email-masked]>
>
> * gnu/packages/video.scm (mpv-mpris): Use gnu-build-system again.  Include
> mpv's required dependencies now that its pkg-config file requires them.  Run
> tests.
>
> Change-Id: I9de4ade633388ec42ac30019feb133ca98811ad9
> ---
> Hi everyone,
>
> mpv-mpris doesn't build anymore, because mpv's pkg-config file now requires
> almost all of its dependencies.  I chose to simply add all of mpv's inputs, but
> also to revert back to gnu-build-system, while making use of upstream's env vars
> to make it as painless as possible.  Also, tests were actually not that bad so
> we can enable them.
>
>  gnu/packages/video.scm | 29 ++++++++++++++++++-----------
>  1 file changed, 18 insertions(+), 11 deletions(-)
>
> diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
> index 6da4897a57..987bc91f4f 100644
> --- a/gnu/packages/video.scm
> +++ b/gnu/packages/video.scm
> @@ -154,6 +154,7 @@ (define-module (gnu packages video)
>    #:use-module (gnu packages image)
>    #:use-module (gnu packages imagemagick)
>    #:use-module (gnu packages iso-codes)
> +  #:use-module (gnu packages libcanberra)
>    #:use-module (gnu packages libidn)
>    #:use-module (gnu packages libusb)
>    #:use-module (gnu packages linux)
> @@ -2511,20 +2512,26 @@ (define-public mpv-mpris
>          (file-name (git-file-name name version))
>          (sha256
>           (base32 "1384y8n3l0xk8hbad1nsj9ljzb1h02g3ln3jysd8bd6shbl0x4mx"))))
> -    (build-system copy-build-system)
> +    (build-system gnu-build-system)
>      (arguments
> -     '(#:install-plan
> -       '(("mpris.so" "lib/"))
> -       #:phases
> -       (modify-phases %standard-phases
> -         (add-before 'install 'build
> -           (lambda _
> -             (setenv "CC" (which "gcc"))
> -             (invoke "make"))))))
> +     (list
> +      #:make-flags
> +      #~(list (string-append "SCRIPTS_DIR=" #$output "/lib")
> +              (string-append "CC=" #$(cc-for-target)))
> +      #:phases
> +      #~(modify-phases %standard-phases
> +          (delete 'configure)
> +          (replace 'check
> +            (lambda _
> +              (setenv "MPV_MPRIS_TEST_PLAY"
> +                      #$(file-append sound-theme-freedesktop
> +                                     "/share/sounds/freedesktop/stereo/alarm-clock-elapsed.oga"))

And don't use file-append here, should add `sound-theme-freedesktop' to
native-inputs and use `search-input-file' to find this file.

> +              (invoke "make" "test"))))))
>      (native-inputs
> -     (list pkg-config))
> +     (list pkg-config dbus jq playerctl socat xorg-server-for-tests xvfb-run))
>      (inputs
> -     (list ffmpeg glib mpv))
> +     (modify-inputs (package-inputs mpv)
> +       (prepend ffmpeg glib mpv)))
>      (home-page "https://github.com/hoyon/mpv-mpris")
>      (synopsis "MPRIS plugin for mpv")
>      (description "This package provides an @dfn{MPRIS} (Media Player Remote
>
> base-commit: 5bd80ccd69047b1777749e24d4adf2c951b5d14b