Message ID | 20200806082935.13379-1-mail@ambrevar.xyz |
---|---|
State | Accepted |
Headers | show |
Series | [bug#42728] gnu: emacs-emms: Fix build of emms-print-metadata. | expand |
Context | Check | Description |
---|---|---|
cbaines/comparison | success | View comparision |
cbaines/git branch | success | View Git branch |
cbaines/applying patch | success | View Laminar job |
Pierre Neidhardt <mail@ambrevar.xyz> writes: > * gnu/packages/emacs-xyz.scm (emacs-emms): Inherit from > emacs-emms-print-metadata. > [inputs]: Add emms-print-metadata. > [arguments]: Fix path to emms-print-metadata. > --- > gnu/packages/emacs-xyz.scm | 53 +++++++++++++++++++++++++++----------- > 1 file changed, 38 insertions(+), 15 deletions(-) > > diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm > index 9943af0fcb..5d353d0d57 100644 > --- a/gnu/packages/emacs-xyz.scm > +++ b/gnu/packages/emacs-xyz.scm > @@ -1484,9 +1484,9 @@ incrementally confined in Isearch manner.") > ;;; Multimedia. > ;;; > > -(define-public emacs-emms > +(define emacs-emms-print-metadata > (package > - (name "emacs-emms") > + (name "emacs-emms-print-metadata") > (version "5.42") > (source > (origin > @@ -1495,6 +1495,37 @@ incrementally confined in Isearch manner.") > "emms-" version ".tar")) > (sha256 > (base32 "1khx1fvllrs6w9kxk12mp1hj309c90mc7lkq1vvlqlr7vd6zmnpj")))) > + (build-system gnu-build-system) > + (arguments > + `(#:make-flags '("emms-print-metadata") > + #:tests? #f ; No tests. > + #:phases > + (modify-phases %standard-phases > + (delete 'configure) > + (replace 'install > + (lambda* (#:key outputs #:allow-other-keys) > + (let* ((out (assoc-ref outputs "out"))) > + (install-file "src/emms-print-metadata" > + (string-append out "/bin")) > + (install-file "emms-print-metadata.1" > + (string-append out "/share/man/man1")) > + #t)))))) > + (inputs > + `(("taglib" ,taglib))) > + (home-page "https://www.gnu.org/software/emms/") > + (synopsis "The Emacs Multimedia System") > + (description > + "EMMS is the Emacs Multimedia System. It is a small front-end which > +can control one of the supported external players. Thus, it supports > +whatever formats are supported by your music player. It also > +supports tagging and playlist management, all behind a clean and > +light user interface.") > + (license license:gpl3+))) > + > +(define-public emacs-emms > + (package > + (inherit emacs-emms-print-metadata) > + (name "emacs-emms") > (build-system emacs-build-system) > (arguments > `(#:phases > @@ -1504,6 +1535,7 @@ incrementally confined in Isearch manner.") > ;; so that everything works out-of-the-box. > (lambda* (#:key inputs outputs #:allow-other-keys) > (let ((out (assoc-ref outputs "out")) > + (emms-print-metadata (assoc-ref inputs "emms-print-metadata")) > (flac (assoc-ref inputs "flac")) > (vorbis (assoc-ref inputs "vorbis-tools")) > (alsa (assoc-ref inputs "alsa-utils")) > @@ -1528,7 +1560,7 @@ incrementally confined in Isearch manner.") > (string-append opus "/bin/opusinfo"))) > (emacs-substitute-variables "emms-info-libtag.el" > ("emms-info-libtag-program-name" > - (string-append out "/bin/emms-print-metadata"))) > + (string-append emms-print-metadata "/bin/emms-print-metadata"))) > (emacs-substitute-variables "emms-info-mp3info.el" > ("emms-info-mp3info-program-name" > (string-append mp3info "/bin/mp3info"))) > @@ -1545,23 +1577,14 @@ incrementally confined in Isearch manner.") > (string-append "\"" mutagen "/bin/mid3v2\""))) > #t)))))) > (inputs > - `(("alsa-utils" ,alsa-utils) > + `(("emms-print-metadata" ,emacs-emms-print-metadata) > + ("alsa-utils" ,alsa-utils) > ("flac" ,flac) ;for metaflac > ("vorbis-tools" ,vorbis-tools) > ("mpg321" ,mpg321) > - ("taglib" ,taglib) > ("mp3info" ,mp3info) > ("mutagen" ,python-mutagen) > - ("opus-tools" ,opus-tools))) > - (home-page "https://www.gnu.org/software/emms/") > - (synopsis "The Emacs Multimedia System") > - (description > - "EMMS is the Emacs Multimedia System. It is a small front-end which > -can control one of the supported external players. Thus, it supports > -whatever formats are supported by your music player. It also > -supports tagging and playlist management, all behind a clean and > -light user interface.") > - (license license:gpl3+))) > + ("opus-tools" ,opus-tools))))) > > (define-public emacs-emms-mode-line-cycle > (package > > base-commit: 327ebd55ca595aa3fac41139c906fbe05b5b6e0b Maybe I am not completely understanding, but wouldn't it make more sense for emms-print-metadata to inherit from emms and not the other way around?
No, because the user wants to install emacs-emms, not emacs-emms-print-metadata. Note that the parent package is unexported. Does that make sense?
Pierre Neidhardt <mail@ambrevar.xyz> writes: > No, because the user wants to install emacs-emms, not > emacs-emms-print-metadata. > Note that the parent package is unexported. Does that make sense? Oh yes! My apologies. :)
Should I merge?
Pierre Neidhardt <mail@ambrevar.xyz> writes:
> Should I merge?
LGTM!
Merged as 4aa2b6d0cd707b060284584d7fb65adf15790119.
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 9943af0fcb..5d353d0d57 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -1484,9 +1484,9 @@ incrementally confined in Isearch manner.") ;;; Multimedia. ;;; -(define-public emacs-emms +(define emacs-emms-print-metadata (package - (name "emacs-emms") + (name "emacs-emms-print-metadata") (version "5.42") (source (origin @@ -1495,6 +1495,37 @@ incrementally confined in Isearch manner.") "emms-" version ".tar")) (sha256 (base32 "1khx1fvllrs6w9kxk12mp1hj309c90mc7lkq1vvlqlr7vd6zmnpj")))) + (build-system gnu-build-system) + (arguments + `(#:make-flags '("emms-print-metadata") + #:tests? #f ; No tests. + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out"))) + (install-file "src/emms-print-metadata" + (string-append out "/bin")) + (install-file "emms-print-metadata.1" + (string-append out "/share/man/man1")) + #t)))))) + (inputs + `(("taglib" ,taglib))) + (home-page "https://www.gnu.org/software/emms/") + (synopsis "The Emacs Multimedia System") + (description + "EMMS is the Emacs Multimedia System. It is a small front-end which +can control one of the supported external players. Thus, it supports +whatever formats are supported by your music player. It also +supports tagging and playlist management, all behind a clean and +light user interface.") + (license license:gpl3+))) + +(define-public emacs-emms + (package + (inherit emacs-emms-print-metadata) + (name "emacs-emms") (build-system emacs-build-system) (arguments `(#:phases @@ -1504,6 +1535,7 @@ incrementally confined in Isearch manner.") ;; so that everything works out-of-the-box. (lambda* (#:key inputs outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out")) + (emms-print-metadata (assoc-ref inputs "emms-print-metadata")) (flac (assoc-ref inputs "flac")) (vorbis (assoc-ref inputs "vorbis-tools")) (alsa (assoc-ref inputs "alsa-utils")) @@ -1528,7 +1560,7 @@ incrementally confined in Isearch manner.") (string-append opus "/bin/opusinfo"))) (emacs-substitute-variables "emms-info-libtag.el" ("emms-info-libtag-program-name" - (string-append out "/bin/emms-print-metadata"))) + (string-append emms-print-metadata "/bin/emms-print-metadata"))) (emacs-substitute-variables "emms-info-mp3info.el" ("emms-info-mp3info-program-name" (string-append mp3info "/bin/mp3info"))) @@ -1545,23 +1577,14 @@ incrementally confined in Isearch manner.") (string-append "\"" mutagen "/bin/mid3v2\""))) #t)))))) (inputs - `(("alsa-utils" ,alsa-utils) + `(("emms-print-metadata" ,emacs-emms-print-metadata) + ("alsa-utils" ,alsa-utils) ("flac" ,flac) ;for metaflac ("vorbis-tools" ,vorbis-tools) ("mpg321" ,mpg321) - ("taglib" ,taglib) ("mp3info" ,mp3info) ("mutagen" ,python-mutagen) - ("opus-tools" ,opus-tools))) - (home-page "https://www.gnu.org/software/emms/") - (synopsis "The Emacs Multimedia System") - (description - "EMMS is the Emacs Multimedia System. It is a small front-end which -can control one of the supported external players. Thus, it supports -whatever formats are supported by your music player. It also -supports tagging and playlist management, all behind a clean and -light user interface.") - (license license:gpl3+))) + ("opus-tools" ,opus-tools))))) (define-public emacs-emms-mode-line-cycle (package