[PATCH] music.scm: Add glyr

DoneSubmitted by Riku Viitanen.
Details
3 participants
  • Christopher Baines
  • Ricardo Wurmus
  • Riku Viitanen
Owner
unassigned
Severity
normal
R
R
Riku Viitanen wrote on 15 Dec 2019 17:10
(address . guix-patches@gnu.org)
CA+2hkpVVJHMgWNiWWF7Ydvr0W+DzUqq7NQ6fLfFWuJAx2JSwCw@mail.gmail.com
Glyr contains a C library and a CLI tool for fetching album art and
metadata about music.

For example, abcde can use it to automatically download cover art.


diff a/guix/gnu/packages/music.scm b/guix/gnu/packages/music.scm
27a28
Toggle quote (1 lines)
> ;;; Copyright © 2019 Riku Viitanen <riku.viitanen0@gmail.com>
5108a5110,5166
Toggle quote (24 lines)
>
> (define-public glyr
> (package
> (name "glyr")
> (version "1.0.10")
> (source
> (origin
> (method url-fetch)
> (uri (string-append "https://github.com/sahib/glyr/archive/"
> version ".tar.gz"))
> (sha256
> (base32 "1s06m1619j3kqgmnh9qv9bbqwvzjd4h4hdja5rhjg38w49hdms3p"))))
> (build-system cmake-build-system)
> (arguments
> '(#:tests? #f)) ; no check target))
> (inputs
> `(("glib" ,glib)
> ("curl" ,curl)
> ("sqlite" ,sqlite)
> ("pkg-config" ,pkg-config)))
> (home-page "https://github.com/sahib/glyr")
> (synopsis "Search engine for music related metadata")
> (description
> "It comes both in a command-line interface tool (@command{glyrc})
and as a C library (libglyr), both
Toggle quote (1 lines)
> with an easy to use interface. The sort of metadata glyr is searching
(and
Toggle quote (2 lines)
> downloading) is usually the data you see in your musicplayer. And indeed,
> originally it was written to serve as internally library for a
musicplayer,
Toggle quote (1 lines)
> but has been extended to work as a standalone program which is able to
download:
Toggle quote (29 lines)
> @table @code
> @item cover
> Coverart (front images supported only)
> @item lyrics
> Songtext
> @item artistphotos
> Photos of a certain band (press or live)
> @item rtistbio
> Artist biography from various sites
> @item review
> Album reviews from various sites
> @item albumlist
> A list of albums from a specific artist.
> @item tags
> Tags, either related to artist, album or title
> @item relations
> Links to Wikipedia, Myspace, MusicBrainz …
> @item similarartists
> Similar artists
> @item similarsongs
> Similar songs
> @item tracklist
> Tracklist of an album
> @item guitartabs
> Guitartabs in textual form
> @item backdrops
> Large artist photos, suitable for backgrounds
> @end table")
> (license license:lgpl3)))
Attachment: file
R
R
Ricardo Wurmus wrote on 15 Dec 2019 23:31
(name . Riku Viitanen)(address . riku.viitanen0@gmail.com)(address . 38625@debbugs.gnu.org)
874ky1cjac.fsf@elephly.net
Hi Riku,

thank you for your contribution.
Could you please resend this as a git formatted patch? See the
Contributing section in the manual for more information on the workflow.

Toggle quote (6 lines)
>> (source
>> (origin
>> (method url-fetch)
>> (uri (string-append "https://github.com/sahib/glyr/archive/"
>> version ".tar.gz"))

These /archive tarballs are automatically generated, so they can change
in place without prior notice. Please use git-fetch instead.

Toggle quote (3 lines)
>> (arguments
>> '(#:tests? #f)) ; no check target))

Please remove the trailing “))”.

Toggle quote (6 lines)
>> (inputs
>> `(("glib" ,glib)
>> ("curl" ,curl)
>> ("sqlite" ,sqlite)
>> ("pkg-config" ,pkg-config)))

pkg-config should be a native-input.

Toggle quote (6 lines)
>> (synopsis "Search engine for music related metadata")
>> (description
>> "It comes both in a command-line interface tool (@command{glyrc})
> and as a C library (libglyr), both […]

Please “reflow” the description to fit 80 columns and perhaps shorten it
a little.

Toggle quote (2 lines)
>> (license license:lgpl3)))

Only version 3 or also any other version?

--
Ricardo
R
R
Riku Viitanen wrote on 18 Dec 2019 17:57
Fwd: [bug#38625] [PATCH] music.scm: Add glyr
(address . 38625@debbugs.gnu.org)
CA+2hkpXEWmafo+aYjX2TvdW0iqkqRV8zXRU8Yn2GCPa3PrBZng@mail.gmail.com
Hi Ricardo, and thanks for the feedback!

I think all the mentioned issues should now be fixed.
I checked some of the source files, and it turns out they say permit any
later version of the license, so I changed the license to lgpl3+.
Only the README file mentions "just" LGPLv3 without saying anything about
later versions, so I thought it meant the same as "only".

Here's the new patch in git format:

From 97d4d5d7d16eb87896d81e070510d919118aa622 Mon Sep 17 00:00:00 2001
From: Riku Viitanen <riku.viitanen0@gmail.com>
Date: Wed, 18 Dec 2019 18:30:14 +0200
Subject: [PATCH] gnu: Add glyr

* gnu/packages/music.scm (glyr): New variable
---
gnu/packages/music.scm | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

Toggle diff (56 lines)
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index f80fb067e8..0adfa96fbe 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -25,6 +25,7 @@
 ;;; Copyright © 2019 raingloom <raingloom@protonmail.com>
 ;;; Copyright © 2019 David Wilson <david@daviwil.com>
 ;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org>
+;;; Copyright © 2019 Riku Viitanen <riku.viitanen0@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -5106,3 +5107,37 @@ MIDI drums and comes as two separate drumkits: Black
Pearl and Red Zeppelin.")
     (description "Helm is a cross-platform polyphonic synthesizer
available standalone
 and as an LV2 plugin.")
     (license license:gpl3+)))
+
+(define-public glyr
+  (package
+    (name "glyr")
+    (version "1.0.10")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/sahib/glyr.git")
+                     (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+                (base32
+                 "1miwbqzkhg0v3zysrwh60pj9sv6ci4lzq2vq2hhc6pc6hdyh8xyr"))))
+    (build-system cmake-build-system)
+    (arguments
+     '(#:tests? #f))
+    (inputs
+     `(("glib" ,glib)
+       ("curl" ,curl)
+       ("sqlite" ,sqlite)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (home-page "https://github.com/sahib/glyr")
+    (synopsis "Search engine for music related metadata")
+    (description
+     "Glyr comes both in a command-line interface tool (@command{glyrc})
and
+as a C library (libglyr), both with an easy to use interface. The sort of
+metadata glyr is searching (and downloading) is usually the data you see in
+your musicplayer. And indeed, originally it was written to serve as
internally
+library for a musicplayer, but has been extended to work as a standalone
+program which is able to download cover art, lyrics, photos, biographies,
+reviews and more.")
+    (license license:lgpl3+)))
-- 
2.24.1
Attachment: file
C
C
Christopher Baines wrote on 19 Nov 2020 10:27
(name . Riku Viitanen)(address . riku.viitanen0@gmail.com)(address . 38625-done@debbugs.gnu.org)
87d009lms5.fsf@cbaines.net
Riku Viitanen <riku.viitanen0@gmail.com> writes:

Toggle quote (8 lines)
> Hi Ricardo, and thanks for the feedback!
>
> I think all the mentioned issues should now be fixed.
> I checked some of the source files, and it turns out they say permit any
> later version of the license, so I changed the license to lgpl3+.
> Only the README file mentions "just" LGPLv3 without saying anything about
> later versions, so I thought it meant the same as "only".

Hi Riku,

Apologies for the delay in following up on this.

I've gone ahead and pushed the package definition to master as
aee183e1a57aa7606c79d9375e8e3f13e7726e41. I made some tweaks which I'll
describe below.

Also, I couldn't figure out how to apply the patch you included. Because
of things like email clients wrapping lines, the best approach for
sending patches is "git send-email", and if that isn't an option,
attaching the patch files to an email is the next best option.

Toggle quote (48 lines)
> Here's the new patch in git format:
>
> From 97d4d5d7d16eb87896d81e070510d919118aa622 Mon Sep 17 00:00:00 2001
> From: Riku Viitanen <riku.viitanen0@gmail.com>
> Date: Wed, 18 Dec 2019 18:30:14 +0200
> Subject: [PATCH] gnu: Add glyr
>
> * gnu/packages/music.scm (glyr): New variable
> ---
> gnu/packages/music.scm | 35 +++++++++++++++++++++++++++++++++++
> 1 file changed, 35 insertions(+)
>
> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
> index f80fb067e8..0adfa96fbe 100644
> --- a/gnu/packages/music.scm
> +++ b/gnu/packages/music.scm
> @@ -25,6 +25,7 @@
> ;;; Copyright © 2019 raingloom <raingloom@protonmail.com>
> ;;; Copyright © 2019 David Wilson <david@daviwil.com>
> ;;; Copyright © 2019 Alexandros Theodotou <alex@zrythm.org>
> +;;; Copyright © 2019 Riku Viitanen <riku.viitanen0@gmail.com>
> ;;;
> ;;; This file is part of GNU Guix.
> ;;;
> @@ -5106,3 +5107,37 @@ MIDI drums and comes as two separate drumkits: Black
> Pearl and Red Zeppelin.")
> (description "Helm is a cross-platform polyphonic synthesizer
> available standalone
> and as an LV2 plugin.")
> (license license:gpl3+)))
> +
> +(define-public glyr
> + (package
> + (name "glyr")
> + (version "1.0.10")
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/sahib/glyr.git")
> + (commit version)))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32
> + "1miwbqzkhg0v3zysrwh60pj9sv6ci4lzq2vq2hhc6pc6hdyh8xyr"))))
> + (build-system cmake-build-system)
> + (arguments
> + '(#:tests? #f))

So I had a go at running the tests. Unfortunately some of them depend on
the network, so I was only able to run some of them. There's also Python
tests, but I think that requires packaging some additional Python
libraries, so I've just put a comment in about that.

Toggle quote (20 lines)
> + (inputs
> + `(("glib" ,glib)
> + ("curl" ,curl)
> + ("sqlite" ,sqlite)))
> + (native-inputs
> + `(("pkg-config" ,pkg-config)))
> + (home-page "https://github.com/sahib/glyr")
> + (synopsis "Search engine for music related metadata")
> + (description
> + "Glyr comes both in a command-line interface tool (@command{glyrc})
> and
> +as a C library (libglyr), both with an easy to use interface. The sort of
> +metadata glyr is searching (and downloading) is usually the data you see in
> +your musicplayer. And indeed, originally it was written to serve as
> internally
> +library for a musicplayer, but has been extended to work as a standalone
> +program which is able to download cover art, lyrics, photos, biographies,
> +reviews and more.")
> + (license license:lgpl3+)))

Thanks again for the patch,

Chris
-----BEGIN PGP SIGNATURE-----

iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAl+2OmpfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF
ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh
aW5lcy5uZXQACgkQXiijOwuE9XduOw//eIZ2P+q33E7p4lBRM+A+EBbrQdWv8EbE
Asukj0JOD+a1PT9VuFxtXxYfGA2K3aFsHsY8HkouWsnTKACPRJ8hvxwZZV+TRlQF
zm6mrfZ4K+6tMCl2IkxCJHjaZ4Nd61uYOUc6wwB84ywM0b8f8Uw4UAAFK8VuuBNL
pAEM1HyTQxXHe7Llf6OPpvmeWmb7TVvpAoAJKzMRs/D5lLAwx/EmmBzerzEvevyP
7vI7o6WFt6snx8ZMYZv05VFYvsVQr0rFR0sf76aE3CMDrmS9KdZHyxnkUkG3bo3Y
eZJNSCrN6/QoLObpmujUJNnPVlvuellXIzLZhdPIndq2VmbImYyjk7kKC0b6ic9D
/FiFSPDzAQCzX1/ilJvdjM9B0MpggeFCD6QSA3gMJnQ48ifrEU0u14pUqcJW7CPo
nCRibOzU23W+Z0WJvSfeRz5GZxozSK/pro/UWoFvRX68O2k6e2fJEOfHcieyS/Bt
B7DFuj/+L7GwHfY49tbfMTRtO1vI1apuGfAqFQKX3X73EHXCikZD+fJ/u/jlhjI+
uhsycXRThijuMcPw4L2HhXQOR8Neg9r9cghDmzghlOt3QyZvBHjfQVLsadealZ+n
AWGnjeSJ23Y05tIWXHfAjYoZlscEY25ijYtM/qhgVsfDo/9FPBDdOm62BbH+7QQR
6LkAuAV2smE=
=AIcd
-----END PGP SIGNATURE-----

Closed
?
Your comment

This issue is archived.

To comment on this conversation send email to 38625@debbugs.gnu.org