summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexis Ballier <aballier@gentoo.org>2008-07-13 09:59:22 +0000
committerAlexis Ballier <aballier@gentoo.org>2008-07-13 09:59:22 +0000
commitb359d52890037239f14ec248cd1be0beb4f1708f (patch)
tree6c67036b9b2c80c71b9397977cf2630d8269b395 /src
parentAdd log and summary for 20080710 meeting. (diff)
downloadgentoo-b359d52890037239f14ec248cd1be0beb4f1708f.tar.gz
gentoo-b359d52890037239f14ec248cd1be0beb4f1708f.tar.bz2
gentoo-b359d52890037239f14ec248cd1be0beb4f1708f.zip
add patches for new release
Diffstat (limited to 'src')
-rw-r--r--src/patchsets/vlc/0.8.6i/000_all_glide.patch48
-rw-r--r--src/patchsets/vlc/0.8.6i/010_all_freetype-font.patch17
-rw-r--r--src/patchsets/vlc/0.8.6i/110_all_dtspic.patch13
-rw-r--r--src/patchsets/vlc/0.8.6i/130_all_textrels.patch209
-rw-r--r--src/patchsets/vlc/0.8.6i/180_all_faad.patch19
-rw-r--r--src/patchsets/vlc/0.8.6i/190_all_strict-aliasing.patch52
-rw-r--r--src/patchsets/vlc/0.8.6i/200_all_nonpermissive.patch167
-rw-r--r--src/patchsets/vlc/0.8.6i/220_all_firefox.patch16
-rw-r--r--src/patchsets/vlc/0.8.6i/250_all_livepic.patch22
-rw-r--r--src/patchsets/vlc/0.8.6i/290_all_altivec.patch24
-rw-r--r--src/patchsets/vlc/0.8.6i/330_all_libdca.patch17
-rw-r--r--src/patchsets/vlc/0.8.6i/series11
12 files changed, 615 insertions, 0 deletions
diff --git a/src/patchsets/vlc/0.8.6i/000_all_glide.patch b/src/patchsets/vlc/0.8.6i/000_all_glide.patch
new file mode 100644
index 0000000000..0e6dbddc2e
--- /dev/null
+++ b/src/patchsets/vlc/0.8.6i/000_all_glide.patch
@@ -0,0 +1,48 @@
+Portage has just glide 3.x so use that and not glide 2.x.
+This patch replaces the sed to configure in src_unpack in old ebuilds.
+
+Updated with report of Ed Catmur, Gentoo Bug #132809
+Index: vlc-0.8.6-rc1/modules/video_output/glide.c
+===================================================================
+--- vlc-0.8.6-rc1.orig/modules/video_output/glide.c
++++ vlc-0.8.6-rc1/modules/video_output/glide.c
+@@ -244,20 +244,11 @@ static void Display( vout_thread_t *p_vo
+
+ static int OpenDisplay( vout_thread_t *p_vout )
+ {
+- static char version[80];
+- GrHwConfiguration hwconfig;
+ GrScreenResolution_t resolution = GR_RESOLUTION_800x600;
+ GrLfbInfo_t p_front_buffer_info; /* front buffer info */
+
+- grGlideGetVersion( version );
+ grGlideInit();
+
+- if( !grSstQueryHardware(&hwconfig) )
+- {
+- msg_Err( p_vout, "cannot get 3dfx hardware config" );
+- return( 1 );
+- }
+-
+ grSstSelect( 0 );
+ if( !grSstWinOpen( 0, resolution, GR_REFRESH_60Hz,
+ GR_COLORFORMAT_ABGR, GR_ORIGIN_UPPER_LEFT, 2, 1 ) )
+Index: vlc-0.8.6-rc1/configure.ac
+===================================================================
+--- vlc-0.8.6-rc1.orig/configure.ac
++++ vlc-0.8.6-rc1/configure.ac
+@@ -4019,11 +4019,11 @@ then
+ VLC_ADD_LDFLAGS([glide],[-L${with_glide}/lib])
+ CFLAGS="$CFLAGS -I${with_glide}/include"
+ fi ])
+- CFLAGS="$CFLAGS -I/usr/include/glide"
++ CFLAGS="$CFLAGS -I/usr/include/glide3"
+ AC_CHECK_HEADER(glide.h,[
+ VLC_ADD_PLUGINS([glide])
+- VLC_ADD_LDFLAGS([glide],[-lglide2x -lm])
+- VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide])
++ VLC_ADD_LDFLAGS([glide],[-lglide3 -lm])
++ VLC_ADD_CPPFLAGS([glide],[-I/usr/include/glide3])
+ ],[
+ AC_MSG_ERROR([You don't have libglide. Install it or do not use --enable-glide])
+ ])
diff --git a/src/patchsets/vlc/0.8.6i/010_all_freetype-font.patch b/src/patchsets/vlc/0.8.6i/010_all_freetype-font.patch
new file mode 100644
index 0000000000..5d3f811c11
--- /dev/null
+++ b/src/patchsets/vlc/0.8.6i/010_all_freetype-font.patch
@@ -0,0 +1,17 @@
+The default font used by VLC does not exists on every system, instead of that,
+we use Bitstream Vera, and add it to the dependencies, as anyway many people
+have that font installed.
+
+Index: vlc-0.8.4/modules/misc/freetype.c
+===================================================================
+--- vlc-0.8.4.orig/modules/misc/freetype.c
++++ vlc-0.8.4/modules/misc/freetype.c
+@@ -55,7 +55,7 @@
+ #elif defined( WIN32 )
+ #define DEFAULT_FONT "" /* Default font found at run-time */
+ #else
+-#define DEFAULT_FONT "/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf"
++#define DEFAULT_FONT "/usr/share/fonts/ttf-bitstream-vera/VeraBd.ttf"
+ #endif
+
+ #if defined(HAVE_FRIBIDI)
diff --git a/src/patchsets/vlc/0.8.6i/110_all_dtspic.patch b/src/patchsets/vlc/0.8.6i/110_all_dtspic.patch
new file mode 100644
index 0000000000..ce9837e036
--- /dev/null
+++ b/src/patchsets/vlc/0.8.6i/110_all_dtspic.patch
@@ -0,0 +1,13 @@
+Index: vlc-0.8.6-rc1/configure.ac
+===================================================================
+--- vlc-0.8.6-rc1.orig/configure.ac
++++ vlc-0.8.6-rc1/configure.ac
+@@ -3058,7 +3058,7 @@ if test "${enable_dts}" != "no"; then
+ VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
+ ],[
+ AC_CHECK_LIB(dts, dts_free, [
+- VLC_ADD_BUILTINS([dtstofloat32])
++ VLC_ADD_PLUGINS([dtstofloat32])
+ VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
+ ],[
+ if test "${enable_dts}" = "yes"; then
diff --git a/src/patchsets/vlc/0.8.6i/130_all_textrels.patch b/src/patchsets/vlc/0.8.6i/130_all_textrels.patch
new file mode 100644
index 0000000000..0f185110c5
--- /dev/null
+++ b/src/patchsets/vlc/0.8.6i/130_all_textrels.patch
@@ -0,0 +1,209 @@
+Index: vlc-0.8.6-rc1/loader/Makefile.am
+===================================================================
+--- vlc-0.8.6-rc1.orig/loader/Makefile.am
++++ vlc-0.8.6-rc1/loader/Makefile.am
+@@ -16,7 +16,7 @@ endif
+ # TODO: real check for vsscanf() and <sys/mmap.h>
+ AM_CPPFLAGS = -D__WINE__ -DHAVE_SYS_MMAN_H=1 -DHAVE_VSSCANF=1 \
+ -DWIN32_PATH=\"\" -DTRACE\(...\)=\(void\)0
+-AM_CFLAGS = -fno-PIC `$(top_builddir)/vlc-config --cflags` -U_FILE_OFFSET_BITS \
++AM_CFLAGS = -fPIC `$(top_builddir)/vlc-config --cflags` -U_FILE_OFFSET_BITS \
+ -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer
+
+ noinst_HEADERS = com.h driver.h ext.h ldt_keeper.h loader.h registry.h \
+Index: vlc-0.8.6-rc1/loader/module.c
+===================================================================
+--- vlc-0.8.6-rc1.orig/loader/module.c
++++ vlc-0.8.6-rc1/loader/module.c
+@@ -63,8 +63,8 @@
+
+ #ifdef EMU_QTX_API
+ #include "wrapper.h"
+-static int report_func(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags);
+-static int report_func_ret(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags);
++int report_func(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags);
++int report_func_ret(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags);
+ #endif
+
+ //#undef TRACE
+@@ -572,8 +572,6 @@ HMODULE WINAPI LoadLibraryExA(LPCSTR lib
+ fprintf(stderr,"QuickTime.qts patched!!! old entry=%p\n",ptr[0]);
+
+ #ifdef EMU_QTX_API
+- report_entry = report_func;
+- report_ret = report_func_ret;
+ wrapper_target=ptr[0];
+ ptr[0]=wrapper;
+ #endif
+@@ -754,7 +752,7 @@ static int dump_component(char* name,int
+ static uint32_t ret_array[4096];
+ static int ret_i=0;
+
+-static int report_func(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags)
++int report_func(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags)
+ {
+ #ifdef DEBUG_QTX_API
+ int i;
+@@ -953,7 +951,7 @@ static int report_func(void *stack_base,
+ return 0;
+ }
+
+-static int report_func_ret(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags)
++int report_func_ret(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags)
+ {
+ int i;
+ short err;
+@@ -1066,8 +1064,6 @@ FARPROC MODULE_GetProcAddress(
+ // || !strcmp(function,"_CallComponent")
+ ){
+ fprintf(stderr,"theQuickTimeDispatcher catched -> %p\n",retproc);
+- report_entry = report_func;
+- report_ret = report_func_ret;
+ wrapper_target=(void(*)(void))retproc;
+ retproc=(FARPROC)wrapper;
+ }
+Index: vlc-0.8.6-rc1/loader/stubs.s
+===================================================================
+--- vlc-0.8.6-rc1.orig/loader/stubs.s
++++ vlc-0.8.6-rc1/loader/stubs.s
+@@ -33,3 +33,6 @@ exp_EH_prolog:
+ leal 12(%esp), %ebp
+ pushl %eax
+ ret
++
++.section .note.GNU-stack,"",@progbits
++
+Index: vlc-0.8.6-rc1/loader/wrapper.S
+===================================================================
+--- vlc-0.8.6-rc1.orig/loader/wrapper.S
++++ vlc-0.8.6-rc1/loader/wrapper.S
+@@ -1,17 +1,19 @@
+ .section .data
+-.globl caller_return
+ caller_return:
+ .long 0
+-.globl report_entry
+-report_entry:
+- .long null_call
+-.globl report_ret
+-report_ret:
+- .long null_call
+ .global wrapper_target
+ wrapper_target:
+ .long null_call
+
++#undef __i686 /* gcc define gets in our way */
++ .section .gnu.linkonce.t.__i686.get_pc_thunk.bx,"ax",@progbits
++.globl __i686.get_pc_thunk.bx
++ .hidden __i686.get_pc_thunk.bx
++ .type __i686.get_pc_thunk.bx,@function
++__i686.get_pc_thunk.bx:
++ movl (%esp), %ebx
++ ret
++
+ .section .text
+ .globl null_call
+ .type null_call, @function
+@@ -22,46 +24,60 @@ null_call:
+ .type wrapper, @function
+ .balign 16,0x90
+ wrapper:
++ pushl $0
+ pusha # store registers (EAX, ECX, EDX, EBX, ESP, EBP, ESI, EDI)
+ pushf # store flags
+
+ push %ebp # set up a stack frame
+ movl %esp, %ebp
+
++ call __i686.get_pc_thunk.bx
++ addl $_GLOBAL_OFFSET_TABLE_, %ebx
++
+ leal 4(%ebp), %eax # push flags addr
+ push %eax
+ leal 8(%ebp), %eax # push registers addr
+ push %eax
+-
+- leal 40(%ebp), %edx
++
++ leal 44(%ebp), %edx
+ movl (%ebp), %eax
+ subl %edx, %eax
+ push %eax
+ push %edx
+-
+- call *report_entry # report entry
+-
++
++ call report_func@PLT # report entry
++
+ test %eax, %eax
+ jnz .Ldone
+
++ movl 44(%ebp), %eax # switch return addresses
++ movl %eax, caller_return@GOTOFF(%ebx)
++ leal .Lwrapper_return@GOTOFF(%ebx), %eax
++ movl %eax, 40(%ebp)
++
++ movl wrapper_target@GOTOFF(%ebx), %eax
++ mov %eax, 40(%ebp) # wrapper_target should return at .Lwrapper_return
++
+ leave # restore %esp, %ebp
+ popf # restore flags
+ popa # restore registers
+-
+- popl caller_return # switch return addresses
+- pushl $.Lwrapper_return
+-
+- jmp *wrapper_target # wrapper_target should return at .Lwrapper_return
++
++ ret
+
+ .balign 16, 0x90
+ .Lwrapper_return:
+- pushl caller_return # restore the original return address
++ pushl $0 # restore the original return address
+ pusha # more for reference sake here
+ pushf
+
+ push %ebp # set up a stack frame
+ movl %esp, %ebp
+
++ call __i686.get_pc_thunk.bx
++ addl $_GLOBAL_OFFSET_TABLE_, %ebx
++ movl caller_return@GOTOFF(%ebx), %eax
++ movl %eax, 40(%ebp) # restore the original return address
++
+ leal 4(%ebp), %eax # push flags addr
+ push %eax
+ leal 8(%ebp), %eax # push registers addr
+@@ -73,11 +89,13 @@ wrapper:
+ push %eax
+ push %edx
+
+- call *report_ret # report the return information (same args)
++ call report_func_ret@PLT# report the return information (same args)
+ .Ldone:
+
+ leave
+ popf
+ popa
+ ret
+-
++
++.section .note.GNU-stack,"",@progbits
++
+Index: vlc-0.8.6-rc1/loader/wrapper.h
+===================================================================
+--- vlc-0.8.6-rc1.orig/loader/wrapper.h
++++ vlc-0.8.6-rc1/loader/wrapper.h
+@@ -7,10 +7,6 @@ typedef struct {
+ uint32_t edi, esi, ebp, esp, ebx, edx, ecx, eax;
+ } reg386_t;
+
+-typedef int (*wrapper_func_t)(void *stack_base, int stack_size, reg386_t *reg, uint32_t *flags);
+-
+-extern wrapper_func_t report_entry, report_ret;
+-
+ extern void (*wrapper_target)(void);
+
+ extern int wrapper(void);
diff --git a/src/patchsets/vlc/0.8.6i/180_all_faad.patch b/src/patchsets/vlc/0.8.6i/180_all_faad.patch
new file mode 100644
index 0000000000..cc6cd13c6a
--- /dev/null
+++ b/src/patchsets/vlc/0.8.6i/180_all_faad.patch
@@ -0,0 +1,19 @@
+Index: vlc-0.8.6-rc1/modules/codec/ffmpeg/ffmpeg.c
+===================================================================
+--- vlc-0.8.6-rc1.orig/modules/codec/ffmpeg/ffmpeg.c
++++ vlc-0.8.6-rc1/modules/codec/ffmpeg/ffmpeg.c
+@@ -238,14 +238,6 @@ static int OpenDecoder( vlc_object_t *p_
+ return VLC_EGENERIC;
+ }
+
+- /* Bail out if buggy decoder */
+- if( i_codec_id == CODEC_ID_AAC )
+- {
+- msg_Dbg( p_dec, "refusing to use ffmpeg's (%s) decoder which is buggy",
+- psz_namecodec );
+- return VLC_EGENERIC;
+- }
+-
+ /* Initialization must be done before avcodec_find_decoder() */
+ E_(InitLibavcodec)(p_this);
+
diff --git a/src/patchsets/vlc/0.8.6i/190_all_strict-aliasing.patch b/src/patchsets/vlc/0.8.6i/190_all_strict-aliasing.patch
new file mode 100644
index 0000000000..73ac6c1313
--- /dev/null
+++ b/src/patchsets/vlc/0.8.6i/190_all_strict-aliasing.patch
@@ -0,0 +1,52 @@
+Index: vlc-0.8.6-rc1/configure.ac
+===================================================================
+--- vlc-0.8.6-rc1.orig/configure.ac
++++ vlc-0.8.6-rc1/configure.ac
+@@ -5310,6 +5310,16 @@ then
+ fi
+
+
++AC_CACHE_CHECK([if \$CXX accepts -fno-strict-aliasing],
++ [ac_cv_cxx_fnostrictaliasing],
++ [CXXFLAGS="${CXXFLAGS_save} -fno-strict-aliasing"
++ AC_TRY_COMPILE([],,ac_cv_cxx_fnostrictaliasing=yes,
++ ac_cv_cxx_fnostrictaliasing=no)])
++# wxWidgest has the bad behaviour of forcing breakages of strict aliasing
++# rules all over, so pass this to force using -fno-strict-aliasing on it.
++if test "${ac_cv_cxx_fnostrictaliasing}" = "yes"; then
++ VLC_ADD_CXXFLAGS([wxwidgets skins2],-fno-strict-aliasing)
++fi
+ dnl
+ dnl Plugin and builtin checks
+ dnl
+Index: vlc-0.8.6-rc1/modules/demux/m3u.c
+===================================================================
+--- vlc-0.8.6-rc1.orig/modules/demux/m3u.c
++++ vlc-0.8.6-rc1/modules/demux/m3u.c
+@@ -127,7 +127,7 @@ static int Activate( vlc_object_t * p_th
+ if( i_type != TYPE_M3U )
+ {
+ char *p_peek;
+- int i_size = stream_Peek( p_demux->s, (uint8_t **)&p_peek, MAX_LINE );
++ int i_size = stream_Peek( p_demux->s, &p_peek, MAX_LINE );
+ i_size -= sizeof("[Reference]") - 1;
+
+ if( i_size > 0 )
+Index: vlc-0.8.6-rc1/modules/demux/mkv.cpp
+===================================================================
+--- vlc-0.8.6-rc1.orig/modules/demux/mkv.cpp
++++ vlc-0.8.6-rc1/modules/demux/mkv.cpp
+@@ -5307,11 +5307,11 @@ bool matroska_segment_c::CompareSegmentU
+ if ( p_item_a == NULL || p_item_b == NULL )
+ return false;
+
+- EbmlBinary * p_itema = (EbmlBinary *)(p_item_a->p_segment_uid);
++ EbmlBinary * p_itema = dynamic_cast<EbmlBinary *>(p_item_a->p_segment_uid);
+ if ( p_item_b->p_prev_segment_uid != NULL && *p_itema == *p_item_b->p_prev_segment_uid )
+ return true;
+
+- p_itema = (EbmlBinary *)(&p_item_a->p_next_segment_uid);
++ p_itema = dynamic_cast<EbmlBinary *>(p_item_a->p_next_segment_uid);
+ if ( p_item_b->p_segment_uid != NULL && *p_itema == *p_item_b->p_segment_uid )
+ return true;
+
diff --git a/src/patchsets/vlc/0.8.6i/200_all_nonpermissive.patch b/src/patchsets/vlc/0.8.6i/200_all_nonpermissive.patch
new file mode 100644
index 0000000000..ce2ef40eb8
--- /dev/null
+++ b/src/patchsets/vlc/0.8.6i/200_all_nonpermissive.patch
@@ -0,0 +1,167 @@
+Index: vlc-0.8.6-rc1/configure.ac
+===================================================================
+--- vlc-0.8.6-rc1.orig/configure.ac
++++ vlc-0.8.6-rc1/configure.ac
+@@ -4561,17 +4561,6 @@ then
+ AC_MSG_ERROR([Your development package for wxWidgets is too old, you need at least version 2.3.0. Please upgrade and try again. Alternatively you can also configure with --disable-wxwidgets.])
+ fi
+ AC_LANG_PUSH(C++)
+- # Turn this error:
+- # playlist.cpp:1351: error: ISO C++ forbids cast to non-reference type
+- # into a warning. However better would be to fix playlist.cpp
+- AC_CACHE_CHECK([if \$CXX accepts -fpermissive],
+- [ac_cv_cxx_fpermissive],
+- [CXXFLAGS="${CXXFLAGS_save} -fpermissive"
+- AC_TRY_COMPILE([],,ac_cv_cxx_fpermissive=yes,
+- ac_cv_cxx_fpermissive=no)])
+- if test "${ac_cv_cxx_fpermissive}" = "yes"; then
+- VLC_ADD_CXXFLAGS([wxwidgets],-fpermissive)
+- fi
+ VLC_ADD_LDFLAGS([wxwidgets],[`${WX_CONFIG} --libs`])
+ VLC_ADD_CXXFLAGS([wxwidgets],[`${WX_CONFIG} --cxxflags`])
+ if ${WX_CONFIG} --unicode
+Index: vlc-0.8.6-rc1/include/vlc_common.h
+===================================================================
+--- vlc-0.8.6-rc1.orig/include/vlc_common.h
++++ vlc-0.8.6-rc1/include/vlc_common.h
+@@ -599,6 +599,29 @@ static int64_t GCD( int64_t a, int64_t b
+ } \
+ while( 0 )
+
++/* Special version for C++ code */
++#define REMOVE_ELEM_PP( type_p_ar, p_ar, i_oldsize, i_pos ) \
++ do \
++ { \
++ if( (i_oldsize) - (i_pos) - 1 ) \
++ { \
++ memmove( (p_ar) + (i_pos), \
++ (p_ar) + (i_pos) + 1, \
++ ((i_oldsize) - (i_pos) - 1) * sizeof( *(p_ar) ) ); \
++ } \
++ if( i_oldsize > 1 ) \
++ { \
++ (p_ar) = (type_p_ar)realloc( p_ar, ((i_oldsize) - 1) * sizeof( *(p_ar) ) ); \
++ } \
++ else \
++ { \
++ free( p_ar ); \
++ (p_ar) = NULL; \
++ } \
++ (i_oldsize)--; \
++ } \
++ while( 0 )
++
+
+ #define TAB_APPEND( count, tab, p ) \
+ if( (count) > 0 ) \
+Index: vlc-0.8.6-rc1/modules/gui/wxwidgets/dialogs/interaction.cpp
+===================================================================
+--- vlc-0.8.6-rc1.orig/modules/gui/wxwidgets/dialogs/interaction.cpp
++++ vlc-0.8.6-rc1/modules/gui/wxwidgets/dialogs/interaction.cpp
+@@ -245,7 +245,7 @@ void InteractionDialog::OnClear( wxComma
+ user_widget_t *p_widget = p_dialog->pp_widgets[i];
+ FREE( p_widget->psz_text );
+ FREE( p_widget->val.psz_string );
+- REMOVE_ELEM( p_dialog->pp_widgets, p_dialog->i_widgets, i );
++ REMOVE_ELEM_PP( user_widget_t **, p_dialog->pp_widgets, p_dialog->i_widgets, i );
+ free( p_widget );
+ }
+ widgets_panel->DestroyChildren();
+Index: vlc-0.8.6-rc1/modules/gui/wxwidgets/dialogs/open.cpp
+===================================================================
+--- vlc-0.8.6-rc1.orig/modules/gui/wxwidgets/dialogs/open.cpp
++++ vlc-0.8.6-rc1/modules/gui/wxwidgets/dialogs/open.cpp
+@@ -1825,14 +1825,14 @@ void OpenDialog::OnSubsFileSettings( wxC
+ }
+ if( subsfile_dialog->align_combo )
+ {
+- subsfile_mrl.Add( wxString::Format(wxT("subsdec-align=%i"),
+- (int)subsfile_dialog->align_combo->GetClientData(
++ subsfile_mrl.Add( wxString::Format(wxT("subsdec-align=%li"),
++ (long)subsfile_dialog->align_combo->GetClientData(
+ subsfile_dialog->align_combo->GetSelection()) ) );
+ }
+ if( subsfile_dialog->size_combo )
+ {
+- subsfile_mrl.Add( wxString::Format( wxT("freetype-rel-fontsize=%i"),
+- (int)subsfile_dialog->size_combo->GetClientData(
++ subsfile_mrl.Add( wxString::Format( wxT("freetype-rel-fontsize=%li"),
++ (long)subsfile_dialog->size_combo->GetClientData(
+ subsfile_dialog->size_combo->GetSelection()) ) );
+ }
+ subsfile_mrl.Add( wxString::Format( wxT("sub-fps=%i"),
+Index: vlc-0.8.6-rc1/modules/gui/wxwidgets/dialogs/preferences_widgets.cpp
+===================================================================
+--- vlc-0.8.6-rc1.orig/modules/gui/wxwidgets/dialogs/preferences_widgets.cpp
++++ vlc-0.8.6-rc1/modules/gui/wxwidgets/dialogs/preferences_widgets.cpp
+@@ -249,7 +249,7 @@ int KeyConfigControl::GetIntValue()
+ int selected = combo->GetSelection();
+ if( selected != -1 )
+ {
+- result |= (int)combo->GetClientData( selected );
++ result |= (long)combo->GetClientData( selected );
+ }
+ return result;
+ }
+@@ -873,7 +873,7 @@ int IntegerListConfigControl::GetIntValu
+ int selected = combo->GetSelection();
+ if( selected != -1 )
+ {
+- return (int)combo->GetClientData( selected );
++ return static_cast<int>((long)combo->GetClientData( selected ));
+ }
+ return -1;
+ }
+Index: vlc-0.8.6-rc1/modules/gui/wxwidgets/dialogs/wizard.cpp
+===================================================================
+--- vlc-0.8.6-rc1.orig/modules/gui/wxwidgets/dialogs/wizard.cpp
++++ vlc-0.8.6-rc1/modules/gui/wxwidgets/dialogs/wizard.cpp
+@@ -208,7 +208,7 @@ class wizInputPage : public wxWizardPage
+ {
+ public:
+ wizInputPage( wxWizard *, wxWizardPage *, intf_thread_t *);
+- wizInputPage::~wizInputPage();
++ ~wizInputPage();
+ void OnWizardPageChanging(wxWizardEvent& event);
+ void OnInputChange( wxCommandEvent& event );
+ void OnEnablePartial(wxCommandEvent& event);
+@@ -262,7 +262,7 @@ class wizTranscodeCodecPage : public wxW
+ public:
+ wizTranscodeCodecPage( wxWizard *parent, wxWizardPage *next);
+ ~wizTranscodeCodecPage();
+- void wizTranscodeCodecPage::OnWizardPageChanging(wxWizardEvent& event);
++ void OnWizardPageChanging(wxWizardEvent& event);
+ virtual wxWizardPage *GetPrev() const;
+ virtual wxWizardPage *GetNext() const;
+ void SetPrev( wxWizardPage *page);
+@@ -339,7 +339,7 @@ class wizEncapPage : public wxWizardPage
+ {
+ public:
+ wizEncapPage( wxWizard *parent);
+- wizEncapPage::~wizEncapPage();
++ ~wizEncapPage();
+ void OnWizardPageChanging(wxWizardEvent& event);
+ virtual wxWizardPage *GetPrev() const;
+ virtual wxWizardPage *GetNext() const;
+@@ -387,7 +387,7 @@ public:
+ void OnWizardPageChanging( wxWizardEvent& event );
+ protected:
+ DECLARE_EVENT_TABLE()
+- void wizTranscodeExtraPage::OnSelectFile(wxCommandEvent&);
++ void OnSelectFile(wxCommandEvent&);
+ wxTextCtrl *file_text;
+ WizardDialog *p_parent;
+ wxWizardPage *p_prev;
+Index: vlc-0.8.6-rc1/modules/gui/wxwidgets/dialogs/updatevlc.cpp
+===================================================================
+--- vlc-0.8.6-rc1.orig/modules/gui/wxwidgets/dialogs/updatevlc.cpp
++++ vlc-0.8.6-rc1/modules/gui/wxwidgets/dialogs/updatevlc.cpp
+@@ -200,7 +200,7 @@ void UpdateVLC::OnChooseItem( wxListEven
+ wxSAVE | wxOVERWRITE_PROMPT );
+ if( filedialog->ShowModal() == wxID_OK )
+ {
+- update_download( p_uit, filedialog->GetPath().mb_str(wxConvUTF8) );
++ update_download( p_uit, const_cast<char*>((const char*)(filedialog->GetPath().mb_str(wxConvUTF8))) );
+ }
+ update_iterator_Delete( p_uit );
+ delete filedialog;
diff --git a/src/patchsets/vlc/0.8.6i/220_all_firefox.patch b/src/patchsets/vlc/0.8.6i/220_all_firefox.patch
new file mode 100644
index 0000000000..db8cd78297
--- /dev/null
+++ b/src/patchsets/vlc/0.8.6i/220_all_firefox.patch
@@ -0,0 +1,16 @@
+Index: vlc-0.8.6-test2/mozilla/vlcshell.cpp
+===================================================================
+--- vlc-0.8.6-test2.orig/mozilla/vlcshell.cpp
++++ vlc-0.8.6-test2/mozilla/vlcshell.cpp
+@@ -35,10 +35,8 @@
+ # include <mozilla-config.h>
+ #endif
+
+-/* This is from mozilla java, do we really need it? */
+-#if 0
++/* This is from mozilla java, needed for jref type */
+ #include <jri.h>
+-#endif
+
+ #include "vlcplugin.h"
+
diff --git a/src/patchsets/vlc/0.8.6i/250_all_livepic.patch b/src/patchsets/vlc/0.8.6i/250_all_livepic.patch
new file mode 100644
index 0000000000..f920d568f1
--- /dev/null
+++ b/src/patchsets/vlc/0.8.6i/250_all_livepic.patch
@@ -0,0 +1,22 @@
+Starting from version 2006.12.08, Gentoo installs live555 as a system
+library properly. For policy we also build a shared version of it that
+uses PIC.
+For this reason, we can reasonably force VLC to create a Plugin for
+live555 rather than a builtin.Index: vlc-0.8.6/configure.ac
+===================================================================
+Index: vlc-0.8.6_p18636/configure.ac
+===================================================================
+--- vlc-0.8.6_p18636.orig/configure.ac
++++ vlc-0.8.6_p18636/configure.ac
+@@ -1558,9 +1558,9 @@ if test "${enable_live555}" = "yes"; the
+ ], [
+ AC_CHECK_LIB(liveMedia, main, [
+ # We only have -lliveMedia, do builtins
+- VLC_ADD_BUILTINS([live555])
++ VLC_ADD_PLUGINS([live555])
+ VLC_ADD_LDFLAGS([live555], [-lliveMedia -lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
+- ])
++ ], ,[-lgroupsock -lBasicUsageEnvironment -lUsageEnvironment])
+ ])
+ if test "${SYS}" = "mingw32"; then
+ # add ws2_32 for closesocket, select, recv
diff --git a/src/patchsets/vlc/0.8.6i/290_all_altivec.patch b/src/patchsets/vlc/0.8.6i/290_all_altivec.patch
new file mode 100644
index 0000000000..dfbbac3736
--- /dev/null
+++ b/src/patchsets/vlc/0.8.6i/290_all_altivec.patch
@@ -0,0 +1,24 @@
+This really disables altivec if not wanted.
+Patch from xtophe: https://trac.videolan.org/vlc/ticket/1055
+https://bugs.gentoo.org/show_bug.cgi?id=158126
+Causes a compile failure because altivec.h is found and -maltivec not appended to cflags
+updated to try to fix this
+===================================================================
+Index: vlc-0.8.6_p18636/configure.ac
+===================================================================
+--- vlc-0.8.6_p18636.orig/configure.ac
++++ vlc-0.8.6_p18636/configure.ac
+@@ -1301,10 +1301,12 @@ AC_CACHE_CHECK([if \$CC groks AltiVec C
+ if test "${ac_cv_c_altivec}" != "no"; then
+ CPPFLAGS="${CPPFLAGS_save} ${ac_cv_c_altivec}"
+ fi
++if test "${enable_altivec}" != "no"; then
+ AC_CHECK_HEADERS(altivec.h)
++fi
+ CPPFLAGS="${CPPFLAGS_save}"
+
+-if test "${ac_cv_c_altivec}" != "no"; then
++if test "${ac_cv_c_altivec}" != "no" -a "${enable_altivec}" != "no"; then
+ AC_DEFINE(CAN_COMPILE_C_ALTIVEC, 1, Define if your compiler groks C AltiVec extensions.)
+ VLC_ADD_CFLAGS([vlc],[${ac_cv_c_altivec}])
+ VLC_ADD_CFLAGS([idctaltivec motionaltivec],[${ac_cv_c_altivec}])
diff --git a/src/patchsets/vlc/0.8.6i/330_all_libdca.patch b/src/patchsets/vlc/0.8.6i/330_all_libdca.patch
new file mode 100644
index 0000000000..0864723f55
--- /dev/null
+++ b/src/patchsets/vlc/0.8.6i/330_all_libdca.patch
@@ -0,0 +1,17 @@
+Index: vlc-0.8.6h/configure.ac
+===================================================================
+--- vlc-0.8.6h.orig/configure.ac
++++ vlc-0.8.6h/configure.ac
+@@ -3107,9 +3107,10 @@ if test "${enable_dts}" != "no"; then
+ VLC_ADD_PLUGINS([dtstofloat32])
+ VLC_ADD_LDFLAGS([dtstofloat32],[-ldts_pic])
+ ],[
+- AC_CHECK_LIB(dts, dts_free, [
++ PKG_CHECK_MODULES([DCA], [libdts >= 0.0.2], [
+ VLC_ADD_PLUGINS([dtstofloat32])
+- VLC_ADD_LDFLAGS([dtstofloat32],[-ldts])
++ VLC_ADD_CPPFLAGS([dtstofloat32], [${DCA_CFLAGS}])
++ VLC_ADD_LDFLAGS([dtstofloat32],[${DCA_LIBS}])
+ ],[
+ if test "${enable_dts}" = "yes"; then
+ AC_MSG_ERROR([Could not find libdts on your system: you may get it from http://www.videolan.org/dtsdec.html])
diff --git a/src/patchsets/vlc/0.8.6i/series b/src/patchsets/vlc/0.8.6i/series
new file mode 100644
index 0000000000..a757854430
--- /dev/null
+++ b/src/patchsets/vlc/0.8.6i/series
@@ -0,0 +1,11 @@
+000_all_glide.patch
+010_all_freetype-font.patch
+110_all_dtspic.patch
+130_all_textrels.patch
+180_all_faad.patch
+190_all_strict-aliasing.patch
+200_all_nonpermissive.patch
+220_all_firefox.patch
+250_all_livepic.patch
+290_all_altivec.patch
+330_all_libdca.patch