From 758952addeeb99792d264a544a52e38705e7527a Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Sun, 26 Oct 2008 11:42:50 +0000 Subject: [PATCH] *** empty log message *** --- .gitignore | 2 +- 300_all_pic.patch | 209 ++++++++++++++++++++++++++++++++++++++++ 310_all_mmx_pic.patch | 154 +++++++++++++++++++++++++++++ sources | 2 +- vlc-embeddedvideo.patch | 22 +++++ vlc.spec | 79 ++++++++++----- 6 files changed, 442 insertions(+), 26 deletions(-) create mode 100644 300_all_pic.patch create mode 100644 310_all_mmx_pic.patch create mode 100644 vlc-embeddedvideo.patch diff --git a/.gitignore b/.gitignore index 229afff..bb427f1 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -vlc-0.9.4.tar.bz2 +vlc-0.9.5.tar.bz2 diff --git a/300_all_pic.patch b/300_all_pic.patch new file mode 100644 index 0000000..2129efa --- /dev/null +++ b/300_all_pic.patch @@ -0,0 +1,209 @@ +Index: vlc-0.9.0-svn/libs/loader/Makefile.am +=================================================================== +--- vlc-0.9.0-svn.orig/libs/loader/Makefile.am ++++ vlc-0.9.0-svn/libs/loader/Makefile.am +@@ -16,7 +16,7 @@ endif + # TODO: real check for vsscanf() and + 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.9.0-svn/libs/loader/module.c +=================================================================== +--- vlc-0.9.0-svn.orig/libs/loader/module.c ++++ vlc-0.9.0-svn/libs/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.9.0-svn/libs/loader/stubs.s +=================================================================== +--- vlc-0.9.0-svn.orig/libs/loader/stubs.s ++++ vlc-0.9.0-svn/libs/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.9.0-svn/libs/loader/wrapper.S +=================================================================== +--- vlc-0.9.0-svn.orig/libs/loader/wrapper.S ++++ vlc-0.9.0-svn/libs/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.9.0-svn/libs/loader/wrapper.h +=================================================================== +--- vlc-0.9.0-svn.orig/libs/loader/wrapper.h ++++ vlc-0.9.0-svn/libs/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/310_all_mmx_pic.patch b/310_all_mmx_pic.patch new file mode 100644 index 0000000..2079370 --- /dev/null +++ b/310_all_mmx_pic.patch @@ -0,0 +1,154 @@ +Index: vlc-0.9.0-svn/modules/video_chroma/i420_rgb_mmx.h +=================================================================== +--- vlc-0.9.0-svn.orig/modules/video_chroma/i420_rgb_mmx.h ++++ vlc-0.9.0-svn/modules/video_chroma/i420_rgb_mmx.h +@@ -34,18 +34,18 @@ + #define USED_U64(foo) \ + static const uint64_t foo __asm__ (#foo) __attribute__((unused)) + #endif +-USED_U64(mmx_80w) = 0x0080008000800080ULL; +-USED_U64(mmx_10w) = 0x1010101010101010ULL; +-USED_U64(mmx_00ffw) = 0x00ff00ff00ff00ffULL; +-USED_U64(mmx_Y_coeff) = 0x253f253f253f253fULL; +- +-USED_U64(mmx_U_green) = 0xf37df37df37df37dULL; +-USED_U64(mmx_U_blue) = 0x4093409340934093ULL; +-USED_U64(mmx_V_red) = 0x3312331233123312ULL; +-USED_U64(mmx_V_green) = 0xe5fce5fce5fce5fcULL; ++USED_U64(mmx_80w) = 0x0080008000800080ULL; /* Will be referenced as %4 in inline asm */ ++USED_U64(mmx_10w) = 0x1010101010101010ULL; /* -- as %5 */ ++USED_U64(mmx_00ffw) = 0x00ff00ff00ff00ffULL; /* -- as %6 */ ++USED_U64(mmx_Y_coeff) = 0x253f253f253f253fULL; /* -- as %7 */ ++ ++USED_U64(mmx_U_green) = 0xf37df37df37df37dULL; /* -- as %8 */ ++USED_U64(mmx_U_blue) = 0x4093409340934093ULL; /* -- as %9 */ ++USED_U64(mmx_V_red) = 0x3312331233123312ULL; /* -- as %10 */ ++USED_U64(mmx_V_green) = 0xe5fce5fce5fce5fcULL; /* -- as %11 */ + +-USED_U64(mmx_mask_f8) = 0xf8f8f8f8f8f8f8f8ULL; +-USED_U64(mmx_mask_fc) = 0xfcfcfcfcfcfcfcfcULL; ++USED_U64(mmx_mask_f8) = 0xf8f8f8f8f8f8f8f8ULL; /* -- as %12 */ ++USED_U64(mmx_mask_fc) = 0xfcfcfcfcfcfcfcfcULL; /* -- as %13 */ + #undef USED_U64 + + #if defined(CAN_COMPILE_MMX) +@@ -59,18 +59,16 @@ USED_U64(mmx_mask_fc) = 0xfcfcfcfcfcfcfc + MMX_INSTRUCTIONS \ + : \ + : "r" (p_y), "r" (p_u), \ +- "r" (p_v), "r" (p_buffer) ); \ ++ "r" (p_v), "r" (p_buffer), \ ++ "m" (mmx_80w), "m" (mmx_10w), \ ++ "m" (mmx_00ffw), "m" (mmx_Y_coeff), \ ++ "m" (mmx_U_green), "m" (mmx_U_blue), \ ++ "m" (mmx_V_red), "m" (mmx_V_green), \ ++ "m" (mmx_mask_f8), "m" (mmx_mask_fc) ); \ + } while(0) + + #define MMX_END __asm__ __volatile__ ( "emms" ) + +-/* Use RIP-relative code in PIC mode on amd64 */ +-#if defined(__x86_64__) && defined(__PIC__) +-# define G "(%%rip)" +-#else +-# define G +-#endif +- + #define MMX_INIT_16 " \n\ + movd (%1), %%mm0 # Load 4 Cb 00 00 00 00 u3 u2 u1 u0 \n\ + movd (%2), %%mm1 # Load 4 Cr 00 00 00 00 v3 v2 v1 v0 \n\ +@@ -103,27 +101,27 @@ movq (%0), %%mm6 # Load 8 Y + # convert the chroma part \n\ + punpcklbw %%mm4, %%mm0 # scatter 4 Cb 00 u3 00 u2 00 u1 00 u0 \n\ + punpcklbw %%mm4, %%mm1 # scatter 4 Cr 00 v3 00 v2 00 v1 00 v0 \n\ +-psubsw mmx_80w"G", %%mm0 # Cb -= 128 \n\ +-psubsw mmx_80w"G", %%mm1 # Cr -= 128 \n\ ++psubsw %4, %%mm0 # Cb -= 128 \n\ ++psubsw %4, %%mm1 # Cr -= 128 \n\ + psllw $3, %%mm0 # Promote precision \n\ + psllw $3, %%mm1 # Promote precision \n\ + movq %%mm0, %%mm2 # Copy 4 Cb 00 u3 00 u2 00 u1 00 u0 \n\ + movq %%mm1, %%mm3 # Copy 4 Cr 00 v3 00 v2 00 v1 00 v0 \n\ +-pmulhw mmx_U_green"G", %%mm2 # Mul Cb with green coeff -> Cb green \n\ +-pmulhw mmx_V_green"G", %%mm3 # Mul Cr with green coeff -> Cr green \n\ +-pmulhw mmx_U_blue"G", %%mm0 # Mul Cb -> Cblue 00 b3 00 b2 00 b1 00 b0 \n\ +-pmulhw mmx_V_red"G", %%mm1 # Mul Cr -> Cred 00 r3 00 r2 00 r1 00 r0 \n\ ++pmulhw %8, %%mm2 # Mul Cb with green coeff -> Cb green \n\ ++pmulhw %11, %%mm3 # Mul Cr with green coeff -> Cr green \n\ ++pmulhw %9, %%mm0 # Mul Cb -> Cblue 00 b3 00 b2 00 b1 00 b0 \n\ ++pmulhw %10, %%mm1 # Mul Cr -> Cred 00 r3 00 r2 00 r1 00 r0 \n\ + paddsw %%mm3, %%mm2 # Cb green + Cr green -> Cgreen \n\ + \n\ + # convert the luma part \n\ +-psubusb mmx_10w"G", %%mm6 # Y -= 16 \n\ ++psubusb %5, %%mm6 # Y -= 16 \n\ + movq %%mm6, %%mm7 # Copy 8 Y Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 \n\ +-pand mmx_00ffw"G", %%mm6 # get Y even 00 Y6 00 Y4 00 Y2 00 Y0 \n\ ++pand %6, %%mm6 # get Y even 00 Y6 00 Y4 00 Y2 00 Y0 \n\ + psrlw $8, %%mm7 # get Y odd 00 Y7 00 Y5 00 Y3 00 Y1 \n\ + psllw $3, %%mm6 # Promote precision \n\ + psllw $3, %%mm7 # Promote precision \n\ +-pmulhw mmx_Y_coeff"G", %%mm6 # Mul 4 Y even 00 y6 00 y4 00 y2 00 y0 \n\ +-pmulhw mmx_Y_coeff"G", %%mm7 # Mul 4 Y odd 00 y7 00 y5 00 y3 00 y1 \n\ ++pmulhw %7, %%mm6 # Mul 4 Y even 00 y6 00 y4 00 y2 00 y0 \n\ ++pmulhw %7, %%mm7 # Mul 4 Y odd 00 y7 00 y5 00 y3 00 y1 \n\ + " + + /* +@@ -168,14 +166,14 @@ punpcklbw %%mm5, %%mm2 # + + #define MMX_YUV_GRAY " \n\ + # convert the luma part \n\ +-psubusb mmx_10w"G", %%mm6 \n\ ++psubusb %5, %%mm6 \n\ + movq %%mm6, %%mm7 \n\ +-pand mmx_00ffw"G", %%mm6 \n\ ++pand %6, %%mm6 \n\ + psrlw $8, %%mm7 \n\ + psllw $3, %%mm6 \n\ + psllw $3, %%mm7 \n\ +-pmulhw mmx_Y_coeff"G", %%mm6 \n\ +-pmulhw mmx_Y_coeff"G", %%mm7 \n\ ++pmulhw %7, %%mm6 \n\ ++pmulhw %7, %%mm7 \n\ + packuswb %%mm6, %%mm6 \n\ + packuswb %%mm7, %%mm7 \n\ + punpcklbw %%mm7, %%mm6 \n\ +@@ -183,8 +181,8 @@ punpcklbw %%mm7, %%mm6 + + #define MMX_UNPACK_16_GRAY " \n\ + movq %%mm6, %%mm5 \n\ +-pand mmx_mask_f8"G", %%mm6 \n\ +-pand mmx_mask_fc"G", %%mm5 \n\ ++pand %12, %%mm6 \n\ ++pand %13, %%mm5 \n\ + movq %%mm6, %%mm7 \n\ + psrlw $3, %%mm7 \n\ + pxor %%mm3, %%mm3 \n\ +@@ -213,10 +211,10 @@ movq %%mm2, 8(%3) + + #define MMX_UNPACK_15 " \n\ + # mask unneeded bits off \n\ +-pand mmx_mask_f8"G", %%mm0 # b7b6b5b4 b3______ b7b6b5b4 b3______ \n\ ++pand %12, %%mm0 # b7b6b5b4 b3______ b7b6b5b4 b3______ \n\ + psrlw $3,%%mm0 # ______b7 b6b5b4b3 ______b7 b6b5b4b3 \n\ +-pand mmx_mask_f8"G", %%mm2 # g7g6g5g4 g3______ g7g6g5g4 g3______ \n\ +-pand mmx_mask_f8"G", %%mm1 # r7r6r5r4 r3______ r7r6r5r4 r3______ \n\ ++pand %12, %%mm2 # g7g6g5g4 g3______ g7g6g5g4 g3______ \n\ ++pand %12, %%mm1 # r7r6r5r4 r3______ r7r6r5r4 r3______ \n\ + psrlw $1,%%mm1 # __r7r6r5 r4r3____ __r7r6r5 r4r3____ \n\ + pxor %%mm4, %%mm4 # zero mm4 \n\ + movq %%mm0, %%mm5 # Copy B7-B0 \n\ +@@ -249,9 +247,9 @@ movq %%mm5, 8(%3) # store + + #define MMX_UNPACK_16 " \n\ + # mask unneeded bits off \n\ +-pand mmx_mask_f8"G", %%mm0 # b7b6b5b4 b3______ b7b6b5b4 b3______ \n\ +-pand mmx_mask_fc"G", %%mm2 # g7g6g5g4 g3g2____ g7g6g5g4 g3g2____ \n\ +-pand mmx_mask_f8"G", %%mm1 # r7r6r5r4 r3______ r7r6r5r4 r3______ \n\ ++pand %12, %%mm0 # b7b6b5b4 b3______ b7b6b5b4 b3______ \n\ ++pand %13, %%mm2 # g7g6g5g4 g3g2____ g7g6g5g4 g3g2____ \n\ ++pand %12, %%mm1 # r7r6r5r4 r3______ r7r6r5r4 r3______ \n\ + psrlw $3,%%mm0 # ______b7 b6b5b4b3 ______b7 b6b5b4b3 \n\ + pxor %%mm4, %%mm4 # zero mm4 \n\ + movq %%mm0, %%mm5 # Copy B7-B0 \n\ diff --git a/sources b/sources index 26da044..0966404 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -786628aaf8f30a9b812975b67c88b971 vlc-0.9.4.tar.bz2 +e5be36243e75fff5476c01cc6083d43d vlc-0.9.5.tar.bz2 diff --git a/vlc-embeddedvideo.patch b/vlc-embeddedvideo.patch new file mode 100644 index 0000000..821a9a6 --- /dev/null +++ b/vlc-embeddedvideo.patch @@ -0,0 +1,22 @@ +Re-enable the embedded video; Patch ported from this commit: + +commit 9c26b8e2a04468aa4b4a158f072d760a991932db +Author: RĂ©mi Denis-Courmont +Date: Thu Oct 9 23:06:21 2008 +0300 + + Enable embedded video with Qt >= 4.3 - hopefully fixes #2136 + +Index: vlc-0.9.4/modules/gui/qt4/qt4.cpp +=================================================================== +--- vlc-0.9.4.orig/modules/gui/qt4/qt4.cpp ++++ vlc-0.9.4/modules/gui/qt4/qt4.cpp +@@ -213,7 +213,7 @@ vlc_module_begin(); + + set_callbacks( OpenDialogs, Close ); + +-#ifdef WIN32 ++#if !defined (Q_WS_X11) || HAS_QT43 + add_submodule(); + set_capability( "vout window", 50 ); + set_callbacks( WindowOpen, WindowClose ); + diff --git a/vlc.spec b/vlc.spec index e75eda3..8216df4 100644 --- a/vlc.spec +++ b/vlc.spec @@ -8,7 +8,6 @@ %define with_mozilla 1 %define with_dc1394 0 %define with_directfb 1 -%define with_dirac 0 Summary: Multi-platform MPEG, DVD, and DivX player @@ -18,7 +17,7 @@ Version: 1.0.0 %define _version %{version}-git %define release_tag 0.1.%{vlc_date}git %else -Version: 0.9.4 +Version: 0.9.5 %define _version %{version} %define release_tag 1 %endif @@ -36,7 +35,9 @@ Source2: http://www.live555.com/liveMedia/public/live.%{live555_date}.tar.gz %endif Patch0: vlc-trunk-default_font.patch Patch1: vlc-0.9.2-pulse_default.patch -Patch2: vlc-0.9.3-libv4l2.patch +Patch2: vlc-embeddedvideo.patch +Patch3: 300_all_pic.patch +Patch4: 310_all_mmx_pic.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: desktop-file-utils @@ -51,11 +52,9 @@ BuildRequires: alsa-lib-devel BuildRequires: avahi-devel BuildRequires: cdparanoia-devel BuildRequires: dbus-devel -%if %with_dirac -BuildRequires: dirac-devel >= 0.6.0 -%endif +%{?_with_dirac: BuildRequires: dirac-devel >= 1.0.0} %if %with_directfb -BuildRequires: directfb-devel +BuildRequires: directfb-devel >= 1.2.6 %endif BuildRequires: faac-devel BuildRequires: faad2-devel @@ -78,6 +77,7 @@ BuildRequires: libdvbpsi-devel BuildRequires: libdvdnav-devel BuildRequires: libebml-devel BuildRequires: libid3tag-devel +%{?_with_kate: BuildRequires: libkate-devel} BuildRequires: libmad-devel BuildRequires: libmatroska-devel >= 0.7.6 BuildRequires: libmodplug-devel @@ -91,7 +91,7 @@ BuildRequires: libtar-devel BuildRequires: libtheora-devel BuildRequires: libtiff-devel BuildRequires: libupnp-devel -%if 0%{?fedora} > 8 +%if 0%{?fedora} > 9 BuildRequires: libv4l-devel %endif BuildRequires: libvorbis-devel @@ -112,10 +112,9 @@ BuildRequires: mpeg2dec-devel >= 0.3.2 BuildRequires: ncurses-devel BuildRequires: opencv-devel BuildRequires: openslp-devel +BuildRequires: preload BuildRequires: qt4-devel BuildRequires: schroedinger-devel -#Workaround for ^^ -BuildRequires: liboil-devel BuildRequires: SDL_image-devel BuildRequires: speex-devel >= 1.1.5 %ifarch %{ix86} x86_64 @@ -128,6 +127,7 @@ BuildRequires: x264-devel >= 0-0.8.20061028 BuildRequires: xosd-devel BuildRequires: xvidcore-devel BuildRequires: zlib-devel +BuildRequires: zvbi-devel # X-libs BuildRequires: libXt-devel @@ -194,6 +194,11 @@ mp3, ogg, ...) as well as DVDs, VCDs, and various streaming protocols. It can also be used as a server to stream in unicast or multicast in IPv4 or IPv6 on a high-bandwidth network. +Non-default rpmbuild options: +--with dirac: Enable dirac codec support +--with kate: Enable kate codec support +--with lua: Enable lua support + %description devel This package contains development files for VLC Media Player. @@ -223,12 +228,20 @@ IPv4 or IPv6 on a high-bandwidth network. %endif %package core -Summary: VLC Media Player without Xorg +Summary: VLC Media Player core Group: Applications/Multimedia -Provides: vlc-nox = %{version}-%{release} %description core -VLC Media Player without X.org for server +VLC Media Player core components + +%package nox +Summary: VLC Media Player without Xorg +Group: Applications/Multimedia +Requires: vlc-core = %{version}-%{release} + +%description nox +VLC Media Player with framebuffer support for X-less server. + %if %with_dc1394 %package plugins-dc1394 @@ -248,12 +261,14 @@ VLC plugins for libdc1394 %endif %patch0 -p1 -b .default_font %patch1 -p1 -b .pulse_default -%if 0%{?fedora} > 8 -%patch2 -p1 -b .libv4l2 -touch -r configure.ac.libv4l2 configure.ac -touch -r configure.libv4l2 configure -%endif +%patch2 -p1 -b .embedded +#http://trac.videolan.org/vlc/ticket/1383 +%patch3 -p1 -b .dmo_pic +sed -i.dmo_pic -e 's/fno-PIC/fPIC/' libs/loader/Makefile.in +%patch4 -p1 -b .mmx_pic +chmod -x modules/gui/qt4/qt4* +#./bootstrap %build @@ -272,12 +287,11 @@ popd --disable-dependency-tracking \ --disable-rpath \ --enable-release \ - --with-PIC \ + --with-tuning=no \ --enable-switcher \ --enable-shout \ %{?_with_lua:--enable-lua --enable-lua} \ --enable-live555 \ - --enable-musicbrainz \ %if %with_internal_live555 --with-live555-tree=live \ %endif @@ -290,7 +304,7 @@ popd --enable-pvr \ --enable-gnomevfs \ --enable-cddax \ -%if 0%{?fedora} < 9 +%if 0%{?fedora} < 8 --disable-swscale \ --enable-imgresample \ %endif @@ -303,9 +317,7 @@ popd --enable-speex \ --enable-tarkin \ --enable-theora \ -%if %with_dirac - --enable-dirac \ -%endif + %{?_with_dirac:--enable-dirac} \ --enable-svg \ --enable-snapshot \ %ifarch %{ix86} x86_64 @@ -385,6 +397,9 @@ ln -sf ../../../fonts/dejavu/DejaVuSans.ttf \ ln -sf ../../../fonts/dejavu/DejaVuSans-Bold.ttf \ $RPM_BUILD_ROOT%{_datadir}/vlc/skins2/fonts/FreeSansBold.ttf +#Clear execstak +execstack -c $RPM_BUILD_ROOT%{_bindir}/vlc + %find_lang %{name} @@ -472,6 +487,10 @@ fi || : %ifarch %{ix86} x86_64 %exclude %{_libdir}/vlc/codec/libxvmc_plugin.so %exclude %{_libdir}/vlc/video_output/libxvmc_plugin.so +%exclude %{_libdir}/vlc/video_output/libsvgalib_plugin.so +%endif +%if %with_directfb +%exclude %{_libdir}/vlc/video_output/libdirectfb_plugin.so %endif %exclude %{_libdir}/vlc/gui/libskins2_plugin.so %exclude %{_libdir}/vlc/video_filter/libopencv_example_plugin.so @@ -484,6 +503,11 @@ fi || : %{_libdir}/vlc/ %{_mandir}/man1/vlc.1* +%files nox +%defattr(-,root,root,-) +%{_libdir}/vlc/video_output/libdirectfb_plugin.so +%{_libdir}/vlc/video_output/libsvgalib_plugin.so + %if %with_dc1394 %files plugins-dc1394 %defattr(-,root,root,-) @@ -509,6 +533,13 @@ fi || : %changelog +* Fri Oct 24 2008 kwizart < kwizart at gmail.com > - 0.9.5-1 +- Update to 0.9.5 +- Use non-default rpmbuild options for dirac kate lua +- Split core/nox (nox bundles directfb/svgalib) +- Fix Selinux denials (patches from gentoo). +- Fix spurious perms on qt4 sources. + * Wed Oct 8 2008 kwizart < kwizart at gmail.com > - 0.9.4-1 - Update to 0.9.4