diff mbox series

[bug#42728] gnu: emacs-emms: Fix build of emms-print-metadata.

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

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job

Commit Message

Pierre Neidhardt Aug. 6, 2020, 8:29 a.m. UTC
* 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(-)


base-commit: 327ebd55ca595aa3fac41139c906fbe05b5b6e0b

Comments

Brett Gilio Aug. 7, 2020, 3:38 a.m. UTC | #1
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?
Pierre Neidhardt Aug. 7, 2020, 6:10 a.m. UTC | #2
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?
Brett Gilio Aug. 7, 2020, 3:03 p.m. UTC | #3
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. :)
Pierre Neidhardt Aug. 7, 2020, 4:29 p.m. UTC | #4
Should I merge?
Brett Gilio Aug. 7, 2020, 6:11 p.m. UTC | #5
Pierre Neidhardt <mail@ambrevar.xyz> writes:

> Should I merge?

LGTM!
Pierre Neidhardt Aug. 8, 2020, 8:42 a.m. UTC | #6
Merged as 4aa2b6d0cd707b060284584d7fb65adf15790119.
diff mbox series

Patch

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