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