diff mbox series

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

Message ID 3f2f99c174d858a58ce40b875184c46c6f4381f9.1703608723.git.dev@jpoiret.xyz
State New
Headers show
Series [bug#68044] gnu: mpv-mpris: Fix build. | expand

Commit Message

Josselin Poiret Dec. 26, 2023, 4:38 p.m. UTC
From: Josselin Poiret <dev@jpoiret.xyz>

* 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(-)


base-commit: 5bd80ccd69047b1777749e24d4adf2c951b5d14b

Comments

郑俊杰 Dec. 26, 2023, 6:11 p.m. UTC | #1
> 在 2023年12月27日,01:57,Josselin Poiret via Guix-patches via <guix-patches@gnu.org> 写道:
> 
> From: Josselin Poiret <dev@jpoiret.xyz>
> 
> * 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
> 
> 
> 
>
Zheng Junjie Dec. 26, 2023, 6:33 p.m. UTC | #2
Josselin Poiret via Guix-patches via <guix-patches@gnu.org> writes:

> From: Josselin Poiret <dev@jpoiret.xyz>
>
> * 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
diff mbox series

Patch

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"))
+              (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