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

From: 郑俊杰 <[email-masked]>
Date: Wed, 27 Dec 2023 02:11:34 +0800

> 在 2023年12月27日，01:57，Josselin Poiret via Guix-patches via <[email-masked]> 写道：
> 
> 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

Please care “tests?”

Like

(if tests? 
  (do-test)
  (format #t "test suite not run~%"))

> +            (lambda _
> +              (setenv "MPV_MPRIS_TEST_PLAY"
> +                      #$(file-append sound-theme-freedesktop
> +                                     "/share/sounds/freedesktop/stereo/alarm-clock-elapsed.oga"))
> +              (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
> --
> 2.41.0
> 
> 
> 
>