From 8549761228a1beee5533fdfaa373f60e54cc4094 Mon Sep 17 00:00:00 2001 From: wiz Date: Thu, 19 Feb 2015 00:20:47 +0000 Subject: Update to 1.64.6 using audio/streamripper-current and patch from PR 49677 provided by Petar Bogdanovic. New for 1.64.6 ------------------------------------ Mon Mar 30 21:10:13 EDT 2009 * Fix bug which creates corrupted id3v2 tags * Remove trailing periods for stream name New for 1.64.5 ------------------------------------ Sun Mar 8 12:08:15 EDT 2009 * Change default values for - localhost from "localhost" to "127.0.0.1" - splitpoint padding from 300 ms to 0 ms - metadata and relay codeset (if UTF-8) to ISO-8859-1 - id3 codeset to UTF-16 - "keep files in incomplete" from false to true * Fix parse rules to properly tag artists with "-" in their name (#540543) * Fix bitrate & metadata reporting in console (#1957248) * Fix integer overflow on bytes read (#1261305) * Option for stopping based on megabytes ripped now uses MiB instead of MB * Support splitting based on empty StreamTitle= strings 2648664 New for 1.64.4 ------------------------------------ Mon Feb 16 21:27:29 EST 2009 * Fix problem where corrupt ogg files are being created * Robustify metadata parsing for Limecast servers * Fix buffer overflow bug with substitution rules (#2492422) * Fix file creation bug when "/" is in stream name (#2533980) * Disable creating cue file for ogg streams * Fix problem skipping extra track on ogg streams --- audio/streamripper/Makefile | 9 +- audio/streamripper/PLIST | 2 +- audio/streamripper/distinfo | 13 +- audio/streamripper/options.mk | 2 +- audio/streamripper/patches/patch-aa | 13 -- audio/streamripper/patches/patch-ab | 165 ----------------------- audio/streamripper/patches/patch-ac | 13 ++ audio/streamripper/patches/patch-ad | 13 ++ audio/streamripper/patches/patch-lib_ripstream.c | 13 ++ 9 files changed, 53 insertions(+), 190 deletions(-) delete mode 100644 audio/streamripper/patches/patch-aa delete mode 100644 audio/streamripper/patches/patch-ab create mode 100644 audio/streamripper/patches/patch-ac create mode 100644 audio/streamripper/patches/patch-ad create mode 100644 audio/streamripper/patches/patch-lib_ripstream.c (limited to 'audio') diff --git a/audio/streamripper/Makefile b/audio/streamripper/Makefile index 97a9a84074d..147864436fd 100644 --- a/audio/streamripper/Makefile +++ b/audio/streamripper/Makefile @@ -1,8 +1,6 @@ -# $NetBSD: Makefile,v 1.8 2012/10/02 23:48:10 asau Exp $ -# +# $NetBSD: Makefile,v 1.9 2015/02/19 00:20:47 wiz Exp $ -DISTNAME= streamripper-1.61.27 -PKGREVISION= 2 +DISTNAME= streamripper-1.64.6 CATEGORIES= audio MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=streamripper/} @@ -11,6 +9,8 @@ HOMEPAGE= http://streamripper.sourceforge.net/ COMMENT= Splits SHOUTcast stream into tracks GNU_CONFIGURE= yes +CONFIGURE_ARGS+= --without-included-libmad +USE_TOOLS+= pkg-config PTHREAD_OPTS+= require @@ -18,5 +18,6 @@ PTHREAD_OPTS+= require .include "../../audio/libmad/buildlink3.mk" .include "../../converters/libiconv/buildlink3.mk" +.include "../../devel/glib2/buildlink3.mk" .include "../../mk/pthread.buildlink3.mk" .include "../../mk/bsd.pkg.mk" diff --git a/audio/streamripper/PLIST b/audio/streamripper/PLIST index e8b6d4b6e5d..88447f714f8 100644 --- a/audio/streamripper/PLIST +++ b/audio/streamripper/PLIST @@ -1,3 +1,3 @@ -@comment $NetBSD: PLIST,v 1.1.1.1 2005/10/20 19:55:49 xtraeme Exp $ +@comment $NetBSD: PLIST,v 1.2 2015/02/19 00:20:47 wiz Exp $ bin/streamripper man/man1/streamripper.1 diff --git a/audio/streamripper/distinfo b/audio/streamripper/distinfo index abe38cdaf02..3460cd972b0 100644 --- a/audio/streamripper/distinfo +++ b/audio/streamripper/distinfo @@ -1,7 +1,8 @@ -$NetBSD: distinfo,v 1.4 2009/01/07 18:45:54 drochner Exp $ +$NetBSD: distinfo,v 1.5 2015/02/19 00:20:47 wiz Exp $ -SHA1 (streamripper-1.61.27.tar.gz) = bdbf0e301c3c783e1f13c2977508afd5076328ad -RMD160 (streamripper-1.61.27.tar.gz) = 14b55b91e3b995515d6978383f9fc618fe92bbcb -Size (streamripper-1.61.27.tar.gz) = 1227559 bytes -SHA1 (patch-aa) = 1150430aa345f78c58d7a207433947a4241ecf29 -SHA1 (patch-ab) = dbcdf5e2c03f4c2b2b63f23026347d15bb452c5c +SHA1 (streamripper-1.64.6.tar.gz) = bc8a8d3ad045e0772ca691d2063c39efcc0dca45 +RMD160 (streamripper-1.64.6.tar.gz) = 3c010038f7be6959ada637b933feff2616915dba +Size (streamripper-1.64.6.tar.gz) = 900205 bytes +SHA1 (patch-ac) = b22e18723d4888d78f0e5e01e0db40f010b15f96 +SHA1 (patch-ad) = 583dbf02c8adf75eccdfea8c0e8aa181e89256de +SHA1 (patch-lib_ripstream.c) = 4cc71c5d58cec36711d9c90a327dea9f466cec2a diff --git a/audio/streamripper/options.mk b/audio/streamripper/options.mk index 87017aca970..e44caa37b91 100644 --- a/audio/streamripper/options.mk +++ b/audio/streamripper/options.mk @@ -1,4 +1,4 @@ -# $NetBSD: options.mk,v 1.1.1.1 2005/10/20 19:55:49 xtraeme Exp $ +# $NetBSD: options.mk,v 1.2 2015/02/19 00:20:47 wiz Exp $ PKG_OPTIONS_VAR= PKG_OPTIONS.streamripper PKG_SUPPORTED_OPTIONS= ogg diff --git a/audio/streamripper/patches/patch-aa b/audio/streamripper/patches/patch-aa deleted file mode 100644 index 192ec281dcb..00000000000 --- a/audio/streamripper/patches/patch-aa +++ /dev/null @@ -1,13 +0,0 @@ -$NetBSD: patch-aa,v 1.1 2006/12/12 20:27:15 wiz Exp $ - ---- configure.orig 2006-09-09 16:48:21.000000000 +0000 -+++ configure -@@ -3613,7 +3613,7 @@ else - enable_oggtest=yes - fi; - -- if test "x$ogg_prefix" == "xno" ; then -+ if test "x$ogg_prefix" = "xno" ; then - no_ogg="yes" - else - if test "x$ogg_libraries" != "x" ; then diff --git a/audio/streamripper/patches/patch-ab b/audio/streamripper/patches/patch-ab deleted file mode 100644 index b579d911dc5..00000000000 --- a/audio/streamripper/patches/patch-ab +++ /dev/null @@ -1,165 +0,0 @@ -$NetBSD: patch-ab,v 1.2 2009/01/07 18:45:54 drochner Exp $ - ---- lib/http.c.orig 2009-01-07 18:27:06.000000000 +0100 -+++ lib/http.c -@@ -115,7 +115,7 @@ httplib_parse_url(const char *url, URLIN - - /* search for a login '@' token */ - if (strchr(url, '@') != NULL) { -- ret = sscanf(url, "%[^:]:%[^@]", urlinfo->username, urlinfo->password); -+ ret = sscanf(url, "%1023[^:]:%1023[^@]", urlinfo->username, urlinfo->password); - #if defined (commentout) - if (ret < 2) return SR_ERROR_PARSE_FAILURE; - #endif -@@ -132,13 +132,13 @@ httplib_parse_url(const char *url, URLIN - - /* search for a port seperator */ - if (strchr(url, ':') != NULL) { -- ret = sscanf(url, "%[^:]:%hu/%s", urlinfo->host, -+ ret = sscanf(url, "%511[^:]:%hu/%252s", urlinfo->host, - (short unsigned int*)&urlinfo->port, urlinfo->path+1); - if (urlinfo->port < 1) return SR_ERROR_PARSE_FAILURE; - ret -= 1; - } else { - urlinfo->port = 80; -- ret = sscanf(url, "%[^/]/%s", urlinfo->host, urlinfo->path+1); -+ ret = sscanf(url, "%511[^/]/%252s", urlinfo->host, urlinfo->path+1); - } - if (ret < 1) return SR_ERROR_INVALID_URL; - -@@ -258,11 +258,11 @@ httplib_construct_page_request (const ch - - /* Return 1 if a match was found, 0 if not found */ - int --extract_header_value (char *header, char *dest, char *match) -+extract_header_value (char *header, char *dest, char *match, int maxlen) - { - char* start = (char *)strstr(header, match); - if (start) { -- subnstr_until(start+strlen(match), "\n", dest, MAX_ICY_STRING); -+ subnstr_until(start+strlen(match), "\n", dest, maxlen); - return 1; - } else { - return 0; -@@ -321,24 +321,32 @@ httplib_parse_sc_header (const char *url - } - - // read generic headers -- extract_header_value(header, info->http_location, "Location:"); -- extract_header_value(header, info->server, "Server:"); -- rc = extract_header_value(header, info->icy_name, "icy-name:"); -+ extract_header_value(header, info->http_location, "Location:", -+ sizeof(info->http_location)); -+ extract_header_value(header, info->server, "Server:", -+ sizeof(info->server)); -+ rc = extract_header_value(header, info->icy_name, "icy-name:", -+ sizeof(info->icy_name)); - if (rc == 0) { - /* Icecast 2.0.1 */ -- rc = extract_header_value(header, info->icy_name, "ice-name:"); -+ rc = extract_header_value(header, info->icy_name, "ice-name:", -+ sizeof(info->icy_name)); - } - info->have_icy_name = rc; -- extract_header_value(header, info->icy_url, "icy-url:"); -- rc = extract_header_value(header, stempbr, "icy-br:"); -+ extract_header_value(header, info->icy_url, "icy-url:", -+ sizeof(info->icy_url)); -+ rc = extract_header_value(header, stempbr, -+ "icy-br:", sizeof(stempbr)); - if (rc) { - info->icy_bitrate = atoi(stempbr); - } - - /* interpret the content type from http header */ -- rc = extract_header_value(header, stempbr, "Content-Type:"); -+ rc = extract_header_value(header, stempbr, -+ "Content-Type:", sizeof(stempbr)); - if (rc == 0) { -- rc = extract_header_value(header, stempbr, "content-type:"); -+ rc = extract_header_value(header, stempbr, -+ "content-type:", sizeof(stempbr)); - } - if (rc == 0) { - info->content_type = CONTENT_TYPE_UNKNOWN; -@@ -407,6 +415,7 @@ httplib_parse_sc_header (const char *url - info->content_type = content_type_by_url; - } - } -+ - // Check for Icecast 1 - else if ((start = (char *)strstr(header, "icecast")) != NULL) { - if (!info->server[0]) { -@@ -418,19 +427,19 @@ httplib_parse_sc_header (const char *url - } - - // icecast 1.x headers. -- extract_header_value(header, info->icy_url, "x-audiocast-server-url:"); -- rc = extract_header_value(header, info->icy_name, "x-audiocast-name:"); -+ extract_header_value(header, info->icy_url, "x-audiocast-server-url:", -+ sizeof(info->icy_url)); -+ rc = extract_header_value(header, info->icy_name, "x-audiocast-name:", -+ sizeof(info->icy_name)); - info->have_icy_name |= rc; -- extract_header_value(header, info->icy_genre, "x-audiocast-genre:"); -- rc = extract_header_value(header, stempbr, "x-audiocast-bitrate:"); -+ extract_header_value(header, info->icy_genre, "x-audiocast-genre:", -+ sizeof(info->icy_genre)); -+ rc = extract_header_value(header, stempbr, "x-audiocast-bitrate:", -+ sizeof(stempbr)); - if (rc) { - info->icy_bitrate = atoi(stempbr); - } - } -- // WTF is Zwitterion? -- else if ((start = (char *)strstr(header, "Zwitterion v")) != NULL) { -- sscanf(start, "%[^<]<", info->server); -- } - - /* Last chance to deduce content type */ - if (info->content_type == CONTENT_TYPE_UNKNOWN) { -@@ -626,16 +635,17 @@ httplib_get_pls (HSOCKET *sock, SR_HTTP_ - int best_open = 0; - - sprintf (buf1, "File%d=", s); -- if (!extract_header_value (buf, location_buf, buf1)) { -+ if (!extract_header_value (buf, location_buf, buf1, -+ sizeof(location_buf))) { - break; - } - if (s == 1) { -- strcpy (info->http_location, location_buf); -+ sr_strncpy (info->http_location, location_buf, MAX_HOST_LEN); - rc = SR_SUCCESS; - } - - sprintf (buf1, "Title%d=", s); -- if (!extract_header_value (buf, title_buf, buf1)) { -+ if (!extract_header_value (buf, title_buf, buf1, sizeof(title_buf))) { - break; - } - num_scanned = sscanf (title_buf, "(#%*[0-9] - %d/%d",&used,&total); -@@ -644,12 +654,12 @@ httplib_get_pls (HSOCKET *sock, SR_HTTP_ - } - open = total - used; - if (open > best_open) { -- strcpy (info->http_location, location_buf); -+ sr_strncpy (info->http_location, location_buf, MAX_HOST_LEN); - best_open = open; - } - } - -- strcpy (info->http_location, location_buf); -+ sr_strncpy (info->http_location, location_buf, MAX_HOST_LEN); - - return rc; - } -@@ -689,7 +699,7 @@ httplib_get_m3u (HSOCKET *sock, SR_HTTP_ - if (len > 4 && !strcmp (&p[len-4], ".mp3")) { - continue; - } -- strcpy (info->http_location, p); -+ sr_strncpy (info->http_location, p, MAX_HOST_LEN); - debug_printf ("Redirecting from M3U to: %s\n", p); - return SR_SUCCESS; - } diff --git a/audio/streamripper/patches/patch-ac b/audio/streamripper/patches/patch-ac new file mode 100644 index 00000000000..5eec76acfd0 --- /dev/null +++ b/audio/streamripper/patches/patch-ac @@ -0,0 +1,13 @@ +$NetBSD: patch-ac,v 1.1 2015/02/19 00:20:47 wiz Exp $ + +--- lib/argv.c.orig 2007-08-14 17:33:03.000000000 +0200 ++++ lib/argv.c +@@ -33,7 +33,7 @@ void freeargv (char **vector); + + /* Routines imported from standard C runtime libraries. */ + +-#ifdef ANSI_PROTOTYPES ++#if 1 + + #include + #include diff --git a/audio/streamripper/patches/patch-ad b/audio/streamripper/patches/patch-ad new file mode 100644 index 00000000000..f7565369dee --- /dev/null +++ b/audio/streamripper/patches/patch-ad @@ -0,0 +1,13 @@ +$NetBSD: patch-ad,v 1.1 2015/02/19 00:20:47 wiz Exp $ + +--- ./lib/mchar.c.orig 2008-12-11 05:48:39.000000000 +0100 ++++ ./lib/mchar.c +@@ -48,7 +48,7 @@ + #define vsnprintf _vsnprintf + // #define vswprintf _vsnwprintf + #else +- #define ICONV_WCHAR "WCHAR_T" ++ #define ICONV_WCHAR "ucs-4" + /* This prototype is missing in some systems */ + // int vswprintf (wchar_t * ws, size_t n, const wchar_t * format, va_list arg); + #endif diff --git a/audio/streamripper/patches/patch-lib_ripstream.c b/audio/streamripper/patches/patch-lib_ripstream.c new file mode 100644 index 00000000000..5fe4e1e2d4b --- /dev/null +++ b/audio/streamripper/patches/patch-lib_ripstream.c @@ -0,0 +1,13 @@ +$NetBSD: patch-lib_ripstream.c,v 1.1 2015/02/19 00:20:47 wiz Exp $ + +--- lib/ripstream.c.orig 2008-12-27 15:32:07.000000000 +0100 ++++ lib/ripstream.c 2012-01-11 21:38:08.772278869 +0100 +@@ -731,7 +731,7 @@ write_id3v2_frame(RIP_MANAGER_INFO* rmi, + char bigbuf[HEADER_SIZE] = ""; + ID3V2frame id3v2frame; + #ifndef WIN32 +- __uint32_t framesize = 0; ++ uint32_t framesize = 0; + #else + unsigned long int framesize = 0; + #endif -- cgit v1.2.3