diff options
author | joerg <joerg@pkgsrc.org> | 2013-09-08 16:28:27 +0000 |
---|---|---|
committer | joerg <joerg@pkgsrc.org> | 2013-09-08 16:28:27 +0000 |
commit | da491440906df2373b550ffa53ebcc86b5dae2a6 (patch) | |
tree | cb2f84b03ff2c76956b28e1bc97cc01e9768a48c /multimedia | |
parent | c7191bef0cebbe8ada6bb7848ff54fe1360635c5 (diff) | |
download | pkgsrc-da491440906df2373b550ffa53ebcc86b5dae2a6.tar.gz |
Use real i18n code on NetBSD/current with per-function locale overrides
as necessary. Bump revision.
Diffstat (limited to 'multimedia')
-rw-r--r-- | multimedia/vlc/Makefile | 4 | ||||
-rw-r--r-- | multimedia/vlc/distinfo | 11 | ||||
-rw-r--r-- | multimedia/vlc/patches/patch-at | 20 | ||||
-rw-r--r-- | multimedia/vlc/patches/patch-include_vlc__fixups.h | 31 | ||||
-rw-r--r-- | multimedia/vlc/patches/patch-modules_misc_rtsp.c | 33 | ||||
-rw-r--r-- | multimedia/vlc/patches/patch-modules_visualization_projectm.cpp | 29 | ||||
-rw-r--r-- | multimedia/vlc/patches/patch-src_config_file.c | 63 | ||||
-rw-r--r-- | multimedia/vlc/patches/patch-src_misc_messages.c | 65 | ||||
-rw-r--r-- | multimedia/vlc/patches/patch-src_text_charset.c | 61 |
9 files changed, 310 insertions, 7 deletions
diff --git a/multimedia/vlc/Makefile b/multimedia/vlc/Makefile index 721598e9fc2..c78ff06662a 100644 --- a/multimedia/vlc/Makefile +++ b/multimedia/vlc/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.160 2013/09/02 19:51:19 adam Exp $ +# $NetBSD: Makefile,v 1.161 2013/09/08 16:28:27 joerg Exp $ # DISTNAME= vlc-${VLC_VERSION} -PKGREVISION= 32 +PKGREVISION= 33 CATEGORIES= multimedia MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=vlc/} \ http://download.videolan.org/pub/videolan/vlc/${VLC_VERSION}/ diff --git a/multimedia/vlc/distinfo b/multimedia/vlc/distinfo index 1a7308610c0..319153d3ae0 100644 --- a/multimedia/vlc/distinfo +++ b/multimedia/vlc/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.61 2013/06/15 22:57:58 wiz Exp $ +$NetBSD: distinfo,v 1.62 2013/09/08 16:28:27 joerg Exp $ SHA1 (vlc-1.1.13.tar.bz2) = 05bbc7ff427f3b919b29a45ce014caff9ba92648 RMD160 (vlc-1.1.13.tar.bz2) = c5aa438a9085ddbf28e849df442b75475693290d @@ -15,9 +15,14 @@ SHA1 (patch-ah) = 6d5d5c0e17bd845fad757e75a9e68db698510374 SHA1 (patch-ai) = 328bd66ef6c11275894c74012e7d6fec8fcbd5d3 SHA1 (patch-ar) = 153164870e9dc50ad32106d9f8ebd25b35ed3dd3 SHA1 (patch-as) = b53b074b2791d7bf69d5f09c7c32d873608f3086 -SHA1 (patch-at) = c87d63d438296653bc1bf234452fb48dbb0547e5 +SHA1 (patch-at) = d4fe7ba15a64c28f97a2800fe0bcae304ce0fa2d SHA1 (patch-au) = 7e1d1e7f2734051fffb988cc4ea01a1a7b264b78 SHA1 (patch-configure.ac) = db79a1e99bf2859eeb2615359db9a30a3eadfb2d -SHA1 (patch-include_vlc_fixups.h) = 0e17c6749665b4f95bc13a0aff0bc8af9e942c9d +SHA1 (patch-include_vlc__fixups.h) = b6001b92238e365ccd8e5daf3683f919e472b61d SHA1 (patch-modules_audio__output_pulse.c) = 994389b214f3e2b7b8b7ccaf3bb535a94523f81b SHA1 (patch-modules_codec_flac.c) = 962783164f505a8b9e5c1be18e162dfdc7917cb3 +SHA1 (patch-modules_misc_rtsp.c) = 586e0228cf21ca2f976451e61e4390278afb6fee +SHA1 (patch-modules_visualization_projectm.cpp) = 8e3c6ec0d9588f432c5baa75e36c1c2248780b6b +SHA1 (patch-src_config_file.c) = f6938d98f0f9b14cd13f8020807aac3c818c58d1 +SHA1 (patch-src_misc_messages.c) = 855e82349ec80f7d68404da6b40f367776a74327 +SHA1 (patch-src_text_charset.c) = b8dfc376f23655565f671849971293d8527f5e3e diff --git a/multimedia/vlc/patches/patch-at b/multimedia/vlc/patches/patch-at index 4839d439c24..231fd356fca 100644 --- a/multimedia/vlc/patches/patch-at +++ b/multimedia/vlc/patches/patch-at @@ -1,6 +1,6 @@ -$NetBSD: patch-at,v 1.2 2013/06/15 22:57:58 wiz Exp $ +$NetBSD: patch-at,v 1.3 2013/09/08 16:28:27 joerg Exp $ ---- bin/override.c.orig 2013-06-15 22:57:03.000000000 +0000 +--- bin/override.c.orig 2013-05-15 20:23:06.000000000 +0000 +++ bin/override.c @@ -27,7 +27,7 @@ @@ -20,3 +20,19 @@ $NetBSD: patch-at,v 1.2 2013/06/15 22:57:58 wiz Exp $ { if (override) { +@@ -245,6 +245,7 @@ error: + */ + #include <locale.h> + ++#if 0 + char *setlocale (int cat, const char *locale) + { + if (override && locale != NULL) +@@ -254,6 +255,7 @@ char *setlocale (int cat, const char *lo + } + return CALL(setlocale, cat, locale); + } ++#endif + + + /*** Xlib ****/ diff --git a/multimedia/vlc/patches/patch-include_vlc__fixups.h b/multimedia/vlc/patches/patch-include_vlc__fixups.h new file mode 100644 index 00000000000..1ac97a4df5b --- /dev/null +++ b/multimedia/vlc/patches/patch-include_vlc__fixups.h @@ -0,0 +1,31 @@ +$NetBSD: patch-include_vlc__fixups.h,v 1.1 2013/09/08 16:28:27 joerg Exp $ + +--- include/vlc_fixups.h.orig 2013-05-15 20:39:43.000000000 +0000 ++++ include/vlc_fixups.h +@@ -177,25 +177,7 @@ static inline char *getenv (const char * + # define ATTR_ALIGN(align) + #endif + +-#ifndef HAVE_USELOCALE +-#define LC_NUMERIC_MASK 0 +-#define LC_MESSAGES_MASK 0 +-typedef void *locale_t; +-static inline locale_t uselocale(locale_t loc) +-{ +- (void)loc; +- return NULL; +-} +-static inline void freelocale(locale_t loc) +-{ +- (void)loc; +-} +-static inline locale_t newlocale(int mask, const char * locale, locale_t base) +-{ +- (void)mask; (void)locale; (void)base; +- return NULL; +-} +-#endif ++#include <locale.h> + + #ifdef WIN32 + # include <dirent.h> diff --git a/multimedia/vlc/patches/patch-modules_misc_rtsp.c b/multimedia/vlc/patches/patch-modules_misc_rtsp.c new file mode 100644 index 00000000000..27fd8d7dc3c --- /dev/null +++ b/multimedia/vlc/patches/patch-modules_misc_rtsp.c @@ -0,0 +1,33 @@ +$NetBSD: patch-modules_misc_rtsp.c,v 1.1 2013/09/08 16:28:27 joerg Exp $ + +--- modules/misc/rtsp.c.orig 2013-05-15 20:28:04.000000000 +0000 ++++ modules/misc/rtsp.c +@@ -952,22 +952,26 @@ static void RtspClientDel( vod_media_t * + + static float ParseNPT (const char *str) + { ++#ifndef LC_C_LOCALE + locale_t loc = newlocale (LC_NUMERIC_MASK, "C", NULL); + locale_t oldloc = uselocale (loc); ++#endif + unsigned hour, min; + float sec; + +- if (sscanf (str, "%u:%u:%f", &hour, &min, &sec) == 3) ++ if (sscanf_l (str, LC_C_LOCALE, "%u:%u:%f", &hour, &min, &sec) == 3) + sec += ((hour * 60) + min) * 60; + else +- if (sscanf (str, "%f", &sec) != 1) ++ if (sscanf_l (str, LC_C_LOCALE, "%f", &sec) != 1) + sec = 0.; + ++#ifndef LC_C_LOCALE + if (loc != (locale_t)0) + { + uselocale (oldloc); + freelocale (loc); + } ++#endif + return sec; + } + diff --git a/multimedia/vlc/patches/patch-modules_visualization_projectm.cpp b/multimedia/vlc/patches/patch-modules_visualization_projectm.cpp new file mode 100644 index 00000000000..7bca69ccc73 --- /dev/null +++ b/multimedia/vlc/patches/patch-modules_visualization_projectm.cpp @@ -0,0 +1,29 @@ +$NetBSD: patch-modules_visualization_projectm.cpp,v 1.1 2013/09/08 16:28:27 joerg Exp $ + +--- modules/visualization/projectm.cpp.orig 2013-05-15 20:28:01.000000000 +0000 ++++ modules/visualization/projectm.cpp +@@ -344,8 +344,10 @@ static void *Thread( void *p_data ) + goto error; + } + ++#ifndef LC_C_LOCALE + loc = newlocale (LC_NUMERIC_MASK, "C", NULL); + oldloc = uselocale (loc); ++#endif + /* Create the projectM object */ + #ifndef HAVE_PROJECTM2 + psz_config = var_InheritString( p_filter, "projectm-config" ); +@@ -428,11 +430,13 @@ static void *Thread( void *p_data ) + delete p_projectm; + vout_DeleteDisplay( p_sys->p_vd, NULL ); + vlc_object_release( p_sys->p_vout ); ++#ifndef LC_C_LOCALE + if (loc != (locale_t)0) + { + uselocale (oldloc); + freelocale (loc); + } ++#endif + return NULL; + } + vlc_mutex_unlock( &p_sys->lock ); diff --git a/multimedia/vlc/patches/patch-src_config_file.c b/multimedia/vlc/patches/patch-src_config_file.c new file mode 100644 index 00000000000..de972809bd9 --- /dev/null +++ b/multimedia/vlc/patches/patch-src_config_file.c @@ -0,0 +1,63 @@ +$NetBSD: patch-src_config_file.c,v 1.1 2013/09/08 16:28:27 joerg Exp $ + +--- src/config/file.c.orig 2013-05-15 20:27:58.000000000 +0000 ++++ src/config/file.c +@@ -187,8 +187,10 @@ int config_LoadConfigFile( vlc_object_t + section[0] = '\0'; + + /* Ensure consistent number formatting... */ ++#ifndef LC_C_LOCALE + locale_t loc = newlocale (LC_NUMERIC_MASK, "C", NULL); + locale_t baseloc = uselocale (loc); ++#endif + + vlc_rwlock_wrlock (&config_lock); + while (fgets (line, 1024, file) != NULL) +@@ -282,7 +284,7 @@ int config_LoadConfigFile( vlc_object_t + case CONFIG_ITEM_FLOAT: + if( !*psz_option_value ) + break; /* ignore empty option */ +- p_item->value.f = (float)atof (psz_option_value); ++ p_item->value.f = strtof_l(psz_option_value, NULL, LC_C_LOCALE); + p_item->saved.f = p_item->value.f; + break; + +@@ -315,11 +317,13 @@ int config_LoadConfigFile( vlc_object_t + fclose (file); + + module_list_free (list); ++#ifndef LC_C_LOCALE + if (loc != (locale_t)0) + { + uselocale (baseloc); + freelocale (loc); + } ++#endif + return 0; + } + +@@ -570,8 +574,10 @@ static int SaveConfigFile( vlc_object_t + "\n" ); + + /* Ensure consistent number formatting... */ ++#ifndef LC_C_LOCALE + locale_t loc = newlocale (LC_NUMERIC_MASK, "C", NULL); + locale_t baseloc = uselocale (loc); ++#endif + + /* We would take the config lock here. But this would cause a lock + * inversion with the serializer above and config_AutoSaveConfigFile(). +@@ -683,11 +689,13 @@ static int SaveConfigFile( vlc_object_t + vlc_rwlock_unlock (&config_lock); + + module_list_free (list); ++#ifndef LC_C_LOCALE + if (loc != (locale_t)0) + { + uselocale (baseloc); + freelocale (loc); + } ++#endif + + /* + * Restore old settings from the config in file diff --git a/multimedia/vlc/patches/patch-src_misc_messages.c b/multimedia/vlc/patches/patch-src_misc_messages.c new file mode 100644 index 00000000000..c966b4dbb58 --- /dev/null +++ b/multimedia/vlc/patches/patch-src_misc_messages.c @@ -0,0 +1,65 @@ +$NetBSD: patch-src_misc_messages.c,v 1.1 2013/09/08 16:28:27 joerg Exp $ + +--- src/misc/messages.c.orig 2010-08-08 17:32:50.000000000 +0000 ++++ src/misc/messages.c +@@ -301,7 +301,9 @@ void msg_GenericVa (vlc_object_t *p_this + return; + + msg_bank_t *bank = libvlc_bank (p_this->p_libvlc); ++#ifndef LC_C_LOCALE + locale_t locale = uselocale (bank->locale); ++#endif + + #ifndef __GLIBC__ + /* Expand %m to strerror(errno) - only once */ +@@ -321,7 +323,9 @@ void msg_GenericVa (vlc_object_t *p_this + char errbuf[2001]; + size_t errlen; + +-#ifndef WIN32 ++#ifdef LC_C_LOCALE ++ strncpy(errbuf, strerror_l( errno, bank->locale), 1001); ++#elif !defined(WIN32) + strerror_r( errno, errbuf, 1001 ); + #else + int sockerr = WSAGetLastError( ); +@@ -361,7 +365,7 @@ void msg_GenericVa (vlc_object_t *p_this + + /* Convert message to string */ + vlc_va_copy( args, _args ); +- if( vasprintf( &psz_str, psz_format, args ) == -1 ) ++ if( vasprintf_l( &psz_str, bank->locale, psz_format, args ) == -1 ) + psz_str = NULL; + va_end( args ); + +@@ -372,7 +376,9 @@ void msg_GenericVa (vlc_object_t *p_this + fprintf( stderr, "main warning: can't store message (%m): " ); + #else + char psz_err[1001]; +-#ifndef WIN32 ++#ifdef LC_C_LOCALE ++ strncpy(psz_err, strerror_l( errno, bank->locale), 1001 ); ++#elif !defined(WIN32) + /* we're not using GLIBC, so we are sure that the error description + * will be stored in the buffer we provide to strerror_r() */ + strerror_r( errno, psz_err, 1001 ); +@@ -384,14 +390,18 @@ void msg_GenericVa (vlc_object_t *p_this + #endif + vlc_va_copy( args, _args ); + /* We should use utf8_vfprintf - but it calls malloc()... */ +- vfprintf( stderr, psz_format, args ); ++ vfprintf_l( stderr, bank->locale, psz_format, args ); + va_end( args ); + fputs( "\n", stderr ); + vlc_restorecancel (canc); ++#ifndef LC_C_LOCALE + uselocale (locale); ++#endif + return; + } ++#ifndef LC_C_LOCALE + uselocale (locale); ++#endif + + msg_item_t * p_item = malloc (sizeof (*p_item)); + if (p_item == NULL) diff --git a/multimedia/vlc/patches/patch-src_text_charset.c b/multimedia/vlc/patches/patch-src_text_charset.c new file mode 100644 index 00000000000..3581682181b --- /dev/null +++ b/multimedia/vlc/patches/patch-src_text_charset.c @@ -0,0 +1,61 @@ +$NetBSD: patch-src_text_charset.c,v 1.1 2013/09/08 16:28:27 joerg Exp $ + +--- src/text/charset.c.orig 2013-05-15 20:27:52.000000000 +0000 ++++ src/text/charset.c +@@ -78,6 +78,9 @@ char *vlc_fix_readdir( const char *psz_s + */ + double us_strtod( const char *str, char **end ) + { ++#ifdef LC_C_LOCALE ++ return strtod_l(str, end, LC_C_LOCALE); ++#else + locale_t loc = newlocale (LC_NUMERIC_MASK, "C", NULL); + locale_t oldloc = uselocale (loc); + double res = strtod (str, end); +@@ -88,6 +91,7 @@ double us_strtod( const char *str, char + freelocale (loc); + } + return res; ++#endif + } + + +@@ -97,6 +101,9 @@ double us_strtod( const char *str, char + */ + float us_strtof( const char *str, char **end ) + { ++#ifdef LC_C_LOCALE ++ return strtof_l(str, end, LC_C_LOCALE); ++#else + locale_t loc = newlocale (LC_NUMERIC_MASK, "C", NULL); + locale_t oldloc = uselocale (loc); + float res = strtof (str, end); +@@ -107,6 +114,7 @@ float us_strtof( const char *str, char * + freelocale (loc); + } + return res; ++#endif + } + + +@@ -126,6 +134,14 @@ double us_atof( const char *str ) + */ + int us_asprintf( char **ret, const char *format, ... ) + { ++#ifdef LC_C_LOCALE ++ va_list ap; ++ int i_rc; ++ va_start( ap, format ); ++ i_rc = vasprintf_l( ret, LC_C_LOCALE, format, ap ); ++ va_end( ap ); ++ return i_rc; ++#else + va_list ap; + locale_t loc = newlocale( LC_NUMERIC_MASK, "C", NULL ); + locale_t oldloc = uselocale( loc ); +@@ -142,4 +158,5 @@ int us_asprintf( char **ret, const char + } + + return i_rc; ++#endif + } |