Mon Nov 7 15:12:33 2016 UTC ()
Add a patch to fix lyricswiki provider (via upstream from pullup request #80)

Bump PKGREVISION


(leot)
diff -r1.12 -r1.13 pkgsrc/audio/glyr/Makefile
diff -r1.7 -r1.8 pkgsrc/audio/glyr/distinfo
diff -r0 -r1.1 pkgsrc/audio/glyr/patches/patch-lib_intern_lyrics_lyricswiki.c

cvs diff -r1.12 -r1.13 pkgsrc/audio/glyr/Makefile (expand / switch to unified diff)

--- pkgsrc/audio/glyr/Makefile 2016/10/07 18:25:37 1.12
+++ pkgsrc/audio/glyr/Makefile 2016/11/07 15:12:33 1.13
@@ -1,18 +1,18 @@ @@ -1,18 +1,18 @@
1# $NetBSD: Makefile,v 1.12 2016/10/07 18:25:37 adam Exp $ 1# $NetBSD: Makefile,v 1.13 2016/11/07 15:12:33 leot Exp $
2# 2#
3 3
4DISTNAME= glyr-1.0.9 4DISTNAME= glyr-1.0.9
5PKGREVISION= 1 5PKGREVISION= 2
6CATEGORIES= audio 6CATEGORIES= audio
7MASTER_SITES= ${MASTER_SITE_GITHUB:=sahib/} 7MASTER_SITES= ${MASTER_SITE_GITHUB:=sahib/}
8 8
9MAINTAINER= rodent@NetBSD.org 9MAINTAINER= rodent@NetBSD.org
10HOMEPAGE= https://github.com/sahib/glyr/ 10HOMEPAGE= https://github.com/sahib/glyr/
11COMMENT= Music related metadata search engine with CLI and C API 11COMMENT= Music related metadata search engine with CLI and C API
12LICENSE= gnu-gpl-v3 12LICENSE= gnu-gpl-v3
13 13
14USE_TOOLS+= pkg-config 14USE_TOOLS+= pkg-config
15USE_CMAKE= yes 15USE_CMAKE= yes
16 16
17PKGCONFIG_OVERRIDE+= libglyr.pc.in 17PKGCONFIG_OVERRIDE+= libglyr.pc.in
18 18

cvs diff -r1.7 -r1.8 pkgsrc/audio/glyr/distinfo (expand / switch to unified diff)

--- pkgsrc/audio/glyr/distinfo 2016/05/17 13:47:17 1.7
+++ pkgsrc/audio/glyr/distinfo 2016/11/07 15:12:33 1.8
@@ -1,6 +1,7 @@ @@ -1,6 +1,7 @@
1$NetBSD: distinfo,v 1.7 2016/05/17 13:47:17 leot Exp $ 1$NetBSD: distinfo,v 1.8 2016/11/07 15:12:33 leot Exp $
2 2
3SHA1 (glyr-1.0.9.tar.gz) = 28c6f5ffaaa568149762400cf0c8ebaf134cb3c0 3SHA1 (glyr-1.0.9.tar.gz) = 28c6f5ffaaa568149762400cf0c8ebaf134cb3c0
4RMD160 (glyr-1.0.9.tar.gz) = b244631677a44d3fdb444bffac3c32d475413347 4RMD160 (glyr-1.0.9.tar.gz) = b244631677a44d3fdb444bffac3c32d475413347
5SHA512 (glyr-1.0.9.tar.gz) = 77144202c99c6e429c8800a7d89d27de5376627194945116b7166d920375a59048d3e3102cf63646b1b57d795999f057977d7b13490e4ca3af44b8ddb3207652 5SHA512 (glyr-1.0.9.tar.gz) = 77144202c99c6e429c8800a7d89d27de5376627194945116b7166d920375a59048d3e3102cf63646b1b57d795999f057977d7b13490e4ca3af44b8ddb3207652
6Size (glyr-1.0.9.tar.gz) = 425175 bytes 6Size (glyr-1.0.9.tar.gz) = 425175 bytes
 7SHA1 (patch-lib_intern_lyrics_lyricswiki.c) = b4eb47fbb9ef10e84561d87e0d230f4ef81e5bc0

File Added: pkgsrc/audio/glyr/patches/Attic/patch-lib_intern_lyrics_lyricswiki.c
$NetBSD: patch-lib_intern_lyrics_lyricswiki.c,v 1.1 2016/11/07 15:12:33 leot Exp $

Fix lyricswiki provider (from upstream and pull request #80).

--- lib/intern/lyrics/lyricswiki.c.orig	2016-05-17 11:39:52.000000000 +0000
+++ lib/intern/lyrics/lyricswiki.c
@@ -66,6 +66,8 @@ static gboolean lv_cmp_content (const gc
 #define LYR_NODE  "<div class='lyricbox"
 #define LYR_BEGIN ">"
 #define LYR_ENDIN "<!--"
+#define LYR_FOOTER "<div id=\"songfooter"
+#define LYR_CREDITS "<table"
 #define LYR_INSTRUMENTAL "/Category:Instrumental"
 #define LYR_SCRIPT_TAG "</script"
 
@@ -78,13 +80,23 @@ GList * parse_result_page (GlyrQuery * q
         node += (sizeof LYR_NODE);
         char *script_tag = strstr(node, LYR_SCRIPT_TAG);
         char *end_tag = strstr(node, LYR_ENDIN);
+        char *footer_tag = strstr(node, LYR_FOOTER);
+        char *credits_tag = strstr(node, LYR_CREDITS);
+        char *ending_tag = LYR_ENDIN;
+
+        if (footer_tag && footer_tag < end_tag) {
+            ending_tag = LYR_FOOTER;
+        }
+        if (credits_tag && credits_tag < end_tag) {
+            ending_tag = LYR_CREDITS;
+        }
 
         if(script_tag && script_tag < end_tag) {
             node = script_tag + sizeof(LYR_SCRIPT_TAG) - 1;
         }
 
         bool is_instrumental = strstr(node, LYR_INSTRUMENTAL) != NULL;
-        gchar * lyr = get_search_value (node,LYR_BEGIN,LYR_ENDIN);
+        gchar * lyr = get_search_value (node,LYR_BEGIN,ending_tag);
         gchar * beautiness_test = beautify_string (lyr);
 
         if (is_instrumental || (beautiness_test != NULL && beautiness_test[0]))