diff --git a/vlc-2.2.0-fix_deinterlace_mmx.patch b/vlc-2.2.0-fix_deinterlace_mmx.patch new file mode 100644 index 0000000..587a549 --- /dev/null +++ b/vlc-2.2.0-fix_deinterlace_mmx.patch @@ -0,0 +1,119 @@ +--- modules/video_filter/deinterlace/merge.c.orig 2015-03-04 07:55:02.021482260 +0100 ++++ modules/video_filter/deinterlace/merge.c 2015-03-04 07:56:33.975885612 +0100 +@@ -68,116 +68,6 @@ + *p_dest++ = ( *p_s1++ + *p_s2++ ) >> 1; + } + +-#if defined(CAN_COMPILE_MMXEXT) +-VLC_MMX +-void MergeMMXEXT( void *_p_dest, const void *_p_s1, const void *_p_s2, +- size_t i_bytes ) +-{ +- uint8_t *p_dest = _p_dest; +- const uint8_t *p_s1 = _p_s1; +- const uint8_t *p_s2 = _p_s2; +- +- for( ; i_bytes >= 8; i_bytes -= 8 ) +- { +- __asm__ __volatile__( "movq %2,%%mm1;" +- "pavgb %1, %%mm1;" +- "movq %%mm1, %0" :"=m" (*p_dest): +- "m" (*p_s1), +- "m" (*p_s2) : "mm1" ); +- p_dest += 8; +- p_s1 += 8; +- p_s2 += 8; +- } +- +- for( ; i_bytes > 0; i_bytes-- ) +- *p_dest++ = ( *p_s1++ + *p_s2++ ) >> 1; +-} +-#endif +- +-#if defined(CAN_COMPILE_3DNOW) +-VLC_MMX +-void Merge3DNow( void *_p_dest, const void *_p_s1, const void *_p_s2, +- size_t i_bytes ) +-{ +- uint8_t *p_dest = _p_dest; +- const uint8_t *p_s1 = _p_s1; +- const uint8_t *p_s2 = _p_s2; +- +- for( ; i_bytes >= 8; i_bytes -= 8 ) +- { +- __asm__ __volatile__( "movq %2,%%mm1;" +- "pavgusb %1, %%mm1;" +- "movq %%mm1, %0" :"=m" (*p_dest): +- "m" (*p_s1), +- "m" (*p_s2) : "mm1" ); +- p_dest += 8; +- p_s1 += 8; +- p_s2 += 8; +- } +- +- for( ; i_bytes > 0; i_bytes-- ) +- *p_dest++ = ( *p_s1++ + *p_s2++ ) >> 1; +-} +-#endif +- +-#if defined(CAN_COMPILE_SSE) +-VLC_SSE +-void Merge8BitSSE2( void *_p_dest, const void *_p_s1, const void *_p_s2, +- size_t i_bytes ) +-{ +- uint8_t *p_dest = _p_dest; +- const uint8_t *p_s1 = _p_s1; +- const uint8_t *p_s2 = _p_s2; +- +- for( ; i_bytes > 0 && ((uintptr_t)p_s1 & 15); i_bytes-- ) +- *p_dest++ = ( *p_s1++ + *p_s2++ ) >> 1; +- +- for( ; i_bytes >= 16; i_bytes -= 16 ) +- { +- __asm__ __volatile__( "movdqu %2,%%xmm1;" +- "pavgb %1, %%xmm1;" +- "movdqu %%xmm1, %0" :"=m" (*p_dest): +- "m" (*p_s1), +- "m" (*p_s2) : "xmm1" ); +- p_dest += 16; +- p_s1 += 16; +- p_s2 += 16; +- } +- +- for( ; i_bytes > 0; i_bytes-- ) +- *p_dest++ = ( *p_s1++ + *p_s2++ ) >> 1; +-} +- +-VLC_SSE +-void Merge16BitSSE2( void *_p_dest, const void *_p_s1, const void *_p_s2, +- size_t i_bytes ) +-{ +- uint16_t *p_dest = _p_dest; +- const uint16_t *p_s1 = _p_s1; +- const uint16_t *p_s2 = _p_s2; +- +- size_t i_words = i_bytes / 2; +- for( ; i_words > 0 && ((uintptr_t)p_s1 & 15); i_words-- ) +- *p_dest++ = ( *p_s1++ + *p_s2++ ) >> 1; +- +- for( ; i_words >= 8; i_words -= 8 ) +- { +- __asm__ __volatile__( "movdqu %2,%%xmm1;" +- "pavgw %1, %%xmm1;" +- "movdqu %%xmm1, %0" :"=m" (*p_dest): +- "m" (*p_s1), +- "m" (*p_s2) : "xmm1" ); +- p_dest += 8; +- p_s1 += 8; +- p_s2 += 8; +- } +- +- for( ; i_words > 0; i_words-- ) +- *p_dest++ = ( *p_s1++ + *p_s2++ ) >> 1; +-} +- +-#endif +- + #ifdef CAN_COMPILE_C_ALTIVEC + void MergeAltivec( void *_p_dest, const void *_p_s1, + const void *_p_s2, size_t i_bytes ) diff --git a/vlc.changes b/vlc.changes index 076343c..b8f5478 100644 --- a/vlc.changes +++ b/vlc.changes @@ -1,3 +1,13 @@ +------------------------------------------------------------------- +Tue Mar 3 15:00:18 UTC 2015 - aloisio@gmx.com + +- made fludsynth optional again out of caution +- added vlc-2.2.0-fix_deinterlace_mmx.patch to make + SLE11/i586 build without a recent enough gcc +- fixed SLE11 to build without automake >= 1.11 +- fixed a SLE12 build problem on packman +- removed hevc plugins in a cleaner way + ------------------------------------------------------------------- Sun Mar 1 18:05:03 UTC 2015 - aloisio@gmx.com diff --git a/vlc.spec b/vlc.spec index b8185db..ba911da 100644 --- a/vlc.spec +++ b/vlc.spec @@ -21,6 +21,9 @@ %define libvlccore 8 %define conflicts vlc-beta +# Fluidsynth plugin is known to cause strange crashes here and there - disable it for now (2014-10-07, DimStar) +%bcond_with fluidsynth + %ifarch %arm %bcond_without opengles %else @@ -41,16 +44,18 @@ Source2: %{name}-rpmlintrc # PATCH-FIX-OPENSUSE vlc-2.1.5-fix-skins2-default-skin-creation.patch -- see description in patch header Patch1: vlc-2.1.5-fix-skins2-default-skin-creation.patch Patch3: 0001-no-return-in-non-void.patch +Patch4: vlc-2.2.0-fix_deinterlace_mmx.patch BuildRequires: Mesa-devel BuildRequires: SDL-devel >= 1.2.10 BuildRequires: aalib-devel BuildRequires: alsa-devel >= 1.0.24 -BuildRequires: automake >= 1.11 BuildRequires: avahi-devel >= 0.6 BuildRequires: dirac-devel BuildRequires: fdupes BuildRequires: findutils +%if 0%{?suse_version} > 1110 || 0%{?BUILD_ORIG} BuildRequires: flac-devel +%endif BuildRequires: freetype2 BuildRequires: fribidi-devel BuildRequires: gettext-devel @@ -102,17 +107,16 @@ BuildRequires: gdk-pixbuf-devel BuildRequires: libv4l-devel BuildRequires: pkgconfig(caca) >= 0.99.beta14 BuildRequires: pkgconfig(speexdsp) -BuildRequires: pkgconfig(xext) -BuildRequires: pkgconfig(zvbi-0.2) >= 0.2.28 -%endif -%if 0%{?suse_version} >= 1140 BuildRequires: pkgconfig(xcb) >= 1.6 BuildRequires: pkgconfig(xcb-composite) BuildRequires: pkgconfig(xcb-randr) >= 1.3 BuildRequires: pkgconfig(xcb-shm) BuildRequires: pkgconfig(xcb-xv) >= 1.1.90.1 +BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xproto) +BuildRequires: pkgconfig(zvbi-0.2) >= 0.2.28 %endif + %if 0%{?suse_version} >= 1140 && 0%{?suse_version} != 1315 || 0%{?BUILD_ORIG} BuildRequires: pkgconfig(libswscale) %endif @@ -146,8 +150,10 @@ BuildRequires: pkgconfig(libvncclient) >= 0.9.9 BuildRequires: pkgconfig(xcb-keysyms) >= 0.3.4 BuildRequires: pkgconfig(xinerama) BuildRequires: pkgconfig(xpm) -%if 0%{?suse_version} != 1315 +%if %{with fluidsynth} BuildRequires: pkgconfig(fluidsynth) >= 1.1.2 +%endif +%if 0%{?suse_version} != 1315 BuildRequires: pkgconfig(libchromaprint) >= 0.6.0 %endif %endif @@ -217,6 +223,7 @@ Requires: libvlc%{libvlc} = %{version}-%{release} Requires: libvlccore%{libvlccore} = %{version}-%{release} # lang subpackage Recommends: %{name}-noX-lang +Recommends: %{name}-codecs Recommends: libdvdcss Conflicts: %{conflicts}-noX @@ -267,8 +274,16 @@ for gnome-vfs2. echo '********* ENTERED PREP PHASE ********' date %setup -q +%if 0%{?suse_version} >=1140 %patch1 -p1 +%endif %patch3 -p1 +%if 0%{?suse_version} == 1110 +%ifarch %ix86 +%patch4 +%endif +%endif + # We do not rely on contrib but make use of system libraries rm -rf contrib # fix builddate info @@ -278,19 +293,9 @@ FAKE_BUILDDATE=$(LC_ALL=C date -u -r %{SOURCE1} '+%%b %%e %%Y') sed -e "s/__TIME__/\"$FAKE_BUILDTIME\"/" -i modules/gui/qt4/dialogs/help.cpp src/config/help.c sed -e "s/__DATE__/\"$FAKE_BUILDDATE\"/" -i modules/gui/qt4/dialogs/help.cpp src/config/help.c -%if ! 0%{?BUILD_ORIG} -# don't build hevc-related modules even if probably overkill for legal purposes -sed -e "/hevc/d" -i modules/demux/Makefile.am modules/packetizer/Modules.am -%endif - # no --disable-dvb switch unfortunately %if 0%{?suse_version} <= 1140 -sed -e '/HAVE_LINUX_DVB/cAM_CONDITIONAL([HAVE_LINUX_DVB], [false])' -i configure.ac -%endif - -# disable module that won't build -%if 0%{?suse_version} == 1110 -sed -e '/deinterlace/d' -i modules/video_filter/Modules.am +sed -e '/^#include.*dvb/d' -i configure %endif echo '********* ENDED PREP PHASE *********' @@ -301,7 +306,9 @@ echo '********* BOOTSTRAPPING *********' date export CFLAGS="%{optflags}" export CXXFLAGS="%{optflags}" +%if 0%{?suse_version} > 1140 ./bootstrap +%endif %configure \ --disable-dependency-tracking \ --enable-aa \ @@ -318,9 +325,9 @@ export CXXFLAGS="%{optflags}" %if 0%{?suse_version} > 1110 || 0%{?BUILD_ORIG} --enable-dvdnav \ --enable-dvdread \ + --enable-flac \ %endif --enable-fast-install \ - --enable-flac \ %if 0%{?suse_version} > 1140 --enable-freerdp \ %endif @@ -341,7 +348,7 @@ export CXXFLAGS="%{optflags}" %endif --enable-libcddb \ %if 0%{?suse_version} > 1110 -%if 0%{?suse_version} != 1315 || 0%{?BUILD_ORIG} +%if 0%{?suse_version} != 1315 --enable-opencv \ %endif %endif @@ -395,6 +402,7 @@ export CXXFLAGS="%{optflags}" --enable-vcd \ --enable-vcdx \ --enable-vorbis \ + --disable-x265 \ %if 0%{?suse_version} > 1110 --enable-xcb \ %else @@ -413,6 +421,14 @@ export CXXFLAGS="%{optflags}" --with-default-monospace-font=%{_datadir}/fonts/truetype/FreeMono.ttf echo '********* FINISHED CONFIGURE *********' date + +# post config patches, not very nice but we don't have automake + +%if 0%{?suse_version} == 1110 +# replaces ustar patch +sed -e 's/tar cvv/tar cvv --format=ustar/' -i share/Makefile +%endif + make %{?_smp_mflags} %install @@ -433,6 +449,12 @@ for i in ?vlc; do popd done +# don't ship hevc-related modules even if probably overkill for legal purposes +%if ! 0%{?BUILD_ORIG} +rm %{buildroot}/%{_libdir}/vlc/plugins/demux/libhevc_plugin.so +rm %{buildroot}/%{_libdir}/vlc/plugins/packetizer/libpacketizer_hevc_plugin.so +%endif + # clean up some lang issues... for lang in ach an cgg co ff tet; do rm -rf %{buildroot}%{_datadir}/locale/$lang @@ -463,7 +485,7 @@ done %{_libdir}/vlc/plugins/codec/liblibass_plugin.so %endif %if 0%{?suse_version} > 1110 -%if 0%{?suse_version} != 1315 || 0%{?BUILD_ORIG} +%if 0%{?suse_version} != 1315 %{_libdir}/vlc/plugins/codec/libsdl_image_plugin.so %endif %endif @@ -483,7 +505,7 @@ done %{_libdir}/vlc/plugins/visualization/libglspectrum_plugin.so %{_libdir}/vlc/plugins/video_output/libaa_plugin.so %if 0%{?suse_version} > 1110 -%if 0%{?suse_version} != 1315 || 0%{?BUILD_ORIG} +%if 0%{?suse_version} != 1315 %{_libdir}/vlc/plugins/visualization/libprojectm_plugin.so %endif %endif @@ -721,12 +743,15 @@ done %{_libdir}/vlc/plugins/codec/libdts_plugin.so %{_libdir}/vlc/plugins/codec/libdvbsub_plugin.so %{_libdir}/vlc/plugins/codec/libedummy_plugin.so +%if 0%{?suse_version} > 1110 || 0%{?BUILD_ORIG} %{_libdir}/vlc/plugins/codec/libflac_plugin.so +%endif -%if 0%{?suse_version} > 1140 -%if 0%{?suse_version} != 1315 +%if %{with fluidsynth} %{_libdir}/vlc/plugins/codec/libfluidsynth_plugin.so %endif + +%if 0%{?suse_version} > 1140 %if 0%{?BUILD_ORIG} %{_libdir}/vlc/plugins/codec/libhwdummy_plugin.so %endif @@ -884,7 +909,7 @@ done %{_libdir}/vlc/plugins/services_discovery/libsap_plugin.so %{_libdir}/vlc/plugins/services_discovery/libudev_plugin.so %if 0%{?suse_version} > 1110 -%if 0%{?suse_version} != 1315 || 0%{?BUILD_ORIG} +%if 0%{?suse_version} != 1315 %{_libdir}/vlc/plugins/services_discovery/libupnp_plugin.so %endif %endif @@ -955,9 +980,7 @@ done %{_libdir}/vlc/plugins/video_splitter/libclone_plugin.so %{_libdir}/vlc/plugins/video_filter/libcolorthres_plugin.so %{_libdir}/vlc/plugins/video_filter/libcroppadd_plugin.so -%if 0%{?suse_version} > 1110 %{_libdir}/vlc/plugins/video_filter/libdeinterlace_plugin.so -%endif %{_libdir}/vlc/plugins/video_filter/libdynamicoverlay_plugin.so %{_libdir}/vlc/plugins/video_filter/liberase_plugin.so %{_libdir}/vlc/plugins/video_filter/libextract_plugin.so @@ -977,7 +1000,7 @@ done %{_libdir}/vlc/plugins/video_filter/libmotionblur_plugin.so %{_libdir}/vlc/plugins/video_filter/libmotiondetect_plugin.so %if 0%{?suse_version} > 1110 -%if 0%{?suse_version} != 1315 || 0%{?BUILD_ORIG} +%if 0%{?suse_version} != 1315 %{_libdir}/vlc/plugins/video_filter/libopencv_example_plugin.so %{_libdir}/vlc/plugins/video_filter/libopencv_wrapper_plugin.so %endif @@ -1038,8 +1061,10 @@ done %endif %{_libdir}/vlc/plugins/codec/libvaapi_x11_plugin.so %{_libdir}/vlc/plugins/demux/libavformat_plugin.so +%if 0%{?BUILD_ORIG} %{_libdir}/vlc/plugins/demux/libhevc_plugin.so %{_libdir}/vlc/plugins/packetizer/libpacketizer_hevc_plugin.so +%endif %if 0%{?suse_version} > 1140 %dir %{_libdir}/vlc/plugins/vdpau %{_libdir}/vlc/plugins/vdpau/libvdpau_adjust_plugin.so