FreeBSD Bugzilla – Attachment 118347 Details for
Bug 160579
[PATCH] audio/firefly: portlint(1) fixes and more
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
firefly.patch
firefly.patch (text/plain), 5.69 KB, created by
takefu
on 2011-09-09 08:50:07 UTC
(
hide
)
Description:
firefly.patch
Filename:
MIME Type:
Creator:
takefu
Created:
2011-09-09 08:50:07 UTC
Size:
5.69 KB
patch
obsolete
>diff -ruN /usr/ports/audio/firefly/Makefile audio/firefly/Makefile >--- /usr/ports/audio/firefly/Makefile 2011-06-24 08:18:27.000000000 +0900 >+++ audio/firefly/Makefile 2011-09-09 16:27:41.000000000 +0900 >@@ -15,6 +15,9 @@ > MAINTAINER= mark@foster.cc > COMMENT= Open-source media server for the Roku SoundBridge and iTunes > >+LICENSE= GPLv2 >+LICENSE_FILE= ${WRKSRC}/COPYING >+ > BUILD_DEPENDS= ${LOCALBASE}/include/vorbis/codec.h:${PORTSDIR}/audio/libvorbis \ > ${LOCALBASE}/include/FLAC/metadata.h:${PORTSDIR}/audio/flac > RUN_DEPENDS= oggdec:${PORTSDIR}/audio/vorbis-tools \ >@@ -27,13 +30,20 @@ > > GNU_CONFIGURE= yes > CONFIGURE_ENV= CFLAGS+="${PTHREAD_CFLAGS}" \ >- CPPFLAGS="${CPPFLAGS} -I${LOCALBASE}/include" \ >- LDFLAGS="-L${LOCALBASE}/lib" \ >- LIBS="-L${LOCALBASE}/lib ${PTHREAD_LIBS}" >+ CPPFLAGS+="${CPPFLAGS} -I${LOCALBASE}/include" \ >+ LDFLAGS+="-L${LOCALBASE}/lib" \ >+ LIBS+="-L${LOCALBASE}/lib ${PTHREAD_LIBS}" > CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL} > CONFIGURE_ARGS= --prefix=${PREFIX} --with-id3tag=${PREFIX} \ > --enable-sqlite3 --enable-oggvorbis --enable-flac > >+USE_ICONV= yes >+CONFIGURE_ARGS+= --enable-iconv >+ >+#PATCH_SITES+= http://www.kzsoft.to/~kazu/mt-daapd/patch/ >+#PATCHFILES+= mt-daapd-svn-1586-cp932.patch >+#PATCH_DIST_STRIP+= -p1 >+ > DAAPD_USER?= daapd > DAAPD_GROUP?= daapd > DAAPD_DBDIR?= ${PREFIX}/var/db/${PORTNAME} >@@ -46,7 +56,7 @@ > USE_LDCONFIG= yes > > pre-everything:: >- @${ECHO_CMD} "Define vars bellow if you need:" >+ @${ECHO_CMD} "Define vars below if you need:" > @${ECHO_CMD} "DAAPD_USER=${DAAPD_USER} (default: daapd)" > @${ECHO_CMD} "DAAPD_GROUP=${DAAPD_GROUP} (default: daapd)" > @${ECHO_CMD} "DAAPD_DBDIR=${DAAPD_DBDIR} (default: ${PREFIX}/var/db/${PORTNAME})" >diff -ruN /usr/ports/audio/firefly/files/patch-src_scan-mp3.c audio/firefly/files/patch-src_scan-mp3.c >--- /usr/ports/audio/firefly/files/patch-src_scan-mp3.c 1970-01-01 09:00:00.000000000 +0900 >+++ audio/firefly/files/patch-src_scan-mp3.c 2011-09-05 13:53:04.000000000 +0900 >@@ -0,0 +1,139 @@ >+--- src/scan-mp3.c.orig 2007-09-25 16:55:23.000000000 +0900 >++++ src/scan-mp3.c 2011-09-05 13:52:16.000000000 +0900 >+@@ -18,6 +18,15 @@ >+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA >+ */ >+ >++#define USE_CP932 >++ >++#ifdef USE_CP932 >++ #define UNKNOWN_STR "UNKNOWN" >++ #ifndef FILESYSTEM_CES >++ #define FILESYSTEM_CES "CP932" >++ #endif >++#endif >++ >+ #ifdef HAVE_CONFIG_H >+ # include "config.h" >+ #endif >+@@ -34,6 +43,10 @@ >+ #include <string.h> >+ #include <time.h> >+ >++#ifdef USE_CP932 >++ #include <iconv.h> >++#endif >++ >+ #include "daapd.h" >+ #include "conf.h" >+ #include "err.h" >+@@ -289,6 +302,96 @@ >+ return 1; >+ } >+ >++#ifdef USE_CP932 >++#define MAX_ICONV_BUF 1024 >++ >++typedef enum { >++ ICONV_OK, >++ ICONV_TRYNEXT, >++ ICONV_FATAL >++} iconv_result; >++ >++static iconv_result do_convert(const char* to_ces, const char* from_ces, >++ char *inbuf, size_t inbytesleft, >++ char *outbuf_orig, size_t outbytesleft_orig) { >++ size_t rc; >++ iconv_result ret = ICONV_OK; >++ >++ size_t outbytesleft = outbytesleft_orig - 1; >++ char* outbuf = outbuf_orig; >++ >++ iconv_t cd = iconv_open(to_ces, from_ces); >++ if (cd == (iconv_t)-1) { >++ return ICONV_FATAL; >++ } >++ rc = iconv(cd, &inbuf, &inbytesleft, &outbuf, &outbytesleft); >++ if (rc == (size_t)-1) { >++ if (errno == E2BIG) { >++ ret = ICONV_FATAL; >++ } else { >++ ret = ICONV_TRYNEXT; >++ memset(outbuf_orig, '\0', outbytesleft_orig); >++ } >++ } >++ iconv_close(cd); >++ >++ return ret; >++} >++ >++static unsigned char* get_utf8_text(const id3_ucs4_t* native_text) { >++ unsigned char* utf8_text = NULL; >++ char * in, * in8, * iconv_buf; >++ iconv_result rc; >++ >++ in = (char*)id3_ucs4_latin1duplicate(native_text); >++ if (!in) goto out; >++ >++ in8 = (char*)id3_ucs4_utf8duplicate(native_text); >++ if (!in8) { >++ free(in); >++ goto out; >++ } >++ >++ iconv_buf = (char*)calloc(MAX_ICONV_BUF, sizeof(char)); >++ if (!iconv_buf) { >++ free(in); free(in8); >++ goto out; >++ } >++ >++ /* (1) try utf8 -> cp932 */ >++ rc = do_convert("CP932", "UTF-8", in8, strlen(in8), iconv_buf, MAX_ICONV_BUF); >++ if (rc == ICONV_OK) { >++ utf8_text = (unsigned char*)in8; >++ free(iconv_buf); >++ } else if (rc == ICONV_TRYNEXT) { >++ /* (2) try cp932 -> utf8 */ >++ rc = do_convert("UTF-8", "CP932", in, strlen(in), iconv_buf, MAX_ICONV_BUF); >++ if (rc == ICONV_OK) { >++ utf8_text = (unsigned char*)iconv_buf; >++ } else if (rc == ICONV_TRYNEXT) { >++ /* (3) try euc-jp -> utf8 */ >++ rc = do_convert("UTF-8", "EUC-JP", in, strlen(in), iconv_buf, MAX_ICONV_BUF); >++ if (rc == ICONV_OK) { >++ utf8_text = (unsigned char*)iconv_buf; >++ } else if (rc == ICONV_TRYNEXT) { >++ /* utf-8 including non-japanese char? fallback. */ >++ utf8_text = (unsigned char*)id3_ucs4_utf8duplicate(native_text); >++ free(iconv_buf); >++ } >++ } >++ free(in8); >++ } >++ free(in); >++ >++ out: >++ if (!utf8_text) { >++ utf8_text = (unsigned char*)strdup(UNKNOWN_STR); >++ } >++ >++ return utf8_text; >++} >++#endif >++ >+ int scan_mp3_get_mp3tags(char *file, MP3FILE *pmp3) { >+ struct id3_file *pid3file; >+ struct id3_tag *pid3tag; >+@@ -352,8 +455,11 @@ >+ if(native_text) { >+ have_utf8=1; >+ >+- >++#ifdef USE_CP932 >++ utf8_text = (char *)get_utf8_text(native_text); >++#else >+ utf8_text = (char*)id3_ucs4_utf8duplicate(native_text); >++#endif >+ if(utf8_text) >+ mem_register(utf8_text,0); >+
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 160579
: 118347