[PATCH] music.scm: Add glyr

  • Done
  • quality assurance status badge
Details
3 participants
  • Christopher Baines
  • Ricardo Wurmus
  • Riku Viitanen
Owner
unassigned
Submitted by
Riku Viitanen
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 an email to 38625@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 38625
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch