From 1dd470ca9c350dc45b1b36833601cfcb3ebb6c1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sun, 17 Dec 2006 12:51:33 +0000 Subject: [PATCH 01/82] =?UTF-8?q?*=20Sun=20Dec=2017=202006=20Ville=20Skytt?= =?UTF-8?q?=C3=A4=20=20-=201.1.3-2=20-=20Don't?= =?UTF-8?q?=20run=20autotools=20during=20build.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Mon Dec 04 2006 Aurelien Bompard 1.1.3-1 - version 1.1.3 - patch2 applied upstream - Disable CACA support by default, needs newer than what's in FE ATM. - Split extras plugins in a separate package - Enable JACK support (in extras subpackage) - Enable DirectFB support (in extras subpackage) * Sat Nov 11 2006 Aurelien Bompard 1.1.2-18 - Make shn files available to amarok. References: http://xine.cvs.sourceforge.net/xine/xine-lib/src/demuxers/demux_shn.c?r1=1.1.2.2&r2=1.2 https://launchpad.net/distros/ubuntu/+source/xine-lib/+bug/63130 --- .cvsignore | 3 +- sources | 3 +- xine-lib-1.1.1-configure-no-mcpu-march.patch | 13 -- xine-lib-1.1.3-optflags.patch | 22 +++ xine-lib-cleanup-sources.sh | 11 +- xine-lib.spec | 145 +++++++++++++------ 6 files changed, 132 insertions(+), 65 deletions(-) delete mode 100644 xine-lib-1.1.1-configure-no-mcpu-march.patch create mode 100644 xine-lib-1.1.3-optflags.patch diff --git a/.cvsignore b/.cvsignore index 7d987ff..c99b3db 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1,2 @@ -xine-lib-1.1.2.tar.bz2 +xine-lib-1.1.3-pruned.tar.bz2 +xine-lib-1.1.3-autotools.patch.bz2 diff --git a/sources b/sources index b512d76..3bdc00e 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -d1afb34d2335f8c9ded4d9a2b741251e xine-lib-1.1.2.tar.bz2 +eff682745f198e1881773509f12c70c3 xine-lib-1.1.3-pruned.tar.bz2 +a58fce450d9288224caa413ad8bc1f8d xine-lib-1.1.3-autotools.patch.bz2 diff --git a/xine-lib-1.1.1-configure-no-mcpu-march.patch b/xine-lib-1.1.1-configure-no-mcpu-march.patch deleted file mode 100644 index 4b6ba9e..0000000 --- a/xine-lib-1.1.1-configure-no-mcpu-march.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- m4/optimizations.m4.orig 2005-11-27 01:20:08.000000000 +0100 -+++ m4/optimizations.m4 2005-11-27 01:22:56.000000000 +0100 -@@ -161,10 +161,6 @@ - ;; - - esac -- if test x"$archopt_val" != x; then -- CFLAGS="$sarchopt=$archopt_val $CFLAGS" -- DEBUG_CFLAGS="$sarchopt=$archopt_val $DEBUG_CFLAGS" -- fi - fi - else - dnl we have the Intel compiler diff --git a/xine-lib-1.1.3-optflags.patch b/xine-lib-1.1.3-optflags.patch new file mode 100644 index 0000000..8413f5a --- /dev/null +++ b/xine-lib-1.1.3-optflags.patch @@ -0,0 +1,22 @@ +--- xine-lib-1.1.3/m4/optimizations.m4~ 2006-06-17 18:20:56.000000000 +0300 ++++ xine-lib-1.1.3/m4/optimizations.m4 2006-12-17 11:49:44.000000000 +0200 +@@ -107,7 +107,7 @@ + + DEBUG_CFLAGS="-O $DEBUG_CFLAGS" + +- if test x"$sarchopt" != "xno"; then ++ if false ; then + archopt_val= + + case "$host_or_hostalias" in +--- xine-lib-1.1.3/configure~ 2006-12-03 21:41:27.000000000 +0200 ++++ xine-lib-1.1.3/configure 2006-12-17 11:50:07.000000000 +0200 +@@ -46971,7 +46971,7 @@ + + DEBUG_CFLAGS="-O $DEBUG_CFLAGS" + +- if test x"$sarchopt" != "xno"; then ++ if false ; then + archopt_val= + + case "$host_or_hostalias" in diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh index dfa3ef4..97da5bd 100755 --- a/xine-lib-cleanup-sources.sh +++ b/xine-lib-cleanup-sources.sh @@ -6,8 +6,9 @@ if [ -z "$1" -o $# -ne 1 ]; then fi version=$1 -tarball="xine-lib-$version.tar.bz2" +tarball="xine-lib-$version.tar.gz" dir="xine-lib-$version" +modtarball="xine-lib-$version-pruned.tar.bz2" if [ ! -f $tarball ]; then @@ -17,7 +18,7 @@ fi echo "Uncompressing $tarball..." rm -rf $dir -tar -xjf $tarball +tar -xzf $tarball cd $dir # Main libraries @@ -58,8 +59,6 @@ sed -i -e 's/planar//g;s/deinterlace//g' src/post/Makefile.am # fails to build # All clean ! cd .. -echo "Generating $tarball..." -rm -f $tarball.orig -mv $tarball $tarball.orig -tar -cjf $tarball $dir +echo "Generating $modtarball..." +tar -cjf $modtarball $dir rm -rf $dir diff --git a/xine-lib.spec b/xine-lib.spec index faf767c..f317955 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -1,54 +1,64 @@ # TODO, sometime, maybe: # - libstk: http://www.libstk.net/ -# - polypaudio +# - pulseaudio %define codecdir %{_libdir}/codecs -#%define vdrver 0.7.9 Summary: Xine library Name: xine-lib -Version: 1.1.2 -Release: 17%{?dist} +Version: 1.1.3 +Release: 2%{?dist} License: GPL Group: System Environment/Libraries URL: http://xinehq.de/ # The tarball is generated from the upstream tarball using # the script in SOURCE1. It prunes potentially patented code -Source0: http://dl.sourceforge.net/xine/xine-lib-1.1.2.tar.bz2 -Source1: xine-lib-cleanup-sources.sh -Patch1: xine-lib-1.1.1-configure-no-mcpu-march.patch -Patch6: xine-lib-1.1.1-deepbind-939.patch -Patch7: xine-lib-1.1.1-multilib-devel.patch -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot +#Source0: http://dl.sourceforge.net/xine/xine-lib-%{version}.tar.gz +Source0: %{name}-%{version}-pruned.tar.bz2 +Source1: %{name}-cleanup-sources.sh +# To recreate the autotools patch: install build deps, extract source0, +# remove run_configure "$@" from autogen.sh, copy the dir to -patched, +# run autogen.sh (doesn't work with automake 1.10 as of 1.1.3 so use 1.9), +# remove autom4te.cache, then diff the dirs. Apply rest of the patches during +# build so that autotools do not need to be run again. +Patch0: %{name}-1.1.3-autotools.patch.bz2 +Patch1: %{name}-1.1.3-optflags.patch +Patch6: %{name}-1.1.1-deepbind-939.patch +Patch7: %{name}-1.1.1-multilib-devel.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) # X11 BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel libGLU-devel # Video BuildRequires: freetype-devel SDL-devel libtheora-devel libmng-devel -BuildRequires: aalib-devel >= 1.4 libcaca-devel +BuildRequires: aalib-devel >= 1.4 +%if 0%{?_with_caca:1} +BuildRequires: libcaca-devel >= 0.99 +%endif +%if 0%{!?_without_directfb:1} +BuildRequires: directfb-devel +%endif +%if 0%{!?_without_imagemagick:1} +BuildRequires: ImageMagick-devel >= 6.2.4.6-1 +%endif # Audio BuildRequires: libogg-devel libvorbis-devel flac-devel libmodplug-devel BuildRequires: esound-devel speex-devel arts-devel alsa-lib-devel >= 0.9.0 +BuildRequires: jack-audio-connection-kit-devel # CDs BuildRequires: libcdio-devel # Other -BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel -BuildRequires: libtool >= 1.4.0 /usr/bin/automake-1.9 samba-common - -%if 0%{?_with_directfb:1} -BuildRequires: directfb-devel -%endif -%if 0%{!?_without_imagemagick:1} -BuildRequires: ImageMagick-devel >= 6.2.4.6-1 -%endif -#Provides: %{name}(vdr) = %{vdrver} +BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel samba-common %package devel Summary: Xine library development files Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: pkgconfig zlib-devel -#Requires: %{name}(vdr) = %{vdrver} -#Provides: %{name}-devel(vdr) = %{vdrver} + +%package extras +Summary: Additional plugins for xine-lib +Group: System Environment/Libraries +Requires: %{name} = %{version}-%{release} %description @@ -58,48 +68,69 @@ disk drives, and displays multimedia streamed over the Internet. It interprets many of the most common multimedia formats available - and some of the most uncommon formats, too. Non-default rpmbuild options: --without imagemagick: Disable ImageMagick support ---with directfb: Enable DirectFB support +--without directfb: Disable DirectFB support +--with caca: Enable CACA support %description devel This package contains development files for xine-lib. +%description extras +This package contains extra plugins for xine-lib: + - aRts + - EsounD + - JACK + - GDK-Pixbuf + - GNOME VFS + - SMB + - SDL + - AA-lib +%if 0%{?_with_caca:1} + - Libcaca +%endif +%if 0%{!?_without_imagemagick:1} + - Image decoding +%endif +%if 0%{!?_without_directfb:1} + - DirectFB output +%endif + + %prep %setup -q -%patch1 -p0 -b .nomcpu -###cp -p debian/changelog ChangeLog.vdr +%patch0 -p1 -b .autotools +cp -p m4/optimizations.m4 m4/optimizations.m4.stamp +%patch1 -p1 -b .optflags +touch -r m4/optimizations.m4.stamp m4/optimizations.m4 # Patch6 needed at least when compiling with external ffmpeg, #939. %patch6 -p1 -b .deepbind %patch7 -p0 -b .multilib-devel find . -name "*.[hc]" | xargs chmod -c -x -aclocal-1.9 -I m4 -libtoolize --force -autoheader -automake-1.9 --gnu --add-missing -autoconf - # Avoid standard rpaths on lib64 archs: sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure %build -FFMPEG_CPPFLAGS=" "; FFMPEG_LIBS=" "; export FFMPEG_CPPFLAGS FFMPEG_LIBS +export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" " +export FFMPEG_POSTPROC_CFLAGS=" " FFMPEG_POSTPROC_LIBS=" " +export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)" %configure --disable-dependency-tracking \ --with-xv-path=%{_libdir} \ --with-w32-path=%{codecdir} \ --with-external-ffmpeg \ --enable-ipv6 \ -%if 0%{?_with_directfb:1} +%if 0%{!?_without_directfb:1} --enable-directfb \ %endif %if 0%{?_without_imagemagick:1} - --disable-imagemagick \ + --without-imagemagick \ +%endif +%if 0%{!?_with_caca:1} + --without-caca \ %endif - --disable-rte \ --disable-libfame \ - --disable-ffmpegtest \ --disable-faad \ --disable-mad \ --disable-asf \ @@ -146,7 +177,6 @@ rm -rf $RPM_BUILD_ROOT %dir %{_libdir}/xine/plugins/%{version}/ # I list all the plugins because I don't want a non-free plugin # to sneak into a future version -# these plugins do not have legal problems according to the SuSE RPM %{_libdir}/xine/plugins/%{version}/xineplug_ao_out_alsa.so %{_libdir}/xine/plugins/%{version}/xineplug_ao_out_oss.so %{_libdir}/xine/plugins/%{version}/xineplug_ao_out_none.so @@ -154,6 +184,7 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{version}/xineplug_ao_out_file.so %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_none.so %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_opengl.so +%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_syncfb.so %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xshm.so %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xv.so %{_libdir}/xine/plugins/%{version}/xineplug_inp_dvb.so @@ -163,12 +194,10 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{version}/xineplug_inp_net.so %{_libdir}/xine/plugins/%{version}/xineplug_inp_pnm.so %{_libdir}/xine/plugins/%{version}/xineplug_inp_cdda.so -%{_libdir}/xine/plugins/%{version}/xineplug_inp_smb.so %{_libdir}/xine/plugins/%{version}/xineplug_inp_stdin_fifo.so %{_libdir}/xine/plugins/%{version}/xineplug_inp_rtsp.so %{_libdir}/xine/plugins/%{version}/xineplug_inp_pvr.so %{_libdir}/xine/plugins/%{version}/xineplug_inp_rtp.so -#%{_libdir}/xine/plugins/%{version}/xineplug_inp_vdr.so %{_libdir}/xine/plugins/%{version}/xineplug_decode_bitplane.so %{_libdir}/xine/plugins/%{version}/xineplug_decode_rgb.so %{_libdir}/xine/plugins/%{version}/xineplug_decode_vorbis.so @@ -200,8 +229,6 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{version}/xineplug_dmx_slave.so %{_libdir}/xine/plugins/%{version}/xineplug_flac.so %{_libdir}/xine/plugins/%{version}/xineplug_decode_sputext.so -%{_libdir}/xine/plugins/%{version}/xineplug_decode_gdk_pixbuf.so -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so %ifarch %ix86 %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_vidix.so %{_libdir}/xine/plugins/%{version}/xineplug_decode_qt.so @@ -213,13 +240,27 @@ rm -rf $RPM_BUILD_ROOT %endif %{_libdir}/xine/plugins/%{version}/post/ %{_libdir}/xine/plugins/%{version}/vidix/ -# Put it in a xine-lib-extras package one day ? + + +%files extras +%defattr(-,root,root,-) %{_libdir}/xine/plugins/%{version}/xineplug_ao_out_arts.so %{_libdir}/xine/plugins/%{version}/xineplug_ao_out_esd.so +%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_jack.so %{_libdir}/xine/plugins/%{version}/xineplug_inp_gnome_vfs.so +%{_libdir}/xine/plugins/%{version}/xineplug_inp_smb.so %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_aa.so +%{_libdir}/xine/plugins/%{version}/xineplug_decode_gdk_pixbuf.so +%if 0%{?_with_caca:1} +%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so +%endif +%if 0%{!?_without_imagemagick:1} %{_libdir}/xine/plugins/%{version}/xineplug_decode_image.so +%endif +%if 0%{!?_without_directfb:1} +%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_directfb.so +%endif %files devel @@ -233,9 +274,25 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/pkgconfig/libxine.pc %{_mandir}/man1/xine-config.1* -# -------------------------------------------------------------------- + %changelog +* Sun Dec 17 2006 Ville Skyttä - 1.1.3-2 +- Don't run autotools during build. + +* Mon Dec 04 2006 Aurelien Bompard 1.1.3-1 +- version 1.1.3 +- patch2 applied upstream +- Disable CACA support by default, needs newer than what's in FE ATM. +- Split extras plugins in a separate package +- Enable JACK support (in extras subpackage) +- Enable DirectFB support (in extras subpackage) + +* Sat Nov 11 2006 Aurelien Bompard 1.1.2-18 +- Make shn files available to amarok. References: + http://xine.cvs.sourceforge.net/xine/xine-lib/src/demuxers/demux_shn.c?r1=1.1.2.2&r2=1.2 + https://launchpad.net/distros/ubuntu/+source/xine-lib/+bug/63130 + * Wed Oct 18 2006 Aurelien Bompard 1.1.2-17 - cleanup docs - remove mms From e5c2e5e2194891cd754d20ea7a81a90554297553 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Wed, 3 Jan 2007 20:27:12 +0000 Subject: [PATCH 02/82] =?UTF-8?q?*=20Wed=20Jan=20=203=202007=20Ville=20Sky?= =?UTF-8?q?tt=C3=A4=20=20-=201.1.3-3=20-=20Fix?= =?UTF-8?q?=20libflac=20decoder=20with=20FLAC=20<=201.1.3=20(#220961).=20-?= =?UTF-8?q?=20Apply=20upstream=20patch=20for=20FLAC=20>=3D=201.1.3.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xine-lib-1.1.3-flac113.patch | 149 ++++++++++++++++++++++++++ xine-lib-1.1.3-legacy-flac-init.patch | 16 +++ xine-lib.spec | 10 +- 3 files changed, 174 insertions(+), 1 deletion(-) create mode 100644 xine-lib-1.1.3-flac113.patch create mode 100644 xine-lib-1.1.3-legacy-flac-init.patch diff --git a/xine-lib-1.1.3-flac113.patch b/xine-lib-1.1.3-flac113.patch new file mode 100644 index 0000000..f698b90 --- /dev/null +++ b/xine-lib-1.1.3-flac113.patch @@ -0,0 +1,149 @@ +Index: xine-lib/src/libflac/decoder_flac.c +diff -u xine-lib/src/libflac/decoder_flac.c:1.21 xine-lib/src/libflac/decoder_flac.c:1.22 +--- xine-lib/src/libflac/decoder_flac.c:1.21 Sat Aug 5 13:34:42 2006 ++++ xine-lib/src/libflac/decoder_flac.c Mon Dec 25 19:22:00 2006 +@@ -30,6 +30,13 @@ + + #include + ++#if !defined FLAC_API_VERSION_CURRENT || FLAC_API_VERSION_CURRENT < 8 ++#include ++#define LEGACY_FLAC ++#else ++#undef LEGACY_FLAC ++#endif ++ + #define LOG_MODULE "flac_decoder" + #define LOG_VERBOSE + +@@ -344,6 +351,7 @@ + + this->flac_decoder = FLAC__stream_decoder_new(); + ++#ifdef LEGACY_FLAC + FLAC__stream_decoder_set_read_callback (this->flac_decoder, + flac_read_callback); + FLAC__stream_decoder_set_write_callback (this->flac_decoder, +@@ -359,6 +367,22 @@ + free (this); + return NULL; + } ++#else ++ if ( FLAC__stream_decoder_init_stream (this->flac_decoder, ++ flac_read_callback, ++ NULL, /* seek */ ++ NULL, /* tell */ ++ NULL, /* length */ ++ NULL, /* eof */ ++ flac_write_callback, ++ NULL, /* metadata */ ++ flac_error_callback, ++ this ++ ) != FLAC__STREAM_DECODER_INIT_STATUS_OK ) { ++ free (this); ++ return NULL; ++ } ++#endif + + return (audio_decoder_t *) this; + } +Index: xine-lib/src/libflac/demux_flac.c +diff -u xine-lib/src/libflac/demux_flac.c:1.24 xine-lib/src/libflac/demux_flac.c:1.25 +--- xine-lib/src/libflac/demux_flac.c:1.24 Sat Oct 21 18:50:41 2006 ++++ xine-lib/src/libflac/demux_flac.c Mon Dec 25 19:22:00 2006 +@@ -441,7 +441,11 @@ + lprintf("demux_flac_dispose\n"); + + if (this->flac_decoder) ++#ifdef LEGACY_FLAC + FLAC__seekable_stream_decoder_delete (this->flac_decoder); ++#else ++ FLAC__stream_decoder_delete (this->flac_decoder); ++#endif + + free(this); + return; +@@ -494,8 +498,13 @@ + } + target_sample = (uint64_t)(distance * this->total_samples); + ++#ifdef LEGACY_FLAC + s = FLAC__seekable_stream_decoder_seek_absolute (this->flac_decoder, + target_sample); ++#else ++ s = FLAC__stream_decoder_seek_absolute (this->flac_decoder, ++ target_sample); ++#endif + + if (s) { + lprintf ("Seek to: %d successfull!\n", start_time); +@@ -618,9 +627,6 @@ + /* Get a new FLAC decoder and hook up callbacks */ + #ifdef LEGACY_FLAC + this->flac_decoder = FLAC__seekable_stream_decoder_new(); +-#else +- this->flac_decoder = FLAC__stream_decoder_new(); +-#endif + lprintf("this->flac_decoder: %p\n", this->flac_decoder); + + FLAC__seekable_stream_decoder_set_md5_checking (this->flac_decoder, false); +@@ -644,6 +650,37 @@ + this); + + FLAC__seekable_stream_decoder_init (this->flac_decoder); ++#else ++ this->flac_decoder = FLAC__stream_decoder_new(); ++ lprintf("this->flac_decoder: %p\n", this->flac_decoder); ++ ++ if ( ! this->flac_decoder ) { ++ free(this); ++ return NULL; ++ } ++ ++ FLAC__stream_decoder_set_md5_checking (this->flac_decoder, false); ++ ++ if ( FLAC__stream_decoder_init_stream(this->flac_decoder, ++ flac_read_callback, ++ flac_seek_callback, ++ flac_tell_callback, ++ flac_length_callback, ++ flac_eof_callback, ++ flac_write_callback, ++ flac_metadata_callback, ++ flac_error_callback, ++ this ++ ) != FLAC__STREAM_DECODER_INIT_STATUS_OK ) { ++#ifdef LEGACY_FLAC ++ FLAC__seekable_stream_decoder_delete (this->flac_decoder); ++#else ++ FLAC__stream_decoder_delete (this->flac_decoder); ++#endif ++ free(this); ++ return NULL; ++ } ++#endif + + /* Get some stream info */ + this->data_size = this->input->get_length (this->input); +@@ -653,13 +690,21 @@ + * this flac stream + */ + this->status = DEMUX_OK; ++#ifdef LEGACY_FLAC + FLAC__seekable_stream_decoder_process_until_end_of_metadata (this->flac_decoder); ++#else ++ FLAC__stream_decoder_process_until_end_of_metadata (this->flac_decoder); ++#endif + + lprintf("Processed file until end of metadata: %s\n", + this->status == DEMUX_OK ? "success" : "failure"); + + if (this->status != DEMUX_OK) { ++#ifdef LEGACY_FLAC + FLAC__seekable_stream_decoder_delete (this->flac_decoder); ++#else ++ FLAC__stream_decoder_delete (this->flac_decoder); ++#endif + free (this); + return NULL; + } diff --git a/xine-lib-1.1.3-legacy-flac-init.patch b/xine-lib-1.1.3-legacy-flac-init.patch new file mode 100644 index 0000000..ba1cdb7 --- /dev/null +++ b/xine-lib-1.1.3-legacy-flac-init.patch @@ -0,0 +1,16 @@ +Index: src/libflac/decoder_flac.c +=================================================================== +RCS file: /cvsroot/xine/xine-lib/src/libflac/decoder_flac.c,v +retrieving revision 1.22 +diff -u -r1.22 decoder_flac.c +--- src/libflac/decoder_flac.c 25 Dec 2006 19:22:00 -0000 1.22 ++++ src/libflac/decoder_flac.c 3 Jan 2007 19:58:07 -0000 +@@ -363,7 +363,7 @@ + + FLAC__stream_decoder_set_client_data (this->flac_decoder, this); + +- if (FLAC__stream_decoder_init (this->flac_decoder) == FLAC__STREAM_DECODER_SEARCH_FOR_METADATA) { ++ if (FLAC__stream_decoder_init (this->flac_decoder) != FLAC__STREAM_DECODER_SEARCH_FOR_METADATA) { + free (this); + return NULL; + } diff --git a/xine-lib.spec b/xine-lib.spec index f317955..8477e9b 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -7,7 +7,7 @@ Summary: Xine library Name: xine-lib Version: 1.1.3 -Release: 2%{?dist} +Release: 3%{?dist} License: GPL Group: System Environment/Libraries URL: http://xinehq.de/ @@ -23,6 +23,8 @@ Source1: %{name}-cleanup-sources.sh # build so that autotools do not need to be run again. Patch0: %{name}-1.1.3-autotools.patch.bz2 Patch1: %{name}-1.1.3-optflags.patch +Patch2: %{name}-1.1.3-flac113.patch +Patch3: %{name}-1.1.3-legacy-flac-init.patch Patch6: %{name}-1.1.1-deepbind-939.patch Patch7: %{name}-1.1.1-multilib-devel.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -102,6 +104,8 @@ This package contains extra plugins for xine-lib: cp -p m4/optimizations.m4 m4/optimizations.m4.stamp %patch1 -p1 -b .optflags touch -r m4/optimizations.m4.stamp m4/optimizations.m4 +%patch2 -p1 -b .flac113 +%patch3 -p0 -b .legacy-flac-init # Patch6 needed at least when compiling with external ffmpeg, #939. %patch6 -p1 -b .deepbind %patch7 -p0 -b .multilib-devel @@ -277,6 +281,10 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Jan 3 2007 Ville Skyttä - 1.1.3-3 +- Fix libflac decoder with FLAC < 1.1.3 (#220961). +- Apply upstream patch for FLAC >= 1.1.3. + * Sun Dec 17 2006 Ville Skyttä - 1.1.3-2 - Don't run autotools during build. From 929bb3df9b5e58a72422b1304887b7515bd70c2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Fri, 2 Feb 2007 18:02:26 +0000 Subject: [PATCH 03/82] =?UTF-8?q?*=20Wed=20Jan=2031=202007=20Ville=20Skytt?= =?UTF-8?q?=C3=A4=20=20-=201.1.4-1=20-=201.1.4?= =?UTF-8?q?,=20with=20wavpack=20and=20system=20libmpcdec=20support.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cvsignore | 4 +- sources | 4 +- xine-lib-1.1.3-flac113.patch | 149 ------------------ ...ags.patch => xine-lib-1.1.4-optflags.patch | 10 +- xine-lib-mk-autotools-patch.sh | 24 +++ xine-lib.spec | 45 +++--- 6 files changed, 60 insertions(+), 176 deletions(-) delete mode 100644 xine-lib-1.1.3-flac113.patch rename xine-lib-1.1.3-optflags.patch => xine-lib-1.1.4-optflags.patch (61%) create mode 100644 xine-lib-mk-autotools-patch.sh diff --git a/.cvsignore b/.cvsignore index c99b3db..aea6ec7 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ -xine-lib-1.1.3-pruned.tar.bz2 -xine-lib-1.1.3-autotools.patch.bz2 +xine-lib-1.1.4-pruned.tar.bz2 +xine-lib-1.1.4-autotools.patch.bz2 diff --git a/sources b/sources index 3bdc00e..2a4625c 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -eff682745f198e1881773509f12c70c3 xine-lib-1.1.3-pruned.tar.bz2 -a58fce450d9288224caa413ad8bc1f8d xine-lib-1.1.3-autotools.patch.bz2 +81faabf1e38abed44639dbe4c76719f9 xine-lib-1.1.4-pruned.tar.bz2 +a916758545ed73a369f40648c7bc449c xine-lib-1.1.4-autotools.patch.bz2 diff --git a/xine-lib-1.1.3-flac113.patch b/xine-lib-1.1.3-flac113.patch deleted file mode 100644 index f698b90..0000000 --- a/xine-lib-1.1.3-flac113.patch +++ /dev/null @@ -1,149 +0,0 @@ -Index: xine-lib/src/libflac/decoder_flac.c -diff -u xine-lib/src/libflac/decoder_flac.c:1.21 xine-lib/src/libflac/decoder_flac.c:1.22 ---- xine-lib/src/libflac/decoder_flac.c:1.21 Sat Aug 5 13:34:42 2006 -+++ xine-lib/src/libflac/decoder_flac.c Mon Dec 25 19:22:00 2006 -@@ -30,6 +30,13 @@ - - #include - -+#if !defined FLAC_API_VERSION_CURRENT || FLAC_API_VERSION_CURRENT < 8 -+#include -+#define LEGACY_FLAC -+#else -+#undef LEGACY_FLAC -+#endif -+ - #define LOG_MODULE "flac_decoder" - #define LOG_VERBOSE - -@@ -344,6 +351,7 @@ - - this->flac_decoder = FLAC__stream_decoder_new(); - -+#ifdef LEGACY_FLAC - FLAC__stream_decoder_set_read_callback (this->flac_decoder, - flac_read_callback); - FLAC__stream_decoder_set_write_callback (this->flac_decoder, -@@ -359,6 +367,22 @@ - free (this); - return NULL; - } -+#else -+ if ( FLAC__stream_decoder_init_stream (this->flac_decoder, -+ flac_read_callback, -+ NULL, /* seek */ -+ NULL, /* tell */ -+ NULL, /* length */ -+ NULL, /* eof */ -+ flac_write_callback, -+ NULL, /* metadata */ -+ flac_error_callback, -+ this -+ ) != FLAC__STREAM_DECODER_INIT_STATUS_OK ) { -+ free (this); -+ return NULL; -+ } -+#endif - - return (audio_decoder_t *) this; - } -Index: xine-lib/src/libflac/demux_flac.c -diff -u xine-lib/src/libflac/demux_flac.c:1.24 xine-lib/src/libflac/demux_flac.c:1.25 ---- xine-lib/src/libflac/demux_flac.c:1.24 Sat Oct 21 18:50:41 2006 -+++ xine-lib/src/libflac/demux_flac.c Mon Dec 25 19:22:00 2006 -@@ -441,7 +441,11 @@ - lprintf("demux_flac_dispose\n"); - - if (this->flac_decoder) -+#ifdef LEGACY_FLAC - FLAC__seekable_stream_decoder_delete (this->flac_decoder); -+#else -+ FLAC__stream_decoder_delete (this->flac_decoder); -+#endif - - free(this); - return; -@@ -494,8 +498,13 @@ - } - target_sample = (uint64_t)(distance * this->total_samples); - -+#ifdef LEGACY_FLAC - s = FLAC__seekable_stream_decoder_seek_absolute (this->flac_decoder, - target_sample); -+#else -+ s = FLAC__stream_decoder_seek_absolute (this->flac_decoder, -+ target_sample); -+#endif - - if (s) { - lprintf ("Seek to: %d successfull!\n", start_time); -@@ -618,9 +627,6 @@ - /* Get a new FLAC decoder and hook up callbacks */ - #ifdef LEGACY_FLAC - this->flac_decoder = FLAC__seekable_stream_decoder_new(); --#else -- this->flac_decoder = FLAC__stream_decoder_new(); --#endif - lprintf("this->flac_decoder: %p\n", this->flac_decoder); - - FLAC__seekable_stream_decoder_set_md5_checking (this->flac_decoder, false); -@@ -644,6 +650,37 @@ - this); - - FLAC__seekable_stream_decoder_init (this->flac_decoder); -+#else -+ this->flac_decoder = FLAC__stream_decoder_new(); -+ lprintf("this->flac_decoder: %p\n", this->flac_decoder); -+ -+ if ( ! this->flac_decoder ) { -+ free(this); -+ return NULL; -+ } -+ -+ FLAC__stream_decoder_set_md5_checking (this->flac_decoder, false); -+ -+ if ( FLAC__stream_decoder_init_stream(this->flac_decoder, -+ flac_read_callback, -+ flac_seek_callback, -+ flac_tell_callback, -+ flac_length_callback, -+ flac_eof_callback, -+ flac_write_callback, -+ flac_metadata_callback, -+ flac_error_callback, -+ this -+ ) != FLAC__STREAM_DECODER_INIT_STATUS_OK ) { -+#ifdef LEGACY_FLAC -+ FLAC__seekable_stream_decoder_delete (this->flac_decoder); -+#else -+ FLAC__stream_decoder_delete (this->flac_decoder); -+#endif -+ free(this); -+ return NULL; -+ } -+#endif - - /* Get some stream info */ - this->data_size = this->input->get_length (this->input); -@@ -653,13 +690,21 @@ - * this flac stream - */ - this->status = DEMUX_OK; -+#ifdef LEGACY_FLAC - FLAC__seekable_stream_decoder_process_until_end_of_metadata (this->flac_decoder); -+#else -+ FLAC__stream_decoder_process_until_end_of_metadata (this->flac_decoder); -+#endif - - lprintf("Processed file until end of metadata: %s\n", - this->status == DEMUX_OK ? "success" : "failure"); - - if (this->status != DEMUX_OK) { -+#ifdef LEGACY_FLAC - FLAC__seekable_stream_decoder_delete (this->flac_decoder); -+#else -+ FLAC__stream_decoder_delete (this->flac_decoder); -+#endif - free (this); - return NULL; - } diff --git a/xine-lib-1.1.3-optflags.patch b/xine-lib-1.1.4-optflags.patch similarity index 61% rename from xine-lib-1.1.3-optflags.patch rename to xine-lib-1.1.4-optflags.patch index 8413f5a..a76864a 100644 --- a/xine-lib-1.1.3-optflags.patch +++ b/xine-lib-1.1.4-optflags.patch @@ -1,5 +1,5 @@ ---- xine-lib-1.1.3/m4/optimizations.m4~ 2006-06-17 18:20:56.000000000 +0300 -+++ xine-lib-1.1.3/m4/optimizations.m4 2006-12-17 11:49:44.000000000 +0200 +--- xine-lib-1.1.4/m4/optimizations.m4~ 2006-06-17 18:20:56.000000000 +0300 ++++ xine-lib-1.1.4/m4/optimizations.m4 2007-01-30 23:03:27.000000000 +0200 @@ -107,7 +107,7 @@ DEBUG_CFLAGS="-O $DEBUG_CFLAGS" @@ -9,9 +9,9 @@ archopt_val= case "$host_or_hostalias" in ---- xine-lib-1.1.3/configure~ 2006-12-03 21:41:27.000000000 +0200 -+++ xine-lib-1.1.3/configure 2006-12-17 11:50:07.000000000 +0200 -@@ -46971,7 +46971,7 @@ +--- xine-lib-1.1.4/configure~ 2007-01-30 23:02:56.000000000 +0200 ++++ xine-lib-1.1.4/configure 2007-01-30 23:03:40.000000000 +0200 +@@ -47754,7 +47754,7 @@ DEBUG_CFLAGS="-O $DEBUG_CFLAGS" diff --git a/xine-lib-mk-autotools-patch.sh b/xine-lib-mk-autotools-patch.sh new file mode 100644 index 0000000..88db99c --- /dev/null +++ b/xine-lib-mk-autotools-patch.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +# be sure to have all build deps + libtool installed before running this + +set -e + +if [ -z "$1" -o $# -ne 1 ]; then + echo "Usage: $0 " + exit 2 +fi + +version=$1 + +rm -rf xine-lib-$version xine-lib-$version-pruned +tar jxf xine-lib-$version-pruned.tar.bz2 +cp -a xine-lib-$version xine-lib-$version-pruned + +cd xine-lib-$version +./autogen.sh noconfig +rm -rf autom4te.cache *~ +cd .. + +diff -Nru xine-lib-$version-pruned xine-lib-$version \ +| bzip2 --best > xine-lib-$version-autotools.patch.bz2 diff --git a/xine-lib.spec b/xine-lib.spec index 8477e9b..b902952 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -1,29 +1,26 @@ # TODO, sometime, maybe: # - libstk: http://www.libstk.net/ # - pulseaudio +# - --enable-antialiasing? %define codecdir %{_libdir}/codecs Summary: Xine library Name: xine-lib -Version: 1.1.3 -Release: 3%{?dist} +Version: 1.1.4 +Release: 1%{?dist} License: GPL Group: System Environment/Libraries URL: http://xinehq.de/ # The tarball is generated from the upstream tarball using # the script in SOURCE1. It prunes potentially patented code -#Source0: http://dl.sourceforge.net/xine/xine-lib-%{version}.tar.gz +#Source0: http://dl.sourceforge.net/xine/xine-lib-%{version}.tar.bz2 Source0: %{name}-%{version}-pruned.tar.bz2 Source1: %{name}-cleanup-sources.sh -# To recreate the autotools patch: install build deps, extract source0, -# remove run_configure "$@" from autogen.sh, copy the dir to -patched, -# run autogen.sh (doesn't work with automake 1.10 as of 1.1.3 so use 1.9), -# remove autom4te.cache, then diff the dirs. Apply rest of the patches during -# build so that autotools do not need to be run again. -Patch0: %{name}-1.1.3-autotools.patch.bz2 -Patch1: %{name}-1.1.3-optflags.patch -Patch2: %{name}-1.1.3-flac113.patch +Source2: %{name}-mk-autotools-patch.sh +# autotools patch created with source2 +Patch0: %{name}-1.1.4-autotools.patch.bz2 +Patch1: %{name}-1.1.4-optflags.patch Patch3: %{name}-1.1.3-legacy-flac-init.patch Patch6: %{name}-1.1.1-deepbind-939.patch Patch7: %{name}-1.1.1-multilib-devel.patch @@ -45,7 +42,7 @@ BuildRequires: ImageMagick-devel >= 6.2.4.6-1 # Audio BuildRequires: libogg-devel libvorbis-devel flac-devel libmodplug-devel BuildRequires: esound-devel speex-devel arts-devel alsa-lib-devel >= 0.9.0 -BuildRequires: jack-audio-connection-kit-devel +BuildRequires: jack-audio-connection-kit-devel wavpack-devel libmpcdec-devel # CDs BuildRequires: libcdio-devel # Other @@ -101,10 +98,10 @@ This package contains extra plugins for xine-lib: %prep %setup -q %patch0 -p1 -b .autotools -cp -p m4/optimizations.m4 m4/optimizations.m4.stamp +touch -r configure.ac aclocal.m4 +touch -r m4/optimizations.m4 m4/optimizations.m4.stamp %patch1 -p1 -b .optflags touch -r m4/optimizations.m4.stamp m4/optimizations.m4 -%patch2 -p1 -b .flac113 %patch3 -p0 -b .legacy-flac-init # Patch6 needed at least when compiling with external ffmpeg, #939. %patch6 -p1 -b .deepbind @@ -124,6 +121,9 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)" --with-xv-path=%{_libdir} \ --with-w32-path=%{codecdir} \ --with-external-ffmpeg \ + --with-external-libmpcdec \ + --with-libflac \ + --with-wavpack \ --enable-ipv6 \ %if 0%{!?_without_directfb:1} --enable-directfb \ @@ -149,8 +149,8 @@ make %{?_smp_mflags} rm -rf $RPM_BUILD_ROOT __docs make install DESTDIR=$RPM_BUILD_ROOT %find_lang libxine1 -cp -pR $RPM_BUILD_ROOT%{_docdir}/xine __docs -rm -rf $RPM_BUILD_ROOT%{_docdir}/xine +cp -pR $RPM_BUILD_ROOT%{_docdir}/xine-lib __docs +rm -rf $RPM_BUILD_ROOT%{_docdir}/xine-lib # Removing useless files rm -Rf $RPM_BUILD_ROOT%{_libdir}/libxine.la __docs/README \ @@ -166,12 +166,14 @@ rm -rf $RPM_BUILD_ROOT %post -p /sbin/ldconfig + %postun -p /sbin/ldconfig %files -f libxine1.lang %defattr(-,root,root,-) -%doc AUTHORS COPYING CREDITS ChangeLog* README TODO __docs/README.* __docs/faq +%doc AUTHORS COPYING CREDITS ChangeLog* README TODO +%doc __docs/README.* __docs/faq.* %dir %{codecdir} %{_datadir}/xine %{_libdir}/libxine.so.* @@ -213,6 +215,7 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{version}/xineplug_decode_theora.so %{_libdir}/xine/plugins/%{version}/xineplug_decode_spudvb.so %{_libdir}/xine/plugins/%{version}/xineplug_decode_mpc.so +%{_libdir}/xine/plugins/%{version}/xineplug_decode_sputext.so %{_libdir}/xine/plugins/%{version}/xineplug_dmx_yuv_frames.so %{_libdir}/xine/plugins/%{version}/xineplug_dmx_real.so %{_libdir}/xine/plugins/%{version}/xineplug_dmx_audio.so @@ -232,7 +235,7 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{version}/xineplug_dmx_games.so %{_libdir}/xine/plugins/%{version}/xineplug_dmx_slave.so %{_libdir}/xine/plugins/%{version}/xineplug_flac.so -%{_libdir}/xine/plugins/%{version}/xineplug_decode_sputext.so +%{_libdir}/xine/plugins/%{version}/xineplug_wavpack.so %ifarch %ix86 %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_vidix.so %{_libdir}/xine/plugins/%{version}/xineplug_decode_qt.so @@ -281,6 +284,12 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Jan 31 2007 Ville Skyttä - 1.1.4-1 +- 1.1.4, with wavpack and system libmpcdec support. + +* Thu Jan 18 2007 Aurelien Bompard 1.1.3-4 +- rebuild + * Wed Jan 3 2007 Ville Skyttä - 1.1.3-3 - Fix libflac decoder with FLAC < 1.1.3 (#220961). - Apply upstream patch for FLAC >= 1.1.3. From 363bbcc165f3db5dff31fe274e3a71ab117537d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sat, 10 Mar 2007 22:12:58 +0000 Subject: [PATCH 04/82] =?UTF-8?q?*=20Sat=20Mar=2010=202007=20Ville=20Skytt?= =?UTF-8?q?=C3=A4=20=20-=201.1.4-3=20-=20Apply?= =?UTF-8?q?=20upstream=20fix=20for=20CVE-2007-1246.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xine-lib-1.1.4-CVE-2007-1246.patch | 40 ++++++++++++++++++++++++++++++ xine-lib.spec | 10 +++++++- 2 files changed, 49 insertions(+), 1 deletion(-) create mode 100644 xine-lib-1.1.4-CVE-2007-1246.patch diff --git a/xine-lib-1.1.4-CVE-2007-1246.patch b/xine-lib-1.1.4-CVE-2007-1246.patch new file mode 100644 index 0000000..c7fec5d --- /dev/null +++ b/xine-lib-1.1.4-CVE-2007-1246.patch @@ -0,0 +1,40 @@ +--------------------- +PatchSet 8656 +Date: 2007/03/10 02:41:34 +Author: dgp85 +Branch: HEAD +Tag: (none) +Log: + * Security fixes: + - Fix heap overflow in DMO loader. (CVE-2007-1246) [bug #1676925] + Thanks to Kees Cook for reporting. + +Members: + ChangeLog:1.724->1.725 + src/libw32dll/DirectShow/DS_VideoDecoder.c:1.9->1.10 + src/libw32dll/dmo/DMO_VideoDecoder.c:1.4->1.5 + +Index: xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c +diff -u xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c:1.9 xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c:1.10 +--- xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c:1.9 Wed Dec 24 16:55:36 2003 ++++ xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c Sat Mar 10 00:41:34 2007 +@@ -110,6 +110,7 @@ + + this->iv.m_bh = (BITMAPINFOHEADER*)malloc(bihs); + memcpy(this->iv.m_bh, format, bihs); ++ this->iv.m_bh->biSize = bihs; + + this->iv.m_State = STOP; + //this->iv.m_pFrame = 0; +Index: xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c +diff -u xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c:1.4 xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c:1.5 +--- xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c:1.4 Wed Dec 24 16:55:36 2003 ++++ xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c Sat Mar 10 00:41:34 2007 +@@ -118,6 +118,7 @@ + + this->iv.m_bh = (BITMAPINFOHEADER*)malloc(bihs); + memcpy(this->iv.m_bh, format, bihs); ++ this->iv.m_bh->biSize = bihs; + + this->iv.m_State = STOP; + //this->iv.m_pFrame = 0; diff --git a/xine-lib.spec b/xine-lib.spec index b902952..2397a7b 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -8,7 +8,7 @@ Summary: Xine library Name: xine-lib Version: 1.1.4 -Release: 1%{?dist} +Release: 3%{?dist} License: GPL Group: System Environment/Libraries URL: http://xinehq.de/ @@ -21,6 +21,7 @@ Source2: %{name}-mk-autotools-patch.sh # autotools patch created with source2 Patch0: %{name}-1.1.4-autotools.patch.bz2 Patch1: %{name}-1.1.4-optflags.patch +Patch2: %{name}-1.1.4-CVE-2007-1246.patch Patch3: %{name}-1.1.3-legacy-flac-init.patch Patch6: %{name}-1.1.1-deepbind-939.patch Patch7: %{name}-1.1.1-multilib-devel.patch @@ -101,6 +102,7 @@ This package contains extra plugins for xine-lib: touch -r configure.ac aclocal.m4 touch -r m4/optimizations.m4 m4/optimizations.m4.stamp %patch1 -p1 -b .optflags +%patch2 -p1 -b .CVE-2007-1246 touch -r m4/optimizations.m4.stamp m4/optimizations.m4 %patch3 -p0 -b .legacy-flac-init # Patch6 needed at least when compiling with external ffmpeg, #939. @@ -284,6 +286,12 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Sat Mar 10 2007 Ville Skyttä - 1.1.4-3 +- Apply upstream fix for CVE-2007-1246. + +* Wed Feb 14 2007 Ville Skyttä - 1.1.4-2 +- Rebuild. + * Wed Jan 31 2007 Ville Skyttä - 1.1.4-1 - 1.1.4, with wavpack and system libmpcdec support. From 8f80adbca060c45cd1b20f7c9bdc48053e6407a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Fri, 13 Apr 2007 20:52:22 +0000 Subject: [PATCH 05/82] =?UTF-8?q?*=20Wed=20Apr=2011=202007=20Ville=20Skytt?= =?UTF-8?q?=C3=A4=20=20-=201.1.5-1=20-=201.1.5?= =?UTF-8?q?.=20-=20Include=20GSM=2006.10=20decoder=20(#228186).=20-=20Re-e?= =?UTF-8?q?nable=20CACA=20support.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Sun Apr 8 2007 Ville Skyttä - Exclude vidix dir on systems that don't have vidix. - Specfile cleanups. * Mon Mar 26 2007 Ville Skyttä - 1.1.4-4 - Add PulseAudio support (in -extras, #234035/Jost Diederichs). - Adjust Samba build dependencies to work for both <= and > FC6. - Add --with freetype and --with antialiasing build time options, default disabled, and an upstream patch for FreeType memory leak (#233194). --- .cvsignore | 4 +- sources | 4 +- xine-lib-1.1.3-legacy-flac-init.patch | 16 -- xine-lib-1.1.4-CVE-2007-1246.patch | 40 ---- ...tch => xine-lib-1.1.5-multilib-devel.patch | 8 +- xine-lib-1.1.5-pthread-check.patch | 24 ++ xine-lib-cleanup-sources.sh | 20 +- xine-lib-mk-autotools-patch.sh | 8 + xine-lib.spec | 214 +++++++++++------- 9 files changed, 185 insertions(+), 153 deletions(-) delete mode 100644 xine-lib-1.1.3-legacy-flac-init.patch delete mode 100644 xine-lib-1.1.4-CVE-2007-1246.patch rename xine-lib-1.1.1-multilib-devel.patch => xine-lib-1.1.5-multilib-devel.patch (77%) create mode 100644 xine-lib-1.1.5-pthread-check.patch diff --git a/.cvsignore b/.cvsignore index aea6ec7..41883b2 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ -xine-lib-1.1.4-pruned.tar.bz2 -xine-lib-1.1.4-autotools.patch.bz2 +xine-lib-1.1.5-pruned.tar.bz2 +xine-lib-1.1.5-autotools.patch.bz2 diff --git a/sources b/sources index 2a4625c..f2e30be 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -81faabf1e38abed44639dbe4c76719f9 xine-lib-1.1.4-pruned.tar.bz2 -a916758545ed73a369f40648c7bc449c xine-lib-1.1.4-autotools.patch.bz2 +f903a0426a812ea70200b7a528f67b00 xine-lib-1.1.5-pruned.tar.bz2 +f955ece2fba4dfbbf22fbb2a8376ae60 xine-lib-1.1.5-autotools.patch.bz2 diff --git a/xine-lib-1.1.3-legacy-flac-init.patch b/xine-lib-1.1.3-legacy-flac-init.patch deleted file mode 100644 index ba1cdb7..0000000 --- a/xine-lib-1.1.3-legacy-flac-init.patch +++ /dev/null @@ -1,16 +0,0 @@ -Index: src/libflac/decoder_flac.c -=================================================================== -RCS file: /cvsroot/xine/xine-lib/src/libflac/decoder_flac.c,v -retrieving revision 1.22 -diff -u -r1.22 decoder_flac.c ---- src/libflac/decoder_flac.c 25 Dec 2006 19:22:00 -0000 1.22 -+++ src/libflac/decoder_flac.c 3 Jan 2007 19:58:07 -0000 -@@ -363,7 +363,7 @@ - - FLAC__stream_decoder_set_client_data (this->flac_decoder, this); - -- if (FLAC__stream_decoder_init (this->flac_decoder) == FLAC__STREAM_DECODER_SEARCH_FOR_METADATA) { -+ if (FLAC__stream_decoder_init (this->flac_decoder) != FLAC__STREAM_DECODER_SEARCH_FOR_METADATA) { - free (this); - return NULL; - } diff --git a/xine-lib-1.1.4-CVE-2007-1246.patch b/xine-lib-1.1.4-CVE-2007-1246.patch deleted file mode 100644 index c7fec5d..0000000 --- a/xine-lib-1.1.4-CVE-2007-1246.patch +++ /dev/null @@ -1,40 +0,0 @@ ---------------------- -PatchSet 8656 -Date: 2007/03/10 02:41:34 -Author: dgp85 -Branch: HEAD -Tag: (none) -Log: - * Security fixes: - - Fix heap overflow in DMO loader. (CVE-2007-1246) [bug #1676925] - Thanks to Kees Cook for reporting. - -Members: - ChangeLog:1.724->1.725 - src/libw32dll/DirectShow/DS_VideoDecoder.c:1.9->1.10 - src/libw32dll/dmo/DMO_VideoDecoder.c:1.4->1.5 - -Index: xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c -diff -u xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c:1.9 xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c:1.10 ---- xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c:1.9 Wed Dec 24 16:55:36 2003 -+++ xine-lib/src/libw32dll/DirectShow/DS_VideoDecoder.c Sat Mar 10 00:41:34 2007 -@@ -110,6 +110,7 @@ - - this->iv.m_bh = (BITMAPINFOHEADER*)malloc(bihs); - memcpy(this->iv.m_bh, format, bihs); -+ this->iv.m_bh->biSize = bihs; - - this->iv.m_State = STOP; - //this->iv.m_pFrame = 0; -Index: xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c -diff -u xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c:1.4 xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c:1.5 ---- xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c:1.4 Wed Dec 24 16:55:36 2003 -+++ xine-lib/src/libw32dll/dmo/DMO_VideoDecoder.c Sat Mar 10 00:41:34 2007 -@@ -118,6 +118,7 @@ - - this->iv.m_bh = (BITMAPINFOHEADER*)malloc(bihs); - memcpy(this->iv.m_bh, format, bihs); -+ this->iv.m_bh->biSize = bihs; - - this->iv.m_State = STOP; - //this->iv.m_pFrame = 0; diff --git a/xine-lib-1.1.1-multilib-devel.patch b/xine-lib-1.1.5-multilib-devel.patch similarity index 77% rename from xine-lib-1.1.1-multilib-devel.patch rename to xine-lib-1.1.5-multilib-devel.patch index ff0c549..5b5d05d 100644 --- a/xine-lib-1.1.1-multilib-devel.patch +++ b/xine-lib-1.1.5-multilib-devel.patch @@ -1,5 +1,5 @@ ---- misc/xine-config.in~ 2005-09-05 20:02:57.000000000 +0300 -+++ misc/xine-config.in 2006-06-13 01:43:55.000000000 +0300 +--- misc/xine-config.in~ 2007-04-05 01:18:00.000000000 +0300 ++++ misc/xine-config.in 2007-04-11 01:32:44.000000000 +0300 @@ -2,8 +2,8 @@ # # @@ -24,12 +24,12 @@ fi if test "$echo_cflags" = "yes"; then -- echo -I@includedir@ @THREAD_CPPFLAGS@ +- echo -I@includedir@ @PTHREAD_CFLAGS@ + pkg-config libxine --cflags fi if test "$echo_libs" = "yes"; then -- echo -L@libdir@ -lxine @ZLIB_LIBS@ @NET_LIBS@ @THREAD_LIBS@ @LIBICONV@ @RT_LIBS@ +- echo -L@libdir@ -lxine @ZLIB_LIBS@ @NET_LIBS@ @PTHREAD_LIBS@ @LIBICONV@ @RT_LIBS@ + pkg-config libxine --libs fi if test "$echo_plugindir" = "yes"; then diff --git a/xine-lib-1.1.5-pthread-check.patch b/xine-lib-1.1.5-pthread-check.patch new file mode 100644 index 0000000..9a6a974 --- /dev/null +++ b/xine-lib-1.1.5-pthread-check.patch @@ -0,0 +1,24 @@ +Upstream changeset 8743:defc4f072bde + additional fix in fakethread(). + +diff -r d1512848e87b -r defc4f072bde m4/pthreads.m4 +--- a/m4/pthreads.m4 Tue Apr 10 17:08:22 2007 +0100 ++++ b/m4/pthreads.m4 Wed Apr 11 17:32:13 2007 +0200 +@@ -36,11 +36,15 @@ AC_DEFUN([CC_PTHREAD_FLAGS], [ + [ac_save_CFLAGS="$CFLAGS" + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $cc_cv_werror $PTHREAD_CFLAGS" ++ + LIBS="$LIBS $PTHREAD_LIBS" +- AC_COMPILE_IFELSE( ++ AC_LINK_IFELSE( + [AC_LANG_PROGRAM( +- [[#include ]], +- [[pthread_create(NULL, NULL, NULL, NULL);]] ++ [[#include ++ void *fakethread(void *arg) { return NULL; } ++ pthread_t fakevariable; ++ ]], ++ [[pthread_create(&fakevariable, NULL, &fakethread, NULL);]] + )], + [cc_cv_pthreads=yes], + [cc_cv_pthreads=no]) diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh index 97da5bd..0a240f2 100755 --- a/xine-lib-cleanup-sources.sh +++ b/xine-lib-cleanup-sources.sh @@ -6,7 +6,7 @@ if [ -z "$1" -o $# -ne 1 ]; then fi version=$1 -tarball="xine-lib-$version.tar.gz" +tarball="xine-lib-$version.tar.bz2" dir="xine-lib-$version" modtarball="xine-lib-$version-pruned.tar.bz2" @@ -18,11 +18,11 @@ fi echo "Uncompressing $tarball..." rm -rf $dir -tar -xzf $tarball +tar -xjf $tarball cd $dir # Main libraries -for remove in libfaad libffmpeg libmad libmpeg2 dxr3 libspudec libxineadec libspucmml libspucc liba52 libdts; do +for remove in libfaad libffmpeg libmad libmpeg2 dxr3 libspudec libspucmml libspucc liba52 libdts; do echo "removing src/$remove..." rm -rf src/$remove sed -i -e "/$remove/d" src/Makefile.am @@ -53,8 +53,20 @@ for p in mpeg mpeg_block mpeg_ts mpeg_elem mpeg_pes yuv4mpeg2; do [ -f src/demuxers/demux_$p.c ] && rm -f src/demuxers/demux_$p.c sed -i -e "/xineplug_dmx_$p/d" src/demuxers/Makefile.am done +# Postprocessors echo "removing planar and deinterlace postprocessors..." -sed -i -e 's/planar//g;s/deinterlace//g' src/post/Makefile.am # fails to build +sed -i -e 's/deinterlace //g' src/post/Makefile.am # see comments in speedy.c +sed -i -e 's/planar //g' src/post/Makefile.am # requires libpostproc +sed -i -e '/post\/\(deinterlace\|planar\)/d' configure.ac +rm -rf src/post/{deinterlace,planar} +# NSF decoder +echo "removing NSF decoder..." +rm -rf src/libxineadec/{nosefart,nsf.c} +sed -i -e '/^xineplug_decode_nsf_la/,/^\s*$/d' \ + -e /xineplug_decode_nsf/d \ + -e 's/ nosefart//' \ + src/libxineadec/Makefile.am +sed -i -e /nosefart/d configure.ac # All clean ! diff --git a/xine-lib-mk-autotools-patch.sh b/xine-lib-mk-autotools-patch.sh index 88db99c..4166b06 100644 --- a/xine-lib-mk-autotools-patch.sh +++ b/xine-lib-mk-autotools-patch.sh @@ -11,11 +11,19 @@ fi version=$1 +# missing dependency on autoconf >= (apparently) 2.61 in upstream autofoo files +acversion="$(rpm -q --qf=%{VERSION} autoconf)" +case $acversion in + 2.6*) ;; + *) echo "ERROR: autoconf >= 2.61 required" ; exit 1 ;; +esac + rm -rf xine-lib-$version xine-lib-$version-pruned tar jxf xine-lib-$version-pruned.tar.bz2 cp -a xine-lib-$version xine-lib-$version-pruned cd xine-lib-$version +patch -p1 < ../xine-lib-$version-pthread-check.patch # XXX hopefully temporary ./autogen.sh noconfig rm -rf autom4te.cache *~ cd .. diff --git a/xine-lib.spec b/xine-lib.spec index 2397a7b..0dcdc74 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -1,14 +1,18 @@ # TODO, sometime, maybe: -# - libstk: http://www.libstk.net/ -# - pulseaudio -# - --enable-antialiasing? +# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog +# - xcb stuff when it's available %define codecdir %{_libdir}/codecs +%ifarch %{ix86} +%define have_vidix 1 +%else +%define have_vidix 0 +%endif Summary: Xine library Name: xine-lib -Version: 1.1.4 -Release: 3%{?dist} +Version: 1.1.5 +Release: 1%{?dist} License: GPL Group: System Environment/Libraries URL: http://xinehq.de/ @@ -19,35 +23,39 @@ Source0: %{name}-%{version}-pruned.tar.bz2 Source1: %{name}-cleanup-sources.sh Source2: %{name}-mk-autotools-patch.sh # autotools patch created with source2 -Patch0: %{name}-1.1.4-autotools.patch.bz2 +Patch0: %{name}-1.1.5-autotools.patch.bz2 Patch1: %{name}-1.1.4-optflags.patch -Patch2: %{name}-1.1.4-CVE-2007-1246.patch -Patch3: %{name}-1.1.3-legacy-flac-init.patch +# Patch2 applied while creating full autotools patch +Patch2: %{name}-1.1.5-pthread-check.patch Patch6: %{name}-1.1.1-deepbind-939.patch -Patch7: %{name}-1.1.1-multilib-devel.patch +Patch7: %{name}-1.1.5-multilib-devel.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) # X11 BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel libGLU-devel # Video -BuildRequires: freetype-devel SDL-devel libtheora-devel libmng-devel +BuildRequires: SDL-devel libtheora-devel libmng-devel BuildRequires: aalib-devel >= 1.4 -%if 0%{?_with_caca:1} BuildRequires: libcaca-devel >= 0.99 -%endif %if 0%{!?_without_directfb:1} BuildRequires: directfb-devel %endif %if 0%{!?_without_imagemagick:1} BuildRequires: ImageMagick-devel >= 6.2.4.6-1 %endif +%if 0%{?_with_freetype:1} +BuildRequires: fontconfig-devel +%endif # Audio BuildRequires: libogg-devel libvorbis-devel flac-devel libmodplug-devel BuildRequires: esound-devel speex-devel arts-devel alsa-lib-devel >= 0.9.0 BuildRequires: jack-audio-connection-kit-devel wavpack-devel libmpcdec-devel +BuildRequires: pulseaudio-lib-devel # CDs BuildRequires: libcdio-devel # Other -BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel samba-common +BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel +# samba-common in <= FC-6, libsmbclient-devel in FC7+ +BuildRequires: %{_includedir}/libsmbclient.h %package devel Summary: Xine library development files @@ -69,7 +77,8 @@ interprets many of the most common multimedia formats available - and some of the most uncommon formats, too. Non-default rpmbuild options: --without imagemagick: Disable ImageMagick support --without directfb: Disable DirectFB support ---with caca: Enable CACA support +--with freetype: Enable FreeType/Fontconfig support +--with antialiasing: Enable font antialiasing (with FreeType/FontConfig) %description devel This package contains development files for xine-lib. @@ -79,14 +88,13 @@ This package contains extra plugins for xine-lib: - aRts - EsounD - JACK + - Pulseaudio - GDK-Pixbuf - GNOME VFS - SMB - SDL - AA-lib -%if 0%{?_with_caca:1} - Libcaca -%endif %if 0%{!?_without_imagemagick:1} - Image decoding %endif @@ -102,15 +110,11 @@ This package contains extra plugins for xine-lib: touch -r configure.ac aclocal.m4 touch -r m4/optimizations.m4 m4/optimizations.m4.stamp %patch1 -p1 -b .optflags -%patch2 -p1 -b .CVE-2007-1246 touch -r m4/optimizations.m4.stamp m4/optimizations.m4 -%patch3 -p0 -b .legacy-flac-init # Patch6 needed at least when compiling with external ffmpeg, #939. %patch6 -p1 -b .deepbind %patch7 -p0 -b .multilib-devel -find . -name "*.[hc]" | xargs chmod -c -x - # Avoid standard rpaths on lib64 archs: sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure @@ -133,8 +137,12 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)" %if 0%{?_without_imagemagick:1} --without-imagemagick \ %endif -%if 0%{!?_with_caca:1} - --without-caca \ +%if 0%{?_with_freetype:1} + --with-freetype \ + --with-fontconfig \ +%if 0%{?_with_antialiasing:1} + --enable-antialiasing \ +%endif %endif --disable-libfame \ --disable-faad \ @@ -174,7 +182,7 @@ rm -rf $RPM_BUILD_ROOT %files -f libxine1.lang %defattr(-,root,root,-) -%doc AUTHORS COPYING CREDITS ChangeLog* README TODO +%doc AUTHORS COPYING COPYING.LIB CREDITS ChangeLog* README TODO %doc __docs/README.* __docs/faq.* %dir %{codecdir} %{_datadir}/xine @@ -183,72 +191,95 @@ rm -rf $RPM_BUILD_ROOT %dir %{_libdir}/xine/ %dir %{_libdir}/xine/plugins/ %dir %{_libdir}/xine/plugins/%{version}/ -# I list all the plugins because I don't want a non-free plugin -# to sneak into a future version +%{_libdir}/xine/plugins/%{version}/mime.types +# Listing every plugin separately for better control over binary packages +# containing exactly the plugins we want, nothing accidentally snuck in +# nor dropped. +%dir %{_libdir}/xine/plugins/%{version}/post/ +%{_libdir}/xine/plugins/%{version}/post/xineplug_post_audio_filters.so +%{_libdir}/xine/plugins/%{version}/post/xineplug_post_goom.so +%{_libdir}/xine/plugins/%{version}/post/xineplug_post_mosaico.so +%{_libdir}/xine/plugins/%{version}/post/xineplug_post_switch.so +%{_libdir}/xine/plugins/%{version}/post/xineplug_post_visualizations.so +%if %{have_vidix} +%dir %{_libdir}/xine/plugins/%{version}/vidix/ +%{_libdir}/xine/plugins/%{version}/vidix/cyberblade_vid.so +%{_libdir}/xine/plugins/%{version}/vidix/mach64_vid.so +%{_libdir}/xine/plugins/%{version}/vidix/mga_crtc2_vid.so +%{_libdir}/xine/plugins/%{version}/vidix/mga_vid.so +%{_libdir}/xine/plugins/%{version}/vidix/nvidia_vid.so +%{_libdir}/xine/plugins/%{version}/vidix/pm2_vid.so +%{_libdir}/xine/plugins/%{version}/vidix/pm3_vid.so +%{_libdir}/xine/plugins/%{version}/vidix/radeon_vid.so +%{_libdir}/xine/plugins/%{version}/vidix/rage128_vid.so +%{_libdir}/xine/plugins/%{version}/vidix/savage_vid.so +%{_libdir}/xine/plugins/%{version}/vidix/sis_vid.so +%{_libdir}/xine/plugins/%{version}/vidix/unichrome_vid.so +%endif %{_libdir}/xine/plugins/%{version}/xineplug_ao_out_alsa.so -%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_oss.so -%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_none.so -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_fb.so %{_libdir}/xine/plugins/%{version}/xineplug_ao_out_file.so -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_none.so -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_opengl.so -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_syncfb.so -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xshm.so -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xv.so +%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_none.so +%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_oss.so +%{_libdir}/xine/plugins/%{version}/xineplug_decode_bitplane.so +%{_libdir}/xine/plugins/%{version}/xineplug_decode_gsm610.so +%{_libdir}/xine/plugins/%{version}/xineplug_decode_lpcm.so +%{_libdir}/xine/plugins/%{version}/xineplug_decode_mpc.so +%ifarch %ix86 +%{_libdir}/xine/plugins/%{version}/xineplug_decode_qt.so +%endif +%{_libdir}/xine/plugins/%{version}/xineplug_decode_real.so +%{_libdir}/xine/plugins/%{version}/xineplug_decode_rgb.so +%{_libdir}/xine/plugins/%{version}/xineplug_decode_speex.so +%{_libdir}/xine/plugins/%{version}/xineplug_decode_spudvb.so +%{_libdir}/xine/plugins/%{version}/xineplug_decode_sputext.so +%{_libdir}/xine/plugins/%{version}/xineplug_decode_theora.so +%{_libdir}/xine/plugins/%{version}/xineplug_decode_vorbis.so +%ifarch %ix86 +%{_libdir}/xine/plugins/%{version}/xineplug_decode_w32dll.so +%endif +%{_libdir}/xine/plugins/%{version}/xineplug_decode_yuv.so +%{_libdir}/xine/plugins/%{version}/xineplug_dmx_audio.so +%{_libdir}/xine/plugins/%{version}/xineplug_dmx_avi.so +%{_libdir}/xine/plugins/%{version}/xineplug_dmx_fli.so +%{_libdir}/xine/plugins/%{version}/xineplug_dmx_flv.so +%{_libdir}/xine/plugins/%{version}/xineplug_dmx_games.so +%{_libdir}/xine/plugins/%{version}/xineplug_dmx_iff.so +%{_libdir}/xine/plugins/%{version}/xineplug_dmx_image.so +%{_libdir}/xine/plugins/%{version}/xineplug_dmx_matroska.so +%{_libdir}/xine/plugins/%{version}/xineplug_dmx_mng.so +%{_libdir}/xine/plugins/%{version}/xineplug_dmx_nsv.so +%{_libdir}/xine/plugins/%{version}/xineplug_dmx_ogg.so +%{_libdir}/xine/plugins/%{version}/xineplug_dmx_pva.so +%{_libdir}/xine/plugins/%{version}/xineplug_dmx_qt.so +%{_libdir}/xine/plugins/%{version}/xineplug_dmx_rawdv.so +%{_libdir}/xine/plugins/%{version}/xineplug_dmx_real.so +%{_libdir}/xine/plugins/%{version}/xineplug_dmx_slave.so +%{_libdir}/xine/plugins/%{version}/xineplug_dmx_sputext.so +%{_libdir}/xine/plugins/%{version}/xineplug_dmx_yuv_frames.so +%{_libdir}/xine/plugins/%{version}/xineplug_flac.so +%{_libdir}/xine/plugins/%{version}/xineplug_inp_cdda.so %{_libdir}/xine/plugins/%{version}/xineplug_inp_dvb.so -%{_libdir}/xine/plugins/%{version}/xineplug_inp_v4l.so %{_libdir}/xine/plugins/%{version}/xineplug_inp_file.so %{_libdir}/xine/plugins/%{version}/xineplug_inp_http.so %{_libdir}/xine/plugins/%{version}/xineplug_inp_net.so %{_libdir}/xine/plugins/%{version}/xineplug_inp_pnm.so -%{_libdir}/xine/plugins/%{version}/xineplug_inp_cdda.so -%{_libdir}/xine/plugins/%{version}/xineplug_inp_stdin_fifo.so -%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtsp.so %{_libdir}/xine/plugins/%{version}/xineplug_inp_pvr.so %{_libdir}/xine/plugins/%{version}/xineplug_inp_rtp.so -%{_libdir}/xine/plugins/%{version}/xineplug_decode_bitplane.so -%{_libdir}/xine/plugins/%{version}/xineplug_decode_rgb.so -%{_libdir}/xine/plugins/%{version}/xineplug_decode_vorbis.so -%{_libdir}/xine/plugins/%{version}/xineplug_decode_yuv.so -%{_libdir}/xine/plugins/%{version}/xineplug_decode_lpcm.so -%{_libdir}/xine/plugins/%{version}/xineplug_decode_real.so -%{_libdir}/xine/plugins/%{version}/xineplug_decode_real_audio.so -%{_libdir}/xine/plugins/%{version}/xineplug_decode_speex.so -%{_libdir}/xine/plugins/%{version}/xineplug_decode_theora.so -%{_libdir}/xine/plugins/%{version}/xineplug_decode_spudvb.so -%{_libdir}/xine/plugins/%{version}/xineplug_decode_mpc.so -%{_libdir}/xine/plugins/%{version}/xineplug_decode_sputext.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_yuv_frames.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_real.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_audio.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_iff.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_avi.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_flv.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_image.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_matroska.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_ogg.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_fli.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_nsv.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_mng.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_pva.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_qt.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_rawdv.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_sputext.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_games.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_slave.so -%{_libdir}/xine/plugins/%{version}/xineplug_flac.so -%{_libdir}/xine/plugins/%{version}/xineplug_wavpack.so -%ifarch %ix86 +%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtsp.so +%{_libdir}/xine/plugins/%{version}/xineplug_inp_stdin_fifo.so +%{_libdir}/xine/plugins/%{version}/xineplug_inp_v4l.so +%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_fb.so +%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_none.so +%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_opengl.so +%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_syncfb.so +%if %{have_vidix} %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_vidix.so -%{_libdir}/xine/plugins/%{version}/xineplug_decode_qt.so -%{_libdir}/xine/plugins/%{version}/xineplug_decode_w32dll.so %endif -%ifnarch ppc64 s390 s390x -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xxmc.so +%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xshm.so +%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xv.so %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xvmc.so -%endif -%{_libdir}/xine/plugins/%{version}/post/ -%{_libdir}/xine/plugins/%{version}/vidix/ +%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xxmc.so +%{_libdir}/xine/plugins/%{version}/xineplug_wavpack.so %files extras @@ -256,20 +287,19 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{version}/xineplug_ao_out_arts.so %{_libdir}/xine/plugins/%{version}/xineplug_ao_out_esd.so %{_libdir}/xine/plugins/%{version}/xineplug_ao_out_jack.so -%{_libdir}/xine/plugins/%{version}/xineplug_inp_gnome_vfs.so -%{_libdir}/xine/plugins/%{version}/xineplug_inp_smb.so -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_aa.so +%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_pulseaudio.so %{_libdir}/xine/plugins/%{version}/xineplug_decode_gdk_pixbuf.so -%if 0%{?_with_caca:1} -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so -%endif %if 0%{!?_without_imagemagick:1} %{_libdir}/xine/plugins/%{version}/xineplug_decode_image.so %endif +%{_libdir}/xine/plugins/%{version}/xineplug_inp_gnome_vfs.so +%{_libdir}/xine/plugins/%{version}/xineplug_inp_smb.so +%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_aa.so +%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so %if 0%{!?_without_directfb:1} %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_directfb.so %endif +%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so %files devel @@ -284,8 +314,22 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man1/xine-config.1* - %changelog +* Wed Apr 11 2007 Ville Skyttä - 1.1.5-1 +- 1.1.5. +- Include GSM 06.10 decoder (#228186). +- Re-enable CACA support. + +* Sun Apr 8 2007 Ville Skyttä +- Exclude vidix dir on systems that don't have vidix. +- Specfile cleanups. + +* Mon Mar 26 2007 Ville Skyttä - 1.1.4-4 +- Add PulseAudio support (in -extras, #234035/Jost Diederichs). +- Adjust Samba build dependencies to work for both <= and > FC6. +- Add --with freetype and --with antialiasing build time options, + default disabled, and an upstream patch for FreeType memory leak (#233194). + * Sat Mar 10 2007 Ville Skyttä - 1.1.4-3 - Apply upstream fix for CVE-2007-1246. From 942ecd933af5188706dc549e1a7b4700119ff693 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sun, 22 Apr 2007 18:31:21 +0000 Subject: [PATCH 06/82] =?UTF-8?q?*=20Wed=20Apr=2018=202007=20Ville=20Skytt?= =?UTF-8?q?=C3=A4=20=20-=201.1.6-1=20-=201.1.6?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cvsignore | 4 ++-- sources | 4 ++-- xine-lib-1.1.5-pthread-check.patch | 24 ------------------------ xine-lib-mk-autotools-patch.sh | 1 - xine-lib.spec | 10 ++++++---- 5 files changed, 10 insertions(+), 33 deletions(-) delete mode 100644 xine-lib-1.1.5-pthread-check.patch diff --git a/.cvsignore b/.cvsignore index 41883b2..1a3b46f 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ -xine-lib-1.1.5-pruned.tar.bz2 -xine-lib-1.1.5-autotools.patch.bz2 +xine-lib-1.1.6-pruned.tar.bz2 +xine-lib-1.1.6-autotools.patch.bz2 diff --git a/sources b/sources index f2e30be..0470388 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -f903a0426a812ea70200b7a528f67b00 xine-lib-1.1.5-pruned.tar.bz2 -f955ece2fba4dfbbf22fbb2a8376ae60 xine-lib-1.1.5-autotools.patch.bz2 +3869f0045311b3638c5724cd1ac122e9 xine-lib-1.1.6-pruned.tar.bz2 +25742f2347a1d9c4c08476c82f3ec5fc xine-lib-1.1.6-autotools.patch.bz2 diff --git a/xine-lib-1.1.5-pthread-check.patch b/xine-lib-1.1.5-pthread-check.patch deleted file mode 100644 index 9a6a974..0000000 --- a/xine-lib-1.1.5-pthread-check.patch +++ /dev/null @@ -1,24 +0,0 @@ -Upstream changeset 8743:defc4f072bde + additional fix in fakethread(). - -diff -r d1512848e87b -r defc4f072bde m4/pthreads.m4 ---- a/m4/pthreads.m4 Tue Apr 10 17:08:22 2007 +0100 -+++ b/m4/pthreads.m4 Wed Apr 11 17:32:13 2007 +0200 -@@ -36,11 +36,15 @@ AC_DEFUN([CC_PTHREAD_FLAGS], [ - [ac_save_CFLAGS="$CFLAGS" - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $cc_cv_werror $PTHREAD_CFLAGS" -+ - LIBS="$LIBS $PTHREAD_LIBS" -- AC_COMPILE_IFELSE( -+ AC_LINK_IFELSE( - [AC_LANG_PROGRAM( -- [[#include ]], -- [[pthread_create(NULL, NULL, NULL, NULL);]] -+ [[#include -+ void *fakethread(void *arg) { return NULL; } -+ pthread_t fakevariable; -+ ]], -+ [[pthread_create(&fakevariable, NULL, &fakethread, NULL);]] - )], - [cc_cv_pthreads=yes], - [cc_cv_pthreads=no]) diff --git a/xine-lib-mk-autotools-patch.sh b/xine-lib-mk-autotools-patch.sh index 4166b06..93590b4 100644 --- a/xine-lib-mk-autotools-patch.sh +++ b/xine-lib-mk-autotools-patch.sh @@ -23,7 +23,6 @@ tar jxf xine-lib-$version-pruned.tar.bz2 cp -a xine-lib-$version xine-lib-$version-pruned cd xine-lib-$version -patch -p1 < ../xine-lib-$version-pthread-check.patch # XXX hopefully temporary ./autogen.sh noconfig rm -rf autom4te.cache *~ cd .. diff --git a/xine-lib.spec b/xine-lib.spec index 0dcdc74..6c822ce 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -11,7 +11,7 @@ Summary: Xine library Name: xine-lib -Version: 1.1.5 +Version: 1.1.6 Release: 1%{?dist} License: GPL Group: System Environment/Libraries @@ -23,10 +23,8 @@ Source0: %{name}-%{version}-pruned.tar.bz2 Source1: %{name}-cleanup-sources.sh Source2: %{name}-mk-autotools-patch.sh # autotools patch created with source2 -Patch0: %{name}-1.1.5-autotools.patch.bz2 +Patch0: %{name}-%{version}-autotools.patch.bz2 Patch1: %{name}-1.1.4-optflags.patch -# Patch2 applied while creating full autotools patch -Patch2: %{name}-1.1.5-pthread-check.patch Patch6: %{name}-1.1.1-deepbind-939.patch Patch7: %{name}-1.1.5-multilib-devel.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -298,6 +296,7 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so %if 0%{!?_without_directfb:1} %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_directfb.so +%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xdirectfb.so %endif %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so @@ -315,6 +314,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Apr 18 2007 Ville Skyttä - 1.1.6-1 +- 1.1.6. + * Wed Apr 11 2007 Ville Skyttä - 1.1.5-1 - 1.1.5. - Include GSM 06.10 decoder (#228186). From 6593b35827fbc9d8413f6b6c5af64de8abe9d7b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Wed, 25 Apr 2007 19:21:01 +0000 Subject: [PATCH 07/82] =?UTF-8?q?*=20Wed=20Apr=2025=202007=20Ville=20Skytt?= =?UTF-8?q?=C3=A4=20=20-=201.1.6-2=20-=20Make?= =?UTF-8?q?=20Real=20codec=20search=20path=20/usr/lib(64)/codecs=20again?= =?UTF-8?q?=20(#237743).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xine-lib.spec | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/xine-lib.spec b/xine-lib.spec index 6c822ce..f2a41cb 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -12,7 +12,7 @@ Summary: Xine library Name: xine-lib Version: 1.1.6 -Release: 1%{?dist} +Release: 2%{?dist} License: GPL Group: System Environment/Libraries URL: http://xinehq.de/ @@ -124,6 +124,7 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)" %configure --disable-dependency-tracking \ --with-xv-path=%{_libdir} \ --with-w32-path=%{codecdir} \ + --with-real-codecs-path=%{codecdir} \ --with-external-ffmpeg \ --with-external-libmpcdec \ --with-libflac \ @@ -182,8 +183,8 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root,-) %doc AUTHORS COPYING COPYING.LIB CREDITS ChangeLog* README TODO %doc __docs/README.* __docs/faq.* -%dir %{codecdir} -%{_datadir}/xine +%dir %{codecdir}/ +%{_datadir}/xine/ %{_libdir}/libxine.so.* %{_mandir}/man5/xine.5* %dir %{_libdir}/xine/ @@ -314,6 +315,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Apr 25 2007 Ville Skyttä - 1.1.6-2 +- Make Real codec search path /usr/lib(64)/codecs again (#237743). + * Wed Apr 18 2007 Ville Skyttä - 1.1.6-1 - 1.1.6. From f6556dff0bd3b12f6dadd0f59ab58449d85b88a0 Mon Sep 17 00:00:00 2001 From: Aurelien Bompard Date: Sat, 14 Jul 2007 09:13:26 +0000 Subject: [PATCH 08/82] =?UTF-8?q?*=20Thu=20Jun=20=207=202007=20Ville=20Sky?= =?UTF-8?q?tt=C3=A4=20=20-=201.1.7-1=20-=201.1?= =?UTF-8?q?.7.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cvsignore | 4 ++-- sources | 4 ++-- xine-lib.spec | 8 ++++++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.cvsignore b/.cvsignore index 1a3b46f..e98b803 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ -xine-lib-1.1.6-pruned.tar.bz2 -xine-lib-1.1.6-autotools.patch.bz2 +xine-lib-1.1.7-pruned.tar.bz2 +xine-lib-1.1.7-autotools.patch.bz2 diff --git a/sources b/sources index 0470388..4131b00 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -3869f0045311b3638c5724cd1ac122e9 xine-lib-1.1.6-pruned.tar.bz2 -25742f2347a1d9c4c08476c82f3ec5fc xine-lib-1.1.6-autotools.patch.bz2 +8f0714de28dab403288bbccf1a8c30c2 xine-lib-1.1.7-pruned.tar.bz2 +6b7f1d168b8b367a8c7709db687c60f6 xine-lib-1.1.7-autotools.patch.bz2 diff --git a/xine-lib.spec b/xine-lib.spec index f2a41cb..2ee1dbc 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -11,8 +11,8 @@ Summary: Xine library Name: xine-lib -Version: 1.1.6 -Release: 2%{?dist} +Version: 1.1.7 +Release: 1%{?dist} License: GPL Group: System Environment/Libraries URL: http://xinehq.de/ @@ -129,6 +129,7 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)" --with-external-libmpcdec \ --with-libflac \ --with-wavpack \ + --with-arts \ --enable-ipv6 \ %if 0%{!?_without_directfb:1} --enable-directfb \ @@ -315,6 +316,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Jun 7 2007 Ville Skyttä - 1.1.7-1 +- 1.1.7. + * Wed Apr 25 2007 Ville Skyttä - 1.1.6-2 - Make Real codec search path /usr/lib(64)/codecs again (#237743). From 1a8a2b6e69e981a4751c06d7e5e4fe1d91b2f290 Mon Sep 17 00:00:00 2001 From: Kevin Fenzi Date: Fri, 7 Sep 2007 18:39:27 +0000 Subject: [PATCH 09/82] Initialize branch EL-5 for xine-lib --- branch | 1 + 1 file changed, 1 insertion(+) create mode 100644 branch diff --git a/branch b/branch new file mode 100644 index 0000000..42f697a --- /dev/null +++ b/branch @@ -0,0 +1 @@ +EL-5 From 51c88ef60f2bed912b67bed9b22617ae804b67d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Mon, 10 Sep 2007 15:17:50 +0000 Subject: [PATCH 10/82] Sync with devel --- .cvsignore | 4 +- sources | 4 +- xine-lib.spec | 117 ++++++++++++++++++++++++++++++++++++-------------- 3 files changed, 89 insertions(+), 36 deletions(-) diff --git a/.cvsignore b/.cvsignore index e98b803..0426b0d 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ -xine-lib-1.1.7-pruned.tar.bz2 -xine-lib-1.1.7-autotools.patch.bz2 +xine-lib-1.1.8-pruned.tar.bz2 +xine-lib-1.1.8-autotools.patch.bz2 diff --git a/sources b/sources index 4131b00..00ae4ec 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -8f0714de28dab403288bbccf1a8c30c2 xine-lib-1.1.7-pruned.tar.bz2 -6b7f1d168b8b367a8c7709db687c60f6 xine-lib-1.1.7-autotools.patch.bz2 +6cbfae9d31fc138c7cb3c3d178e1286d xine-lib-1.1.8-pruned.tar.bz2 +b4a7c7a9af428b26667402d6dc180107 xine-lib-1.1.8-autotools.patch.bz2 diff --git a/xine-lib.spec b/xine-lib.spec index 2ee1dbc..c9a2d89 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -1,6 +1,11 @@ # TODO, sometime, maybe: # - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog -# - xcb stuff when it's available +# - drop the opengl video out plugin? +# http://www.redhat.com/archives/fedora-legal-list/2007-August/msg00011.html +# - move pulseaudio to main package from -extras? +# http://fedoraproject.org/wiki/Releases/FeaturePulseaudio +# --> not yet: +# http://www.redhat.com/archives/fedora-devel-list/2007-August/msg01411.html %define codecdir %{_libdir}/codecs %ifarch %{ix86} @@ -8,12 +13,17 @@ %else %define have_vidix 0 %endif +%if 0%{?fedora} >= 8 +%define with_xcb 1 +%else +%define with_xcb 0 +%endif Summary: Xine library Name: xine-lib -Version: 1.1.7 -Release: 1%{?dist} -License: GPL +Version: 1.1.8 +Release: 2%{?dist} +License: GPLv2+ Group: System Environment/Libraries URL: http://xinehq.de/ # The tarball is generated from the upstream tarball using @@ -29,7 +39,11 @@ Patch6: %{name}-1.1.1-deepbind-939.patch Patch7: %{name}-1.1.5-multilib-devel.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) # X11 -BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel libGLU-devel +BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel +BuildRequires: libGLU-devel +%if %{with_xcb} +BuildRequires: libxcb-devel +%endif # Video BuildRequires: SDL-devel libtheora-devel libmng-devel BuildRequires: aalib-devel >= 1.4 @@ -61,6 +75,13 @@ Group: Development/Libraries Requires: %{name} = %{version}-%{release} Requires: pkgconfig zlib-devel +%package arts +Summary: aRts plugin for xine-lib +Group: System Environment/Libraries +Requires: %{name} = %{version}-%{release} +# -arts was split off the -extras subpackage at 1.1.7-3 +Obsoletes: xine-lib-extras < 1.1.7-3 + %package extras Summary: Additional plugins for xine-lib Group: System Environment/Libraries @@ -81,9 +102,11 @@ of the most uncommon formats, too. Non-default rpmbuild options: %description devel This package contains development files for xine-lib. +%description arts +This package contains the aRts extra plugin for xine-lib. + %description extras This package contains extra plugins for xine-lib: - - aRts - EsounD - JACK - Pulseaudio @@ -99,7 +122,9 @@ This package contains extra plugins for xine-lib: %if 0%{!?_without_directfb:1} - DirectFB output %endif - +%if %{with_xcb} + - XCB output +%endif %prep @@ -121,36 +146,37 @@ sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" " export FFMPEG_POSTPROC_CFLAGS=" " FFMPEG_POSTPROC_LIBS=" " export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)" -%configure --disable-dependency-tracking \ - --with-xv-path=%{_libdir} \ - --with-w32-path=%{codecdir} \ - --with-real-codecs-path=%{codecdir} \ - --with-external-ffmpeg \ - --with-external-libmpcdec \ - --with-libflac \ - --with-wavpack \ - --with-arts \ +# Keep list of options in mostly the same order as ./configure --help. +%configure \ + --disable-dependency-tracking \ --enable-ipv6 \ %if 0%{!?_without_directfb:1} --enable-directfb \ -%endif -%if 0%{?_without_imagemagick:1} - --without-imagemagick \ -%endif +%endif # directfb + --disable-a52dec \ + --disable-mad \ + --disable-dvdnavtest --with-external-dvdnav \ + --disable-vcd \ + --disable-asf \ + --disable-faad \ %if 0%{?_with_freetype:1} - --with-freetype \ - --with-fontconfig \ %if 0%{?_with_antialiasing:1} --enable-antialiasing \ -%endif -%endif - --disable-libfame \ - --disable-faad \ - --disable-mad \ - --disable-asf \ - --disable-vcd \ - --disable-a52dec \ - --with-external-dvdnav --disable-dvdnavtest +%endif # antialiasing + --with-freetype \ + --with-fontconfig \ +%endif # freetype + --with-external-ffmpeg \ + --with-xv-path=%{_libdir} \ + --with-libflac \ + --with-external-libmpcdec \ +%if 0%{?_without_imagemagick:1} + --without-imagemagick \ +%endif # imagemagick + --with-arts \ + --with-wavpack \ + --with-real-codecs-path=%{codecdir} \ + --with-w32-path=%{codecdir} make %{?_smp_mflags} @@ -282,9 +308,12 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{version}/xineplug_wavpack.so -%files extras +%files arts %defattr(-,root,root,-) %{_libdir}/xine/plugins/%{version}/xineplug_ao_out_arts.so + +%files extras +%defattr(-,root,root,-) %{_libdir}/xine/plugins/%{version}/xineplug_ao_out_esd.so %{_libdir}/xine/plugins/%{version}/xineplug_ao_out_jack.so %{_libdir}/xine/plugins/%{version}/xineplug_ao_out_pulseaudio.so @@ -301,6 +330,10 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xdirectfb.so %endif %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so +%if %{with_xcb} +%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbshm.so +%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbxv.so +%endif %files devel @@ -316,9 +349,29 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Sun Sep 09 2007 Aurelien Bompard 1.1.8-2 +- remove the dependency from -extras to -arts, and use Obsoletes to + provide an upgrade path + +* Thu Aug 30 2007 Ville Skyttä - 1.1.8-1 +- 1.1.8, "open" patch applied upstream. +- Build XCB plugins by default for Fedora 8+ only. + +* Sat Aug 25 2007 Aurelien Bompard 1.1.7-3 +- Split the aRts plugin into its own subpackage + +* Tue Aug 14 2007 Ville Skyttä - 1.1.7-2 +- Include XCB output plugins (in -extras at least for now). +- Protect "open" with glibc 2.6.90 and -D_FORTIFY_SOURCE=2. +- Clean up %%configure options. +- License: GPLv2+ + * Thu Jun 7 2007 Ville Skyttä - 1.1.7-1 - 1.1.7. +* Wed Jun 06 2007 Rex Dieter - 1.1.6-3 +- respin (for libmpcdec) + * Wed Apr 25 2007 Ville Skyttä - 1.1.6-2 - Make Real codec search path /usr/lib(64)/codecs again (#237743). From 5e5e0125c82785ec10c2b796e707b1073bf0c7bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Mon, 10 Sep 2007 15:35:50 +0000 Subject: [PATCH 11/82] =?UTF-8?q?*=20Mon=20Sep=2010=202007=20Ville=20Skytt?= =?UTF-8?q?=C3=A4=20=20-=201.1.8-2.1=20-=20Adj?= =?UTF-8?q?ust=20default=20-extras=20feature=20set=20for=20EPEL-5.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xine-lib.spec | 98 +++++++++++++++++++++++++++++++++++---------------- 1 file changed, 68 insertions(+), 30 deletions(-) diff --git a/xine-lib.spec b/xine-lib.spec index c9a2d89..bd8c706 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -9,20 +9,32 @@ %define codecdir %{_libdir}/codecs %ifarch %{ix86} -%define have_vidix 1 + %define have_vidix 1 %else -%define have_vidix 0 + %define have_vidix 0 %endif %if 0%{?fedora} >= 8 -%define with_xcb 1 + %define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1} %else -%define with_xcb 0 + %define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0} %endif +%if 0%{?fedora} + %define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1} + %define with_caca %{?_without_caca:0}%{!?_without_caca:1} + %define with_jack %{?_without_jack:0}%{!?_without_jack:1} + %define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1} +%else + %define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0} + %define with_caca %{?_with_caca:1}%{!?_with_caca:0} + %define with_jack %{?_with_jack:1}%{!?_with_jack:0} + %define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0} +%endif +%define with_dfb %{?_without_directfb:0}%{!?_without_directfb:1} Summary: Xine library Name: xine-lib Version: 1.1.8 -Release: 2%{?dist} +Release: 2%{?dist}.1 License: GPLv2+ Group: System Environment/Libraries URL: http://xinehq.de/ @@ -43,25 +55,34 @@ BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel BuildRequires: libGLU-devel %if %{with_xcb} BuildRequires: libxcb-devel -%endif +%endif # xcb # Video BuildRequires: SDL-devel libtheora-devel libmng-devel +%if %{with_aalib} BuildRequires: aalib-devel >= 1.4 +%endif # aalib +%if %{with_caca} BuildRequires: libcaca-devel >= 0.99 -%if 0%{!?_without_directfb:1} +%endif # caca +%if %{with_dfb} BuildRequires: directfb-devel -%endif +%endif # dfb %if 0%{!?_without_imagemagick:1} BuildRequires: ImageMagick-devel >= 6.2.4.6-1 -%endif +%endif # imagemagick %if 0%{?_with_freetype:1} BuildRequires: fontconfig-devel -%endif +%endif # freetype # Audio BuildRequires: libogg-devel libvorbis-devel flac-devel libmodplug-devel BuildRequires: esound-devel speex-devel arts-devel alsa-lib-devel >= 0.9.0 -BuildRequires: jack-audio-connection-kit-devel wavpack-devel libmpcdec-devel +BuildRequires: wavpack-devel libmpcdec-devel +%if %{with_pa} BuildRequires: pulseaudio-lib-devel +%endif # pa +%if %{with_jack} +BuildRequires: jack-audio-connection-kit-devel +%endif # jack # CDs BuildRequires: libcdio-devel # Other @@ -93,11 +114,9 @@ This package contains the Xine library. Xine is a free multimedia player. It can play back various media. It also decodes multimedia files from local disk drives, and displays multimedia streamed over the Internet. It interprets many of the most common multimedia formats available - and some -of the most uncommon formats, too. Non-default rpmbuild options: ---without imagemagick: Disable ImageMagick support ---without directfb: Disable DirectFB support ---with freetype: Enable FreeType/Fontconfig support ---with antialiasing: Enable font antialiasing (with FreeType/FontConfig) +of the most uncommon formats, too. --with/--without rpmbuild options +(some default values depend on target distribution): aalib, caca, directfb, +imagemagick, freetype, antialiasing (with freetype), jack, pulseaudio, xcb. %description devel This package contains development files for xine-lib. @@ -108,23 +127,31 @@ This package contains the aRts extra plugin for xine-lib. %description extras This package contains extra plugins for xine-lib: - EsounD +%if %{with_jack} - JACK +%endif # jack +%if %{with_pa} - Pulseaudio +%endif # pa - GDK-Pixbuf - GNOME VFS - SMB - SDL +%if %{with_aalib} - AA-lib +%endif # aalib +%if %{with_caca} - Libcaca +%endif # caca %if 0%{!?_without_imagemagick:1} - Image decoding -%endif -%if 0%{!?_without_directfb:1} +%endif # imagemagick +%if %{with_dfb} - DirectFB output -%endif +%endif # dfb %if %{with_xcb} - XCB output -%endif +%endif # xcb %prep @@ -150,9 +177,9 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)" %configure \ --disable-dependency-tracking \ --enable-ipv6 \ -%if 0%{!?_without_directfb:1} +%if %{with_dfb} --enable-directfb \ -%endif # directfb +%endif # dfb --disable-a52dec \ --disable-mad \ --disable-dvdnavtest --with-external-dvdnav \ @@ -241,7 +268,7 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{version}/vidix/savage_vid.so %{_libdir}/xine/plugins/%{version}/vidix/sis_vid.so %{_libdir}/xine/plugins/%{version}/vidix/unichrome_vid.so -%endif +%endif # vidix %{_libdir}/xine/plugins/%{version}/xineplug_ao_out_alsa.so %{_libdir}/xine/plugins/%{version}/xineplug_ao_out_file.so %{_libdir}/xine/plugins/%{version}/xineplug_ao_out_none.so @@ -252,7 +279,7 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{version}/xineplug_decode_mpc.so %ifarch %ix86 %{_libdir}/xine/plugins/%{version}/xineplug_decode_qt.so -%endif +%endif # ix86 %{_libdir}/xine/plugins/%{version}/xineplug_decode_real.so %{_libdir}/xine/plugins/%{version}/xineplug_decode_rgb.so %{_libdir}/xine/plugins/%{version}/xineplug_decode_speex.so @@ -262,7 +289,7 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{version}/xineplug_decode_vorbis.so %ifarch %ix86 %{_libdir}/xine/plugins/%{version}/xineplug_decode_w32dll.so -%endif +%endif # ix86 %{_libdir}/xine/plugins/%{version}/xineplug_decode_yuv.so %{_libdir}/xine/plugins/%{version}/xineplug_dmx_audio.so %{_libdir}/xine/plugins/%{version}/xineplug_dmx_avi.so @@ -300,7 +327,7 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_syncfb.so %if %{have_vidix} %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_vidix.so -%endif +%endif # vidix %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xshm.so %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xv.so %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xvmc.so @@ -315,25 +342,33 @@ rm -rf $RPM_BUILD_ROOT %files extras %defattr(-,root,root,-) %{_libdir}/xine/plugins/%{version}/xineplug_ao_out_esd.so +%if %{with_jack} %{_libdir}/xine/plugins/%{version}/xineplug_ao_out_jack.so +%endif # jack +%if %{with_pa} %{_libdir}/xine/plugins/%{version}/xineplug_ao_out_pulseaudio.so +%endif # pa %{_libdir}/xine/plugins/%{version}/xineplug_decode_gdk_pixbuf.so %if 0%{!?_without_imagemagick:1} %{_libdir}/xine/plugins/%{version}/xineplug_decode_image.so -%endif +%endif # imagemagick %{_libdir}/xine/plugins/%{version}/xineplug_inp_gnome_vfs.so %{_libdir}/xine/plugins/%{version}/xineplug_inp_smb.so +%if %{with_aalib} %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_aa.so +%endif # aalib +%if %{with_caca} %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so -%if 0%{!?_without_directfb:1} +%endif # caca +%if %{with_dfb} %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_directfb.so %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xdirectfb.so -%endif +%endif # dfb %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so %if %{with_xcb} %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbshm.so %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbxv.so -%endif +%endif # xcb %files devel @@ -349,6 +384,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Mon Sep 10 2007 Ville Skyttä - 1.1.8-2.1 +- Adjust default -extras feature set for EPEL-5. + * Sun Sep 09 2007 Aurelien Bompard 1.1.8-2 - remove the dependency from -extras to -arts, and use Obsoletes to provide an upgrade path From 1d5428d7f971e65091856d242459837b7c920dc5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Wed, 19 Sep 2007 19:04:25 +0000 Subject: [PATCH 12/82] =?UTF-8?q?*=20Sat=20Sep=2015=202007=20Ville=20Skytt?= =?UTF-8?q?=C3=A4=20=20-=201.1.8-3=20-=20Move?= =?UTF-8?q?=20XCB=20plugins=20to=20the=20main=20package.=20-=20Make=20aali?= =?UTF-8?q?b,=20caca,=20pulseaudio,=20jack,=20and=20wavpack=20support=20op?= =?UTF-8?q?tional=20at=20build=20=20=20time=20in=20preparation=20for=20the?= =?UTF-8?q?=20first=20EPEL=20build.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xine-lib.spec | 50 +++++++++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 23 deletions(-) diff --git a/xine-lib.spec b/xine-lib.spec index bd8c706..d953df1 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -23,18 +23,19 @@ %define with_caca %{?_without_caca:0}%{!?_without_caca:1} %define with_jack %{?_without_jack:0}%{!?_without_jack:1} %define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1} + %define with_wpack %{?_without_wavpack:0}%{!?_without_wavpack:1} %else %define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0} %define with_caca %{?_with_caca:1}%{!?_with_caca:0} %define with_jack %{?_with_jack:1}%{!?_with_jack:0} %define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0} + %define with_wpack %{?_with_wavpack:1}%{!?_with_wavpack:0} %endif -%define with_dfb %{?_without_directfb:0}%{!?_without_directfb:1} Summary: Xine library Name: xine-lib Version: 1.1.8 -Release: 2%{?dist}.1 +Release: 3%{?dist} License: GPLv2+ Group: System Environment/Libraries URL: http://xinehq.de/ @@ -64,9 +65,9 @@ BuildRequires: aalib-devel >= 1.4 %if %{with_caca} BuildRequires: libcaca-devel >= 0.99 %endif # caca -%if %{with_dfb} +%if 0%{!?_without_directfb:1} BuildRequires: directfb-devel -%endif # dfb +%endif # directfb %if 0%{!?_without_imagemagick:1} BuildRequires: ImageMagick-devel >= 6.2.4.6-1 %endif # imagemagick @@ -76,7 +77,10 @@ BuildRequires: fontconfig-devel # Audio BuildRequires: libogg-devel libvorbis-devel flac-devel libmodplug-devel BuildRequires: esound-devel speex-devel arts-devel alsa-lib-devel >= 0.9.0 -BuildRequires: wavpack-devel libmpcdec-devel +BuildRequires: libmpcdec-devel +%if %{with_wpack} +BuildRequires: wavpack-devel +%endif # wpack %if %{with_pa} BuildRequires: pulseaudio-lib-devel %endif # pa @@ -116,7 +120,8 @@ disk drives, and displays multimedia streamed over the Internet. It interprets many of the most common multimedia formats available - and some of the most uncommon formats, too. --with/--without rpmbuild options (some default values depend on target distribution): aalib, caca, directfb, -imagemagick, freetype, antialiasing (with freetype), jack, pulseaudio, xcb. +imagemagick, freetype, antialiasing (with freetype), jack, pulseaudio, +wavpack, xcb. %description devel This package contains development files for xine-lib. @@ -146,12 +151,9 @@ This package contains extra plugins for xine-lib: %if 0%{!?_without_imagemagick:1} - Image decoding %endif # imagemagick -%if %{with_dfb} +%if 0%{!?_without_directfb:1} - DirectFB output -%endif # dfb -%if %{with_xcb} - - XCB output -%endif # xcb +%endif # directfb %prep @@ -177,9 +179,9 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)" %configure \ --disable-dependency-tracking \ --enable-ipv6 \ -%if %{with_dfb} +%if 0%{!?_without_directfb:1} --enable-directfb \ -%endif # dfb +%endif # directfb --disable-a52dec \ --disable-mad \ --disable-dvdnavtest --with-external-dvdnav \ @@ -201,7 +203,9 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)" --without-imagemagick \ %endif # imagemagick --with-arts \ +%if %{with_wpack} --with-wavpack \ +%endif --with-real-codecs-path=%{codecdir} \ --with-w32-path=%{codecdir} @@ -328,13 +332,16 @@ rm -rf $RPM_BUILD_ROOT %if %{have_vidix} %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_vidix.so %endif # vidix +%if %{with_xcb} +%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbshm.so +%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbxv.so +%endif # xcb %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xshm.so %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xv.so %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xvmc.so %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xxmc.so %{_libdir}/xine/plugins/%{version}/xineplug_wavpack.so - %files arts %defattr(-,root,root,-) %{_libdir}/xine/plugins/%{version}/xineplug_ao_out_arts.so @@ -360,16 +367,11 @@ rm -rf $RPM_BUILD_ROOT %if %{with_caca} %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so %endif # caca -%if %{with_dfb} +%if 0%{!?_without_directfb:1} %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_directfb.so %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xdirectfb.so -%endif # dfb +%endif # directfb %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so -%if %{with_xcb} -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbshm.so -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbxv.so -%endif # xcb - %files devel %defattr(-,root,root,-) @@ -384,8 +386,10 @@ rm -rf $RPM_BUILD_ROOT %changelog -* Mon Sep 10 2007 Ville Skyttä - 1.1.8-2.1 -- Adjust default -extras feature set for EPEL-5. +* Sat Sep 15 2007 Ville Skyttä - 1.1.8-3 +- Move XCB plugins to the main package. +- Make aalib, caca, pulseaudio, jack, and wavpack support optional at build + time in preparation for the first EPEL build. * Sun Sep 09 2007 Aurelien Bompard 1.1.8-2 - remove the dependency from -extras to -arts, and use Obsoletes to From 8d582f769dd43ea204ae84c476a4c81916b1403f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Wed, 19 Sep 2007 19:32:56 +0000 Subject: [PATCH 13/82] =?UTF-8?q?*=20Wed=20Sep=2019=202007=20Ville=20Skytt?= =?UTF-8?q?=C3=A4=20=20-=201.1.8-4=20-=20Fix?= =?UTF-8?q?=20"--without=20wavpack"=20build.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xine-lib.spec | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/xine-lib.spec b/xine-lib.spec index d953df1..69784e8 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -35,7 +35,7 @@ Summary: Xine library Name: xine-lib Version: 1.1.8 -Release: 3%{?dist} +Release: 4%{?dist} License: GPLv2+ Group: System Environment/Libraries URL: http://xinehq.de/ @@ -340,7 +340,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xv.so %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xvmc.so %{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xxmc.so +%if %{with_wpack} %{_libdir}/xine/plugins/%{version}/xineplug_wavpack.so +%endif # wpack %files arts %defattr(-,root,root,-) @@ -386,6 +388,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Sep 19 2007 Ville Skyttä - 1.1.8-4 +- Fix "--without wavpack" build. + * Sat Sep 15 2007 Ville Skyttä - 1.1.8-3 - Move XCB plugins to the main package. - Make aalib, caca, pulseaudio, jack, and wavpack support optional at build From a3bdf0900975c7851c061ad93ba20dc4f53f1a60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Mon, 24 Sep 2007 19:29:43 +0000 Subject: [PATCH 14/82] =?UTF-8?q?*=20Sun=20Sep=2023=202007=20Ville=20Skytt?= =?UTF-8?q?=C3=A4=20=20-=201.1.8-5=20-=20Enabl?= =?UTF-8?q?e=20JACK=20support=20by=20default=20for=20all=20distros.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xine-lib.spec | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/xine-lib.spec b/xine-lib.spec index 69784e8..052f450 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -18,16 +18,15 @@ %else %define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0} %endif + %define with_jack %{?_without_jack:0}%{!?_without_jack:1} %if 0%{?fedora} %define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1} %define with_caca %{?_without_caca:0}%{!?_without_caca:1} - %define with_jack %{?_without_jack:0}%{!?_without_jack:1} %define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1} %define with_wpack %{?_without_wavpack:0}%{!?_without_wavpack:1} %else %define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0} %define with_caca %{?_with_caca:1}%{!?_with_caca:0} - %define with_jack %{?_with_jack:1}%{!?_with_jack:0} %define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0} %define with_wpack %{?_with_wavpack:1}%{!?_with_wavpack:0} %endif @@ -35,7 +34,7 @@ Summary: Xine library Name: xine-lib Version: 1.1.8 -Release: 4%{?dist} +Release: 5%{?dist} License: GPLv2+ Group: System Environment/Libraries URL: http://xinehq.de/ @@ -388,6 +387,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Sun Sep 23 2007 Ville Skyttä - 1.1.8-5 +- Enable JACK support by default for all distros. + * Wed Sep 19 2007 Ville Skyttä - 1.1.8-4 - Fix "--without wavpack" build. From 8346e044af256faa4274182886726b4afc9d5a4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Thu, 27 Sep 2007 20:24:08 +0000 Subject: [PATCH 15/82] =?UTF-8?q?*=20Thu=20Sep=2027=202007=20Ville=20Skytt?= =?UTF-8?q?=C3=A4=20=20-=201.1.8-6=20-=20Enabl?= =?UTF-8?q?e=20wavpack=20support=20by=20default=20for=20all=20distros.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xine-lib.spec | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/xine-lib.spec b/xine-lib.spec index 052f450..41896b8 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -19,22 +19,21 @@ %define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0} %endif %define with_jack %{?_without_jack:0}%{!?_without_jack:1} + %define with_wpack %{?_without_wavpack:0}%{!?_without_wavpack:1} %if 0%{?fedora} %define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1} %define with_caca %{?_without_caca:0}%{!?_without_caca:1} %define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1} - %define with_wpack %{?_without_wavpack:0}%{!?_without_wavpack:1} %else %define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0} %define with_caca %{?_with_caca:1}%{!?_with_caca:0} %define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0} - %define with_wpack %{?_with_wavpack:1}%{!?_with_wavpack:0} %endif Summary: Xine library Name: xine-lib Version: 1.1.8 -Release: 5%{?dist} +Release: 6%{?dist} License: GPLv2+ Group: System Environment/Libraries URL: http://xinehq.de/ @@ -387,6 +386,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Sep 27 2007 Ville Skyttä - 1.1.8-6 +- Enable wavpack support by default for all distros. + * Sun Sep 23 2007 Ville Skyttä - 1.1.8-5 - Enable JACK support by default for all distros. From 0598148c6197f8789667b12d1e415100750f675d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Sat, 12 Jan 2008 11:41:42 +0000 Subject: [PATCH 16/82] =?UTF-8?q?*=20Sat=20Jan=2012=202008=20Ville=20Skytt?= =?UTF-8?q?=C3=A4=20=20-=201.1.8-7=20-=20Inclu?= =?UTF-8?q?de=20RTSP=20security=20fixes=20from=201.1.9.1.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xine-lib-1.1.8-CVE-2008-0225.patch | 208 +++++++++++++++++++++++++++++ xine-lib.spec | 7 +- 2 files changed, 214 insertions(+), 1 deletion(-) create mode 100644 xine-lib-1.1.8-CVE-2008-0225.patch diff --git a/xine-lib-1.1.8-CVE-2008-0225.patch b/xine-lib-1.1.8-CVE-2008-0225.patch new file mode 100644 index 0000000..abb7fab --- /dev/null +++ b/xine-lib-1.1.8-CVE-2008-0225.patch @@ -0,0 +1,208 @@ +diff -r -Nu xine-lib-1.1.9/src/input/libreal/rmff.c xine-lib-1.1.9.1/src/input/libreal/rmff.c +--- xine-lib-1.1.9/src/input/libreal/rmff.c 2008-01-01 15:30:08.000000000 +0200 ++++ xine-lib-1.1.9.1/src/input/libreal/rmff.c 2008-01-11 15:40:28.000000000 +0200 +@@ -35,9 +35,13 @@ + * writes header data to a buffer + */ + +-static void rmff_dump_fileheader(rmff_fileheader_t *fileheader, char *buffer) { ++static int rmff_dump_fileheader(rmff_fileheader_t *fileheader, uint8_t *buffer, int bufsize) { ++ ++ if (!fileheader) return 0; ++ ++ if (bufsize < RMFF_FILEHEADER_SIZE) ++ return -1; + +- if (!fileheader) return; + fileheader->object_id=_X_BE_32(&fileheader->object_id); + fileheader->size=_X_BE_32(&fileheader->size); + fileheader->object_version=_X_BE_16(&fileheader->object_version); +@@ -53,11 +57,17 @@ + fileheader->file_version=_X_BE_32(&fileheader->file_version); + fileheader->num_headers=_X_BE_32(&fileheader->num_headers); + fileheader->object_id=_X_BE_32(&fileheader->object_id); ++ ++ return RMFF_FILEHEADER_SIZE; + } + +-static void rmff_dump_prop(rmff_prop_t *prop, char *buffer) { ++static int rmff_dump_prop(rmff_prop_t *prop, uint8_t *buffer, int bufsize) { ++ ++ if (!prop) return 0; ++ ++ if (bufsize < RMFF_PROPHEADER_SIZE) ++ return -1; + +- if (!prop) return; + prop->object_id=_X_BE_32(&prop->object_id); + prop->size=_X_BE_32(&prop->size); + prop->object_version=_X_BE_16(&prop->object_version); +@@ -93,13 +103,19 @@ + prop->num_streams=_X_BE_16(&prop->num_streams); + prop->flags=_X_BE_16(&prop->flags); + prop->object_id=_X_BE_32(&prop->object_id); ++ ++ return RMFF_PROPHEADER_SIZE; + } + +-static void rmff_dump_mdpr(rmff_mdpr_t *mdpr, char *buffer) { ++static int rmff_dump_mdpr(rmff_mdpr_t *mdpr, uint8_t *buffer, int bufsize) { + + int s1, s2, s3; + +- if (!mdpr) return; ++ if (!mdpr) return 0; ++ ++ if (bufsize < RMFF_MDPRHEADER_SIZE + mdpr->type_specific_len + mdpr->stream_name_size + mdpr->mime_type_size) ++ return -1; ++ + mdpr->object_id=_X_BE_32(&mdpr->object_id); + mdpr->size=_X_BE_32(&mdpr->size); + mdpr->object_version=_X_BE_16(&mdpr->object_version); +@@ -141,13 +157,19 @@ + mdpr->duration=_X_BE_32(&mdpr->duration); + mdpr->object_id=_X_BE_32(&mdpr->object_id); + ++ return RMFF_MDPRHEADER_SIZE + s1 + s2 + s3; + } + +-static void rmff_dump_cont(rmff_cont_t *cont, char *buffer) { ++static int rmff_dump_cont(rmff_cont_t *cont, uint8_t *buffer, int bufsize) { + + int p; + +- if (!cont) return; ++ if (!cont) return 0; ++ ++ if (bufsize < RMFF_CONTHEADER_SIZE + cont->title_len + cont->author_len + ++ cont->copyright_len + cont->comment_len) ++ return -1; ++ + cont->object_id=_X_BE_32(&cont->object_id); + cont->size=_X_BE_32(&cont->size); + cont->object_version=_X_BE_16(&cont->object_version); +@@ -181,11 +203,18 @@ + cont->size=_X_BE_32(&cont->size); + cont->object_version=_X_BE_16(&cont->object_version); + cont->object_id=_X_BE_32(&cont->object_id); ++ ++ return RMFF_CONTHEADER_SIZE + cont->title_len + cont->author_len + ++ cont->copyright_len + cont->comment_len; + } + +-static void rmff_dump_dataheader(rmff_data_t *data, char *buffer) { ++static int rmff_dump_dataheader(rmff_data_t *data, uint8_t *buffer, int bufsize) { ++ ++ if (!data) return 0; ++ ++ if (bufsize < RMFF_DATAHEADER_SIZE) ++ return -1; + +- if (!data) return; + data->object_id=_X_BE_32(&data->object_id); + data->size=_X_BE_32(&data->size); + data->object_version=_X_BE_16(&data->object_version); +@@ -201,31 +230,43 @@ + data->size=_X_BE_32(&data->size); + data->object_version=_X_BE_16(&data->object_version); + data->object_id=_X_BE_32(&data->object_id); ++ ++ return RMFF_DATAHEADER_SIZE; + } + +-int rmff_dump_header(rmff_header_t *h, char *buffer, int max) { ++int rmff_dump_header(rmff_header_t *h, void *buf_gen, int max) { ++ uint8_t *buffer = buf_gen; + +- int written=0; ++ int written=0, size; + rmff_mdpr_t **stream=h->streams; + +- rmff_dump_fileheader(h->fileheader, &buffer[written]); +- written+=h->fileheader->size; +- rmff_dump_prop(h->prop, &buffer[written]); +- written+=h->prop->size; +- rmff_dump_cont(h->cont, &buffer[written]); +- written+=h->cont->size; ++ if ((size=rmff_dump_fileheader(h->fileheader, &buffer[written], max)) < 0) ++ return -1; ++ written+=size; ++ max -= size; ++ if ((size=rmff_dump_prop(h->prop, &buffer[written], max)) < 0) ++ return -1; ++ written+=size; ++ max -= size; ++ if ((size=rmff_dump_cont(h->cont, &buffer[written], max)) < 0) ++ return -1; ++ written+=size; ++ max -= size; + if (stream) + { + while(*stream) + { +- rmff_dump_mdpr(*stream, &buffer[written]); +- written+=(*stream)->size; ++ if ((size=rmff_dump_mdpr(*stream, &buffer[written], max)) < 0) ++ return -1; ++ written+=size; ++ max -= size; + stream++; + } + } + +- rmff_dump_dataheader(h->data, &buffer[written]); +- written+=18; ++ if ((size=rmff_dump_dataheader(h->data, &buffer[written], max)) < 0) ++ return -1; ++ written+=size; + + return written; + } +diff -r -Nu xine-lib-1.1.9/src/input/libreal/rmff.h xine-lib-1.1.9.1/src/input/libreal/rmff.h +--- xine-lib-1.1.9/src/input/libreal/rmff.h 2008-01-01 15:30:08.000000000 +0200 ++++ xine-lib-1.1.9.1/src/input/libreal/rmff.h 2008-01-11 17:22:09.000000000 +0200 +@@ -39,6 +39,12 @@ + + #define RMFF_HEADER_SIZE 0x12 + ++#define RMFF_FILEHEADER_SIZE 18 ++#define RMFF_PROPHEADER_SIZE 50 ++#define RMFF_MDPRHEADER_SIZE 46 ++#define RMFF_CONTHEADER_SIZE 18 ++#define RMFF_DATAHEADER_SIZE 18 ++ + #define FOURCC_TAG( ch0, ch1, ch2, ch3 ) \ + (((long)(unsigned char)(ch3) ) | \ + ( (long)(unsigned char)(ch2) << 8 ) | \ +@@ -245,7 +251,7 @@ + /* + * dumps the header to . is the size of + */ +-int rmff_dump_header(rmff_header_t *h, char *buffer, int max); ++int rmff_dump_header(rmff_header_t *h, void *buf_gen, int max); + + /* + * dumps a packet header +diff -r -Nu xine-lib-1.1.9/src/input/librtsp/rtsp_session.c xine-lib-1.1.9.1/src/input/librtsp/rtsp_session.c +--- xine-lib-1.1.9/src/input/librtsp/rtsp_session.c 2008-01-01 15:30:08.000000000 +0200 ++++ xine-lib-1.1.9.1/src/input/librtsp/rtsp_session.c 2008-01-11 06:11:52.000000000 +0200 +@@ -148,6 +148,11 @@ + + rtsp_session->header_left = + rtsp_session->header_len = rmff_dump_header(h,rtsp_session->header,HEADER_SIZE); ++ if (rtsp_session->header_len < 0) { ++ xprintf (stream->xine, XINE_VERBOSITY_LOG, ++ _("rtsp_session: rtsp server returned overly-large headers, session can not be established.\n")); ++ goto session_abort; ++ } + + xine_buffer_copyin(rtsp_session->recv, 0, rtsp_session->header, rtsp_session->header_len); + rtsp_session->recv_size = rtsp_session->header_len; +@@ -157,6 +162,7 @@ + { + xprintf(stream->xine, XINE_VERBOSITY_LOG, + _("rtsp_session: rtsp server type '%s' not supported yet. sorry.\n"), server); ++ session_abort: + rtsp_close(rtsp_session->s); + free(server); + xine_buffer_free(rtsp_session->recv); diff --git a/xine-lib.spec b/xine-lib.spec index 41896b8..973800b 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -33,7 +33,7 @@ Summary: Xine library Name: xine-lib Version: 1.1.8 -Release: 6%{?dist} +Release: 7%{?dist} License: GPLv2+ Group: System Environment/Libraries URL: http://xinehq.de/ @@ -46,6 +46,7 @@ Source2: %{name}-mk-autotools-patch.sh # autotools patch created with source2 Patch0: %{name}-%{version}-autotools.patch.bz2 Patch1: %{name}-1.1.4-optflags.patch +Patch2: %{name}-1.1.8-CVE-2008-0225.patch Patch6: %{name}-1.1.1-deepbind-939.patch Patch7: %{name}-1.1.5-multilib-devel.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -161,6 +162,7 @@ touch -r configure.ac aclocal.m4 touch -r m4/optimizations.m4 m4/optimizations.m4.stamp %patch1 -p1 -b .optflags touch -r m4/optimizations.m4.stamp m4/optimizations.m4 +%patch2 -p1 -b .CVE-2008-0225 # Patch6 needed at least when compiling with external ffmpeg, #939. %patch6 -p1 -b .deepbind %patch7 -p0 -b .multilib-devel @@ -386,6 +388,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Sat Jan 12 2008 Ville Skyttä - 1.1.8-7 +- Include RTSP security fixes from 1.1.9.1. + * Thu Sep 27 2007 Ville Skyttä - 1.1.8-6 - Enable wavpack support by default for all distros. From 37060d2e5b2a97660529f8fc2a83a721ecae0365 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Skytt=C3=A4?= Date: Fri, 8 Feb 2008 20:38:56 +0000 Subject: [PATCH 17/82] =?UTF-8?q?*=20Fri=20Feb=20=208=202008=20Ville=20Sky?= =?UTF-8?q?tt=C3=A4=20=20-=201.1.8-8=20-=20Inc?= =?UTF-8?q?lude=20ASF=20and=20FLAC=20comment=20security=20fixes=20from=201?= =?UTF-8?q?.1.10=20and=201.1.10.1.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- xine-lib-1.1.8-CVE-2006-1664.patch | 38 +++++++++++++++++++++++ xine-lib-1.1.8-CVE-2008-0486.patch | 50 ++++++++++++++++++++++++++++++ xine-lib.spec | 9 +++++- 3 files changed, 96 insertions(+), 1 deletion(-) create mode 100644 xine-lib-1.1.8-CVE-2006-1664.patch create mode 100644 xine-lib-1.1.8-CVE-2008-0486.patch diff --git a/xine-lib-1.1.8-CVE-2006-1664.patch b/xine-lib-1.1.8-CVE-2006-1664.patch new file mode 100644 index 0000000..8418d51 --- /dev/null +++ b/xine-lib-1.1.8-CVE-2006-1664.patch @@ -0,0 +1,38 @@ +diff -r 461fae9b8fca -r fb6d089b520d src/demuxers/demux_asf.c +--- a/src/demuxers/demux_asf.c Wed Jan 23 18:29:51 2008 +0000 ++++ b/src/demuxers/demux_asf.c Wed Jan 23 19:40:16 2008 +0000 +@@ -379,10 +379,21 @@ static int asf_read_header (demux_asf_t + char *asf_header_buffer = NULL; + + asf_header_len = get_le64(this); +- asf_header_buffer = alloca(asf_header_len); ++ if (asf_header_len > 4 * 1024 * 1024) ++ { ++ xprintf(this->stream->xine, XINE_VERBOSITY_DEBUG, ++ "demux_asf: asf_read_header: overly-large header? (%"PRIu64" bytes)\n", ++ asf_header_len); ++ return 0; ++ } ++ ++ asf_header_buffer = malloc (asf_header_len); + + if (this->input->read (this->input, asf_header_buffer, asf_header_len) != asf_header_len) ++ { ++ free (asf_header_buffer); + return 0; ++ } + + /* delete previous header */ + if (this->asf_header) { +@@ -395,7 +406,11 @@ static int asf_read_header (demux_asf_t + */ + this->asf_header = asf_header_new(asf_header_buffer, asf_header_len); + if (!this->asf_header) ++ { ++ free (asf_header_buffer); + return 0; ++ } ++ free (asf_header_buffer); + + lprintf("asf header parsing ok\n"); + diff --git a/xine-lib-1.1.8-CVE-2008-0486.patch b/xine-lib-1.1.8-CVE-2008-0486.patch new file mode 100644 index 0000000..b9c409c --- /dev/null +++ b/xine-lib-1.1.8-CVE-2008-0486.patch @@ -0,0 +1,50 @@ +diff -r 6cce4115cd7d -r 71d64201b47e src/demuxers/demux_flac.c +--- a/src/demuxers/demux_flac.c Thu Feb 07 17:49:40 2008 +0000 ++++ b/src/demuxers/demux_flac.c Thu Feb 07 17:51:59 2008 +0000 +@@ -189,7 +189,7 @@ static int open_flac_file(demux_flac_t * + case 4: + lprintf ("VORBIS_COMMENT metadata\n"); + { +- char comments[block_length]; ++ char comments[block_length + 1]; /* last byte for NUL termination */ + char *ptr = comments; + uint32_t length, user_comment_list_length; + int cn; +@@ -202,18 +202,25 @@ static int open_flac_file(demux_flac_t * + + length = _X_LE_32(ptr); + ptr += 4 + length; ++ if (length >= block_length - 8) ++ return 0; /* bad length or too little left in the buffer */ + + user_comment_list_length = _X_LE_32(ptr); + ptr += 4; + + cn = 0; + for (; cn < user_comment_list_length; cn++) { ++ if (ptr > comments + block_length - 4) ++ return 0; /* too little left in the buffer */ ++ + length = _X_LE_32(ptr); + ptr += 4; ++ if (length >= block_length || ptr + length > comments + block_length) ++ return 0; /* bad length */ + + comment = (char*) ptr; + c = comment[length]; +- comment[length] = 0; ++ comment[length] = 0; /* NUL termination */ + + lprintf ("comment[%02d] = %s\n", cn, comment); + +@@ -248,8 +255,8 @@ static int open_flac_file(demux_flac_t * + } + + if ((tracknumber > 0) && (tracktotal > 0)) { +- char tn[16]; +- snprintf (tn, 16, "%02d/%02d", tracknumber, tracktotal); ++ char tn[24]; ++ snprintf (tn, 24, "%02d/%02d", tracknumber, tracktotal); + _x_meta_info_set(flac->stream, XINE_META_INFO_TRACK_NUMBER, tn); + } + else if (tracknumber > 0) { diff --git a/xine-lib.spec b/xine-lib.spec index 973800b..dfa1c29 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -33,7 +33,7 @@ Summary: Xine library Name: xine-lib Version: 1.1.8 -Release: 7%{?dist} +Release: 8%{?dist} License: GPLv2+ Group: System Environment/Libraries URL: http://xinehq.de/ @@ -47,6 +47,8 @@ Source2: %{name}-mk-autotools-patch.sh Patch0: %{name}-%{version}-autotools.patch.bz2 Patch1: %{name}-1.1.4-optflags.patch Patch2: %{name}-1.1.8-CVE-2008-0225.patch +Patch3: %{name}-1.1.8-CVE-2006-1664.patch +Patch4: %{name}-1.1.8-CVE-2008-0486.patch Patch6: %{name}-1.1.1-deepbind-939.patch Patch7: %{name}-1.1.5-multilib-devel.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -163,6 +165,8 @@ touch -r m4/optimizations.m4 m4/optimizations.m4.stamp %patch1 -p1 -b .optflags touch -r m4/optimizations.m4.stamp m4/optimizations.m4 %patch2 -p1 -b .CVE-2008-0225 +%patch3 -p1 -b .CVE-2006-1664 +%patch4 -p1 -b .CVE-2008-0486 # Patch6 needed at least when compiling with external ffmpeg, #939. %patch6 -p1 -b .deepbind %patch7 -p0 -b .multilib-devel @@ -388,6 +392,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Fri Feb 8 2008 Ville Skyttä - 1.1.8-8 +- Include ASF and FLAC comment security fixes from 1.1.10 and 1.1.10.1. + * Sat Jan 12 2008 Ville Skyttä - 1.1.8-7 - Include RTSP security fixes from 1.1.9.1. From a5e55c9a90d24b6592be87e0908b3fafa719e3a7 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Thu, 24 Apr 2008 13:20:09 +0000 Subject: [PATCH 18/82] * Thu Apr 24 2008 Rex Dieter - 1.1.8-9 - CVE-2008-1878 (#443969) --- xine-lib-1.1.12-CVE-2008-1878.patch | 16 ++++++++++++++++ xine-lib.spec | 6 ++++++ 2 files changed, 22 insertions(+) create mode 100644 xine-lib-1.1.12-CVE-2008-1878.patch diff --git a/xine-lib-1.1.12-CVE-2008-1878.patch b/xine-lib-1.1.12-CVE-2008-1878.patch new file mode 100644 index 0000000..b51f875 --- /dev/null +++ b/xine-lib-1.1.12-CVE-2008-1878.patch @@ -0,0 +1,16 @@ +diff -up xine-lib-1.1.12/src/demuxers/demux_nsf.c.CVE-2008-1878 xine-lib-1.1.12/src/demuxers/demux_nsf.c +--- xine-lib-1.1.12/src/demuxers/demux_nsf.c.CVE-2008-1878 2008-03-28 09:24:50.000000000 -0500 ++++ xine-lib-1.1.12/src/demuxers/demux_nsf.c 2008-04-24 06:52:45.000000000 -0500 +@@ -106,9 +106,9 @@ static int open_nsf_file(demux_nsf_t *th + + this->total_songs = header[6]; + this->current_song = header[7]; +- this->title = strdup(&header[0x0E]); +- this->artist = strdup(&header[0x2E]); +- this->copyright = strdup(&header[0x4E]); ++ this->title = strndup((char*)&header[0x0E], 0x20); ++ this->artist = strndup((char*)&header[0x2E], 0x20); ++ this->copyright = strndup((char*)&header[0x4E], 0x20); + + this->filesize = this->input->get_length(this->input); + diff --git a/xine-lib.spec b/xine-lib.spec index dfa1c29..2990c84 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -51,6 +51,8 @@ Patch3: %{name}-1.1.8-CVE-2006-1664.patch Patch4: %{name}-1.1.8-CVE-2008-0486.patch Patch6: %{name}-1.1.1-deepbind-939.patch Patch7: %{name}-1.1.5-multilib-devel.patch +Patch8: %{name}-1.1.12-CVE-2008-1878.patch + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) # X11 BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel @@ -170,6 +172,7 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4 # Patch6 needed at least when compiling with external ffmpeg, #939. %patch6 -p1 -b .deepbind %patch7 -p0 -b .multilib-devel +%patch8 -p1 -b .CVE-2008-1878 # Avoid standard rpaths on lib64 archs: sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure @@ -392,6 +395,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Apr 24 2008 Rex Dieter - 1.1.8-9 +- CVE-2008-1878 (#443969) + * Fri Feb 8 2008 Ville Skyttä - 1.1.8-8 - Include ASF and FLAC comment security fixes from 1.1.10 and 1.1.10.1. From 24c56bd0dd94d835abb8856014bf8435e5abe440 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Thu, 24 Apr 2008 13:21:30 +0000 Subject: [PATCH 19/82] Release++ --- xine-lib.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xine-lib.spec b/xine-lib.spec index 2990c84..85a667a 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -33,7 +33,7 @@ Summary: Xine library Name: xine-lib Version: 1.1.8 -Release: 8%{?dist} +Release: 9%{?dist} License: GPLv2+ Group: System Environment/Libraries URL: http://xinehq.de/ From 36901624795de0dbdfb4e91770133fd0120693b4 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Mon, 22 Sep 2008 21:01:29 +0000 Subject: [PATCH 20/82] * Wed Aug 20 2008 Rex Dieter - 1.1.15-1 - xine-lib-1.1.15, plugin ABI 1.24 (rh#455752, CVE-2008-3231) - Obsoletes: -arts (f9+) --- .cvsignore | 4 +- sources | 4 +- xine-lib-1.1.12-CVE-2008-1878.patch | 16 -- xine-lib-1.1.15-ansi.patch | 12 + xine-lib-1.1.5-multilib-devel.patch | 40 --- xine-lib-1.1.8-CVE-2006-1664.patch | 38 --- xine-lib-1.1.8-CVE-2008-0225.patch | 208 -------------- xine-lib-1.1.8-CVE-2008-0486.patch | 50 ---- xine-lib-cleanup-sources.sh | 22 +- xine-lib.spec | 431 ++++++++++++++++------------ 10 files changed, 281 insertions(+), 544 deletions(-) delete mode 100644 xine-lib-1.1.12-CVE-2008-1878.patch create mode 100644 xine-lib-1.1.15-ansi.patch delete mode 100644 xine-lib-1.1.5-multilib-devel.patch delete mode 100644 xine-lib-1.1.8-CVE-2006-1664.patch delete mode 100644 xine-lib-1.1.8-CVE-2008-0225.patch delete mode 100644 xine-lib-1.1.8-CVE-2008-0486.patch diff --git a/.cvsignore b/.cvsignore index 0426b0d..3929296 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ -xine-lib-1.1.8-pruned.tar.bz2 -xine-lib-1.1.8-autotools.patch.bz2 +xine-lib-1.1.15-autotools.patch.bz2 +xine-lib-1.1.15-pruned.tar.bz2 diff --git a/sources b/sources index 00ae4ec..15195de 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -6cbfae9d31fc138c7cb3c3d178e1286d xine-lib-1.1.8-pruned.tar.bz2 -b4a7c7a9af428b26667402d6dc180107 xine-lib-1.1.8-autotools.patch.bz2 +ffd74ec893a5f1167c69987a68f436fd xine-lib-1.1.15-autotools.patch.bz2 +acdbdc024382afac111eb076304448ed xine-lib-1.1.15-pruned.tar.bz2 diff --git a/xine-lib-1.1.12-CVE-2008-1878.patch b/xine-lib-1.1.12-CVE-2008-1878.patch deleted file mode 100644 index b51f875..0000000 --- a/xine-lib-1.1.12-CVE-2008-1878.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -up xine-lib-1.1.12/src/demuxers/demux_nsf.c.CVE-2008-1878 xine-lib-1.1.12/src/demuxers/demux_nsf.c ---- xine-lib-1.1.12/src/demuxers/demux_nsf.c.CVE-2008-1878 2008-03-28 09:24:50.000000000 -0500 -+++ xine-lib-1.1.12/src/demuxers/demux_nsf.c 2008-04-24 06:52:45.000000000 -0500 -@@ -106,9 +106,9 @@ static int open_nsf_file(demux_nsf_t *th - - this->total_songs = header[6]; - this->current_song = header[7]; -- this->title = strdup(&header[0x0E]); -- this->artist = strdup(&header[0x2E]); -- this->copyright = strdup(&header[0x4E]); -+ this->title = strndup((char*)&header[0x0E], 0x20); -+ this->artist = strndup((char*)&header[0x2E], 0x20); -+ this->copyright = strndup((char*)&header[0x4E], 0x20); - - this->filesize = this->input->get_length(this->input); - diff --git a/xine-lib-1.1.15-ansi.patch b/xine-lib-1.1.15-ansi.patch new file mode 100644 index 0000000..d9f1b27 --- /dev/null +++ b/xine-lib-1.1.15-ansi.patch @@ -0,0 +1,12 @@ +diff -up xine-lib-1.1.15/src/xine-engine/buffer.h.ansi xine-lib-1.1.15/src/xine-engine/buffer.h +--- xine-lib-1.1.15/src/xine-engine/buffer.h.ansi 2008-07-16 16:01:56.000000000 -0500 ++++ xine-lib-1.1.15/src/xine-engine/buffer.h 2008-08-19 12:08:46.000000000 -0500 +@@ -676,7 +676,7 @@ void _x_bmiheader_le2me( xine_bmiheader + /* convert xine_waveformatex struct from little endian */ + void _x_waveformatex_le2me( xine_waveformatex *wavex ) XINE_PROTECTED; + +-static inline _x_is_fourcc(void *ptr, void *tag) { ++static __inline _x_is_fourcc(void *ptr, void *tag) { + return memcmp(ptr, tag, 4) == 0; + } + diff --git a/xine-lib-1.1.5-multilib-devel.patch b/xine-lib-1.1.5-multilib-devel.patch deleted file mode 100644 index 5b5d05d..0000000 --- a/xine-lib-1.1.5-multilib-devel.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- misc/xine-config.in~ 2007-04-05 01:18:00.000000000 +0300 -+++ misc/xine-config.in 2007-04-11 01:32:44.000000000 +0300 -@@ -2,8 +2,8 @@ - # - # - --prefix=@XINE_CONFIG_PREFIX@ --exec_prefix=@exec_prefix@ -+prefix=$(pkg-config libxine --variable=prefix) -+exec_prefix=$(pkg-config libxine --variable=exec_prefix) - exec_prefix_set=no - - usage() -@@ -54,7 +54,7 @@ - echo_exec_prefix=yes - ;; - --version) -- echo @XINE_MAJOR@.@XINE_MINOR@.@XINE_SUB@ -+ pkg-config libxine --modversion - ;; - --acflags) - echo_acflags=yes -@@ -100,14 +100,14 @@ - fi - - if test "$echo_cflags" = "yes"; then -- echo -I@includedir@ @PTHREAD_CFLAGS@ -+ pkg-config libxine --cflags - fi - - if test "$echo_libs" = "yes"; then -- echo -L@libdir@ -lxine @ZLIB_LIBS@ @NET_LIBS@ @PTHREAD_LIBS@ @LIBICONV@ @RT_LIBS@ -+ pkg-config libxine --libs - fi - if test "$echo_plugindir" = "yes"; then -- echo "@XINE_PLUGINPATH@" -+ echo "$(pkg-config libxine --variable=libdir)/xine/plugins/$(pkg-config libxine --modversion)" - fi - if test "$echo_datadir" = "yes"; then - echo "@XINE_DATADIR@" diff --git a/xine-lib-1.1.8-CVE-2006-1664.patch b/xine-lib-1.1.8-CVE-2006-1664.patch deleted file mode 100644 index 8418d51..0000000 --- a/xine-lib-1.1.8-CVE-2006-1664.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff -r 461fae9b8fca -r fb6d089b520d src/demuxers/demux_asf.c ---- a/src/demuxers/demux_asf.c Wed Jan 23 18:29:51 2008 +0000 -+++ b/src/demuxers/demux_asf.c Wed Jan 23 19:40:16 2008 +0000 -@@ -379,10 +379,21 @@ static int asf_read_header (demux_asf_t - char *asf_header_buffer = NULL; - - asf_header_len = get_le64(this); -- asf_header_buffer = alloca(asf_header_len); -+ if (asf_header_len > 4 * 1024 * 1024) -+ { -+ xprintf(this->stream->xine, XINE_VERBOSITY_DEBUG, -+ "demux_asf: asf_read_header: overly-large header? (%"PRIu64" bytes)\n", -+ asf_header_len); -+ return 0; -+ } -+ -+ asf_header_buffer = malloc (asf_header_len); - - if (this->input->read (this->input, asf_header_buffer, asf_header_len) != asf_header_len) -+ { -+ free (asf_header_buffer); - return 0; -+ } - - /* delete previous header */ - if (this->asf_header) { -@@ -395,7 +406,11 @@ static int asf_read_header (demux_asf_t - */ - this->asf_header = asf_header_new(asf_header_buffer, asf_header_len); - if (!this->asf_header) -+ { -+ free (asf_header_buffer); - return 0; -+ } -+ free (asf_header_buffer); - - lprintf("asf header parsing ok\n"); - diff --git a/xine-lib-1.1.8-CVE-2008-0225.patch b/xine-lib-1.1.8-CVE-2008-0225.patch deleted file mode 100644 index abb7fab..0000000 --- a/xine-lib-1.1.8-CVE-2008-0225.patch +++ /dev/null @@ -1,208 +0,0 @@ -diff -r -Nu xine-lib-1.1.9/src/input/libreal/rmff.c xine-lib-1.1.9.1/src/input/libreal/rmff.c ---- xine-lib-1.1.9/src/input/libreal/rmff.c 2008-01-01 15:30:08.000000000 +0200 -+++ xine-lib-1.1.9.1/src/input/libreal/rmff.c 2008-01-11 15:40:28.000000000 +0200 -@@ -35,9 +35,13 @@ - * writes header data to a buffer - */ - --static void rmff_dump_fileheader(rmff_fileheader_t *fileheader, char *buffer) { -+static int rmff_dump_fileheader(rmff_fileheader_t *fileheader, uint8_t *buffer, int bufsize) { -+ -+ if (!fileheader) return 0; -+ -+ if (bufsize < RMFF_FILEHEADER_SIZE) -+ return -1; - -- if (!fileheader) return; - fileheader->object_id=_X_BE_32(&fileheader->object_id); - fileheader->size=_X_BE_32(&fileheader->size); - fileheader->object_version=_X_BE_16(&fileheader->object_version); -@@ -53,11 +57,17 @@ - fileheader->file_version=_X_BE_32(&fileheader->file_version); - fileheader->num_headers=_X_BE_32(&fileheader->num_headers); - fileheader->object_id=_X_BE_32(&fileheader->object_id); -+ -+ return RMFF_FILEHEADER_SIZE; - } - --static void rmff_dump_prop(rmff_prop_t *prop, char *buffer) { -+static int rmff_dump_prop(rmff_prop_t *prop, uint8_t *buffer, int bufsize) { -+ -+ if (!prop) return 0; -+ -+ if (bufsize < RMFF_PROPHEADER_SIZE) -+ return -1; - -- if (!prop) return; - prop->object_id=_X_BE_32(&prop->object_id); - prop->size=_X_BE_32(&prop->size); - prop->object_version=_X_BE_16(&prop->object_version); -@@ -93,13 +103,19 @@ - prop->num_streams=_X_BE_16(&prop->num_streams); - prop->flags=_X_BE_16(&prop->flags); - prop->object_id=_X_BE_32(&prop->object_id); -+ -+ return RMFF_PROPHEADER_SIZE; - } - --static void rmff_dump_mdpr(rmff_mdpr_t *mdpr, char *buffer) { -+static int rmff_dump_mdpr(rmff_mdpr_t *mdpr, uint8_t *buffer, int bufsize) { - - int s1, s2, s3; - -- if (!mdpr) return; -+ if (!mdpr) return 0; -+ -+ if (bufsize < RMFF_MDPRHEADER_SIZE + mdpr->type_specific_len + mdpr->stream_name_size + mdpr->mime_type_size) -+ return -1; -+ - mdpr->object_id=_X_BE_32(&mdpr->object_id); - mdpr->size=_X_BE_32(&mdpr->size); - mdpr->object_version=_X_BE_16(&mdpr->object_version); -@@ -141,13 +157,19 @@ - mdpr->duration=_X_BE_32(&mdpr->duration); - mdpr->object_id=_X_BE_32(&mdpr->object_id); - -+ return RMFF_MDPRHEADER_SIZE + s1 + s2 + s3; - } - --static void rmff_dump_cont(rmff_cont_t *cont, char *buffer) { -+static int rmff_dump_cont(rmff_cont_t *cont, uint8_t *buffer, int bufsize) { - - int p; - -- if (!cont) return; -+ if (!cont) return 0; -+ -+ if (bufsize < RMFF_CONTHEADER_SIZE + cont->title_len + cont->author_len + -+ cont->copyright_len + cont->comment_len) -+ return -1; -+ - cont->object_id=_X_BE_32(&cont->object_id); - cont->size=_X_BE_32(&cont->size); - cont->object_version=_X_BE_16(&cont->object_version); -@@ -181,11 +203,18 @@ - cont->size=_X_BE_32(&cont->size); - cont->object_version=_X_BE_16(&cont->object_version); - cont->object_id=_X_BE_32(&cont->object_id); -+ -+ return RMFF_CONTHEADER_SIZE + cont->title_len + cont->author_len + -+ cont->copyright_len + cont->comment_len; - } - --static void rmff_dump_dataheader(rmff_data_t *data, char *buffer) { -+static int rmff_dump_dataheader(rmff_data_t *data, uint8_t *buffer, int bufsize) { -+ -+ if (!data) return 0; -+ -+ if (bufsize < RMFF_DATAHEADER_SIZE) -+ return -1; - -- if (!data) return; - data->object_id=_X_BE_32(&data->object_id); - data->size=_X_BE_32(&data->size); - data->object_version=_X_BE_16(&data->object_version); -@@ -201,31 +230,43 @@ - data->size=_X_BE_32(&data->size); - data->object_version=_X_BE_16(&data->object_version); - data->object_id=_X_BE_32(&data->object_id); -+ -+ return RMFF_DATAHEADER_SIZE; - } - --int rmff_dump_header(rmff_header_t *h, char *buffer, int max) { -+int rmff_dump_header(rmff_header_t *h, void *buf_gen, int max) { -+ uint8_t *buffer = buf_gen; - -- int written=0; -+ int written=0, size; - rmff_mdpr_t **stream=h->streams; - -- rmff_dump_fileheader(h->fileheader, &buffer[written]); -- written+=h->fileheader->size; -- rmff_dump_prop(h->prop, &buffer[written]); -- written+=h->prop->size; -- rmff_dump_cont(h->cont, &buffer[written]); -- written+=h->cont->size; -+ if ((size=rmff_dump_fileheader(h->fileheader, &buffer[written], max)) < 0) -+ return -1; -+ written+=size; -+ max -= size; -+ if ((size=rmff_dump_prop(h->prop, &buffer[written], max)) < 0) -+ return -1; -+ written+=size; -+ max -= size; -+ if ((size=rmff_dump_cont(h->cont, &buffer[written], max)) < 0) -+ return -1; -+ written+=size; -+ max -= size; - if (stream) - { - while(*stream) - { -- rmff_dump_mdpr(*stream, &buffer[written]); -- written+=(*stream)->size; -+ if ((size=rmff_dump_mdpr(*stream, &buffer[written], max)) < 0) -+ return -1; -+ written+=size; -+ max -= size; - stream++; - } - } - -- rmff_dump_dataheader(h->data, &buffer[written]); -- written+=18; -+ if ((size=rmff_dump_dataheader(h->data, &buffer[written], max)) < 0) -+ return -1; -+ written+=size; - - return written; - } -diff -r -Nu xine-lib-1.1.9/src/input/libreal/rmff.h xine-lib-1.1.9.1/src/input/libreal/rmff.h ---- xine-lib-1.1.9/src/input/libreal/rmff.h 2008-01-01 15:30:08.000000000 +0200 -+++ xine-lib-1.1.9.1/src/input/libreal/rmff.h 2008-01-11 17:22:09.000000000 +0200 -@@ -39,6 +39,12 @@ - - #define RMFF_HEADER_SIZE 0x12 - -+#define RMFF_FILEHEADER_SIZE 18 -+#define RMFF_PROPHEADER_SIZE 50 -+#define RMFF_MDPRHEADER_SIZE 46 -+#define RMFF_CONTHEADER_SIZE 18 -+#define RMFF_DATAHEADER_SIZE 18 -+ - #define FOURCC_TAG( ch0, ch1, ch2, ch3 ) \ - (((long)(unsigned char)(ch3) ) | \ - ( (long)(unsigned char)(ch2) << 8 ) | \ -@@ -245,7 +251,7 @@ - /* - * dumps the header to . is the size of - */ --int rmff_dump_header(rmff_header_t *h, char *buffer, int max); -+int rmff_dump_header(rmff_header_t *h, void *buf_gen, int max); - - /* - * dumps a packet header -diff -r -Nu xine-lib-1.1.9/src/input/librtsp/rtsp_session.c xine-lib-1.1.9.1/src/input/librtsp/rtsp_session.c ---- xine-lib-1.1.9/src/input/librtsp/rtsp_session.c 2008-01-01 15:30:08.000000000 +0200 -+++ xine-lib-1.1.9.1/src/input/librtsp/rtsp_session.c 2008-01-11 06:11:52.000000000 +0200 -@@ -148,6 +148,11 @@ - - rtsp_session->header_left = - rtsp_session->header_len = rmff_dump_header(h,rtsp_session->header,HEADER_SIZE); -+ if (rtsp_session->header_len < 0) { -+ xprintf (stream->xine, XINE_VERBOSITY_LOG, -+ _("rtsp_session: rtsp server returned overly-large headers, session can not be established.\n")); -+ goto session_abort; -+ } - - xine_buffer_copyin(rtsp_session->recv, 0, rtsp_session->header, rtsp_session->header_len); - rtsp_session->recv_size = rtsp_session->header_len; -@@ -157,6 +162,7 @@ - { - xprintf(stream->xine, XINE_VERBOSITY_LOG, - _("rtsp_session: rtsp server type '%s' not supported yet. sorry.\n"), server); -+ session_abort: - rtsp_close(rtsp_session->s); - free(server); - xine_buffer_free(rtsp_session->recv); diff --git a/xine-lib-1.1.8-CVE-2008-0486.patch b/xine-lib-1.1.8-CVE-2008-0486.patch deleted file mode 100644 index b9c409c..0000000 --- a/xine-lib-1.1.8-CVE-2008-0486.patch +++ /dev/null @@ -1,50 +0,0 @@ -diff -r 6cce4115cd7d -r 71d64201b47e src/demuxers/demux_flac.c ---- a/src/demuxers/demux_flac.c Thu Feb 07 17:49:40 2008 +0000 -+++ b/src/demuxers/demux_flac.c Thu Feb 07 17:51:59 2008 +0000 -@@ -189,7 +189,7 @@ static int open_flac_file(demux_flac_t * - case 4: - lprintf ("VORBIS_COMMENT metadata\n"); - { -- char comments[block_length]; -+ char comments[block_length + 1]; /* last byte for NUL termination */ - char *ptr = comments; - uint32_t length, user_comment_list_length; - int cn; -@@ -202,18 +202,25 @@ static int open_flac_file(demux_flac_t * - - length = _X_LE_32(ptr); - ptr += 4 + length; -+ if (length >= block_length - 8) -+ return 0; /* bad length or too little left in the buffer */ - - user_comment_list_length = _X_LE_32(ptr); - ptr += 4; - - cn = 0; - for (; cn < user_comment_list_length; cn++) { -+ if (ptr > comments + block_length - 4) -+ return 0; /* too little left in the buffer */ -+ - length = _X_LE_32(ptr); - ptr += 4; -+ if (length >= block_length || ptr + length > comments + block_length) -+ return 0; /* bad length */ - - comment = (char*) ptr; - c = comment[length]; -- comment[length] = 0; -+ comment[length] = 0; /* NUL termination */ - - lprintf ("comment[%02d] = %s\n", cn, comment); - -@@ -248,8 +255,8 @@ static int open_flac_file(demux_flac_t * - } - - if ((tracknumber > 0) && (tracktotal > 0)) { -- char tn[16]; -- snprintf (tn, 16, "%02d/%02d", tracknumber, tracktotal); -+ char tn[24]; -+ snprintf (tn, 24, "%02d/%02d", tracknumber, tracktotal); - _x_meta_info_set(flac->stream, XINE_META_INFO_TRACK_NUMBER, tn); - } - else if (tracknumber > 0) { diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh index 0a240f2..a905a3f 100755 --- a/xine-lib-cleanup-sources.sh +++ b/xine-lib-cleanup-sources.sh @@ -21,19 +21,27 @@ rm -rf $dir tar -xjf $tarball cd $dir +rmpluglib() +{ + echo "removing src/$1/$2..." + rm -rf src/$1/$2 + sed -i -e "s/SUBDIRS = \(.*\)$2\(.*\)/SUBDIRS = \1\2/g" src/$1/Makefile.am + sed -i -e "/^src\/$1\/$2/d" configure.ac +} + # Main libraries -for remove in libfaad libffmpeg libmad libmpeg2 dxr3 libspudec libspucmml libspucc liba52 libdts; do +for remove in libfaad libffmpeg libmad libmpeg2 dxr3 liba52 libdts; do echo "removing src/$remove..." rm -rf src/$remove sed -i -e "/$remove/d" src/Makefile.am sed -i -e "/^src\/$remove/d" configure.ac done # Input plugin libraries -for remove in libdvdnav vcd; do - echo "removing src/input/$remove..." - rm -rf src/input/$remove - sed -i -e "s/SUBDIRS = \(.*\)${remove}\(.*\)/SUBDIRS = \1\2/g" src/input/Makefile.am - sed -i -e "/^src\/input\/$remove/d" configure.ac +for remove in vcd; do + rmpluglib input vcd +done +for remove in ffmpeg; do + rmpluglib combined ffmpeg done # Input plugins for p in dvd vcd mms; do @@ -66,7 +74,7 @@ sed -i -e '/^xineplug_decode_nsf_la/,/^\s*$/d' \ -e /xineplug_decode_nsf/d \ -e 's/ nosefart//' \ src/libxineadec/Makefile.am -sed -i -e /nosefart/d configure.ac +sed -i -e '/nosefart\/Makefile/d' configure.ac # All clean ! diff --git a/xine-lib.spec b/xine-lib.spec index 85a667a..0386221 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -2,66 +2,71 @@ # - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog # - drop the opengl video out plugin? # http://www.redhat.com/archives/fedora-legal-list/2007-August/msg00011.html -# - move pulseaudio to main package from -extras? -# http://fedoraproject.org/wiki/Releases/FeaturePulseaudio -# --> not yet: -# http://www.redhat.com/archives/fedora-devel-list/2007-August/msg01411.html +# - external dvdnav - not compatible as of 1.1.11 and 4.1.1 +# - deprecate ESD support? + +%define abiver 1.24 +%define codecdir %{_libdir}/codecs -%define codecdir %{_libdir}/codecs %ifarch %{ix86} %define have_vidix 1 %else %define have_vidix 0 -%endif -%if 0%{?fedora} >= 8 - %define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1} -%else - %define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0} -%endif - %define with_jack %{?_without_jack:0}%{!?_without_jack:1} - %define with_wpack %{?_without_wavpack:0}%{!?_without_wavpack:1} +%endif # ix86 + %if 0%{?fedora} %define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1} %define with_caca %{?_without_caca:0}%{!?_without_caca:1} %define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1} + %define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1} %else %define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0} %define with_caca %{?_with_caca:1}%{!?_with_caca:0} %define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0} + %define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0} +%endif # Fedora + +%if 0%{?fedora} > 8 +%define _without_arts --without-arts %endif Summary: Xine library Name: xine-lib -Version: 1.1.8 -Release: 9%{?dist} +Version: 1.1.15 +Release: 1%{?dist} License: GPLv2+ Group: System Environment/Libraries URL: http://xinehq.de/ # The tarball is generated from the upstream tarball using # the script in SOURCE1. It prunes potentially patented code -#Source0: http://dl.sourceforge.net/xine/xine-lib-%{version}.tar.bz2 +#Source0: http://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.bz2 Source0: %{name}-%{version}-pruned.tar.bz2 Source1: %{name}-cleanup-sources.sh Source2: %{name}-mk-autotools-patch.sh # autotools patch created with source2 Patch0: %{name}-%{version}-autotools.patch.bz2 -Patch1: %{name}-1.1.4-optflags.patch -Patch2: %{name}-1.1.8-CVE-2008-0225.patch -Patch3: %{name}-1.1.8-CVE-2006-1664.patch -Patch4: %{name}-1.1.8-CVE-2008-0486.patch -Patch6: %{name}-1.1.1-deepbind-939.patch -Patch7: %{name}-1.1.5-multilib-devel.patch -Patch8: %{name}-1.1.12-CVE-2008-1878.patch - BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Patch1: %{name}-1.1.4-optflags.patch +Patch6: %{name}-1.1.1-deepbind-939.patch +## upstream patches +# phonon-xine doesn't compile with xine-lib-1.1.15, http://bugs.kde.org/169365 +Patch100: xine-lib-1.1.15-ansi.patch + +Provides: xine-lib(plugin-abi) = %{abiver} # X11 -BuildRequires: libX11-devel libXv-devel libXinerama-devel libXvMC-devel +BuildRequires: libX11-devel +BuildRequires: libXv-devel +BuildRequires: libXinerama-devel +BuildRequires: libXvMC-devel BuildRequires: libGLU-devel %if %{with_xcb} BuildRequires: libxcb-devel %endif # xcb # Video -BuildRequires: SDL-devel libtheora-devel libmng-devel +BuildRequires: SDL-devel +BuildRequires: libtheora-devel +BuildRequires: libmng-devel %if %{with_aalib} BuildRequires: aalib-devel >= 1.4 %endif # aalib @@ -78,43 +83,34 @@ BuildRequires: ImageMagick-devel >= 6.2.4.6-1 BuildRequires: fontconfig-devel %endif # freetype # Audio -BuildRequires: libogg-devel libvorbis-devel flac-devel libmodplug-devel -BuildRequires: esound-devel speex-devel arts-devel alsa-lib-devel >= 0.9.0 +BuildRequires: alsa-lib-devel >= 0.9.0 +BuildRequires: esound-devel +BuildRequires: flac-devel +BuildRequires: jack-audio-connection-kit-devel +BuildRequires: libmodplug-devel BuildRequires: libmpcdec-devel -%if %{with_wpack} -BuildRequires: wavpack-devel -%endif # wpack +BuildRequires: libvorbis-devel %if %{with_pa} BuildRequires: pulseaudio-lib-devel %endif # pa -%if %{with_jack} -BuildRequires: jack-audio-connection-kit-devel -%endif # jack +BuildRequires: speex-devel +%if 0%{?_without_arts:1} +Obsoletes: xine-lib-arts < %{version}-%{release} +%else +BuildRequires: arts-devel +%endif +BuildRequires: wavpack-devel # CDs BuildRequires: libcdio-devel # Other -BuildRequires: pkgconfig gnome-vfs2-devel gtk2-devel -# samba-common in <= FC-6, libsmbclient-devel in FC7+ -BuildRequires: %{_includedir}/libsmbclient.h - -%package devel -Summary: Xine library development files -Group: Development/Libraries -Requires: %{name} = %{version}-%{release} -Requires: pkgconfig zlib-devel - -%package arts -Summary: aRts plugin for xine-lib -Group: System Environment/Libraries -Requires: %{name} = %{version}-%{release} -# -arts was split off the -extras subpackage at 1.1.7-3 -Obsoletes: xine-lib-extras < 1.1.7-3 - -%package extras -Summary: Additional plugins for xine-lib -Group: System Environment/Libraries -Requires: %{name} = %{version}-%{release} - +BuildRequires: pkgconfig +BuildRequires: gnome-vfs2-devel +BuildRequires: gtk2-devel +%if 0%{?fedora} > 6 || 0%{?rhel} > 5 +BuildRequires: libsmbclient-devel +%else +BuildRequires: samba-common +%endif %description This package contains the Xine library. Xine is a free multimedia player. @@ -123,24 +119,50 @@ disk drives, and displays multimedia streamed over the Internet. It interprets many of the most common multimedia formats available - and some of the most uncommon formats, too. --with/--without rpmbuild options (some default values depend on target distribution): aalib, caca, directfb, -imagemagick, freetype, antialiasing (with freetype), jack, pulseaudio, -wavpack, xcb. +imagemagick, freetype, antialiasing (with freetype), pulseaudio, xcb. -%description devel +%package devel +Summary: Xine library development files +Group: Development/Libraries +Requires: %{name} = %{version}-%{release} +Requires: pkgconfig +Requires: zlib-devel + +%description devel This package contains development files for xine-lib. -%description arts +%package arts +Summary: aRts plugin for xine-lib +Group: System Environment/Libraries +Requires: %{name} = %{version}-%{release} +#Requires: xine-lib(plugin-abi) = %{abiver} +# -arts was split off the -extras subpackage at 1.1.7-3 +Obsoletes: xine-lib-extras < 1.1.7-3 + +%description arts This package contains the aRts extra plugin for xine-lib. -%description extras +%package pulseaudio +Summary: Pulseaudio plugin for xine-lib +Group: System Environment/Libraries +Requires: %{name} = %{version}-%{release} +# -pulseaudio was split off -extras at 1.1.11.1-2 +#Obsoletes: xine-lib-extras < 1.1.11.1-2 + +%description pulseaudio +This package contains the pulseaudio plugin for xine-lib. + + +%package extras +Summary: Additional plugins for xine-lib +Group: System Environment/Libraries +Requires: %{name} = %{version}-%{release} +#Requires: xine-lib(plugin-abi) = %{abiver} + +%description extras This package contains extra plugins for xine-lib: - EsounD -%if %{with_jack} - JACK -%endif # jack -%if %{with_pa} - - Pulseaudio -%endif # pa - GDK-Pixbuf - GNOME VFS - SMB @@ -166,13 +188,10 @@ touch -r configure.ac aclocal.m4 touch -r m4/optimizations.m4 m4/optimizations.m4.stamp %patch1 -p1 -b .optflags touch -r m4/optimizations.m4.stamp m4/optimizations.m4 -%patch2 -p1 -b .CVE-2008-0225 -%patch3 -p1 -b .CVE-2006-1664 -%patch4 -p1 -b .CVE-2008-0486 # Patch6 needed at least when compiling with external ffmpeg, #939. %patch6 -p1 -b .deepbind -%patch7 -p0 -b .multilib-devel -%patch8 -p1 -b .CVE-2008-1878 + +%patch100 -p1 -b .ansi # Avoid standard rpaths on lib64 archs: sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure @@ -191,7 +210,6 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)" %endif # directfb --disable-a52dec \ --disable-mad \ - --disable-dvdnavtest --with-external-dvdnav \ --disable-vcd \ --disable-asf \ --disable-faad \ @@ -209,10 +227,8 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)" %if 0%{?_without_imagemagick:1} --without-imagemagick \ %endif # imagemagick - --with-arts \ -%if %{with_wpack} + %{!?_without_arts:--with-arts} %{?_without_arts} \ --with-wavpack \ -%endif --with-real-codecs-path=%{codecdir} \ --with-w32-path=%{codecdir} @@ -254,155 +270,208 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man5/xine.5* %dir %{_libdir}/xine/ %dir %{_libdir}/xine/plugins/ -%dir %{_libdir}/xine/plugins/%{version}/ -%{_libdir}/xine/plugins/%{version}/mime.types +%dir %{_libdir}/xine/plugins/%{abiver}/ +%{_libdir}/xine/plugins/%{abiver}/mime.types # Listing every plugin separately for better control over binary packages # containing exactly the plugins we want, nothing accidentally snuck in # nor dropped. -%dir %{_libdir}/xine/plugins/%{version}/post/ -%{_libdir}/xine/plugins/%{version}/post/xineplug_post_audio_filters.so -%{_libdir}/xine/plugins/%{version}/post/xineplug_post_goom.so -%{_libdir}/xine/plugins/%{version}/post/xineplug_post_mosaico.so -%{_libdir}/xine/plugins/%{version}/post/xineplug_post_switch.so -%{_libdir}/xine/plugins/%{version}/post/xineplug_post_visualizations.so +%dir %{_libdir}/xine/plugins/%{abiver}/post/ +%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_audio_filters.so +%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_goom.so +%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_mosaico.so +%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_switch.so +%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_visualizations.so %if %{have_vidix} -%dir %{_libdir}/xine/plugins/%{version}/vidix/ -%{_libdir}/xine/plugins/%{version}/vidix/cyberblade_vid.so -%{_libdir}/xine/plugins/%{version}/vidix/mach64_vid.so -%{_libdir}/xine/plugins/%{version}/vidix/mga_crtc2_vid.so -%{_libdir}/xine/plugins/%{version}/vidix/mga_vid.so -%{_libdir}/xine/plugins/%{version}/vidix/nvidia_vid.so -%{_libdir}/xine/plugins/%{version}/vidix/pm2_vid.so -%{_libdir}/xine/plugins/%{version}/vidix/pm3_vid.so -%{_libdir}/xine/plugins/%{version}/vidix/radeon_vid.so -%{_libdir}/xine/plugins/%{version}/vidix/rage128_vid.so -%{_libdir}/xine/plugins/%{version}/vidix/savage_vid.so -%{_libdir}/xine/plugins/%{version}/vidix/sis_vid.so -%{_libdir}/xine/plugins/%{version}/vidix/unichrome_vid.so +%dir %{_libdir}/xine/plugins/%{abiver}/vidix/ +%{_libdir}/xine/plugins/%{abiver}/vidix/cyberblade_vid.so +%{_libdir}/xine/plugins/%{abiver}/vidix/mach64_vid.so +%{_libdir}/xine/plugins/%{abiver}/vidix/mga_crtc2_vid.so +%{_libdir}/xine/plugins/%{abiver}/vidix/mga_vid.so +%{_libdir}/xine/plugins/%{abiver}/vidix/nvidia_vid.so +%{_libdir}/xine/plugins/%{abiver}/vidix/pm2_vid.so +%{_libdir}/xine/plugins/%{abiver}/vidix/pm3_vid.so +%{_libdir}/xine/plugins/%{abiver}/vidix/radeon_vid.so +%{_libdir}/xine/plugins/%{abiver}/vidix/rage128_vid.so +%{_libdir}/xine/plugins/%{abiver}/vidix/savage_vid.so +%{_libdir}/xine/plugins/%{abiver}/vidix/sis_vid.so +%{_libdir}/xine/plugins/%{abiver}/vidix/unichrome_vid.so %endif # vidix -%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_alsa.so -%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_file.so -%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_none.so -%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_oss.so -%{_libdir}/xine/plugins/%{version}/xineplug_decode_bitplane.so -%{_libdir}/xine/plugins/%{version}/xineplug_decode_gsm610.so -%{_libdir}/xine/plugins/%{version}/xineplug_decode_lpcm.so -%{_libdir}/xine/plugins/%{version}/xineplug_decode_mpc.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_alsa.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_file.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_none.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_oss.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_bitplane.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_gsm610.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_lpcm.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_mpc.so %ifarch %ix86 -%{_libdir}/xine/plugins/%{version}/xineplug_decode_qt.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_qt.so %endif # ix86 -%{_libdir}/xine/plugins/%{version}/xineplug_decode_real.so -%{_libdir}/xine/plugins/%{version}/xineplug_decode_rgb.so -%{_libdir}/xine/plugins/%{version}/xineplug_decode_speex.so -%{_libdir}/xine/plugins/%{version}/xineplug_decode_spudvb.so -%{_libdir}/xine/plugins/%{version}/xineplug_decode_sputext.so -%{_libdir}/xine/plugins/%{version}/xineplug_decode_theora.so -%{_libdir}/xine/plugins/%{version}/xineplug_decode_vorbis.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_real.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_rgb.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_speex.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spu.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spucc.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spucmml.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spudvb.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_sputext.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_theora.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_vorbis.so %ifarch %ix86 -%{_libdir}/xine/plugins/%{version}/xineplug_decode_w32dll.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_w32dll.so %endif # ix86 -%{_libdir}/xine/plugins/%{version}/xineplug_decode_yuv.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_audio.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_avi.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_fli.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_flv.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_games.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_iff.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_image.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_matroska.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_mng.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_nsv.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_ogg.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_pva.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_qt.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_rawdv.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_real.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_slave.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_sputext.so -%{_libdir}/xine/plugins/%{version}/xineplug_dmx_yuv_frames.so -%{_libdir}/xine/plugins/%{version}/xineplug_flac.so -%{_libdir}/xine/plugins/%{version}/xineplug_inp_cdda.so -%{_libdir}/xine/plugins/%{version}/xineplug_inp_dvb.so -%{_libdir}/xine/plugins/%{version}/xineplug_inp_file.so -%{_libdir}/xine/plugins/%{version}/xineplug_inp_http.so -%{_libdir}/xine/plugins/%{version}/xineplug_inp_net.so -%{_libdir}/xine/plugins/%{version}/xineplug_inp_pnm.so -%{_libdir}/xine/plugins/%{version}/xineplug_inp_pvr.so -%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtp.so -%{_libdir}/xine/plugins/%{version}/xineplug_inp_rtsp.so -%{_libdir}/xine/plugins/%{version}/xineplug_inp_stdin_fifo.so -%{_libdir}/xine/plugins/%{version}/xineplug_inp_v4l.so -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_fb.so -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_none.so -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_opengl.so -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_syncfb.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_yuv.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_audio.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_avi.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_fli.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_flv.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_games.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_iff.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_image.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_matroska.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mng.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_nsv.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_ogg.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_pva.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_qt.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_rawdv.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_real.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_slave.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_sputext.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_yuv_frames.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_flac.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_cdda.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_dvb.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_file.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_http.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_net.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_pnm.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_pvr.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_rtp.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_rtsp.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_stdin_fifo.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_v4l.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_fb.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_none.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_opengl.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_raw.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_syncfb.so %if %{have_vidix} -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_vidix.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_vidix.so %endif # vidix %if %{with_xcb} -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbshm.so -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xcbxv.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xcbshm.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xcbxv.so %endif # xcb -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xshm.so -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xv.so -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xvmc.so -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xxmc.so -%if %{with_wpack} -%{_libdir}/xine/plugins/%{version}/xineplug_wavpack.so -%endif # wpack +%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xshm.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xv.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xvmc.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xxmc.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_wavpack.so +%if 0%{!?_without_arts:1} %files arts %defattr(-,root,root,-) -%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_arts.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_arts.so +%endif + +%if %{with_pa} +%files pulseaudio +%defattr(-,root,root,-) +%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_pulseaudio.so +%endif %files extras %defattr(-,root,root,-) -%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_esd.so -%if %{with_jack} -%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_jack.so -%endif # jack -%if %{with_pa} -%{_libdir}/xine/plugins/%{version}/xineplug_ao_out_pulseaudio.so -%endif # pa -%{_libdir}/xine/plugins/%{version}/xineplug_decode_gdk_pixbuf.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_esd.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_jack.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_gdk_pixbuf.so %if 0%{!?_without_imagemagick:1} -%{_libdir}/xine/plugins/%{version}/xineplug_decode_image.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_image.so %endif # imagemagick -%{_libdir}/xine/plugins/%{version}/xineplug_inp_gnome_vfs.so -%{_libdir}/xine/plugins/%{version}/xineplug_inp_smb.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_gnome_vfs.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_smb.so %if %{with_aalib} -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_aa.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_aa.so %endif # aalib %if %{with_caca} -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_caca.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_caca.so %endif # caca %if 0%{!?_without_directfb:1} -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_directfb.so -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_xdirectfb.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_directfb.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xdirectfb.so %endif # directfb -%{_libdir}/xine/plugins/%{version}/xineplug_vo_out_sdl.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_sdl.so %files devel %defattr(-,root,root,-) %doc __docs/hackersguide/* %{_bindir}/xine-config +%{_bindir}/xine-list* %{_datadir}/aclocal/xine.m4 %{_includedir}/xine.h %{_includedir}/xine/ %{_libdir}/libxine.so %{_libdir}/pkgconfig/libxine.pc %{_mandir}/man1/xine-config.1* +%{_mandir}/man1/xine-list*.1* %changelog -* Thu Apr 24 2008 Rex Dieter - 1.1.8-9 -- CVE-2008-1878 (#443969) +* Wed Aug 20 2008 Rex Dieter - 1.1.15-1 +- xine-lib-1.1.15, plugin ABI 1.24 (rh#455752, CVE-2008-3231) +- Obsoletes: -arts (f9+) -* Fri Feb 8 2008 Ville Skyttä - 1.1.8-8 -- Include ASF and FLAC comment security fixes from 1.1.10 and 1.1.10.1. +* Sun Apr 27 2008 Kevin Kofler - 1.1.12-3 +- rebuild for new ImageMagick (6.4.0.10) -* Sat Jan 12 2008 Ville Skyttä - 1.1.8-7 -- Include RTSP security fixes from 1.1.9.1. +* Thu Apr 24 2008 Rex Dieter - 1.1.12-2 +- CVE-2008-1878 + +* Wed Apr 16 2008 Ville Skyttä - 1.1.12-1 +- 1.1.12 (plugin ABI 1.21); qt, mkv, and pulseaudio patches applied upstream. + +* Wed Apr 9 2008 Ville Skyttä - 1.1.11.1-3 +- Apply upstream fixes for Quicktime (#441705) and Matroska regressions + introduced in 1.1.11.1. + +* Mon Apr 07 2008 Rex Dieter - 1.1.11.1-2 +- pulse-rework2 patch (#439731) +- -pulseaudio subpkg (#439731) + +* Sun Mar 30 2008 Ville Skyttä - 1.1.11.1-1 +- 1.1.11.1 (security update, #438663, CVE-2008-1482). +- Provide versioned xine-lib(plugin-abi) so 3rd party packages installing + plugins can use it instead of requiring a version of xine-lib. + +* Wed Mar 19 2008 Ville Skyttä - 1.1.11-1 +- 1.1.11 (security update, #438182, CVE-2008-0073). +- Drop jack and wavpack build conditionals. +- Specfile cleanups. + +* Fri Mar 7 2008 Rex Dieter - 1.1.10.1-1.1 +- xcb support for f7+ (#373411) + +* Fri Feb 8 2008 Ville Skyttä - 1.1.10.1-1 +- 1.1.10.1 (security update, #431541). + +* Sun Jan 27 2008 Ville Skyttä - 1.1.10-2 +- Include spu, spucc, and spucmml decoders (#213597). + +* Sun Jan 27 2008 Ville Skyttä - 1.1.10-1 +- 1.1.10 (security update). + +* Mon Jan 21 2008 Ville Skyttä - 1.1.9.1-3 +- Fix version number in libxine.pc (#429487). + +* Sun Jan 20 2008 Ville Skyttä - 1.1.9.1-2 +- Disable upstream "discard buffers on ao close" 1.1.9 changeset (#429182). + +* Sat Jan 12 2008 Ville Skyttä - 1.1.9.1-1 +- 1.1.9.1 (security update). + +* Sun Jan 6 2008 Ville Skyttä - 1.1.9-1 +- 1.1.9. * Thu Sep 27 2007 Ville Skyttä - 1.1.8-6 - Enable wavpack support by default for all distros. From af65ad3604003cc760d85dd8acd37c359d4c80f2 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Wed, 7 Jan 2009 21:38:05 +0000 Subject: [PATCH 21/82] * Wed Jan 07 2009 Rex Dieter - 1.1.16-1 - xine-lib-1.1.16, plugin ABI 1.25 - --with-external-libdvdnav, include mpeg demuxers (#213597) --- .cvsignore | 4 +-- sources | 4 +-- xine-lib-1.1.15-ansi.patch | 12 --------- xine-lib-cleanup-sources.sh | 11 ++++---- xine-lib.spec | 50 ++++++++++++++++++++++++++----------- 5 files changed, 45 insertions(+), 36 deletions(-) delete mode 100644 xine-lib-1.1.15-ansi.patch diff --git a/.cvsignore b/.cvsignore index 3929296..606b324 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ -xine-lib-1.1.15-autotools.patch.bz2 -xine-lib-1.1.15-pruned.tar.bz2 +xine-lib-1.1.16-autotools.patch.bz2 +xine-lib-1.1.16-pruned.tar.bz2 diff --git a/sources b/sources index 15195de..f89d6ad 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -ffd74ec893a5f1167c69987a68f436fd xine-lib-1.1.15-autotools.patch.bz2 -acdbdc024382afac111eb076304448ed xine-lib-1.1.15-pruned.tar.bz2 +fe8148f2a0ec7b2e75ad509e8086e33f xine-lib-1.1.16-autotools.patch.bz2 +512f31d8414ef4654ca366c0dce37301 xine-lib-1.1.16-pruned.tar.bz2 diff --git a/xine-lib-1.1.15-ansi.patch b/xine-lib-1.1.15-ansi.patch deleted file mode 100644 index d9f1b27..0000000 --- a/xine-lib-1.1.15-ansi.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up xine-lib-1.1.15/src/xine-engine/buffer.h.ansi xine-lib-1.1.15/src/xine-engine/buffer.h ---- xine-lib-1.1.15/src/xine-engine/buffer.h.ansi 2008-07-16 16:01:56.000000000 -0500 -+++ xine-lib-1.1.15/src/xine-engine/buffer.h 2008-08-19 12:08:46.000000000 -0500 -@@ -676,7 +676,7 @@ void _x_bmiheader_le2me( xine_bmiheader - /* convert xine_waveformatex struct from little endian */ - void _x_waveformatex_le2me( xine_waveformatex *wavex ) XINE_PROTECTED; - --static inline _x_is_fourcc(void *ptr, void *tag) { -+static __inline _x_is_fourcc(void *ptr, void *tag) { - return memcmp(ptr, tag, 4) == 0; - } - diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh index a905a3f..31cff0f 100755 --- a/xine-lib-cleanup-sources.sh +++ b/xine-lib-cleanup-sources.sh @@ -56,11 +56,12 @@ for p in dvd vcd mms; do sed -i -e "/xineplug_inp_$p/d" src/input/Makefile.am done # Demuxers -for p in mpeg mpeg_block mpeg_ts mpeg_elem mpeg_pes yuv4mpeg2; do - echo "removing $p demuxer..." - [ -f src/demuxers/demux_$p.c ] && rm -f src/demuxers/demux_$p.c - sed -i -e "/xineplug_dmx_$p/d" src/demuxers/Makefile.am -done +# These are ok now ( http://bugzilla.redhat.com/213597 ) +#for p in mpeg mpeg_block mpeg_ts mpeg_elem mpeg_pes yuv4mpeg2; do +# echo "removing $p demuxer..." +# [ -f src/demuxers/demux_$p.c ] && rm -f src/demuxers/demux_$p.c +# sed -i -e "/xineplug_dmx_$p/d" src/demuxers/Makefile.am +#done # Postprocessors echo "removing planar and deinterlace postprocessors..." sed -i -e 's/deinterlace //g' src/post/Makefile.am # see comments in speedy.c diff --git a/xine-lib.spec b/xine-lib.spec index 0386221..1a1756e 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -2,10 +2,9 @@ # - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog # - drop the opengl video out plugin? # http://www.redhat.com/archives/fedora-legal-list/2007-August/msg00011.html -# - external dvdnav - not compatible as of 1.1.11 and 4.1.1 # - deprecate ESD support? -%define abiver 1.24 +%define abiver 1.25 %define codecdir %{_libdir}/codecs %ifarch %{ix86} @@ -14,14 +13,16 @@ %define have_vidix 0 %endif # ix86 +%if 0%{?fedora} > 9 +%define _with_caca --with-caca +%endif + %if 0%{?fedora} %define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1} - %define with_caca %{?_without_caca:0}%{!?_without_caca:1} %define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1} %define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1} %else %define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0} - %define with_caca %{?_with_caca:1}%{!?_with_caca:0} %define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0} %define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0} %endif # Fedora @@ -32,7 +33,7 @@ Summary: Xine library Name: xine-lib -Version: 1.1.15 +Version: 1.1.16 Release: 1%{?dist} License: GPLv2+ Group: System Environment/Libraries @@ -50,8 +51,6 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Patch1: %{name}-1.1.4-optflags.patch Patch6: %{name}-1.1.1-deepbind-939.patch ## upstream patches -# phonon-xine doesn't compile with xine-lib-1.1.15, http://bugs.kde.org/169365 -Patch100: xine-lib-1.1.15-ansi.patch Provides: xine-lib(plugin-abi) = %{abiver} # X11 @@ -70,8 +69,8 @@ BuildRequires: libmng-devel %if %{with_aalib} BuildRequires: aalib-devel >= 1.4 %endif # aalib -%if %{with_caca} -BuildRequires: libcaca-devel >= 0.99 +%if 0%{?_with_caca:1} +BuildRequires: libcaca-devel >= 0.99-0.5.beta16 %endif # caca %if 0%{!?_without_directfb:1} BuildRequires: directfb-devel @@ -111,6 +110,7 @@ BuildRequires: libsmbclient-devel %else BuildRequires: samba-common %endif +BuildRequires: libdvdnav-devel %description This package contains the Xine library. Xine is a free multimedia player. @@ -170,7 +170,7 @@ This package contains extra plugins for xine-lib: %if %{with_aalib} - AA-lib %endif # aalib -%if %{with_caca} +%if 0%{?_with_caca:1} - Libcaca %endif # caca %if 0%{!?_without_imagemagick:1} @@ -191,15 +191,14 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4 # Patch6 needed at least when compiling with external ffmpeg, #939. %patch6 -p1 -b .deepbind -%patch100 -p1 -b .ansi - -# Avoid standard rpaths on lib64 archs: -sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure +# Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex ) +#sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure %build export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" " export FFMPEG_POSTPROC_CFLAGS=" " FFMPEG_POSTPROC_LIBS=" " +export FFMPEG_UTIL_CFLAGS=" " FFMPEG_UTIL_LIBS=" " export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)" # Keep list of options in mostly the same order as ./configure --help. %configure \ @@ -223,10 +222,12 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)" --with-external-ffmpeg \ --with-xv-path=%{_libdir} \ --with-libflac \ + --with-external-libdvdnav \ --with-external-libmpcdec \ %if 0%{?_without_imagemagick:1} --without-imagemagick \ %endif # imagemagick + %{?_with_caca} %{!?_with_caca:--without-caca} \ %{!?_without_arts:--with-arts} %{?_without_arts} \ --with-wavpack \ --with-real-codecs-path=%{codecdir} \ @@ -330,6 +331,11 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_image.so %{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_matroska.so %{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mng.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_block.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_elem.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_pes.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_ts.so %{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_nsv.so %{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_ogg.so %{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_pva.so @@ -339,6 +345,7 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_slave.so %{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_sputext.so %{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_yuv_frames.so +%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_yuv4mpeg2.so %{_libdir}/xine/plugins/%{abiver}/xineplug_flac.so %{_libdir}/xine/plugins/%{abiver}/xineplug_inp_cdda.so %{_libdir}/xine/plugins/%{abiver}/xineplug_inp_dvb.so @@ -394,7 +401,7 @@ rm -rf $RPM_BUILD_ROOT %if %{with_aalib} %{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_aa.so %endif # aalib -%if %{with_caca} +%if 0%{?_with_caca:1} %{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_caca.so %endif # caca %if 0%{!?_without_directfb:1} @@ -418,6 +425,19 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Jan 07 2009 Rex Dieter - 1.1.16-1 +- xine-lib-1.1.16, plugin ABI 1.25 +- --with-external-libdvdnav, include mpeg demuxers (#213597) + +* Fri Dec 12 2008 Rex Dieter - 1.1.15-4 +- rebuild for pkgconfig deps + +* Tue Oct 28 2008 Kevin Kofler - 1.1.15-3 +- rebuild for new libcaca + +* Thu Oct 23 2008 Rex Dieter - 1.1.15-2 +- respin + * Wed Aug 20 2008 Rex Dieter - 1.1.15-1 - xine-lib-1.1.15, plugin ABI 1.24 (rh#455752, CVE-2008-3231) - Obsoletes: -arts (f9+) From 97c19f14e68f1aa164f649dad41591f039c4e22f Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Sun, 18 Jan 2009 22:26:20 +0000 Subject: [PATCH 22/82] * Sun Jan 18 2009 Rex Dieter - 1.1.16-2 - drop deepbind patch (#480504) - caca support (EPEL) --- xine-lib.spec | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/xine-lib.spec b/xine-lib.spec index 1a1756e..b702d38 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -13,8 +13,8 @@ %define have_vidix 0 %endif # ix86 -%if 0%{?fedora} > 9 -%define _with_caca --with-caca +%if 0%{?fedora} <= 9 + %define old_caca 1 %endif %if 0%{?fedora} @@ -34,7 +34,7 @@ Summary: Xine library Name: xine-lib Version: 1.1.16 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2+ Group: System Environment/Libraries URL: http://xinehq.de/ @@ -50,6 +50,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Patch1: %{name}-1.1.4-optflags.patch Patch6: %{name}-1.1.1-deepbind-939.patch +Patch7: %{name}-1.1.16-old-caca.patch ## upstream patches Provides: xine-lib(plugin-abi) = %{abiver} @@ -69,9 +70,11 @@ BuildRequires: libmng-devel %if %{with_aalib} BuildRequires: aalib-devel >= 1.4 %endif # aalib -%if 0%{?_with_caca:1} -BuildRequires: libcaca-devel >= 0.99-0.5.beta16 -%endif # caca +%if 0%{?old_caca} +BuildRequires: libcaca-devel >= 0.99 +%else +BuildRequires: libcaca-devel >= 0.99-0.5.beta16 +%endif %if 0%{!?_without_directfb:1} BuildRequires: directfb-devel %endif # directfb @@ -170,9 +173,7 @@ This package contains extra plugins for xine-lib: %if %{with_aalib} - AA-lib %endif # aalib -%if 0%{?_with_caca:1} - Libcaca -%endif # caca %if 0%{!?_without_imagemagick:1} - Image decoding %endif # imagemagick @@ -188,8 +189,12 @@ touch -r configure.ac aclocal.m4 touch -r m4/optimizations.m4 m4/optimizations.m4.stamp %patch1 -p1 -b .optflags touch -r m4/optimizations.m4.stamp m4/optimizations.m4 -# Patch6 needed at least when compiling with external ffmpeg, #939. -%patch6 -p1 -b .deepbind +# needed at least when compiling with external ffmpeg and internal faad livna bug#939. +# see also http://bugzilla.redhat.com/480504 for side-effects +#patch6 -p1 -b .deepbind +%if 0%{?old_caca} +%patch7 -p0 -b .old-caca +%endif # Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex ) #sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure @@ -227,7 +232,6 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)" %if 0%{?_without_imagemagick:1} --without-imagemagick \ %endif # imagemagick - %{?_with_caca} %{!?_with_caca:--without-caca} \ %{!?_without_arts:--with-arts} %{?_without_arts} \ --with-wavpack \ --with-real-codecs-path=%{codecdir} \ @@ -401,9 +405,7 @@ rm -rf $RPM_BUILD_ROOT %if %{with_aalib} %{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_aa.so %endif # aalib -%if 0%{?_with_caca:1} %{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_caca.so -%endif # caca %if 0%{!?_without_directfb:1} %{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_directfb.so %{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xdirectfb.so @@ -425,6 +427,13 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Sun Jan 18 2009 Rex Dieter - 1.1.16-2 +- drop deepbind patch (#480504) +- caca support (EPEL) + +* Wed Jan 07 2009 Kevin Kofler - 1.1.16-1.1 +- patch for old libcaca in F9- + * Wed Jan 07 2009 Rex Dieter - 1.1.16-1 - xine-lib-1.1.16, plugin ABI 1.25 - --with-external-libdvdnav, include mpeg demuxers (#213597) From fe00119b9fb9e35f465e19225dc8ca0289a80192 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Sun, 18 Jan 2009 22:34:43 +0000 Subject: [PATCH 23/82] --with-caca, add awol patch --- xine-lib-1.1.16-old-caca.patch | 27 +++++++++++++++++++++++++++ xine-lib.spec | 3 ++- 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 xine-lib-1.1.16-old-caca.patch diff --git a/xine-lib-1.1.16-old-caca.patch b/xine-lib-1.1.16-old-caca.patch new file mode 100644 index 0000000..5a149a9 --- /dev/null +++ b/xine-lib-1.1.16-old-caca.patch @@ -0,0 +1,27 @@ +--- src/video_out/video_out_caca.c Tue Nov 18 21:13:55 2008 +0100 ++++ src/video_out/video_out_caca.c Mon Nov 10 16:33:51 2008 +0100 +@@ -276,7 +276,6 @@ static int caca_redraw_needed (vo_driver + + static vo_driver_t *open_plugin (video_driver_class_t *class_gen, const void *visual_gen) { + caca_class_t *class = (caca_class_t *) class_gen; +- caca_display_t *dp = (caca_display_t *)visual_gen; + caca_driver_t *this; + + this = calloc(1, sizeof (caca_driver_t)); +@@ -301,13 +300,8 @@ static vo_driver_t *open_plugin (video_d + this->yuv2rgb_factory = yuv2rgb_factory_init(MODE_32_RGB, 0, NULL); + this->yuv2rgb_factory->set_csc_levels(this->yuv2rgb_factory, 0, 128, 128); + +- if (dp) { +- this->cv = caca_get_canvas(dp); +- this->dp = dp; +- } else { +- this->cv = cucul_create_canvas(0, 0); +- this->dp = caca_create_display(this->cv); +- } ++ this->cv = cucul_create_canvas(0, 0); ++ this->dp = caca_create_display(this->cv); + + caca_refresh_display(this->dp); + return &this->vo_driver; + diff --git a/xine-lib.spec b/xine-lib.spec index b702d38..04f68fc 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -121,7 +121,7 @@ It can play back various media. It also decodes multimedia files from local disk drives, and displays multimedia streamed over the Internet. It interprets many of the most common multimedia formats available - and some of the most uncommon formats, too. --with/--without rpmbuild options -(some default values depend on target distribution): aalib, caca, directfb, +(some default values depend on target distribution): aalib, directfb, imagemagick, freetype, antialiasing (with freetype), pulseaudio, xcb. %package devel @@ -220,6 +220,7 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)" %if 0%{?_with_freetype:1} %if 0%{?_with_antialiasing:1} --enable-antialiasing \ + --with-caca \ %endif # antialiasing --with-freetype \ --with-fontconfig \ From 4394b1f805effb36b9320346837117be0bc2c9d9 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Fri, 23 Jan 2009 19:53:42 +0000 Subject: [PATCH 24/82] * Fri Jan 23 2009 Rex Dieter - 1.1.16.1-1 - xine-lib-1.1.16.1 - include avsync patch (#470568) --- .cvsignore | 4 ++-- sources | 4 ++-- xine-lib-1.1.15-avsync_hack.patch | 22 ++++++++++++++++++++++ xine-lib.spec | 16 +++++++++++++--- 4 files changed, 39 insertions(+), 7 deletions(-) create mode 100644 xine-lib-1.1.15-avsync_hack.patch diff --git a/.cvsignore b/.cvsignore index 606b324..34a3b02 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ -xine-lib-1.1.16-autotools.patch.bz2 -xine-lib-1.1.16-pruned.tar.bz2 +xine-lib-1.1.16.1-autotools.patch.bz2 +xine-lib-1.1.16.1-pruned.tar.bz2 diff --git a/sources b/sources index f89d6ad..9a7e9c8 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -fe8148f2a0ec7b2e75ad509e8086e33f xine-lib-1.1.16-autotools.patch.bz2 -512f31d8414ef4654ca366c0dce37301 xine-lib-1.1.16-pruned.tar.bz2 +e3e061f93f36eae910b66cb0c973dbb8 xine-lib-1.1.16.1-autotools.patch.bz2 +aa1265b1007086c0906ec8134cfeacf6 xine-lib-1.1.16.1-pruned.tar.bz2 diff --git a/xine-lib-1.1.15-avsync_hack.patch b/xine-lib-1.1.15-avsync_hack.patch new file mode 100644 index 0000000..f33aba4 --- /dev/null +++ b/xine-lib-1.1.15-avsync_hack.patch @@ -0,0 +1,22 @@ +diff -uNr xine-lib-1.1.15.orig/src/xine-engine/audio_out.c xine-lib-1.1.15/src/xine-engine/audio_out.c +--- xine-lib-1.1.15.orig/src/xine-engine/audio_out.c 2008-07-10 18:19:10.000000000 +0200 ++++ xine-lib-1.1.15/src/xine-engine/audio_out.c 2009-01-10 21:57:20.000000000 +0100 +@@ -1151,8 +1151,17 @@ + + /* + * calculate gap: ++ * ++ * HACK (rwa): If we have no video stream we do not need an AV sync and so ++ * we assume a gap of 0. This seems to avoid the skips in the ++ * first seconds when playing audio-only via the "glitch-free" ++ * pulseaudio server. + */ +- gap = in_buf->vpts - hw_vpts; ++ if (in_buf && in_buf->stream && in_buf->stream->video_decoder_plugin) { ++ gap = in_buf->vpts - hw_vpts; ++ } else { ++ gap = 0; ++ } + lprintf ("hw_vpts : %" PRId64 " buffer_vpts : %" PRId64 " gap : %" PRId64 "\n", + hw_vpts, in_buf->vpts, gap); + diff --git a/xine-lib.spec b/xine-lib.spec index 04f68fc..c8a0f1a 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -33,8 +33,8 @@ Summary: Xine library Name: xine-lib -Version: 1.1.16 -Release: 2%{?dist} +Version: 1.1.16.1 +Release: 1%{?dist} License: GPLv2+ Group: System Environment/Libraries URL: http://xinehq.de/ @@ -50,7 +50,10 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Patch1: %{name}-1.1.4-optflags.patch Patch6: %{name}-1.1.1-deepbind-939.patch +# FIXME for 1.1.16.1 ? Patch7: %{name}-1.1.16-old-caca.patch +# http://bugzilla.redhat.com/470568 +Patch8: xine-lib-1.1.15-avsync_hack.patch ## upstream patches Provides: xine-lib(plugin-abi) = %{abiver} @@ -73,7 +76,7 @@ BuildRequires: aalib-devel >= 1.4 %if 0%{?old_caca} BuildRequires: libcaca-devel >= 0.99 %else -BuildRequires: libcaca-devel >= 0.99-0.5.beta16 +BuildRequires: libcaca-devel >= 0.99-0.5.beta14 %endif %if 0%{!?_without_directfb:1} BuildRequires: directfb-devel @@ -192,10 +195,13 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4 # needed at least when compiling with external ffmpeg and internal faad livna bug#939. # see also http://bugzilla.redhat.com/480504 for side-effects #patch6 -p1 -b .deepbind + %if 0%{?old_caca} %patch7 -p0 -b .old-caca %endif +%patch8 -p1 -b .avsync_hack + # Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex ) #sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure @@ -428,6 +434,10 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Fri Jan 23 2009 Rex Dieter - 1.1.16.1-1 +- xine-lib-1.1.16.1 +- include avsync patch (#470568) + * Sun Jan 18 2009 Rex Dieter - 1.1.16-2 - drop deepbind patch (#480504) - caca support (EPEL) From b98880929edc1df1e709178739c3fb95e25a4662 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Tue, 10 Feb 2009 23:36:41 +0000 Subject: [PATCH 25/82] * Tue Feb 10 2009 Rex Dieter - 1.1.16.2-1 - xine-lib-1.1.16.2 --- .cvsignore | 4 +- sources | 4 +- xine-lib-mk-autotools-patch.sh | 6 +- xine-lib-safe-audio-pause.patch | 122 ++++++++++++++++++++++++++++++++ xine-lib.spec | 49 ++++++++----- 5 files changed, 162 insertions(+), 23 deletions(-) create mode 100644 xine-lib-safe-audio-pause.patch diff --git a/.cvsignore b/.cvsignore index 34a3b02..8a0cd42 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ -xine-lib-1.1.16.1-autotools.patch.bz2 -xine-lib-1.1.16.1-pruned.tar.bz2 +xine-lib-1.1.16.2-pruned.tar.bz2 +xine-lib-1.1.16.2-autotools.patch.bz2 diff --git a/sources b/sources index 9a7e9c8..95d5764 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -e3e061f93f36eae910b66cb0c973dbb8 xine-lib-1.1.16.1-autotools.patch.bz2 -aa1265b1007086c0906ec8134cfeacf6 xine-lib-1.1.16.1-pruned.tar.bz2 +e2c3a178be02f5c32957b2716123aa28 xine-lib-1.1.16.2-pruned.tar.bz2 +07bf186d51b8315026453a2f21b33703 xine-lib-1.1.16.2-autotools.patch.bz2 diff --git a/xine-lib-mk-autotools-patch.sh b/xine-lib-mk-autotools-patch.sh index 93590b4..dc1e103 100644 --- a/xine-lib-mk-autotools-patch.sh +++ b/xine-lib-mk-autotools-patch.sh @@ -22,10 +22,12 @@ rm -rf xine-lib-$version xine-lib-$version-pruned tar jxf xine-lib-$version-pruned.tar.bz2 cp -a xine-lib-$version xine-lib-$version-pruned -cd xine-lib-$version +pushd xine-lib-$version +# extra work for to omit old libtool-related crud +rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4 ./autogen.sh noconfig rm -rf autom4te.cache *~ -cd .. +popd diff -Nru xine-lib-$version-pruned xine-lib-$version \ | bzip2 --best > xine-lib-$version-autotools.patch.bz2 diff --git a/xine-lib-safe-audio-pause.patch b/xine-lib-safe-audio-pause.patch new file mode 100644 index 0000000..4a4b70b --- /dev/null +++ b/xine-lib-safe-audio-pause.patch @@ -0,0 +1,122 @@ +diff -r ce4b1533a0af src/xine-engine/audio_out.c +--- a/src/xine-engine/audio_out.c Sun Jan 11 22:24:42 2009 +0000 ++++ b/src/xine-engine/audio_out.c Sat Feb 07 15:09:24 2009 -0200 +@@ -243,6 +243,7 @@ + audio_fifo_t *free_fifo; + audio_fifo_t *out_fifo; + int64_t last_audio_vpts; ++ pthread_mutex_t current_speed_lock; + uint32_t current_speed; /* the current playback speed */ + /* FIXME: replace all this->clock->speed with this->current_speed. we should make + * sure nobody will change speed without going through xine.c:set_speed_internal */ +@@ -1040,6 +1041,7 @@ + * we must process/free buffers otherwise the entire engine will stop. + */ + ++ pthread_mutex_lock(&this->current_speed_lock); + if ( this->audio_loop_running && + (this->clock->speed == XINE_SPEED_PAUSE || + (this->clock->speed != XINE_FINE_SPEED_NORMAL && +@@ -1055,6 +1057,7 @@ + _x_refcounter_dec(in_buf->stream->refcounter); + fifo_append (this->free_fifo, in_buf); + in_buf = NULL; ++ pthread_mutex_unlock(&this->current_speed_lock); + continue; + } + +@@ -1065,6 +1068,7 @@ + } + + lprintf ("loop:pause: I feel sleepy (%d buffers).\n", this->out_fifo->num_buffers); ++ pthread_mutex_unlock(&this->current_speed_lock); + xine_usec_sleep (10000); + lprintf ("loop:pause: I wake up.\n"); + continue; +@@ -1274,6 +1278,7 @@ + fifo_append (this->free_fifo, in_buf); + in_buf = NULL; + } ++ pthread_mutex_unlock(&this->current_speed_lock); + + /* Give other threads a chance to use functions which require this->driver_lock to + * be available. This is needed when using NPTL on Linux (and probably PThreads +@@ -1684,6 +1689,7 @@ + free (this->frame_buf[1]); + free (this->zero_space); + ++ pthread_mutex_destroy(&this->current_speed_lock); + pthread_mutex_destroy(&this->flush_audio_driver_lock); + pthread_cond_destroy(&this->flush_audio_driver_reached); + +@@ -1910,11 +1916,15 @@ + if (value != XINE_FINE_SPEED_NORMAL && value != XINE_SPEED_PAUSE && !this->slow_fast_audio ) + this->ao.control(&this->ao, AO_CTRL_FLUSH_BUFFERS, NULL); + ++ /* current_speed_lock is here to make sure the ao_loop will pause in a safe place. ++ * that is, we cannot pause writing to device, filling gaps etc. */ ++ pthread_mutex_lock(&this->current_speed_lock); + this->ao.control(&this->ao, + (value == XINE_SPEED_PAUSE) ? AO_CTRL_PLAY_PAUSE : AO_CTRL_PLAY_RESUME, NULL); + this->current_speed = value; + if( this->slow_fast_audio ) + ao_update_resample_factor(this); ++ pthread_mutex_unlock(&this->current_speed_lock); + break; + + default: +@@ -2056,6 +2066,7 @@ + this->driver = driver; + this->xine = xine; + this->clock = xine->clock; ++ this->current_speed = xine->clock->speed; + this->streams = xine_list_new(); + + /* warning: driver_lock is a recursive mutex. it must NOT be +@@ -2087,6 +2098,7 @@ + this->discard_buffers = 0; + this->zero_space = calloc (1, ZERO_BUF_SIZE * 4 * 6); /* MAX as 32bit, 6 channels. */ + ++ pthread_mutex_init( &this->current_speed_lock, NULL ); + pthread_mutex_init( &this->flush_audio_driver_lock, NULL ); + pthread_cond_init( &this->flush_audio_driver_reached, NULL ); + +diff -r ce4b1533a0af src/xine-engine/xine.c +--- a/src/xine-engine/xine.c Sun Jan 11 22:24:42 2009 +0000 ++++ b/src/xine-engine/xine.c Sat Feb 07 15:09:25 2009 -0200 +@@ -330,17 +330,20 @@ + + static void set_speed_internal (xine_stream_t *stream, int speed) { + xine_t *xine = stream->xine; ++ int old_speed = xine->clock->speed; + +- if (xine->clock->speed != XINE_SPEED_PAUSE && speed == XINE_SPEED_PAUSE) ++ if (old_speed != XINE_SPEED_PAUSE && speed == XINE_SPEED_PAUSE) + /* get all decoder and post threads in a state where they agree to be blocked */ + xine->port_ticket->revoke(xine->port_ticket, 0); + +- if (xine->clock->speed == XINE_SPEED_PAUSE && speed != XINE_SPEED_PAUSE) ++ if (old_speed == XINE_SPEED_PAUSE && speed != XINE_SPEED_PAUSE) + /* all decoder and post threads may continue now */ + xine->port_ticket->issue(xine->port_ticket, 0); + +- stream->xine->clock->set_fine_speed (stream->xine->clock, speed); +- ++ if (old_speed != XINE_SPEED_PAUSE && speed == XINE_SPEED_PAUSE) ++ /* set master clock so audio_out loop can pause in a safe place */ ++ stream->xine->clock->set_fine_speed (stream->xine->clock, speed); ++ + /* see coment on audio_out loop about audio_paused */ + if( stream->audio_out ) { + xine->port_ticket->acquire(xine->port_ticket, 1); +@@ -350,6 +353,10 @@ + + xine->port_ticket->release(xine->port_ticket, 1); + } ++ ++ if (old_speed == XINE_SPEED_PAUSE && speed != XINE_SPEED_PAUSE) ++ /* master clock is set after resuming the audio device (audio_out loop may continue) */ ++ stream->xine->clock->set_fine_speed (stream->xine->clock, speed); + } + + diff --git a/xine-lib.spec b/xine-lib.spec index c8a0f1a..5170e18 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -31,9 +31,9 @@ %define _without_arts --without-arts %endif -Summary: Xine library +Summary: A multimedia engine Name: xine-lib -Version: 1.1.16.1 +Version: 1.1.16.2 Release: 1%{?dist} License: GPLv2+ Group: System Environment/Libraries @@ -55,8 +55,12 @@ Patch7: %{name}-1.1.16-old-caca.patch # http://bugzilla.redhat.com/470568 Patch8: xine-lib-1.1.15-avsync_hack.patch ## upstream patches +Patch100: xine-lib-safe-audio-pause.patch Provides: xine-lib(plugin-abi) = %{abiver} +%if "%{?_isa}" != "%{nil}" +Provides: xine-lib(plugin-abi)%{?_isa} = %{abiver} +%endif # X11 BuildRequires: libX11-devel BuildRequires: libXv-devel @@ -119,13 +123,10 @@ BuildRequires: samba-common BuildRequires: libdvdnav-devel %description -This package contains the Xine library. Xine is a free multimedia player. -It can play back various media. It also decodes multimedia files from local -disk drives, and displays multimedia streamed over the Internet. It -interprets many of the most common multimedia formats available - and some -of the most uncommon formats, too. --with/--without rpmbuild options -(some default values depend on target distribution): aalib, directfb, -imagemagick, freetype, antialiasing (with freetype), pulseaudio, xcb. +This package contains the Xine library. It can be used to play back +various media, decode multimedia files from local disk drives, and display +multimedia streamed over the Internet. It interprets many of the most +common multimedia formats available - and some uncommon formats, too. %package devel Summary: Xine library development files @@ -135,10 +136,10 @@ Requires: pkgconfig Requires: zlib-devel %description devel -This package contains development files for xine-lib. +This package contains development files for %{name}. %package arts -Summary: aRts plugin for xine-lib +Summary: aRts plugin for %{name} Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} #Requires: xine-lib(plugin-abi) = %{abiver} @@ -146,27 +147,27 @@ Requires: %{name} = %{version}-%{release} Obsoletes: xine-lib-extras < 1.1.7-3 %description arts -This package contains the aRts extra plugin for xine-lib. +This package contains the aRts plugin for %{name}. %package pulseaudio -Summary: Pulseaudio plugin for xine-lib +Summary: Pulseaudio plugin for %{name} Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} # -pulseaudio was split off -extras at 1.1.11.1-2 #Obsoletes: xine-lib-extras < 1.1.11.1-2 %description pulseaudio -This package contains the pulseaudio plugin for xine-lib. +This package contains the pulseaudio plugin for %{name}. %package extras -Summary: Additional plugins for xine-lib +Summary: Additional plugins for %{name} Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} #Requires: xine-lib(plugin-abi) = %{abiver} %description extras -This package contains extra plugins for xine-lib: +This package contains extra plugins for %{name}: - EsounD - JACK - GDK-Pixbuf @@ -202,6 +203,8 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4 %patch8 -p1 -b .avsync_hack +%patch100 -p1 -b .safe_audio_pause + # Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex ) #sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure @@ -234,7 +237,6 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)" --with-external-ffmpeg \ --with-xv-path=%{_libdir} \ --with-libflac \ - --with-external-libdvdnav \ --with-external-libmpcdec \ %if 0%{?_without_imagemagick:1} --without-imagemagick \ @@ -434,6 +436,19 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Feb 10 2009 Rex Dieter - 1.1.16.2-1 +- xine-lib-1.1.16.2 + +* Mon Feb 09 2009 Rex Dieter - 1.1.16.1-4 +- gapless-race-fix patch (kdebug#180339) + +* Sat Feb 07 2009 Rex Dieter - 1.1.16.1-3 +- safe-audio-pause patch (kdebug#180339) + +* Mon Jan 26 2009 Rex Dieter - 1.1.16.1-2 +- Provides: xine-lib(plugin-abi)%%{?_isa} = %%{abiver} +- touchup Summary/Description + * Fri Jan 23 2009 Rex Dieter - 1.1.16.1-1 - xine-lib-1.1.16.1 - include avsync patch (#470568) From 4fc0d681f8fb417c3fd5155ac0a6ad0315f455b3 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Thu, 19 Feb 2009 18:03:38 +0000 Subject: [PATCH 26/82] * Tue Feb 17 2009 Rex Dieter - 1.1.16.2-2 - xine-lib-safe-audio-pause3 patch (kdebug#180339) --- ....patch => xine-lib-safe-audio-pause3.patch | 48 +++++++++++-------- xine-lib.spec | 15 ++++-- 2 files changed, 41 insertions(+), 22 deletions(-) rename xine-lib-safe-audio-pause.patch => xine-lib-safe-audio-pause3.patch (75%) diff --git a/xine-lib-safe-audio-pause.patch b/xine-lib-safe-audio-pause3.patch similarity index 75% rename from xine-lib-safe-audio-pause.patch rename to xine-lib-safe-audio-pause3.patch index 4a4b70b..fdfbf8a 100644 --- a/xine-lib-safe-audio-pause.patch +++ b/xine-lib-safe-audio-pause3.patch @@ -1,6 +1,14 @@ -diff -r ce4b1533a0af src/xine-engine/audio_out.c ---- a/src/xine-engine/audio_out.c Sun Jan 11 22:24:42 2009 +0000 -+++ b/src/xine-engine/audio_out.c Sat Feb 07 15:09:24 2009 -0200 +# HG changeset patch +# User Miguel Freitas +# Date 1234834587 10800 +# Node ID 2208e465026c1e54318d36dad8ca180d52fcc318 +# Parent 24a9b3d531419405f71dbcf96da93876769eb990 +Protect audio loop so it cannot write to a paused device (fix +pause/resume freeze with pulseaudio). + +diff -r 24a9b3d53141 -r 2208e465026c src/xine-engine/audio_out.c +--- a/src/xine-engine/audio_out.c Fri Feb 13 18:01:29 2009 +0000 ++++ b/src/xine-engine/audio_out.c Mon Feb 16 22:36:27 2009 -0300 @@ -243,6 +243,7 @@ audio_fifo_t *free_fifo; audio_fifo_t *out_fifo; @@ -49,23 +57,25 @@ diff -r ce4b1533a0af src/xine-engine/audio_out.c pthread_mutex_destroy(&this->flush_audio_driver_lock); pthread_cond_destroy(&this->flush_audio_driver_reached); -@@ -1910,11 +1916,15 @@ +@@ -1910,8 +1916,15 @@ if (value != XINE_FINE_SPEED_NORMAL && value != XINE_SPEED_PAUSE && !this->slow_fast_audio ) this->ao.control(&this->ao, AO_CTRL_FLUSH_BUFFERS, NULL); -+ /* current_speed_lock is here to make sure the ao_loop will pause in a safe place. -+ * that is, we cannot pause writing to device, filling gaps etc. */ -+ pthread_mutex_lock(&this->current_speed_lock); - this->ao.control(&this->ao, - (value == XINE_SPEED_PAUSE) ? AO_CTRL_PLAY_PAUSE : AO_CTRL_PLAY_RESUME, NULL); +- this->ao.control(&this->ao, +- (value == XINE_SPEED_PAUSE) ? AO_CTRL_PLAY_PAUSE : AO_CTRL_PLAY_RESUME, NULL); ++ if( value == XINE_SPEED_PAUSE ) { ++ /* current_speed_lock is here to make sure the ao_loop will pause in a safe place. ++ * that is, we cannot pause writing to device, filling gaps etc. */ ++ pthread_mutex_lock(&this->current_speed_lock); ++ this->ao.control(&this->ao, AO_CTRL_PLAY_PAUSE, NULL); ++ pthread_mutex_unlock(&this->current_speed_lock); ++ } else { ++ this->ao.control(&this->ao, AO_CTRL_PLAY_RESUME, NULL); ++ } this->current_speed = value; if( this->slow_fast_audio ) ao_update_resample_factor(this); -+ pthread_mutex_unlock(&this->current_speed_lock); - break; - - default: -@@ -2056,6 +2066,7 @@ +@@ -2056,6 +2069,7 @@ this->driver = driver; this->xine = xine; this->clock = xine->clock; @@ -73,7 +83,7 @@ diff -r ce4b1533a0af src/xine-engine/audio_out.c this->streams = xine_list_new(); /* warning: driver_lock is a recursive mutex. it must NOT be -@@ -2087,6 +2098,7 @@ +@@ -2087,6 +2101,7 @@ this->discard_buffers = 0; this->zero_space = calloc (1, ZERO_BUF_SIZE * 4 * 6); /* MAX as 32bit, 6 channels. */ @@ -81,9 +91,9 @@ diff -r ce4b1533a0af src/xine-engine/audio_out.c pthread_mutex_init( &this->flush_audio_driver_lock, NULL ); pthread_cond_init( &this->flush_audio_driver_reached, NULL ); -diff -r ce4b1533a0af src/xine-engine/xine.c ---- a/src/xine-engine/xine.c Sun Jan 11 22:24:42 2009 +0000 -+++ b/src/xine-engine/xine.c Sat Feb 07 15:09:25 2009 -0200 +diff -r 24a9b3d53141 -r 2208e465026c src/xine-engine/xine.c +--- a/src/xine-engine/xine.c Fri Feb 13 18:01:29 2009 +0000 ++++ b/src/xine-engine/xine.c Mon Feb 16 22:36:27 2009 -0300 @@ -330,17 +330,20 @@ static void set_speed_internal (xine_stream_t *stream, int speed) { @@ -114,7 +124,7 @@ diff -r ce4b1533a0af src/xine-engine/xine.c xine->port_ticket->release(xine->port_ticket, 1); } + -+ if (old_speed == XINE_SPEED_PAUSE && speed != XINE_SPEED_PAUSE) ++ if (old_speed == XINE_SPEED_PAUSE || speed != XINE_SPEED_PAUSE) + /* master clock is set after resuming the audio device (audio_out loop may continue) */ + stream->xine->clock->set_fine_speed (stream->xine->clock, speed); } diff --git a/xine-lib.spec b/xine-lib.spec index 5170e18..ba2b3bf 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -34,7 +34,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.1.16.2 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2+ Group: System Environment/Libraries URL: http://xinehq.de/ @@ -50,12 +50,11 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Patch1: %{name}-1.1.4-optflags.patch Patch6: %{name}-1.1.1-deepbind-939.patch -# FIXME for 1.1.16.1 ? Patch7: %{name}-1.1.16-old-caca.patch # http://bugzilla.redhat.com/470568 Patch8: xine-lib-1.1.15-avsync_hack.patch ## upstream patches -Patch100: xine-lib-safe-audio-pause.patch +Patch100: xine-lib-safe-audio-pause3.patch Provides: xine-lib(plugin-abi) = %{abiver} %if "%{?_isa}" != "%{nil}" @@ -188,6 +187,9 @@ This package contains extra plugins for %{name}: %prep %setup -q +%if 0%{?old_caca} +sed -i -e 's/caca >= 0\.99beta14 cucul >= 0\.99beta14/caca cucul/g' configure.ac +%endif %patch0 -p1 -b .autotools touch -r configure.ac aclocal.m4 touch -r m4/optimizations.m4 m4/optimizations.m4.stamp @@ -198,6 +200,7 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4 #patch6 -p1 -b .deepbind %if 0%{?old_caca} +sed -i -e 's/caca >= 0\.99beta14 cucul >= 0\.99beta14/caca cucul/g' configure %patch7 -p0 -b .old-caca %endif @@ -436,6 +439,12 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Feb 17 2009 Rex Dieter - 1.1.16.2-2 +- xine-lib-safe-audio-pause3 patch (kdebug#180339) + +* Tue Feb 10 2009 Kevin Kofler - 1.1.16.2-1.1 +- also patch the caca version check in configure(.ac) + * Tue Feb 10 2009 Rex Dieter - 1.1.16.2-1 - xine-lib-1.1.16.2 From 81b82aab5cd37a55aa5b52de407b31c9f22fefd2 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Fri, 20 Feb 2009 13:55:46 +0000 Subject: [PATCH 27/82] * Fri Feb 20 2009 Rex Dieter - 1.1.16.2-3 - xine-lib-devel muiltilib conflict (#477226) --- xine-lib-1.1.16.2-multilib.patch | 16 ++++++++++++++++ xine-lib.spec | 10 ++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 xine-lib-1.1.16.2-multilib.patch diff --git a/xine-lib-1.1.16.2-multilib.patch b/xine-lib-1.1.16.2-multilib.patch new file mode 100644 index 0000000..4609e63 --- /dev/null +++ b/xine-lib-1.1.16.2-multilib.patch @@ -0,0 +1,16 @@ +diff -up xine-lib-1.1.16.2/misc/xine-config.in.multilib xine-lib-1.1.16.2/misc/xine-config.in +--- xine-lib-1.1.16.2/misc/xine-config.in.multilib 2008-06-25 08:04:09.000000000 -0500 ++++ xine-lib-1.1.16.2/misc/xine-config.in 2009-02-20 07:34:27.000000000 -0600 +@@ -6,12 +6,6 @@ unset prefix + unset exec_prefix + unset args + +-PKG_CONFIG_PATH="`cat <<'EOF' +-@XINE_PKGCONFIG_DIR@ +-EOF +-`${PKG_CONFIG_PATH:+:}$PKG_CONFIG_PATH" +-export PKG_CONFIG_PATH +- + usage() + { + cat <= 0\.99beta14 cucul >= 0\.99beta14/caca cucul/g' configure %endif %patch8 -p1 -b .avsync_hack +%patch9 -p1 -b .multilib %patch100 -p1 -b .safe_audio_pause @@ -439,8 +442,11 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Fri Feb 20 2009 Rex Dieter - 1.1.16.2-3 +- xine-lib-devel muiltilib conflict (#477226) + * Tue Feb 17 2009 Rex Dieter - 1.1.16.2-2 -- xine-lib-safe-audio-pause3 patch (kdebug#180339) +- xine-lib-safe-audio-pause3 patch (#486255, kdebug#180339) * Tue Feb 10 2009 Kevin Kofler - 1.1.16.2-1.1 - also patch the caca version check in configure(.ac) From a00e88d7c3a8e4dc7971b9d95bb0809ea48e0316 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Thu, 9 Apr 2009 13:01:31 +0000 Subject: [PATCH 28/82] * Fri Apr 03 2009 Rex Dieter - 1.1.16.3-1 - xine-lib-1.1.16.3, plugin-abi 1.26 --- .cvsignore | 4 +- sources | 4 +- xine-lib.spec | 239 ++++++++++++++++++++++++++------------------------ 3 files changed, 128 insertions(+), 119 deletions(-) diff --git a/.cvsignore b/.cvsignore index 8a0cd42..dbdfc40 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ -xine-lib-1.1.16.2-pruned.tar.bz2 -xine-lib-1.1.16.2-autotools.patch.bz2 +xine-lib-1.1.16.3-autotools.patch.bz2 +xine-lib-1.1.16.3-pruned.tar.bz2 diff --git a/sources b/sources index 95d5764..3cc02d3 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -e2c3a178be02f5c32957b2716123aa28 xine-lib-1.1.16.2-pruned.tar.bz2 -07bf186d51b8315026453a2f21b33703 xine-lib-1.1.16.2-autotools.patch.bz2 +e50122a9323107564d58056b35256610 xine-lib-1.1.16.3-autotools.patch.bz2 +0cac86b7d74c1dcaa22f5a8cbc5ef578 xine-lib-1.1.16.3-pruned.tar.bz2 diff --git a/xine-lib.spec b/xine-lib.spec index aa0ffe4..7893457 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -4,7 +4,7 @@ # http://www.redhat.com/archives/fedora-legal-list/2007-August/msg00011.html # - deprecate ESD support? -%define abiver 1.25 +%define plugin_abi 1.26 %define codecdir %{_libdir}/codecs %ifarch %{ix86} @@ -33,8 +33,8 @@ Summary: A multimedia engine Name: xine-lib -Version: 1.1.16.2 -Release: 3%{?dist} +Version: 1.1.16.3 +Release: 1%{?dist} License: GPLv2+ Group: System Environment/Libraries URL: http://xinehq.de/ @@ -56,11 +56,10 @@ Patch8: xine-lib-1.1.15-avsync_hack.patch # http://bugzilla.redhat.com/477226 Patch9: xine-lib-1.1.16.2-multilib.patch ## upstream patches -Patch100: xine-lib-safe-audio-pause3.patch -Provides: xine-lib(plugin-abi) = %{abiver} +Provides: xine-lib(plugin-abi) = %{plugin_abi} %if "%{?_isa}" != "%{nil}" -Provides: xine-lib(plugin-abi)%{?_isa} = %{abiver} +Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi} %endif # X11 BuildRequires: libX11-devel @@ -143,7 +142,7 @@ This package contains development files for %{name}. Summary: aRts plugin for %{name} Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} -#Requires: xine-lib(plugin-abi) = %{abiver} +#Requires: xine-lib(plugin-abi) = %{plugin_abi} # -arts was split off the -extras subpackage at 1.1.7-3 Obsoletes: xine-lib-extras < 1.1.7-3 @@ -165,7 +164,7 @@ This package contains the pulseaudio plugin for %{name}. Summary: Additional plugins for %{name} Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} -#Requires: xine-lib(plugin-abi) = %{abiver} +#Requires: xine-lib(plugin-abi) = %{plugin_abi} %description extras This package contains extra plugins for %{name}: @@ -209,8 +208,6 @@ sed -i -e 's/caca >= 0\.99beta14 cucul >= 0\.99beta14/caca cucul/g' configure %patch8 -p1 -b .avsync_hack %patch9 -p1 -b .multilib -%patch100 -p1 -b .safe_audio_pause - # Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex ) #sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure @@ -290,142 +287,142 @@ rm -rf $RPM_BUILD_ROOT %{_mandir}/man5/xine.5* %dir %{_libdir}/xine/ %dir %{_libdir}/xine/plugins/ -%dir %{_libdir}/xine/plugins/%{abiver}/ -%{_libdir}/xine/plugins/%{abiver}/mime.types +%dir %{_libdir}/xine/plugins/%{plugin_abi}/ +%{_libdir}/xine/plugins/%{plugin_abi}/mime.types # Listing every plugin separately for better control over binary packages # containing exactly the plugins we want, nothing accidentally snuck in # nor dropped. -%dir %{_libdir}/xine/plugins/%{abiver}/post/ -%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_audio_filters.so -%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_goom.so -%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_mosaico.so -%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_switch.so -%{_libdir}/xine/plugins/%{abiver}/post/xineplug_post_visualizations.so +%dir %{_libdir}/xine/plugins/%{plugin_abi}/post/ +%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_audio_filters.so +%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_goom.so +%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_mosaico.so +%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_switch.so +%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_visualizations.so %if %{have_vidix} -%dir %{_libdir}/xine/plugins/%{abiver}/vidix/ -%{_libdir}/xine/plugins/%{abiver}/vidix/cyberblade_vid.so -%{_libdir}/xine/plugins/%{abiver}/vidix/mach64_vid.so -%{_libdir}/xine/plugins/%{abiver}/vidix/mga_crtc2_vid.so -%{_libdir}/xine/plugins/%{abiver}/vidix/mga_vid.so -%{_libdir}/xine/plugins/%{abiver}/vidix/nvidia_vid.so -%{_libdir}/xine/plugins/%{abiver}/vidix/pm2_vid.so -%{_libdir}/xine/plugins/%{abiver}/vidix/pm3_vid.so -%{_libdir}/xine/plugins/%{abiver}/vidix/radeon_vid.so -%{_libdir}/xine/plugins/%{abiver}/vidix/rage128_vid.so -%{_libdir}/xine/plugins/%{abiver}/vidix/savage_vid.so -%{_libdir}/xine/plugins/%{abiver}/vidix/sis_vid.so -%{_libdir}/xine/plugins/%{abiver}/vidix/unichrome_vid.so +%dir %{_libdir}/xine/plugins/%{plugin_abi}/vidix/ +%{_libdir}/xine/plugins/%{plugin_abi}/vidix/cyberblade_vid.so +%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mach64_vid.so +%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mga_crtc2_vid.so +%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mga_vid.so +%{_libdir}/xine/plugins/%{plugin_abi}/vidix/nvidia_vid.so +%{_libdir}/xine/plugins/%{plugin_abi}/vidix/pm2_vid.so +%{_libdir}/xine/plugins/%{plugin_abi}/vidix/pm3_vid.so +%{_libdir}/xine/plugins/%{plugin_abi}/vidix/radeon_vid.so +%{_libdir}/xine/plugins/%{plugin_abi}/vidix/rage128_vid.so +%{_libdir}/xine/plugins/%{plugin_abi}/vidix/savage_vid.so +%{_libdir}/xine/plugins/%{plugin_abi}/vidix/sis_vid.so +%{_libdir}/xine/plugins/%{plugin_abi}/vidix/unichrome_vid.so %endif # vidix -%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_alsa.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_file.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_none.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_oss.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_bitplane.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_gsm610.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_lpcm.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_mpc.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_alsa.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_file.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_none.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_oss.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_bitplane.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gsm610.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_lpcm.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_mpc.so %ifarch %ix86 -%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_qt.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_qt.so %endif # ix86 -%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_real.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_rgb.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_speex.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spu.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spucc.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spucmml.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_spudvb.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_sputext.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_theora.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_vorbis.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_real.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_rgb.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_speex.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spu.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucc.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucmml.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spudvb.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_sputext.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_theora.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_vorbis.so %ifarch %ix86 -%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_w32dll.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_w32dll.so %endif # ix86 -%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_yuv.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_audio.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_avi.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_fli.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_flv.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_games.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_iff.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_image.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_matroska.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mng.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_block.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_elem.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_pes.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_mpeg_ts.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_nsv.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_ogg.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_pva.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_qt.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_rawdv.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_real.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_slave.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_sputext.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_yuv_frames.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_dmx_yuv4mpeg2.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_flac.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_cdda.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_dvb.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_file.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_http.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_net.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_pnm.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_pvr.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_rtp.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_rtsp.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_stdin_fifo.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_v4l.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_fb.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_none.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_opengl.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_raw.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_syncfb.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_yuv.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_audio.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_avi.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_fli.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_flv.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_games.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_iff.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_image.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_matroska.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mng.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_block.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_elem.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_pes.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_ts.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_nsv.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_ogg.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_pva.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_qt.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_rawdv.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_real.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_slave.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_sputext.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv_frames.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv4mpeg2.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_flac.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_cdda.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvb.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_file.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_http.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_net.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pnm.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtp.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtsp.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_stdin_fifo.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_none.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_opengl.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_raw.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_syncfb.so %if %{have_vidix} -%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_vidix.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_vidix.so %endif # vidix %if %{with_xcb} -%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xcbshm.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xcbxv.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbshm.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbxv.so %endif # xcb -%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xshm.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xv.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xvmc.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xxmc.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_wavpack.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xshm.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xv.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xvmc.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xxmc.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_wavpack.so %if 0%{!?_without_arts:1} %files arts %defattr(-,root,root,-) -%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_arts.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_arts.so %endif %if %{with_pa} %files pulseaudio %defattr(-,root,root,-) -%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_pulseaudio.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so %endif %files extras %defattr(-,root,root,-) -%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_esd.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_ao_out_jack.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_gdk_pixbuf.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_esd.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_jack.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gdk_pixbuf.so %if 0%{!?_without_imagemagick:1} -%{_libdir}/xine/plugins/%{abiver}/xineplug_decode_image.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_image.so %endif # imagemagick -%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_gnome_vfs.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_inp_smb.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_gnome_vfs.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_smb.so %if %{with_aalib} -%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_aa.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_aa.so %endif # aalib -%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_caca.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_caca.so %if 0%{!?_without_directfb:1} -%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_directfb.so -%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_xdirectfb.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_directfb.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xdirectfb.so %endif # directfb -%{_libdir}/xine/plugins/%{abiver}/xineplug_vo_out_sdl.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_sdl.so %files devel %defattr(-,root,root,-) @@ -442,6 +439,18 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Fri Apr 03 2009 Rex Dieter - 1.1.16.3-1 +- xine-lib-1.1.16.3, plugin-abi 1.26 + +* Thu Mar 26 2009 Rex Dieter - 1.1.16.2-6 +- add-mime-for-mod.patch + +* Tue Mar 10 2009 Kevin Kofler - 1.1.16.2-5 +- rebuild for new ImageMagick + +* Thu Feb 26 2009 Fedora Release Engineering - 1.1.16.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + * Fri Feb 20 2009 Rex Dieter - 1.1.16.2-3 - xine-lib-devel muiltilib conflict (#477226) @@ -461,7 +470,7 @@ rm -rf $RPM_BUILD_ROOT - safe-audio-pause patch (kdebug#180339) * Mon Jan 26 2009 Rex Dieter - 1.1.16.1-2 -- Provides: xine-lib(plugin-abi)%%{?_isa} = %%{abiver} +- Provides: xine-lib(plugin-abi)%%{?_isa} = %%{plugin_abi} - touchup Summary/Description * Fri Jan 23 2009 Rex Dieter - 1.1.16.1-1 From 3ce3ad85964e859f3d381e5f420290d3d7e0431b Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Fri, 10 Apr 2009 17:14:44 +0000 Subject: [PATCH 29/82] * Fri Apr 10 2009 Rex Dieter - 1.1.16.3-2 - fix modtracker mimetypes --- xine-lib-1.1.16.3-mod_mimetypes_typo.patch | 20 ++++++++++++++++++++ xine-lib.spec | 8 +++++++- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 xine-lib-1.1.16.3-mod_mimetypes_typo.patch diff --git a/xine-lib-1.1.16.3-mod_mimetypes_typo.patch b/xine-lib-1.1.16.3-mod_mimetypes_typo.patch new file mode 100644 index 0000000..b10fabb --- /dev/null +++ b/xine-lib-1.1.16.3-mod_mimetypes_typo.patch @@ -0,0 +1,20 @@ +diff -up xine-lib-1.1.16.3/src/demuxers/demux_mod.c.mod_mimetypes_typo xine-lib-1.1.16.3/src/demuxers/demux_mod.c +--- xine-lib-1.1.16.3/src/demuxers/demux_mod.c.mod_mimetypes_typo 2009-03-25 14:28:40.000000000 -0500 ++++ xine-lib-1.1.16.3/src/demuxers/demux_mod.c 2009-04-10 10:15:04.000000000 -0500 +@@ -387,11 +387,11 @@ static const char *get_mimetypes (demux_ + "audio/x-s3m: s3m: ScreamTracker 3 Module;" + "audio/s3m: s3m: ScreamTracker 3 Module;" + "application/playerpro: 669: 669 Tracker Module;" +- "application/adrift; amf: ADRIFT Module File;" +- "audio/med; med; Amiga MED/OctaMED Tracker Module Sound File;" +- "audio/x-amf; amf: ADRIFT Module File;" +- "audio/x-xm; xm: FastTracker II Audio;" +- "audio/xm; xm: FastTracker II Audio;"; ++ "application/adrift: amf: ADRIFT Module File;" ++ "audio/med: med: Amiga MED/OctaMED Tracker Module Sound File;" ++ "audio/x-amf: amf: ADRIFT Module File;" ++ "audio/x-xm: xm: FastTracker II Audio;" ++ "audio/xm: xm: FastTracker II Audio;"; + } + + static void class_dispose (demux_class_t *this_gen) { diff --git a/xine-lib.spec b/xine-lib.spec index 7893457..253bd5f 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -34,7 +34,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.1.16.3 -Release: 1%{?dist} +Release: 2%{?dist} License: GPLv2+ Group: System Environment/Libraries URL: http://xinehq.de/ @@ -55,6 +55,8 @@ Patch7: %{name}-1.1.16-old-caca.patch Patch8: xine-lib-1.1.15-avsync_hack.patch # http://bugzilla.redhat.com/477226 Patch9: xine-lib-1.1.16.2-multilib.patch +## upstreamable patches +Patch50: xine-lib-1.1.16.3-mod_mimetypes_typo.patch ## upstream patches Provides: xine-lib(plugin-abi) = %{plugin_abi} @@ -207,6 +209,7 @@ sed -i -e 's/caca >= 0\.99beta14 cucul >= 0\.99beta14/caca cucul/g' configure %patch8 -p1 -b .avsync_hack %patch9 -p1 -b .multilib +%patch50 -p1 -b .mod_mimetypes_typo # Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex ) #sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure @@ -439,6 +442,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Fri Apr 10 2009 Rex Dieter - 1.1.16.3-2 +- fix modtracker mimetypes + * Fri Apr 03 2009 Rex Dieter - 1.1.16.3-1 - xine-lib-1.1.16.3, plugin-abi 1.26 From 3817db5039e2f086ad4b45fee815ea30606894ad Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Thu, 30 Apr 2009 15:11:26 +0000 Subject: [PATCH 30/82] bump-n-rebuild --- xine-lib.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xine-lib.spec b/xine-lib.spec index 253bd5f..08799c5 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -34,7 +34,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.1.16.3 -Release: 2%{?dist} +Release: 2%{?dist}.1 License: GPLv2+ Group: System Environment/Libraries URL: http://xinehq.de/ From ca4afa5f51152c6d88a2dfec21ce7154facfa6b5 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Thu, 26 Nov 2009 01:33:32 +0000 Subject: [PATCH 31/82] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index a1c167d..3f11a94 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ NAME := xine-lib SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From 727d12ce69d035761680beaafb8f392620334b7b Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Thu, 26 Nov 2009 01:33:33 +0000 Subject: [PATCH 32/82] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index a1c167d..3f11a94 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ NAME := xine-lib SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From 1622a9369f1bda10831df85cca567383cf8f5d23 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Mon, 30 Nov 2009 14:10:33 +0000 Subject: [PATCH 33/82] * Sun Nov 29 2009 Rex Dieter - 1.1.16.3-5 - move -pulseaudio into main pkg (f12+) - update URL --- xine-lib.spec | 36 +++++++++++++++++++++++++----------- 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/xine-lib.spec b/xine-lib.spec index 32b7bdf..f31b4c4 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -23,17 +23,21 @@ %define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0} %endif # Fedora -%if 0%{?fedora} > 8 +%if 0%{?fedora} > 8 || 0%{?rhel} > 5 %define _without_arts --without-arts %endif +%if 0%{?fedora} > 11 +%define pa_in_main 1 +%endif + Summary: A multimedia engine Name: xine-lib Version: 1.1.16.3 -Release: 4%{?dist} +Release: 5%{?dist} License: GPLv2+ Group: System Environment/Libraries -URL: http://xinehq.de/ +URL: http://www.xine-project.org/ # The tarball is generated from the upstream tarball using # the script in SOURCE1. It prunes potentially patented code #Source0: http://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.bz2 @@ -115,6 +119,11 @@ BuildRequires: samba-common %endif BuildRequires: libdvdnav-devel +%if 0%{?pa_in_main} +Obsoletes: xine-lib-pulseaudio < 1.1.16.3-5 +Provides: xine-lib-pulseaudio = %{version}-%{release} +%endif + %description This package contains the Xine library. It can be used to play back various media, decode multimedia files from local disk drives, and display @@ -146,8 +155,6 @@ This package contains the aRts plugin for %{name}. Summary: Pulseaudio plugin for %{name} Group: System Environment/Libraries Requires: %{name} = %{version}-%{release} -# -pulseaudio was split off -extras at 1.1.11.1-2 -#Obsoletes: xine-lib-extras < 1.1.11.1-2 %description pulseaudio This package contains the pulseaudio plugin for %{name}. @@ -378,18 +385,21 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xxmc.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_wavpack.so +%if %{with_pa} +%if ! 0%{?pa_in_main} +%files pulseaudio +%defattr(-,root,root,-) +%endif +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so +%endif + + %if 0%{!?_without_arts:1} %files arts %defattr(-,root,root,-) %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_arts.so %endif -%if %{with_pa} -%files pulseaudio -%defattr(-,root,root,-) -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so -%endif - %files extras %defattr(-,root,root,-) %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_esd.so @@ -425,6 +435,10 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Sun Nov 29 2009 Rex Dieter - 1.1.16.3-5 +- move -pulseaudio into main pkg (f12+) +- update URL + * Mon Jul 27 2009 Fedora Release Engineering - 1.1.16.3-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild From 595aaf6d2ca24c51ccb8cf3a01ba09a6afdbada9 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Sat, 8 May 2010 02:29:15 +0000 Subject: [PATCH 34/82] Initialize branch EL-6 for xine-lib --- branch | 1 + 1 file changed, 1 insertion(+) create mode 100644 branch diff --git a/branch b/branch new file mode 100644 index 0000000..46381b9 --- /dev/null +++ b/branch @@ -0,0 +1 @@ +EL-6 From eb97b605e424c8eb054ff94db7e368a8680eb6c8 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Mon, 21 Jun 2010 12:32:45 +0000 Subject: [PATCH 35/82] * Sun Mar 07 2010 Rex Dieter - 1.1.18.1-1 - xine-lib-1.1.18.1 --- .cvsignore | 4 +- sources | 4 +- xine-lib-1.1.16.3-mod_mimetypes_typo.patch | 20 ---- ...patch => xine-lib-1.1.17-avsync_hack.patch | 14 +-- xine-lib-1.1.18.1-no_autopoint.patch | 17 ++++ xine-lib-mk-autotools-patch.sh | 1 + xine-lib.spec | 98 +++++++++++-------- 7 files changed, 88 insertions(+), 70 deletions(-) delete mode 100644 xine-lib-1.1.16.3-mod_mimetypes_typo.patch rename xine-lib-1.1.15-avsync_hack.patch => xine-lib-1.1.17-avsync_hack.patch (59%) create mode 100644 xine-lib-1.1.18.1-no_autopoint.patch diff --git a/.cvsignore b/.cvsignore index dbdfc40..9d21c9b 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ -xine-lib-1.1.16.3-autotools.patch.bz2 -xine-lib-1.1.16.3-pruned.tar.bz2 +xine-lib-1.1.18.1-autotools.patch.bz2 +xine-lib-1.1.18.1-pruned.tar.bz2 diff --git a/sources b/sources index 3cc02d3..cf9ff04 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -e50122a9323107564d58056b35256610 xine-lib-1.1.16.3-autotools.patch.bz2 -0cac86b7d74c1dcaa22f5a8cbc5ef578 xine-lib-1.1.16.3-pruned.tar.bz2 +e2c45d451fd9d8ad3be680237ff5bcdf xine-lib-1.1.18.1-autotools.patch.bz2 +55de212f416d9d366cad7520ccd7a539 xine-lib-1.1.18.1-pruned.tar.bz2 diff --git a/xine-lib-1.1.16.3-mod_mimetypes_typo.patch b/xine-lib-1.1.16.3-mod_mimetypes_typo.patch deleted file mode 100644 index b10fabb..0000000 --- a/xine-lib-1.1.16.3-mod_mimetypes_typo.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -up xine-lib-1.1.16.3/src/demuxers/demux_mod.c.mod_mimetypes_typo xine-lib-1.1.16.3/src/demuxers/demux_mod.c ---- xine-lib-1.1.16.3/src/demuxers/demux_mod.c.mod_mimetypes_typo 2009-03-25 14:28:40.000000000 -0500 -+++ xine-lib-1.1.16.3/src/demuxers/demux_mod.c 2009-04-10 10:15:04.000000000 -0500 -@@ -387,11 +387,11 @@ static const char *get_mimetypes (demux_ - "audio/x-s3m: s3m: ScreamTracker 3 Module;" - "audio/s3m: s3m: ScreamTracker 3 Module;" - "application/playerpro: 669: 669 Tracker Module;" -- "application/adrift; amf: ADRIFT Module File;" -- "audio/med; med; Amiga MED/OctaMED Tracker Module Sound File;" -- "audio/x-amf; amf: ADRIFT Module File;" -- "audio/x-xm; xm: FastTracker II Audio;" -- "audio/xm; xm: FastTracker II Audio;"; -+ "application/adrift: amf: ADRIFT Module File;" -+ "audio/med: med: Amiga MED/OctaMED Tracker Module Sound File;" -+ "audio/x-amf: amf: ADRIFT Module File;" -+ "audio/x-xm: xm: FastTracker II Audio;" -+ "audio/xm: xm: FastTracker II Audio;"; - } - - static void class_dispose (demux_class_t *this_gen) { diff --git a/xine-lib-1.1.15-avsync_hack.patch b/xine-lib-1.1.17-avsync_hack.patch similarity index 59% rename from xine-lib-1.1.15-avsync_hack.patch rename to xine-lib-1.1.17-avsync_hack.patch index f33aba4..5fa1ae1 100644 --- a/xine-lib-1.1.15-avsync_hack.patch +++ b/xine-lib-1.1.17-avsync_hack.patch @@ -1,8 +1,8 @@ -diff -uNr xine-lib-1.1.15.orig/src/xine-engine/audio_out.c xine-lib-1.1.15/src/xine-engine/audio_out.c ---- xine-lib-1.1.15.orig/src/xine-engine/audio_out.c 2008-07-10 18:19:10.000000000 +0200 -+++ xine-lib-1.1.15/src/xine-engine/audio_out.c 2009-01-10 21:57:20.000000000 +0100 -@@ -1151,8 +1151,17 @@ - +diff -up xine-lib-1.1.17/src/xine-engine/audio_out.c.avsync_hack xine-lib-1.1.17/src/xine-engine/audio_out.c +--- xine-lib-1.1.17/src/xine-engine/audio_out.c.avsync_hack 2009-11-30 19:33:30.000000000 -0600 ++++ xine-lib-1.1.17/src/xine-engine/audio_out.c 2009-12-02 09:07:37.622805780 -0600 +@@ -1156,8 +1156,17 @@ static void *ao_loop (void *this_gen) { + /* * calculate gap: + * @@ -13,9 +13,9 @@ diff -uNr xine-lib-1.1.15.orig/src/xine-engine/audio_out.c xine-lib-1.1.15/src/x */ - gap = in_buf->vpts - hw_vpts; + if (in_buf && in_buf->stream && in_buf->stream->video_decoder_plugin) { -+ gap = in_buf->vpts - hw_vpts; ++ gap = in_buf->vpts - hw_vpts; + } else { -+ gap = 0; ++ gap = 0; + } lprintf ("hw_vpts : %" PRId64 " buffer_vpts : %" PRId64 " gap : %" PRId64 "\n", hw_vpts, in_buf->vpts, gap); diff --git a/xine-lib-1.1.18.1-no_autopoint.patch b/xine-lib-1.1.18.1-no_autopoint.patch new file mode 100644 index 0000000..d5ee0cd --- /dev/null +++ b/xine-lib-1.1.18.1-no_autopoint.patch @@ -0,0 +1,17 @@ +diff -up xine-lib-1.1.17/autogen.sh.no_autopoint xine-lib-1.1.17/autogen.sh +--- xine-lib-1.1.17/autogen.sh.no_autopoint 2009-10-09 09:33:31.000000000 -0500 ++++ xine-lib-1.1.17/autogen.sh 2009-12-02 09:15:48.534555467 -0600 +@@ -229,10 +229,10 @@ run_aclocal () { + echo + fi + +- echo $_echo_n " + Running autopoint: $_echo_c" ++ #echo $_echo_n " + Running autopoint: $_echo_c" + +- autopoint +- echo "done." ++ #autopoint ++ #echo "done." + + echo $_echo_n " + Running aclocal: $_echo_c" + diff --git a/xine-lib-mk-autotools-patch.sh b/xine-lib-mk-autotools-patch.sh index dc1e103..3cb6d1a 100644 --- a/xine-lib-mk-autotools-patch.sh +++ b/xine-lib-mk-autotools-patch.sh @@ -23,6 +23,7 @@ tar jxf xine-lib-$version-pruned.tar.bz2 cp -a xine-lib-$version xine-lib-$version-pruned pushd xine-lib-$version +patch -p1 < ../xine-lib-${version}-no_autopoint.patch # extra work for to omit old libtool-related crud rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4 ./autogen.sh noconfig diff --git a/xine-lib.spec b/xine-lib.spec index f31b4c4..17f16b7 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -1,10 +1,9 @@ # TODO, sometime, maybe: # - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog # - drop the opengl video out plugin? -# http://www.redhat.com/archives/fedora-legal-list/2007-August/msg00011.html # - deprecate ESD support? -%define plugin_abi 1.26 +%define plugin_abi 1.28 %define codecdir %{_libdir}/codecs %ifarch %{ix86} @@ -14,13 +13,15 @@ %endif # ix86 %if 0%{?fedora} - %define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1} - %define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1} - %define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1} +%define _enable_v4l --enable-v4l --enable-libv4l +%define _disable_gnomevfs --disable-gnomevfs +%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1} +%define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1} +%define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1} %else - %define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0} - %define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0} - %define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0} +%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0} +%define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0} +%define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0} %endif # Fedora %if 0%{?fedora} > 8 || 0%{?rhel} > 5 @@ -33,41 +34,45 @@ Summary: A multimedia engine Name: xine-lib -Version: 1.1.16.3 -Release: 5%{?dist} +Version: 1.1.18.1 +Release: 1%{?dist} License: GPLv2+ Group: System Environment/Libraries URL: http://www.xine-project.org/ # The tarball is generated from the upstream tarball using # the script in SOURCE1. It prunes potentially patented code #Source0: http://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.bz2 -Source0: %{name}-%{version}-pruned.tar.bz2 -Source1: %{name}-cleanup-sources.sh -Source2: %{name}-mk-autotools-patch.sh +Source0: xine-lib-%{version}-pruned.tar.bz2 +Source1: xine-lib-cleanup-sources.sh +Source2: xine-lib-mk-autotools-patch.sh # autotools patch created with source2 -Patch0: %{name}-%{version}-autotools.patch.bz2 +Patch0: xine-lib-%{version}-autotools.patch.bz2 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -Patch1: %{name}-1.1.4-optflags.patch -Patch6: %{name}-1.1.1-deepbind-939.patch +Patch1: xine-lib-1.1.4-optflags.patch +# used to help +Patch2: xine-lib-%{version}-no_autopoint.patch +Patch6: xine-lib-1.1.1-deepbind-939.patch # http://bugzilla.redhat.com/470568 -Patch8: xine-lib-1.1.15-avsync_hack.patch +Patch8: xine-lib-1.1.17-avsync_hack.patch # http://bugzilla.redhat.com/477226 Patch9: xine-lib-1.1.16.2-multilib.patch ## upstreamable patches -Patch50: xine-lib-1.1.16.3-mod_mimetypes_typo.patch ## upstream patches -Provides: xine-lib(plugin-abi) = %{plugin_abi} -%if "%{?_isa}" != "%{nil}" -Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi} -%endif +Provides: xine-lib(plugin-abi) = %{plugin_abi} +%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}} + +BuildRequires: automake libtool # X11 BuildRequires: libX11-devel BuildRequires: libXv-devel BuildRequires: libXinerama-devel BuildRequires: libXvMC-devel BuildRequires: libGLU-devel +%if 0%{?_enable_v4l:1} +BuildRequires: libv4l-devel +%endif %if %{with_xcb} BuildRequires: libxcb-devel %endif # xcb @@ -110,7 +115,6 @@ BuildRequires: wavpack-devel BuildRequires: libcdio-devel # Other BuildRequires: pkgconfig -BuildRequires: gnome-vfs2-devel BuildRequires: gtk2-devel %if 0%{?fedora} > 6 || 0%{?rhel} > 5 BuildRequires: libsmbclient-devel @@ -133,39 +137,32 @@ common multimedia formats available - and some uncommon formats, too. %package devel Summary: Xine library development files Group: Development/Libraries -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} Requires: pkgconfig Requires: zlib-devel - %description devel This package contains development files for %{name}. %package arts Summary: aRts plugin for %{name} Group: System Environment/Libraries -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} #Requires: xine-lib(plugin-abi) = %{plugin_abi} -# -arts was split off the -extras subpackage at 1.1.7-3 -Obsoletes: xine-lib-extras < 1.1.7-3 - %description arts This package contains the aRts plugin for %{name}. %package pulseaudio Summary: Pulseaudio plugin for %{name} Group: System Environment/Libraries -Requires: %{name} = %{version}-%{release} - +Requires: %{name}%{?_isa} = %{version}-%{release} %description pulseaudio This package contains the pulseaudio plugin for %{name}. - %package extras Summary: Additional plugins for %{name} Group: System Environment/Libraries -Requires: %{name} = %{version}-%{release} +Requires: %{name}%{?_isa} = %{version}-%{release} #Requires: xine-lib(plugin-abi) = %{plugin_abi} - %description extras This package contains extra plugins for %{name}: - EsounD @@ -196,12 +193,14 @@ touch -r m4/optimizations.m4.stamp m4/optimizations.m4 # needed at least when compiling with external ffmpeg and internal faad livna bug#939. # see also http://bugzilla.redhat.com/480504 for side-effects #patch6 -p1 -b .deepbind - %patch8 -p1 -b .avsync_hack %patch9 -p1 -b .multilib -%patch50 -p1 -b .mod_mimetypes_typo -# Avoid standard rpaths on lib64 archs: (autotools patch should handle this, no? -- Rex ) +# autotools patch + touch'ing above seems to miss something, aclocal +# runs on make anyway, let's use the ./autogen.sh hammer for now. +./autogen.sh noconfig + +#Avoid standard rpaths on lib64 archs: (autotools patch handles this too) #sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure @@ -217,6 +216,8 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)" %if 0%{!?_without_directfb:1} --enable-directfb \ %endif # directfb + %{?_enable_v4l}%{!?_enable_v4l:--disable-v4l --disable-libv4l} \ + %{?_disable_gnomevfs} \ --disable-a52dec \ --disable-mad \ --disable-vcd \ @@ -314,7 +315,7 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gsm610.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_lpcm.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_mpc.so -%ifarch %ix86 +%ifarch %{ix86} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_qt.so %endif # ix86 %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_real.so @@ -324,6 +325,7 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucc.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucmml.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spudvb.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spuhdmv.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_sputext.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_theora.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_vorbis.so @@ -367,6 +369,7 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtsp.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_stdin_fifo.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l2.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_none.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_opengl.so @@ -408,7 +411,6 @@ rm -rf $RPM_BUILD_ROOT %if 0%{!?_without_imagemagick:1} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_image.so %endif # imagemagick -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_gnome_vfs.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_smb.so %if %{with_aalib} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_aa.so @@ -435,6 +437,24 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Sun Mar 07 2010 Rex Dieter - 1.1.18.1-1 +- xine-lib-1.1.18.1 + +* Sun Mar 07 2010 Rex Dieter - 1.1.18-2 +- rebuild (ImageMagick) + +* Wed Feb 24 2010 Rex Dieter - 1.1.18-1 +- xine-lib-1.1.18, plugin-abi 1.28 (#567913) + +* Sat Dec 12 2009 Rex Dieter - 1.1.17-3 +- bump flac_decoder priority (rh#301861,xine#225) + +* Mon Dec 07 2009 Bastien Nocera 1.1.17-2 +- Remove gnome-vfs2 plugin, it's mostly useless + +* Wed Dec 02 2009 Rex Dieter - 1.1.17-1 +- xine-lib-1.1.17, plugin-abi 1.27 + * Sun Nov 29 2009 Rex Dieter - 1.1.16.3-5 - move -pulseaudio into main pkg (f12+) - update URL From d1fcff865880bf2be0c45af3159ea561cd676d03 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Mon, 21 Jun 2010 15:19:13 +0000 Subject: [PATCH 36/82] no libXvMC on el6/ppc64 --- xine-lib.spec | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/xine-lib.spec b/xine-lib.spec index 17f16b7..a0e1b05 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -24,6 +24,12 @@ %define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0} %endif # Fedora +%if 0%{?rhel} > 5 +%ifarch ppc64 +%define no_xvmc 1 +%endif +%endif + %if 0%{?fedora} > 8 || 0%{?rhel} > 5 %define _without_arts --without-arts %endif @@ -68,7 +74,7 @@ BuildRequires: automake libtool BuildRequires: libX11-devel BuildRequires: libXv-devel BuildRequires: libXinerama-devel -BuildRequires: libXvMC-devel +%{!?no_xvmc:BuildRequires: libXvMC-devel} BuildRequires: libGLU-devel %if 0%{?_enable_v4l:1} BuildRequires: libv4l-devel @@ -384,7 +390,7 @@ rm -rf $RPM_BUILD_ROOT %endif # xcb %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xshm.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xv.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xvmc.so +%{!?no_xvmc:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xvmc.so} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xxmc.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_wavpack.so From e79635e8dfbadb3836b91142126ec8b224e2a14d Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Mon, 21 Jun 2010 15:35:39 +0000 Subject: [PATCH 37/82] fix for no libv4l --- xine-lib.spec | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/xine-lib.spec b/xine-lib.spec index a0e1b05..8c935ff 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -370,12 +370,14 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_http.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_net.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pnm.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtp.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtsp.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_stdin_fifo.so +%if 0%{?_enable_v4l:1} +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l2.so +%endif %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_none.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_opengl.so From c0776ed69daf5d842711aa200e1c13ce6e704c44 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Mon, 21 Jun 2010 17:24:30 +0000 Subject: [PATCH 38/82] a few more el-6 fixes --- xine-lib.spec | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/xine-lib.spec b/xine-lib.spec index 8c935ff..0a2749f 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -13,15 +13,10 @@ %endif # ix86 %if 0%{?fedora} -%define _enable_v4l --enable-v4l --enable-libv4l %define _disable_gnomevfs --disable-gnomevfs %define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1} -%define with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1} -%define with_xcb %{?_without_xcb:0}%{!?_without_xcb:1} %else %define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0} -%define with_pa %{?_with_pulseaudio:1}%{!?_with_pulseaudio:0} -%define with_xcb %{?_with_xcb:1}%{!?_with_xcb:0} %endif # Fedora %if 0%{?rhel} > 5 @@ -31,7 +26,10 @@ %endif %if 0%{?fedora} > 8 || 0%{?rhel} > 5 +%define _enable_v4l --enable-v4l --enable-libv4l %define _without_arts --without-arts +%define _with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1} +%define _with_xcb %{?_without_xcb:0}%{!?_without_xcb:1} %endif %if 0%{?fedora} > 11 @@ -79,7 +77,7 @@ BuildRequires: libGLU-devel %if 0%{?_enable_v4l:1} BuildRequires: libv4l-devel %endif -%if %{with_xcb} +%if 0%{?_with_xcb:1} BuildRequires: libxcb-devel %endif # xcb # Video @@ -107,7 +105,7 @@ BuildRequires: jack-audio-connection-kit-devel BuildRequires: libmodplug-devel BuildRequires: libmpcdec-devel BuildRequires: libvorbis-devel -%if %{with_pa} +%if 0%{?_with_pa:1} BuildRequires: pulseaudio-lib-devel %endif # pa BuildRequires: speex-devel @@ -386,7 +384,7 @@ rm -rf $RPM_BUILD_ROOT %if %{have_vidix} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_vidix.so %endif # vidix -%if %{with_xcb} +%if 0%{?_with_xcb:1} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbshm.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbxv.so %endif # xcb @@ -396,7 +394,7 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xxmc.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_wavpack.so -%if %{with_pa} +%if 0%{?_with_pa:1} %if ! 0%{?pa_in_main} %files pulseaudio %defattr(-,root,root,-) @@ -404,7 +402,6 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so %endif - %if 0%{!?_without_arts:1} %files arts %defattr(-,root,root,-) From 08481795c603c1ad048890e0dcd6d7475606993a Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Mon, 21 Jun 2010 18:15:18 +0000 Subject: [PATCH 39/82] more el-6 fixes --- xine-lib.spec | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/xine-lib.spec b/xine-lib.spec index 0a2749f..75e873d 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -19,9 +19,10 @@ %define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0} %endif # Fedora +%define _enable_xvmc --enable-xvmc %if 0%{?rhel} > 5 %ifarch ppc64 -%define no_xvmc 1 +%undefine _enable_xvmc %endif %endif @@ -32,7 +33,7 @@ %define _with_xcb %{?_without_xcb:0}%{!?_without_xcb:1} %endif -%if 0%{?fedora} > 11 +%if 0%{?fedora} > 11 || 0%{?rhel} > 5 %define pa_in_main 1 %endif @@ -72,7 +73,7 @@ BuildRequires: automake libtool BuildRequires: libX11-devel BuildRequires: libXv-devel BuildRequires: libXinerama-devel -%{!?no_xvmc:BuildRequires: libXvMC-devel} +%{?_enable_xvmc:BuildRequires: libXvMC-devel} BuildRequires: libGLU-devel %if 0%{?_enable_v4l:1} BuildRequires: libv4l-devel @@ -221,6 +222,7 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)" --enable-directfb \ %endif # directfb %{?_enable_v4l}%{!?_enable_v4l:--disable-v4l --disable-libv4l} \ + %{?_enable_xvmc}%{!?_enable_xvmc:--disable-xvmc} \ %{?_disable_gnomevfs} \ --disable-a52dec \ --disable-mad \ @@ -390,8 +392,10 @@ rm -rf $RPM_BUILD_ROOT %endif # xcb %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xshm.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xv.so -%{!?no_xvmc:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xvmc.so} +%if 0%{?_enable_xvmc:1} +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xvmc.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xxmc.so +%endif %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_wavpack.so %if 0%{?_with_pa:1} From a3304f7fc88b80bb8b70ab52f910e8c60d03a132 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 29 Jul 2010 13:23:43 +0000 Subject: [PATCH 40/82] dist-git conversion --- .cvsignore => .gitignore | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .cvsignore => .gitignore (100%) diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore From 53f040ddbce0875fa601cb6adc45720bdf1cacca Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 29 Jul 2010 13:23:57 +0000 Subject: [PATCH 41/82] dist-git conversion --- .cvsignore => .gitignore | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .cvsignore => .gitignore (100%) diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore From 4ca22501764f755758531c8f52806a12fe1c3016 Mon Sep 17 00:00:00 2001 From: Xavier Bachelot Date: Fri, 20 Sep 2013 16:37:56 +0200 Subject: [PATCH 42/82] Rebuild for libbluray-0.4.0. --- xine-lib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xine-lib.spec b/xine-lib.spec index 8365d82..0b1bf41 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -34,7 +34,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.1.21 -Release: 9%{?dist} +Release: 10%{?dist} License: GPLv2+ Group: System Environment/Libraries URL: http://www.xine-project.org/ @@ -394,6 +394,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Fri Sep 20 2013 Xavier Bachelot 1.1.21-10 +- Rebuild for libbluray-0.4.0. + * Sat Aug 31 2013 Till Maas - 1.1.21-9 - Disable directfb support for Fedora 20 and newer, because it was retired From e51141ce46cb55ca9861daf8450f11599d04780f Mon Sep 17 00:00:00 2001 From: Xavier Bachelot Date: Thu, 24 Oct 2013 00:58:59 +0200 Subject: [PATCH 43/82] Moved to RPM Fusion --- .gitignore | 5 - Makefile | 21 - dead.package | 1 + sources | 1 - xine-lib-1.1.16.2-multilib.patch | 16 - xine-lib-1.1.17-avsync_hack.patch | 22 - xine-lib-1.1.19-no_autopoint.patch | 17 - xine-lib-1.1.21-samba4.patch | 32 -- xine-lib-1.1.4-optflags.patch | 11 - xine-lib-cleanup-sources.sh | 90 ---- xine-lib.spec | 741 ----------------------------- 11 files changed, 1 insertion(+), 956 deletions(-) delete mode 100644 .gitignore delete mode 100644 Makefile create mode 100644 dead.package delete mode 100644 sources delete mode 100644 xine-lib-1.1.16.2-multilib.patch delete mode 100644 xine-lib-1.1.17-avsync_hack.patch delete mode 100644 xine-lib-1.1.19-no_autopoint.patch delete mode 100644 xine-lib-1.1.21-samba4.patch delete mode 100644 xine-lib-1.1.4-optflags.patch delete mode 100755 xine-lib-cleanup-sources.sh delete mode 100644 xine-lib.spec diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 6f9a840..0000000 --- a/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -xine-lib-1.1.19-autotools.patch.bz2 -xine-lib-1.1.19-pruned.tar.bz2 -/xine-lib-1.1.20-pruned.tar.xz -/xine-lib-1.1.20.1-pruned.tar.xz -/xine-lib-1.1.21-pruned.tar.xz diff --git a/Makefile b/Makefile deleted file mode 100644 index 3f11a94..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: xine-lib -# $Id$ -NAME := xine-lib -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..0a5049b --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +Moved to RPM Fusion diff --git a/sources b/sources deleted file mode 100644 index fd1b3c5..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -1568a378a732bd9b69d418674ad4165c xine-lib-1.1.21-pruned.tar.xz diff --git a/xine-lib-1.1.16.2-multilib.patch b/xine-lib-1.1.16.2-multilib.patch deleted file mode 100644 index 4609e63..0000000 --- a/xine-lib-1.1.16.2-multilib.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -up xine-lib-1.1.16.2/misc/xine-config.in.multilib xine-lib-1.1.16.2/misc/xine-config.in ---- xine-lib-1.1.16.2/misc/xine-config.in.multilib 2008-06-25 08:04:09.000000000 -0500 -+++ xine-lib-1.1.16.2/misc/xine-config.in 2009-02-20 07:34:27.000000000 -0600 -@@ -6,12 +6,6 @@ unset prefix - unset exec_prefix - unset args - --PKG_CONFIG_PATH="`cat <<'EOF' --@XINE_PKGCONFIG_DIR@ --EOF --`${PKG_CONFIG_PATH:+:}$PKG_CONFIG_PATH" --export PKG_CONFIG_PATH -- - usage() - { - cat <vpts - hw_vpts; -+ if (in_buf && in_buf->stream && in_buf->stream->video_decoder_plugin) { -+ gap = in_buf->vpts - hw_vpts; -+ } else { -+ gap = 0; -+ } - lprintf ("hw_vpts : %" PRId64 " buffer_vpts : %" PRId64 " gap : %" PRId64 "\n", - hw_vpts, in_buf->vpts, gap); - diff --git a/xine-lib-1.1.19-no_autopoint.patch b/xine-lib-1.1.19-no_autopoint.patch deleted file mode 100644 index d5ee0cd..0000000 --- a/xine-lib-1.1.19-no_autopoint.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -up xine-lib-1.1.17/autogen.sh.no_autopoint xine-lib-1.1.17/autogen.sh ---- xine-lib-1.1.17/autogen.sh.no_autopoint 2009-10-09 09:33:31.000000000 -0500 -+++ xine-lib-1.1.17/autogen.sh 2009-12-02 09:15:48.534555467 -0600 -@@ -229,10 +229,10 @@ run_aclocal () { - echo - fi - -- echo $_echo_n " + Running autopoint: $_echo_c" -+ #echo $_echo_n " + Running autopoint: $_echo_c" - -- autopoint -- echo "done." -+ #autopoint -+ #echo "done." - - echo $_echo_n " + Running aclocal: $_echo_c" - diff --git a/xine-lib-1.1.21-samba4.patch b/xine-lib-1.1.21-samba4.patch deleted file mode 100644 index 6c5f67d..0000000 --- a/xine-lib-1.1.21-samba4.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff -ur xine-lib-1.1.21/configure.ac xine-lib-1.1.21-samba4/configure.ac ---- xine-lib-1.1.21/configure.ac 2012-07-16 21:42:38.000000000 +0200 -+++ xine-lib-1.1.21-samba4/configure.ac 2013-02-12 15:44:33.000000000 +0100 -@@ -1698,12 +1698,10 @@ - [with_samba=$enableval], [with_samba=yes]) - - if test "x$with_samba" = "xyes"; then -- AC_CHECK_LIB(smbclient, smbc_init, -- [ AC_CHECK_HEADER(libsmbclient.h, -- [ have_libsmbclient=yes -- LIBSMBCLIENT_LIBS="-lsmbclient" ], -- AC_MSG_RESULT([*** All libsmbclient dependent parts will be disabled ***]))], -- AC_MSG_RESULT([*** All libsmbclient dependent parts will be disabled ***])) -+ PKG_CHECK_MODULES([LIBSMBCLIENT], [smbclient], -+ [have_libsmbclient=yes], -+ AC_MSG_RESULT(*** All libsmbclient dependent parts will be disabled ***)) -+ AC_SUBST(LIBSMBCLIENT_CFLAGS) - AC_SUBST(LIBSMBCLIENT_LIBS) - fi - AM_CONDITIONAL(HAVE_LIBSMBCLIENT, test "x$have_libsmbclient" = "xyes") -diff -ur xine-lib-1.1.21/src/input/Makefile.am xine-lib-1.1.21-samba4/src/input/Makefile.am ---- xine-lib-1.1.21/src/input/Makefile.am 2012-07-16 21:42:38.000000000 +0200 -+++ xine-lib-1.1.21-samba4/src/input/Makefile.am 2013-02-12 15:46:45.000000000 +0100 -@@ -150,7 +150,7 @@ - - xineplug_inp_smb_la_SOURCES = input_smb.c - xineplug_inp_smb_la_LIBADD = $(XINE_LIB) $(LIBSMBCLIENT_LIBS) $(LTLIBINTL) --xineplug_inp_smb_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS) -+xineplug_inp_smb_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS) $(LIBSMBCLIENT_CFLAGS) - xineplug_inp_smb_la_LDFLAGS = $(xineplug_ldflags) - - xineplug_inp_pvr_la_SOURCES = input_pvr.c diff --git a/xine-lib-1.1.4-optflags.patch b/xine-lib-1.1.4-optflags.patch deleted file mode 100644 index 72540f6..0000000 --- a/xine-lib-1.1.4-optflags.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- xine-lib-1.1.4/m4/optimizations.m4~ 2006-06-17 18:20:56.000000000 +0300 -+++ xine-lib-1.1.4/m4/optimizations.m4 2007-01-30 23:03:27.000000000 +0200 -@@ -107,7 +107,7 @@ - - DEBUG_CFLAGS="-O $DEBUG_CFLAGS" - -- if test x"$sarchopt" != "xno"; then -+ if false ; then - archopt_val= - - case "$host_or_hostalias" in diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh deleted file mode 100755 index a250800..0000000 --- a/xine-lib-cleanup-sources.sh +++ /dev/null @@ -1,90 +0,0 @@ -#!/bin/bash - -if [ -z "$1" -o $# -ne 1 ]; then - echo "Usage: $0 " - exit 2 -fi - -version=$1 -tarball="xine-lib-$version.tar.xz" -dir="xine-lib-$version" -modtarball="xine-lib-$version-pruned.tar.xz" - - -if [ ! -f $tarball ]; then - echo "Can't find $tarball !" - exit 1 -fi - -echo "Uncompressing $tarball..." -rm -rf $dir -tar -xJf $tarball -cd $dir - -rmpluglib() -{ - echo "removing src/$1/$2..." - rm -rf src/$1/$2 - sed -i -e "s/SUBDIRS = \(.*\)$2\(.*\)/SUBDIRS = \1\2/g" src/$1/Makefile.am - sed -i -e "/^src\/$1\/$2/d" configure.ac -} - -# Main libraries -for remove in libfaad libffmpeg libmad libmpeg2 libmpeg2new dxr3 liba52 libdts; do - echo "removing src/$remove..." - rm -rf src/$remove - sed -i -e "/$remove/d" src/Makefile.am - sed -i -e "/^src\/$remove/d" configure.ac -done -# Input plugin libraries -for remove in vcd; do - rmpluglib input vcd -done -for remove in ffmpeg; do - rmpluglib combined ffmpeg -done -# Input plugins -# DVD reading (dvd input plugin) has now been in Fedora for a while (libdvdread, -# libdvdnav), the xine-lib code only wraps those libraries. (Decrypting and -# decoding are of course still separate and forbidden in Fedora.) -for p in vcd mms; do - echo "removing $p input plugin..." - # Remove sources - for sourcefile in `awk '/^xineplug_inp_'$p'_la_SOURCES/ { $1=""; $2=""; print $0}' src/input/Makefile.am`; do - if [ "`grep -v '^EXTRA_DIST = ' src/input/Makefile.am | grep -c $sourcefile`" -le 1 ]; then # if this file is only used for this plugin - rm -f src/input/$sourcefile - fi - done - # Remove from Makefile - sed -i -e "/xineplug_inp_$p/d" src/input/Makefile.am -done -# Demuxers -# These are ok now ( http://bugzilla.redhat.com/213597 ) -#for p in mpeg mpeg_block mpeg_ts mpeg_elem mpeg_pes yuv4mpeg2; do -# echo "removing $p demuxer..." -# [ -f src/demuxers/demux_$p.c ] && rm -f src/demuxers/demux_$p.c -# sed -i -e "/xineplug_dmx_$p/d" src/demuxers/Makefile.am -#done -# Postprocessors -echo "removing planar and deinterlace postprocessors..." -sed -i -e 's/deinterlace //g' src/post/Makefile.am # see comments in speedy.c -sed -i -e 's/planar //g' src/post/Makefile.am # requires libpostproc -sed -i -e '/post\/\(deinterlace\|planar\)/d' configure.ac -rm -rf src/post/{deinterlace,planar} -# NSF decoder -echo "removing NSF decoder..." -rm -rf src/libxineadec/{nosefart,nsf.c} -sed -i -e '/^xineplug_decode_nsf_la/,/^\s*$/d' \ - -e /xineplug_decode_nsf/d \ - -e 's/ nosefart//' \ - src/libxineadec/Makefile.am -sed -i -e '/nosefart\/Makefile/d' configure.ac -# Patches for forbidden libraries -rm -fv misc/lib*.patch win32/scripts/*.patch - -# All clean ! - -cd .. -echo "Generating $modtarball..." -tar -cJf $modtarball $dir -rm -rf $dir diff --git a/xine-lib.spec b/xine-lib.spec deleted file mode 100644 index 0b1bf41..0000000 --- a/xine-lib.spec +++ /dev/null @@ -1,741 +0,0 @@ -# TODO, sometime, maybe: -# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog -# - drop the opengl video out plugin? - -%define plugin_abi 1.30 -%define codecdir %{_libdir}/codecs - -%ifarch %{ix86} - %define have_vidix 1 -%else - %define have_vidix 0 -%endif # ix86 - -%ifarch %{arm} -%define _without_directfb 1 -%endif - -%if 0%{?fedora} > 14 -%define _disable_v4l1 1 -%endif - -%if 0%{?fedora} > 16 -%define _without_esound 1 -%endif - -%if 0%{?fedora} > 16 -%define bluray 1 -%endif - -%if 0%{?fedora} > 19 -%define _without_directfb 1 -%endif - -Summary: A multimedia engine -Name: xine-lib -Version: 1.1.21 -Release: 10%{?dist} -License: GPLv2+ -Group: System Environment/Libraries -URL: http://www.xine-project.org/ -# The tarball is generated from the upstream tarball using -# the script in SOURCE1. It prunes potentially patented code -#Source0: http://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.xz -Source0: xine-lib-%{version}-pruned.tar.xz -Source1: xine-lib-cleanup-sources.sh -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) - -Patch0: xine-lib-1.1.19-no_autopoint.patch -Patch1: xine-lib-1.1.4-optflags.patch -# http://bugzilla.redhat.com/470568 -Patch2: xine-lib-1.1.17-avsync_hack.patch -# http://bugzilla.redhat.com/477226 -Patch3: xine-lib-1.1.16.2-multilib.patch -# find the Samba 4 libsmbclient.h using pkg-config (#909825) -Patch4: xine-lib-1.1.21-samba4.patch - -Provides: xine-lib(plugin-abi) = %{plugin_abi} -%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}} - -# DVD plugin moved from there -Conflicts: xine-lib-extras-freeworld < 1.1.21-3 - -BuildRequires: autoconf automake libtool -# X11 -BuildRequires: libX11-devel -BuildRequires: libXv-devel -BuildRequires: libXinerama-devel -BuildRequires: libXvMC-devel -BuildRequires: libGLU-devel -BuildRequires: libv4l-devel -BuildRequires: libxcb-devel -# Video -BuildRequires: SDL-devel -BuildRequires: libtheora-devel -BuildRequires: libmng-devel -BuildRequires: aalib-devel >= 1.4 -BuildRequires: libcaca-devel >= 0.99-0.5.beta14 -%if 0%{!?_without_directfb:1} -BuildRequires: directfb-devel -%endif # directfb -BuildRequires: ImageMagick-devel >= 6.2.4.6-1 -%if 0%{?_with_freetype:1} -BuildRequires: fontconfig-devel -%endif # freetype -# Audio -BuildRequires: alsa-lib-devel >= 0.9.0 -%if 0%{!?_without_esound:1} -BuildRequires: esound-devel -%endif # esound -BuildRequires: flac-devel -BuildRequires: jack-audio-connection-kit-devel -BuildRequires: libmodplug-devel -BuildRequires: libmpcdec-devel -BuildRequires: libvorbis-devel -BuildRequires: speex-devel -BuildRequires: wavpack-devel -# CDs -BuildRequires: libcdio-devel -# Other -BuildRequires: pkgconfig -BuildRequires: pkgconfig(libpulse) -BuildRequires: gtk2-devel -BuildRequires: libsmbclient-devel -BuildRequires: libdvdnav-devel -BuildRequires: libdvdread-devel -%if 0%{?bluray} -BuildRequires: libbluray-devel -%endif - -# Dropped in Fedora 9 -Obsoletes: xine-lib-arts < %{version}-%{release} - -# Included in main package since Fedora 12 -Obsoletes: xine-lib-pulseaudio < 1.1.16.3-5 -Provides: xine-lib-pulseaudio = %{version}-%{release} - -%description -This package contains the Xine library. It can be used to play back -various media, decode multimedia files from local disk drives, and display -multimedia streamed over the Internet. It interprets many of the most -common multimedia formats available - and some uncommon formats, too. - -%package devel -Summary: Xine library development files -Group: Development/Libraries -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: pkgconfig -Requires: zlib-devel -%description devel -This package contains development files for %{name}. - -%package extras -Summary: Additional plugins for %{name} -Group: System Environment/Libraries -Requires: %{name}%{?_isa} = %{version}-%{release} -#Requires: xine-lib(plugin-abi) = %{plugin_abi} -%description extras -This package contains extra plugins for %{name}: -%if 0%{!?_without_esound:1} - - EsounD -%endif # esound - - JACK - - GDK-Pixbuf - - SMB - - SDL - - AA-lib - - Libcaca - - Image decoding -%if 0%{!?_without_directfb:1} - - DirectFB output -%endif # directfb - - -%prep -%setup -q -%patch0 -p1 -b .no_autopoint -# extra work for to omit old libtool-related crud -rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4 -%patch1 -p1 -b .optflags -%patch2 -p1 -b .avsync_hack -%patch3 -p1 -b .multilib -%patch4 -p1 -b .samba4 - -./autogen.sh noconfig - - -%build -export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" " -export FFMPEG_POSTPROC_CFLAGS=" " FFMPEG_POSTPROC_LIBS=" " -export FFMPEG_UTIL_CFLAGS=" " FFMPEG_UTIL_LIBS=" " -export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)" -# Keep list of options in mostly the same order as ./configure --help. -%configure \ - --disable-dependency-tracking \ - --enable-ipv6 \ -%if 0%{!?_without_directfb:1} - --enable-directfb \ -%endif # directfb - --enable-v4l \ - --enable-libv4l \ - --enable-xvmc \ - --disable-gnomevfs \ - --disable-a52dec \ - --disable-mad \ - --disable-vcd \ - --disable-asf \ - --disable-faad \ -%if 0%{?_with_freetype:1} -%if 0%{?_with_antialiasing:1} - --enable-antialiasing \ -%endif # antialiasing - --with-freetype \ - --with-fontconfig \ -%endif # freetype - --with-caca \ - --with-external-ffmpeg \ - --with-external-dvdnav \ - --with-xv-path=%{_libdir} \ - --with-libflac \ - --with-external-libmpcdec \ - --without-arts \ -%if 0%{?_without_esound:1} - --without-esound \ -%endif - --with-wavpack \ - --with-real-codecs-path=%{codecdir} \ - --with-w32-path=%{codecdir} - -make %{?_smp_mflags} - - -%install -rm -rf $RPM_BUILD_ROOT __docs -make install DESTDIR=$RPM_BUILD_ROOT -%find_lang libxine1 -cp -pR $RPM_BUILD_ROOT%{_docdir}/xine-lib __docs -rm -rf $RPM_BUILD_ROOT%{_docdir}/xine-lib - -# Removing useless files -rm -Rf $RPM_BUILD_ROOT%{_libdir}/libxine.la __docs/README \ - __docs/README.{freebsd,irix,solaris,MINGWCROSS,WIN32} \ - __docs/README.{dxr3,network_dvd} - -# Directory for binary codecs -mkdir -p $RPM_BUILD_ROOT%{codecdir} - -# unpackaged files -%if 0%{?_disable_v4l1:1} -rm -fv $RPM_BUILD_ROOT%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so -rm -fv $RPM_BUILD_ROOT%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so -%endif - - -%clean -rm -rf $RPM_BUILD_ROOT - - -%post -p /sbin/ldconfig - -%postun -p /sbin/ldconfig - - -%files -f libxine1.lang -%defattr(-,root,root,-) -%doc AUTHORS COPYING COPYING.LIB CREDITS ChangeLog* README TODO -%doc __docs/README.* __docs/faq.* -%dir %{codecdir}/ -%{_datadir}/xine/ -%{_libdir}/libxine.so.* -%{_mandir}/man5/xine.5* -%dir %{_libdir}/xine/ -%dir %{_libdir}/xine/plugins/ -%dir %{_libdir}/xine/plugins/%{plugin_abi}/ -%{_libdir}/xine/plugins/%{plugin_abi}/mime.types -# Listing every plugin separately for better control over binary packages -# containing exactly the plugins we want, nothing accidentally snuck in -# nor dropped. -%dir %{_libdir}/xine/plugins/%{plugin_abi}/post/ -%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_audio_filters.so -%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_goom.so -%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_mosaico.so -%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_switch.so -%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_visualizations.so -%if %{have_vidix} -%dir %{_libdir}/xine/plugins/%{plugin_abi}/vidix/ -%{_libdir}/xine/plugins/%{plugin_abi}/vidix/cyberblade_vid.so -%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mach64_vid.so -%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mga_crtc2_vid.so -%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mga_vid.so -%{_libdir}/xine/plugins/%{plugin_abi}/vidix/nvidia_vid.so -%{_libdir}/xine/plugins/%{plugin_abi}/vidix/pm2_vid.so -%{_libdir}/xine/plugins/%{plugin_abi}/vidix/pm3_vid.so -%{_libdir}/xine/plugins/%{plugin_abi}/vidix/radeon_vid.so -%{_libdir}/xine/plugins/%{plugin_abi}/vidix/rage128_vid.so -%{_libdir}/xine/plugins/%{plugin_abi}/vidix/savage_vid.so -%{_libdir}/xine/plugins/%{plugin_abi}/vidix/sis_vid.so -%{_libdir}/xine/plugins/%{plugin_abi}/vidix/unichrome_vid.so -%endif # vidix -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_alsa.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_file.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_none.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_oss.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_bitplane.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gsm610.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_lpcm.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_mpc.so -%ifarch %{ix86} -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_qt.so -%endif # ix86 -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_real.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_rgb.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_speex.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spu.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucc.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucmml.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spudvb.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spuhdmv.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_sputext.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_theora.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_vorbis.so -%ifarch %{ix86} -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_w32dll.so -%endif # ix86 -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_yuv.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_audio.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_avi.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_fli.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_flv.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_games.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_iff.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_image.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_matroska.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mng.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_block.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_elem.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_pes.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_ts.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_nsv.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_ogg.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_pva.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_qt.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_rawdv.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_real.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_slave.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_sputext.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv_frames.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv4mpeg2.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_flac.so -%if 0%{?bluray} -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_bluray.so -%endif -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_cdda.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvb.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvd.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_file.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_http.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_net.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pnm.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtp.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtsp.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_stdin_fifo.so -%if ! 0%{?_disable_v4l1:1} -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so -%endif -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l2.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_none.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_opengl.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_raw.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_syncfb.so -%if %{have_vidix} -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_vidix.so -%endif # vidix -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbshm.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbxv.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xshm.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xv.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xvmc.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xxmc.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_wavpack.so - -%files extras -%defattr(-,root,root,-) -%if 0%{!?_without_esound:1} -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_esd.so -%endif # esound -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_jack.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gdk_pixbuf.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_image.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_smb.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_aa.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_caca.so -%if 0%{!?_without_directfb:1} -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_directfb.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xdirectfb.so -%endif # directfb -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_sdl.so - -%files devel -%defattr(-,root,root,-) -%doc __docs/hackersguide/* -%{_bindir}/xine-config -%{_bindir}/xine-list* -%{_datadir}/aclocal/xine.m4 -%{_includedir}/xine.h -%{_includedir}/xine/ -%{_libdir}/libxine.so -%{_libdir}/pkgconfig/libxine.pc -%{_mandir}/man1/xine-config.1* -%{_mandir}/man1/xine-list*.1* - - -%changelog -* Fri Sep 20 2013 Xavier Bachelot 1.1.21-10 -- Rebuild for libbluray-0.4.0. - -* Sat Aug 31 2013 Till Maas - 1.1.21-9 -- Disable directfb support for Fedora 20 and newer, because it was retired - -* Tue Aug 27 2013 Jon Ciesla - 1.1.21-8 -- libmng rebuild. - -* Sun Aug 04 2013 Fedora Release Engineering - 1.1.21-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Sat Mar 30 2013 Kevin Fenzi - 1.1.21-6 -- Rebuild for broken deps in rawhide - -* Tue Feb 12 2013 Kevin Kofler 1.1.21-5 -- find the Samba 4 libsmbclient.h using pkg-config, fixes FTBFS (#909825) - -* Mon Sep 17 2012 Kevin Kofler 1.1.21-4 -- rebuild for new directfb - -* Sun Jul 22 2012 Fedora Release Engineering - 1.1.21-3.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Sat Jul 21 2012 Kevin Kofler 1.1.21-2.1 -- disable libbluray support on F16, libbluray too old - -* Mon Jul 16 2012 Kevin Kofler 1.1.21-2 -- do not remove DVD plugin, not encumbered (only uses libdvdread/libdvdnav) - -* Tue Jun 12 2012 Xavier Bachelot 1.1.21-1 -- Update to 1.1.21. -- Enable libbluray support. - -* Sat Mar 10 2012 Rex Dieter 1.1.20.1-3 -- rebuild (ImageMagick) - -* Sat Jan 14 2012 Fedora Release Engineering - 1.1.20.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Tue Jan 03 2012 Kevin Kofler 1.1.20.1-1 -- update to 1.1.20.1 (bugfix release) -- drop upstreamed link-libdvdread patch - -* Sun Nov 20 2011 Kevin Kofler 1.1.20-1 -- update to 1.1.20 (#753758) -- use .xz tarball -- drop old conditionals -- drop ESD (esound) support on F17+ (native PulseAudio just works) -- drop autotools patch, run autogen.sh in %%prep instead -- drop unused deepbind patch -- drop xvmclib_header patch, fixed upstream -- use the system libdvdnav (and libdvdread) instead of the bundled one -- fix system libdvdnav support to also link libdvdread -- plugin ABI is now 1.30 - -* Fri Jul 15 2011 Kevin Kofler 1.1.19-7 -- rebuild for new DirectFB (1.5.0) - -* Mon Feb 14 2011 Rex Dieter 1.1.19-6 -- split v4l, libv4l handling -- omit v4l(1) bits (f15+) - -* Mon Feb 07 2011 Fedora Release Engineering - 1.1.19-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Mon Jan 24 2011 Rex Dieter - 1.1.19-4 -- xvmclib header changes, fixes ftbfs (#635653,#661071) - -* Sun Nov 28 2010 Kevin Kofler - 1.1.19-3 -- rebuild for new directfb (1.4.11) - -* Wed Sep 15 2010 Rex Dieter - 1.1.19-2 -- rebuild (ImageMagick) - -* Sun Jul 25 2010 Rex Dieter - 1.1.19-1 -- 1.1.19 - -* Mon Jul 19 2010 Rex Dieter - 1.1.18.1-3 -- no directfb on arm (yet) - -* Tue Jun 1 2010 Ville Skyttä - 1.1.18.1-2 -- Rebuild. - -* Sun Mar 07 2010 Rex Dieter - 1.1.18.1-1 -- xine-lib-1.1.18.1 - -* Sun Mar 07 2010 Rex Dieter - 1.1.18-2 -- rebuild (ImageMagick) - -* Wed Feb 24 2010 Rex Dieter - 1.1.18-1 -- xine-lib-1.1.18, plugin-abi 1.28 (#567913) - -* Sat Dec 12 2009 Rex Dieter - 1.1.17-3 -- bump flac_decoder priority (rh#301861,xine#225) - -* Mon Dec 07 2009 Bastien Nocera 1.1.17-2 -- Remove gnome-vfs2 plugin, it's mostly useless - -* Wed Dec 02 2009 Rex Dieter - 1.1.17-1 -- xine-lib-1.1.17, plugin-abi 1.27 - -* Sun Nov 29 2009 Rex Dieter - 1.1.16.3-5 -- move -pulseaudio into main pkg (f12+) -- update URL - -* Mon Jul 27 2009 Fedora Release Engineering - 1.1.16.3-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Thu Jul 02 2009 Rex Dieter - 1.1.16.3-3 -- rebuild (DirectFB) - -* Fri Apr 17 2009 Rex Dieter - 1.1.16.3-2.1 -- drop old_caca hacks/patches (F-9) - -* Fri Apr 10 2009 Rex Dieter - 1.1.16.3-2 -- fix modtracker mimetypes - -* Fri Apr 03 2009 Rex Dieter - 1.1.16.3-1 -- xine-lib-1.1.16.3, plugin-abi 1.26 - -* Thu Mar 26 2009 Rex Dieter - 1.1.16.2-6 -- add-mime-for-mod.patch - -* Tue Mar 10 2009 Kevin Kofler - 1.1.16.2-5 -- rebuild for new ImageMagick - -* Thu Feb 26 2009 Fedora Release Engineering - 1.1.16.2-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Fri Feb 20 2009 Rex Dieter - 1.1.16.2-3 -- xine-lib-devel muiltilib conflict (#477226) - -* Tue Feb 17 2009 Rex Dieter - 1.1.16.2-2 -- xine-lib-safe-audio-pause3 patch (#486255, kdebug#180339) - -* Tue Feb 10 2009 Kevin Kofler - 1.1.16.2-1.1 -- also patch the caca version check in configure(.ac) - -* Tue Feb 10 2009 Rex Dieter - 1.1.16.2-1 -- xine-lib-1.1.16.2 - -* Mon Feb 09 2009 Rex Dieter - 1.1.16.1-4 -- gapless-race-fix patch (kdebug#180339) - -* Sat Feb 07 2009 Rex Dieter - 1.1.16.1-3 -- safe-audio-pause patch (kdebug#180339) - -* Mon Jan 26 2009 Rex Dieter - 1.1.16.1-2 -- Provides: xine-lib(plugin-abi)%%{?_isa} = %%{plugin_abi} -- touchup Summary/Description - -* Fri Jan 23 2009 Rex Dieter - 1.1.16.1-1 -- xine-lib-1.1.16.1 -- include avsync patch (#470568) - -* Sun Jan 18 2009 Rex Dieter - 1.1.16-2 -- drop deepbind patch (#480504) -- caca support (EPEL) - -* Wed Jan 07 2009 Kevin Kofler - 1.1.16-1.1 -- patch for old libcaca in F9- - -* Wed Jan 07 2009 Rex Dieter - 1.1.16-1 -- xine-lib-1.1.16, plugin ABI 1.25 -- --with-external-libdvdnav, include mpeg demuxers (#213597) - -* Fri Dec 12 2008 Rex Dieter - 1.1.15-4 -- rebuild for pkgconfig deps - -* Tue Oct 28 2008 Kevin Kofler - 1.1.15-3 -- rebuild for new libcaca - -* Thu Oct 23 2008 Rex Dieter - 1.1.15-2 -- respin - -* Wed Aug 20 2008 Rex Dieter - 1.1.15-1 -- xine-lib-1.1.15, plugin ABI 1.24 (rh#455752, CVE-2008-3231) -- Obsoletes: -arts (f9+) - -* Sun Apr 27 2008 Kevin Kofler - 1.1.12-3 -- rebuild for new ImageMagick (6.4.0.10) - -* Thu Apr 24 2008 Rex Dieter - 1.1.12-2 -- CVE-2008-1878 - -* Wed Apr 16 2008 Ville Skyttä - 1.1.12-1 -- 1.1.12 (plugin ABI 1.21); qt, mkv, and pulseaudio patches applied upstream. - -* Wed Apr 9 2008 Ville Skyttä - 1.1.11.1-3 -- Apply upstream fixes for Quicktime (#441705) and Matroska regressions - introduced in 1.1.11.1. - -* Mon Apr 07 2008 Rex Dieter - 1.1.11.1-2 -- pulse-rework2 patch (#439731) -- -pulseaudio subpkg (#439731) - -* Sun Mar 30 2008 Ville Skyttä - 1.1.11.1-1 -- 1.1.11.1 (security update, #438663, CVE-2008-1482). -- Provide versioned xine-lib(plugin-abi) so 3rd party packages installing - plugins can use it instead of requiring a version of xine-lib. - -* Wed Mar 19 2008 Ville Skyttä - 1.1.11-1 -- 1.1.11 (security update, #438182, CVE-2008-0073). -- Drop jack and wavpack build conditionals. -- Specfile cleanups. - -* Fri Mar 7 2008 Rex Dieter - 1.1.10.1-1.1 -- xcb support for f7+ (#373411) - -* Fri Feb 8 2008 Ville Skyttä - 1.1.10.1-1 -- 1.1.10.1 (security update, #431541). - -* Sun Jan 27 2008 Ville Skyttä - 1.1.10-2 -- Include spu, spucc, and spucmml decoders (#213597). - -* Sun Jan 27 2008 Ville Skyttä - 1.1.10-1 -- 1.1.10 (security update). - -* Mon Jan 21 2008 Ville Skyttä - 1.1.9.1-3 -- Fix version number in libxine.pc (#429487). - -* Sun Jan 20 2008 Ville Skyttä - 1.1.9.1-2 -- Disable upstream "discard buffers on ao close" 1.1.9 changeset (#429182). - -* Sat Jan 12 2008 Ville Skyttä - 1.1.9.1-1 -- 1.1.9.1 (security update). - -* Sun Jan 6 2008 Ville Skyttä - 1.1.9-1 -- 1.1.9. - -* Thu Sep 27 2007 Ville Skyttä - 1.1.8-6 -- Enable wavpack support by default for all distros. - -* Sun Sep 23 2007 Ville Skyttä - 1.1.8-5 -- Enable JACK support by default for all distros. - -* Wed Sep 19 2007 Ville Skyttä - 1.1.8-4 -- Fix "--without wavpack" build. - -* Sat Sep 15 2007 Ville Skyttä - 1.1.8-3 -- Move XCB plugins to the main package. -- Make aalib, caca, pulseaudio, jack, and wavpack support optional at build - time in preparation for the first EPEL build. - -* Sun Sep 09 2007 Aurelien Bompard 1.1.8-2 -- remove the dependency from -extras to -arts, and use Obsoletes to - provide an upgrade path - -* Thu Aug 30 2007 Ville Skyttä - 1.1.8-1 -- 1.1.8, "open" patch applied upstream. -- Build XCB plugins by default for Fedora 8+ only. - -* Sat Aug 25 2007 Aurelien Bompard 1.1.7-3 -- Split the aRts plugin into its own subpackage - -* Tue Aug 14 2007 Ville Skyttä - 1.1.7-2 -- Include XCB output plugins (in -extras at least for now). -- Protect "open" with glibc 2.6.90 and -D_FORTIFY_SOURCE=2. -- Clean up %%configure options. -- License: GPLv2+ - -* Thu Jun 7 2007 Ville Skyttä - 1.1.7-1 -- 1.1.7. - -* Wed Jun 06 2007 Rex Dieter - 1.1.6-3 -- respin (for libmpcdec) - -* Wed Apr 25 2007 Ville Skyttä - 1.1.6-2 -- Make Real codec search path /usr/lib(64)/codecs again (#237743). - -* Wed Apr 18 2007 Ville Skyttä - 1.1.6-1 -- 1.1.6. - -* Wed Apr 11 2007 Ville Skyttä - 1.1.5-1 -- 1.1.5. -- Include GSM 06.10 decoder (#228186). -- Re-enable CACA support. - -* Sun Apr 8 2007 Ville Skyttä -- Exclude vidix dir on systems that don't have vidix. -- Specfile cleanups. - -* Mon Mar 26 2007 Ville Skyttä - 1.1.4-4 -- Add PulseAudio support (in -extras, #234035/Jost Diederichs). -- Adjust Samba build dependencies to work for both <= and > FC6. -- Add --with freetype and --with antialiasing build time options, - default disabled, and an upstream patch for FreeType memory leak (#233194). - -* Sat Mar 10 2007 Ville Skyttä - 1.1.4-3 -- Apply upstream fix for CVE-2007-1246. - -* Wed Feb 14 2007 Ville Skyttä - 1.1.4-2 -- Rebuild. - -* Wed Jan 31 2007 Ville Skyttä - 1.1.4-1 -- 1.1.4, with wavpack and system libmpcdec support. - -* Thu Jan 18 2007 Aurelien Bompard 1.1.3-4 -- rebuild - -* Wed Jan 3 2007 Ville Skyttä - 1.1.3-3 -- Fix libflac decoder with FLAC < 1.1.3 (#220961). -- Apply upstream patch for FLAC >= 1.1.3. - -* Sun Dec 17 2006 Ville Skyttä - 1.1.3-2 -- Don't run autotools during build. - -* Mon Dec 04 2006 Aurelien Bompard 1.1.3-1 -- version 1.1.3 -- patch2 applied upstream -- Disable CACA support by default, needs newer than what's in FE ATM. -- Split extras plugins in a separate package -- Enable JACK support (in extras subpackage) -- Enable DirectFB support (in extras subpackage) - -* Sat Nov 11 2006 Aurelien Bompard 1.1.2-18 -- Make shn files available to amarok. References: - http://xine.cvs.sourceforge.net/xine/xine-lib/src/demuxers/demux_shn.c?r1=1.1.2.2&r2=1.2 - https://launchpad.net/distros/ubuntu/+source/xine-lib/+bug/63130 - -* Wed Oct 18 2006 Aurelien Bompard 1.1.2-17 -- cleanup docs -- remove mms -- delete more source files in the cleanup script -- drop patch3 (affecting mms) - -* Tue Oct 17 2006 Aurelien Bompard 1.1.2-16 -- fix files list -- add BR gtk2-devel -- remove xineplug_decode_gdk_pixbuf.so from x86-only - -* Mon Oct 16 2006 Aurelien Bompard 1.1.2-15 -- removed libdts -- drop dxr patch (it's removed from tarball) -- list xineplug_decode_gdk_pixbuf.so and xineplug_vo_out_vidix.so only on x86 - -* Sun Oct 15 2006 Aurelien Bompard 1.1.2-14 -- update SOURCE1 to remove liba52 from tarball (patented) - -* Tue Sep 12 2006 Aurelien Bompard 1.1.2-13 -- drop patches 2 and 4 - -* Fri Sep 08 2006 Aurelien Bompard 1.1.2-12 -- initial Fedora Extras package From da58f27df9a7e59cbe69636eba16211bced0f0b4 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Tue, 26 Aug 2014 14:49:56 -0500 Subject: [PATCH 44/82] 1.1.21-10 - add conditionals to support el5/el6, fix/cleanup other conditionals - omit libmodplug support (for now, FTBFS) --- xine-lib.spec | 97 ++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 84 insertions(+), 13 deletions(-) diff --git a/xine-lib.spec b/xine-lib.spec index 8365d82..1930e7d 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -11,6 +11,14 @@ %define have_vidix 0 %endif # ix86 +%if 0%{?fedora} +%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1} +# FIXME: libmodplug-0.8.8.5-1 regressed (pkgconfig --cflags dropped -I/usr/include/libmodplug), and now FTBFS +#define _enable_modplug --enable-modplug +%else +%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0} +%endif # Fedora + %ifarch %{arm} %define _without_directfb 1 %endif @@ -31,10 +39,25 @@ %define _without_directfb 1 %endif +%define _enable_xvmc --enable-xvmc +%if 0%{?rhel} > 5 +%ifarch ppc64 +%undefine _enable_xvmc +%endif +%endif + +%if 0%{?fedora} > 8 || 0%{?rhel} > 5 +%define _enable_v4l --enable-v4l --enable-libv4l +%define _without_arts --without-arts +%define _with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1} +%define _with_xcb 1 +%define _with_smbclient 1 +%endif + Summary: A multimedia engine Name: xine-lib Version: 1.1.21 -Release: 9%{?dist} +Release: 10%{?dist} License: GPLv2+ Group: System Environment/Libraries URL: http://www.xine-project.org/ @@ -65,23 +88,27 @@ BuildRequires: autoconf automake libtool BuildRequires: libX11-devel BuildRequires: libXv-devel BuildRequires: libXinerama-devel -BuildRequires: libXvMC-devel +%{?_enable_xvmc:BuildRequires: libXvMC-devel} BuildRequires: libGLU-devel +%if 0%{?_enable_v4l:1} BuildRequires: libv4l-devel +%endif +%if 0%{?_with_xcb} BuildRequires: libxcb-devel +%endif # Video BuildRequires: SDL-devel BuildRequires: libtheora-devel BuildRequires: libmng-devel +%if %{with_aalib} BuildRequires: aalib-devel >= 1.4 +%endif # aalib BuildRequires: libcaca-devel >= 0.99-0.5.beta14 %if 0%{!?_without_directfb:1} BuildRequires: directfb-devel %endif # directfb BuildRequires: ImageMagick-devel >= 6.2.4.6-1 -%if 0%{?_with_freetype:1} BuildRequires: fontconfig-devel -%endif # freetype # Audio BuildRequires: alsa-lib-devel >= 0.9.0 %if 0%{!?_without_esound:1} @@ -89,7 +116,9 @@ BuildRequires: esound-devel %endif # esound BuildRequires: flac-devel BuildRequires: jack-audio-connection-kit-devel +%if 0%{?_enable_modplug:1} BuildRequires: libmodplug-devel +%endif BuildRequires: libmpcdec-devel BuildRequires: libvorbis-devel BuildRequires: speex-devel @@ -98,21 +127,29 @@ BuildRequires: wavpack-devel BuildRequires: libcdio-devel # Other BuildRequires: pkgconfig +%if 0%{?_with_pa} BuildRequires: pkgconfig(libpulse) +%endif BuildRequires: gtk2-devel -BuildRequires: libsmbclient-devel +%if 0%{?_with_smbclient} +BuildRequires: pkgconfig(smbclient) +%endif BuildRequires: libdvdnav-devel BuildRequires: libdvdread-devel %if 0%{?bluray} BuildRequires: libbluray-devel %endif +%if 0%{?_without_arts:1} # Dropped in Fedora 9 Obsoletes: xine-lib-arts < %{version}-%{release} +%endif # Included in main package since Fedora 12 +%if 0%{?fedora} > 11 Obsoletes: xine-lib-pulseaudio < 1.1.16.3-5 Provides: xine-lib-pulseaudio = %{version}-%{release} +%endif %description This package contains the Xine library. It can be used to play back @@ -143,13 +180,28 @@ This package contains extra plugins for %{name}: - GDK-Pixbuf - SMB - SDL +%if %{with_aalib} - AA-lib +%endif # aalib - Libcaca - Image decoding %if 0%{!?_without_directfb:1} - DirectFB output %endif # directfb +%if ! 0%{?_without_arts:1} +%package arts +Summary: aRts plugin for %{name} +Group: System Environment/Libraries +BuildRequires: arts-devel +Requires: %{name}%{?_isa} = %{version}-%{release} +#Requires: xine-lib(plugin-abi) = %{plugin_abi} +# -arts was split off the -extras subpackage at 1.1.7-3 +Obsoletes: xine-lib-extras < 1.1.7-3 +%description arts +This package contains the aRts plugin for %{name}. +%endif + %prep %setup -q @@ -176,32 +228,29 @@ export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)" %if 0%{!?_without_directfb:1} --enable-directfb \ %endif # directfb - --enable-v4l \ - --enable-libv4l \ - --enable-xvmc \ + %{?_enable_modplug}%{!?_enable_modplug:--disable-modplug} \ + %{?_enable_v4l}%{!?_enable_v4l:--disable-v4l --disable-libv4l} \ + %{?_enable_xvmc}%{!?_enable_xvmc:--disable-xvmc} \ --disable-gnomevfs \ --disable-a52dec \ --disable-mad \ --disable-vcd \ --disable-asf \ --disable-faad \ -%if 0%{?_with_freetype:1} -%if 0%{?_with_antialiasing:1} --enable-antialiasing \ -%endif # antialiasing --with-freetype \ --with-fontconfig \ -%endif # freetype --with-caca \ --with-external-ffmpeg \ --with-external-dvdnav \ + %{?_with_xcb:--with-xcb}%{!?with_xcb:--without-xcb} \ --with-xv-path=%{_libdir} \ --with-libflac \ --with-external-libmpcdec \ - --without-arts \ %if 0%{?_without_esound:1} --without-esound \ %endif + %{!?_without_arts:--with-arts} %{?_without_arts} \ --with-wavpack \ --with-real-codecs-path=%{codecdir} \ --with-w32-path=%{codecdir} @@ -280,7 +329,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_file.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_none.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_oss.so +%if 0%{?_with_pa:1} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so +%endif %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_bitplane.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gsm610.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_lpcm.so @@ -341,11 +392,13 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtp.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtsp.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_stdin_fifo.so +%if 0%{?_enable_v4l:1} %if ! 0%{?_disable_v4l1:1} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so %endif %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l2.so +%endif %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_none.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_opengl.so @@ -354,14 +407,24 @@ rm -rf $RPM_BUILD_ROOT %if %{have_vidix} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_vidix.so %endif # vidix +%if 0%{?_with_xcb} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbshm.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbxv.so +%endif %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xshm.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xv.so +%if 0%{?_enable_xvmc:1} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xvmc.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xxmc.so +%endif %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_wavpack.so +%if 0%{!?_without_arts:1} +%files arts +%defattr(-,root,root,-) +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_arts.so +%endif + %files extras %defattr(-,root,root,-) %if 0%{!?_without_esound:1} @@ -370,8 +433,12 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_jack.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gdk_pixbuf.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_image.so +%if 0%{?_with_smbclient} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_smb.so +%endif +%if %{with_aalib} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_aa.so +%endif # aalib %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_caca.so %if 0%{!?_without_directfb:1} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_directfb.so @@ -394,6 +461,10 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Aug 26 2014 Rex Dieter - 1.1.21-10 +- add conditionals to support el5/el6, fix/cleanup other conditionals +- omit libmodplug support (for now, FTBFS) + * Sat Aug 31 2013 Till Maas - 1.1.21-9 - Disable directfb support for Fedora 20 and newer, because it was retired From c06726ca307dcc7a4a6c74d8ab1a4cceb0f0025c Mon Sep 17 00:00:00 2001 From: Till Maas Date: Sat, 20 Dec 2014 18:01:27 +0100 Subject: [PATCH 45/82] 2014-12-20: Retired because of broken deps: unresolved dependencies for xine-lib-extras-1.1.21-10.el5.i386: libcaca.so.0 --- .gitignore | 5 - Makefile | 21 - branch | 1 - dead.package | 4 + sources | 1 - xine-lib-1.1.16.2-multilib.patch | 16 - xine-lib-1.1.17-avsync_hack.patch | 22 - xine-lib-1.1.19-no_autopoint.patch | 17 - xine-lib-1.1.21-samba4.patch | 32 -- xine-lib-1.1.4-optflags.patch | 11 - xine-lib-cleanup-sources.sh | 90 ---- xine-lib-mk-autotools-patch.sh | 33 -- xine-lib.spec | 809 ----------------------------- 13 files changed, 4 insertions(+), 1058 deletions(-) delete mode 100644 .gitignore delete mode 100644 Makefile delete mode 100644 branch create mode 100644 dead.package delete mode 100644 sources delete mode 100644 xine-lib-1.1.16.2-multilib.patch delete mode 100644 xine-lib-1.1.17-avsync_hack.patch delete mode 100644 xine-lib-1.1.19-no_autopoint.patch delete mode 100644 xine-lib-1.1.21-samba4.patch delete mode 100644 xine-lib-1.1.4-optflags.patch delete mode 100755 xine-lib-cleanup-sources.sh delete mode 100644 xine-lib-mk-autotools-patch.sh delete mode 100644 xine-lib.spec diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 6f9a840..0000000 --- a/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -xine-lib-1.1.19-autotools.patch.bz2 -xine-lib-1.1.19-pruned.tar.bz2 -/xine-lib-1.1.20-pruned.tar.xz -/xine-lib-1.1.20.1-pruned.tar.xz -/xine-lib-1.1.21-pruned.tar.xz diff --git a/Makefile b/Makefile deleted file mode 100644 index 3f11a94..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: xine-lib -# $Id$ -NAME := xine-lib -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/branch b/branch deleted file mode 100644 index 42f697a..0000000 --- a/branch +++ /dev/null @@ -1 +0,0 @@ -EL-5 diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..7774a55 --- /dev/null +++ b/dead.package @@ -0,0 +1,4 @@ +2014-12-20: Retired because of broken deps: +unresolved dependencies for xine-lib-extras-1.1.21-10.el5.i386: +libcaca.so.0 + diff --git a/sources b/sources deleted file mode 100644 index fd1b3c5..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -1568a378a732bd9b69d418674ad4165c xine-lib-1.1.21-pruned.tar.xz diff --git a/xine-lib-1.1.16.2-multilib.patch b/xine-lib-1.1.16.2-multilib.patch deleted file mode 100644 index 4609e63..0000000 --- a/xine-lib-1.1.16.2-multilib.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -up xine-lib-1.1.16.2/misc/xine-config.in.multilib xine-lib-1.1.16.2/misc/xine-config.in ---- xine-lib-1.1.16.2/misc/xine-config.in.multilib 2008-06-25 08:04:09.000000000 -0500 -+++ xine-lib-1.1.16.2/misc/xine-config.in 2009-02-20 07:34:27.000000000 -0600 -@@ -6,12 +6,6 @@ unset prefix - unset exec_prefix - unset args - --PKG_CONFIG_PATH="`cat <<'EOF' --@XINE_PKGCONFIG_DIR@ --EOF --`${PKG_CONFIG_PATH:+:}$PKG_CONFIG_PATH" --export PKG_CONFIG_PATH -- - usage() - { - cat <vpts - hw_vpts; -+ if (in_buf && in_buf->stream && in_buf->stream->video_decoder_plugin) { -+ gap = in_buf->vpts - hw_vpts; -+ } else { -+ gap = 0; -+ } - lprintf ("hw_vpts : %" PRId64 " buffer_vpts : %" PRId64 " gap : %" PRId64 "\n", - hw_vpts, in_buf->vpts, gap); - diff --git a/xine-lib-1.1.19-no_autopoint.patch b/xine-lib-1.1.19-no_autopoint.patch deleted file mode 100644 index d5ee0cd..0000000 --- a/xine-lib-1.1.19-no_autopoint.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -up xine-lib-1.1.17/autogen.sh.no_autopoint xine-lib-1.1.17/autogen.sh ---- xine-lib-1.1.17/autogen.sh.no_autopoint 2009-10-09 09:33:31.000000000 -0500 -+++ xine-lib-1.1.17/autogen.sh 2009-12-02 09:15:48.534555467 -0600 -@@ -229,10 +229,10 @@ run_aclocal () { - echo - fi - -- echo $_echo_n " + Running autopoint: $_echo_c" -+ #echo $_echo_n " + Running autopoint: $_echo_c" - -- autopoint -- echo "done." -+ #autopoint -+ #echo "done." - - echo $_echo_n " + Running aclocal: $_echo_c" - diff --git a/xine-lib-1.1.21-samba4.patch b/xine-lib-1.1.21-samba4.patch deleted file mode 100644 index 6c5f67d..0000000 --- a/xine-lib-1.1.21-samba4.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff -ur xine-lib-1.1.21/configure.ac xine-lib-1.1.21-samba4/configure.ac ---- xine-lib-1.1.21/configure.ac 2012-07-16 21:42:38.000000000 +0200 -+++ xine-lib-1.1.21-samba4/configure.ac 2013-02-12 15:44:33.000000000 +0100 -@@ -1698,12 +1698,10 @@ - [with_samba=$enableval], [with_samba=yes]) - - if test "x$with_samba" = "xyes"; then -- AC_CHECK_LIB(smbclient, smbc_init, -- [ AC_CHECK_HEADER(libsmbclient.h, -- [ have_libsmbclient=yes -- LIBSMBCLIENT_LIBS="-lsmbclient" ], -- AC_MSG_RESULT([*** All libsmbclient dependent parts will be disabled ***]))], -- AC_MSG_RESULT([*** All libsmbclient dependent parts will be disabled ***])) -+ PKG_CHECK_MODULES([LIBSMBCLIENT], [smbclient], -+ [have_libsmbclient=yes], -+ AC_MSG_RESULT(*** All libsmbclient dependent parts will be disabled ***)) -+ AC_SUBST(LIBSMBCLIENT_CFLAGS) - AC_SUBST(LIBSMBCLIENT_LIBS) - fi - AM_CONDITIONAL(HAVE_LIBSMBCLIENT, test "x$have_libsmbclient" = "xyes") -diff -ur xine-lib-1.1.21/src/input/Makefile.am xine-lib-1.1.21-samba4/src/input/Makefile.am ---- xine-lib-1.1.21/src/input/Makefile.am 2012-07-16 21:42:38.000000000 +0200 -+++ xine-lib-1.1.21-samba4/src/input/Makefile.am 2013-02-12 15:46:45.000000000 +0100 -@@ -150,7 +150,7 @@ - - xineplug_inp_smb_la_SOURCES = input_smb.c - xineplug_inp_smb_la_LIBADD = $(XINE_LIB) $(LIBSMBCLIENT_LIBS) $(LTLIBINTL) --xineplug_inp_smb_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS) -+xineplug_inp_smb_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS) $(LIBSMBCLIENT_CFLAGS) - xineplug_inp_smb_la_LDFLAGS = $(xineplug_ldflags) - - xineplug_inp_pvr_la_SOURCES = input_pvr.c diff --git a/xine-lib-1.1.4-optflags.patch b/xine-lib-1.1.4-optflags.patch deleted file mode 100644 index 72540f6..0000000 --- a/xine-lib-1.1.4-optflags.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- xine-lib-1.1.4/m4/optimizations.m4~ 2006-06-17 18:20:56.000000000 +0300 -+++ xine-lib-1.1.4/m4/optimizations.m4 2007-01-30 23:03:27.000000000 +0200 -@@ -107,7 +107,7 @@ - - DEBUG_CFLAGS="-O $DEBUG_CFLAGS" - -- if test x"$sarchopt" != "xno"; then -+ if false ; then - archopt_val= - - case "$host_or_hostalias" in diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh deleted file mode 100755 index a250800..0000000 --- a/xine-lib-cleanup-sources.sh +++ /dev/null @@ -1,90 +0,0 @@ -#!/bin/bash - -if [ -z "$1" -o $# -ne 1 ]; then - echo "Usage: $0 " - exit 2 -fi - -version=$1 -tarball="xine-lib-$version.tar.xz" -dir="xine-lib-$version" -modtarball="xine-lib-$version-pruned.tar.xz" - - -if [ ! -f $tarball ]; then - echo "Can't find $tarball !" - exit 1 -fi - -echo "Uncompressing $tarball..." -rm -rf $dir -tar -xJf $tarball -cd $dir - -rmpluglib() -{ - echo "removing src/$1/$2..." - rm -rf src/$1/$2 - sed -i -e "s/SUBDIRS = \(.*\)$2\(.*\)/SUBDIRS = \1\2/g" src/$1/Makefile.am - sed -i -e "/^src\/$1\/$2/d" configure.ac -} - -# Main libraries -for remove in libfaad libffmpeg libmad libmpeg2 libmpeg2new dxr3 liba52 libdts; do - echo "removing src/$remove..." - rm -rf src/$remove - sed -i -e "/$remove/d" src/Makefile.am - sed -i -e "/^src\/$remove/d" configure.ac -done -# Input plugin libraries -for remove in vcd; do - rmpluglib input vcd -done -for remove in ffmpeg; do - rmpluglib combined ffmpeg -done -# Input plugins -# DVD reading (dvd input plugin) has now been in Fedora for a while (libdvdread, -# libdvdnav), the xine-lib code only wraps those libraries. (Decrypting and -# decoding are of course still separate and forbidden in Fedora.) -for p in vcd mms; do - echo "removing $p input plugin..." - # Remove sources - for sourcefile in `awk '/^xineplug_inp_'$p'_la_SOURCES/ { $1=""; $2=""; print $0}' src/input/Makefile.am`; do - if [ "`grep -v '^EXTRA_DIST = ' src/input/Makefile.am | grep -c $sourcefile`" -le 1 ]; then # if this file is only used for this plugin - rm -f src/input/$sourcefile - fi - done - # Remove from Makefile - sed -i -e "/xineplug_inp_$p/d" src/input/Makefile.am -done -# Demuxers -# These are ok now ( http://bugzilla.redhat.com/213597 ) -#for p in mpeg mpeg_block mpeg_ts mpeg_elem mpeg_pes yuv4mpeg2; do -# echo "removing $p demuxer..." -# [ -f src/demuxers/demux_$p.c ] && rm -f src/demuxers/demux_$p.c -# sed -i -e "/xineplug_dmx_$p/d" src/demuxers/Makefile.am -#done -# Postprocessors -echo "removing planar and deinterlace postprocessors..." -sed -i -e 's/deinterlace //g' src/post/Makefile.am # see comments in speedy.c -sed -i -e 's/planar //g' src/post/Makefile.am # requires libpostproc -sed -i -e '/post\/\(deinterlace\|planar\)/d' configure.ac -rm -rf src/post/{deinterlace,planar} -# NSF decoder -echo "removing NSF decoder..." -rm -rf src/libxineadec/{nosefart,nsf.c} -sed -i -e '/^xineplug_decode_nsf_la/,/^\s*$/d' \ - -e /xineplug_decode_nsf/d \ - -e 's/ nosefart//' \ - src/libxineadec/Makefile.am -sed -i -e '/nosefart\/Makefile/d' configure.ac -# Patches for forbidden libraries -rm -fv misc/lib*.patch win32/scripts/*.patch - -# All clean ! - -cd .. -echo "Generating $modtarball..." -tar -cJf $modtarball $dir -rm -rf $dir diff --git a/xine-lib-mk-autotools-patch.sh b/xine-lib-mk-autotools-patch.sh deleted file mode 100644 index dc1e103..0000000 --- a/xine-lib-mk-autotools-patch.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/sh - -# be sure to have all build deps + libtool installed before running this - -set -e - -if [ -z "$1" -o $# -ne 1 ]; then - echo "Usage: $0 " - exit 2 -fi - -version=$1 - -# missing dependency on autoconf >= (apparently) 2.61 in upstream autofoo files -acversion="$(rpm -q --qf=%{VERSION} autoconf)" -case $acversion in - 2.6*) ;; - *) echo "ERROR: autoconf >= 2.61 required" ; exit 1 ;; -esac - -rm -rf xine-lib-$version xine-lib-$version-pruned -tar jxf xine-lib-$version-pruned.tar.bz2 -cp -a xine-lib-$version xine-lib-$version-pruned - -pushd xine-lib-$version -# extra work for to omit old libtool-related crud -rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4 -./autogen.sh noconfig -rm -rf autom4te.cache *~ -popd - -diff -Nru xine-lib-$version-pruned xine-lib-$version \ -| bzip2 --best > xine-lib-$version-autotools.patch.bz2 diff --git a/xine-lib.spec b/xine-lib.spec deleted file mode 100644 index 1930e7d..0000000 --- a/xine-lib.spec +++ /dev/null @@ -1,809 +0,0 @@ -# TODO, sometime, maybe: -# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog -# - drop the opengl video out plugin? - -%define plugin_abi 1.30 -%define codecdir %{_libdir}/codecs - -%ifarch %{ix86} - %define have_vidix 1 -%else - %define have_vidix 0 -%endif # ix86 - -%if 0%{?fedora} -%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1} -# FIXME: libmodplug-0.8.8.5-1 regressed (pkgconfig --cflags dropped -I/usr/include/libmodplug), and now FTBFS -#define _enable_modplug --enable-modplug -%else -%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0} -%endif # Fedora - -%ifarch %{arm} -%define _without_directfb 1 -%endif - -%if 0%{?fedora} > 14 -%define _disable_v4l1 1 -%endif - -%if 0%{?fedora} > 16 -%define _without_esound 1 -%endif - -%if 0%{?fedora} > 16 -%define bluray 1 -%endif - -%if 0%{?fedora} > 19 -%define _without_directfb 1 -%endif - -%define _enable_xvmc --enable-xvmc -%if 0%{?rhel} > 5 -%ifarch ppc64 -%undefine _enable_xvmc -%endif -%endif - -%if 0%{?fedora} > 8 || 0%{?rhel} > 5 -%define _enable_v4l --enable-v4l --enable-libv4l -%define _without_arts --without-arts -%define _with_pa %{?_without_pulseaudio:0}%{!?_without_pulseaudio:1} -%define _with_xcb 1 -%define _with_smbclient 1 -%endif - -Summary: A multimedia engine -Name: xine-lib -Version: 1.1.21 -Release: 10%{?dist} -License: GPLv2+ -Group: System Environment/Libraries -URL: http://www.xine-project.org/ -# The tarball is generated from the upstream tarball using -# the script in SOURCE1. It prunes potentially patented code -#Source0: http://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.xz -Source0: xine-lib-%{version}-pruned.tar.xz -Source1: xine-lib-cleanup-sources.sh -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) - -Patch0: xine-lib-1.1.19-no_autopoint.patch -Patch1: xine-lib-1.1.4-optflags.patch -# http://bugzilla.redhat.com/470568 -Patch2: xine-lib-1.1.17-avsync_hack.patch -# http://bugzilla.redhat.com/477226 -Patch3: xine-lib-1.1.16.2-multilib.patch -# find the Samba 4 libsmbclient.h using pkg-config (#909825) -Patch4: xine-lib-1.1.21-samba4.patch - -Provides: xine-lib(plugin-abi) = %{plugin_abi} -%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}} - -# DVD plugin moved from there -Conflicts: xine-lib-extras-freeworld < 1.1.21-3 - -BuildRequires: autoconf automake libtool -# X11 -BuildRequires: libX11-devel -BuildRequires: libXv-devel -BuildRequires: libXinerama-devel -%{?_enable_xvmc:BuildRequires: libXvMC-devel} -BuildRequires: libGLU-devel -%if 0%{?_enable_v4l:1} -BuildRequires: libv4l-devel -%endif -%if 0%{?_with_xcb} -BuildRequires: libxcb-devel -%endif -# Video -BuildRequires: SDL-devel -BuildRequires: libtheora-devel -BuildRequires: libmng-devel -%if %{with_aalib} -BuildRequires: aalib-devel >= 1.4 -%endif # aalib -BuildRequires: libcaca-devel >= 0.99-0.5.beta14 -%if 0%{!?_without_directfb:1} -BuildRequires: directfb-devel -%endif # directfb -BuildRequires: ImageMagick-devel >= 6.2.4.6-1 -BuildRequires: fontconfig-devel -# Audio -BuildRequires: alsa-lib-devel >= 0.9.0 -%if 0%{!?_without_esound:1} -BuildRequires: esound-devel -%endif # esound -BuildRequires: flac-devel -BuildRequires: jack-audio-connection-kit-devel -%if 0%{?_enable_modplug:1} -BuildRequires: libmodplug-devel -%endif -BuildRequires: libmpcdec-devel -BuildRequires: libvorbis-devel -BuildRequires: speex-devel -BuildRequires: wavpack-devel -# CDs -BuildRequires: libcdio-devel -# Other -BuildRequires: pkgconfig -%if 0%{?_with_pa} -BuildRequires: pkgconfig(libpulse) -%endif -BuildRequires: gtk2-devel -%if 0%{?_with_smbclient} -BuildRequires: pkgconfig(smbclient) -%endif -BuildRequires: libdvdnav-devel -BuildRequires: libdvdread-devel -%if 0%{?bluray} -BuildRequires: libbluray-devel -%endif - -%if 0%{?_without_arts:1} -# Dropped in Fedora 9 -Obsoletes: xine-lib-arts < %{version}-%{release} -%endif - -# Included in main package since Fedora 12 -%if 0%{?fedora} > 11 -Obsoletes: xine-lib-pulseaudio < 1.1.16.3-5 -Provides: xine-lib-pulseaudio = %{version}-%{release} -%endif - -%description -This package contains the Xine library. It can be used to play back -various media, decode multimedia files from local disk drives, and display -multimedia streamed over the Internet. It interprets many of the most -common multimedia formats available - and some uncommon formats, too. - -%package devel -Summary: Xine library development files -Group: Development/Libraries -Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: pkgconfig -Requires: zlib-devel -%description devel -This package contains development files for %{name}. - -%package extras -Summary: Additional plugins for %{name} -Group: System Environment/Libraries -Requires: %{name}%{?_isa} = %{version}-%{release} -#Requires: xine-lib(plugin-abi) = %{plugin_abi} -%description extras -This package contains extra plugins for %{name}: -%if 0%{!?_without_esound:1} - - EsounD -%endif # esound - - JACK - - GDK-Pixbuf - - SMB - - SDL -%if %{with_aalib} - - AA-lib -%endif # aalib - - Libcaca - - Image decoding -%if 0%{!?_without_directfb:1} - - DirectFB output -%endif # directfb - -%if ! 0%{?_without_arts:1} -%package arts -Summary: aRts plugin for %{name} -Group: System Environment/Libraries -BuildRequires: arts-devel -Requires: %{name}%{?_isa} = %{version}-%{release} -#Requires: xine-lib(plugin-abi) = %{plugin_abi} -# -arts was split off the -extras subpackage at 1.1.7-3 -Obsoletes: xine-lib-extras < 1.1.7-3 -%description arts -This package contains the aRts plugin for %{name}. -%endif - - -%prep -%setup -q -%patch0 -p1 -b .no_autopoint -# extra work for to omit old libtool-related crud -rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4 -%patch1 -p1 -b .optflags -%patch2 -p1 -b .avsync_hack -%patch3 -p1 -b .multilib -%patch4 -p1 -b .samba4 - -./autogen.sh noconfig - - -%build -export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" " -export FFMPEG_POSTPROC_CFLAGS=" " FFMPEG_POSTPROC_LIBS=" " -export FFMPEG_UTIL_CFLAGS=" " FFMPEG_UTIL_LIBS=" " -export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)" -# Keep list of options in mostly the same order as ./configure --help. -%configure \ - --disable-dependency-tracking \ - --enable-ipv6 \ -%if 0%{!?_without_directfb:1} - --enable-directfb \ -%endif # directfb - %{?_enable_modplug}%{!?_enable_modplug:--disable-modplug} \ - %{?_enable_v4l}%{!?_enable_v4l:--disable-v4l --disable-libv4l} \ - %{?_enable_xvmc}%{!?_enable_xvmc:--disable-xvmc} \ - --disable-gnomevfs \ - --disable-a52dec \ - --disable-mad \ - --disable-vcd \ - --disable-asf \ - --disable-faad \ - --enable-antialiasing \ - --with-freetype \ - --with-fontconfig \ - --with-caca \ - --with-external-ffmpeg \ - --with-external-dvdnav \ - %{?_with_xcb:--with-xcb}%{!?with_xcb:--without-xcb} \ - --with-xv-path=%{_libdir} \ - --with-libflac \ - --with-external-libmpcdec \ -%if 0%{?_without_esound:1} - --without-esound \ -%endif - %{!?_without_arts:--with-arts} %{?_without_arts} \ - --with-wavpack \ - --with-real-codecs-path=%{codecdir} \ - --with-w32-path=%{codecdir} - -make %{?_smp_mflags} - - -%install -rm -rf $RPM_BUILD_ROOT __docs -make install DESTDIR=$RPM_BUILD_ROOT -%find_lang libxine1 -cp -pR $RPM_BUILD_ROOT%{_docdir}/xine-lib __docs -rm -rf $RPM_BUILD_ROOT%{_docdir}/xine-lib - -# Removing useless files -rm -Rf $RPM_BUILD_ROOT%{_libdir}/libxine.la __docs/README \ - __docs/README.{freebsd,irix,solaris,MINGWCROSS,WIN32} \ - __docs/README.{dxr3,network_dvd} - -# Directory for binary codecs -mkdir -p $RPM_BUILD_ROOT%{codecdir} - -# unpackaged files -%if 0%{?_disable_v4l1:1} -rm -fv $RPM_BUILD_ROOT%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so -rm -fv $RPM_BUILD_ROOT%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so -%endif - - -%clean -rm -rf $RPM_BUILD_ROOT - - -%post -p /sbin/ldconfig - -%postun -p /sbin/ldconfig - - -%files -f libxine1.lang -%defattr(-,root,root,-) -%doc AUTHORS COPYING COPYING.LIB CREDITS ChangeLog* README TODO -%doc __docs/README.* __docs/faq.* -%dir %{codecdir}/ -%{_datadir}/xine/ -%{_libdir}/libxine.so.* -%{_mandir}/man5/xine.5* -%dir %{_libdir}/xine/ -%dir %{_libdir}/xine/plugins/ -%dir %{_libdir}/xine/plugins/%{plugin_abi}/ -%{_libdir}/xine/plugins/%{plugin_abi}/mime.types -# Listing every plugin separately for better control over binary packages -# containing exactly the plugins we want, nothing accidentally snuck in -# nor dropped. -%dir %{_libdir}/xine/plugins/%{plugin_abi}/post/ -%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_audio_filters.so -%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_goom.so -%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_mosaico.so -%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_switch.so -%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_visualizations.so -%if %{have_vidix} -%dir %{_libdir}/xine/plugins/%{plugin_abi}/vidix/ -%{_libdir}/xine/plugins/%{plugin_abi}/vidix/cyberblade_vid.so -%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mach64_vid.so -%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mga_crtc2_vid.so -%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mga_vid.so -%{_libdir}/xine/plugins/%{plugin_abi}/vidix/nvidia_vid.so -%{_libdir}/xine/plugins/%{plugin_abi}/vidix/pm2_vid.so -%{_libdir}/xine/plugins/%{plugin_abi}/vidix/pm3_vid.so -%{_libdir}/xine/plugins/%{plugin_abi}/vidix/radeon_vid.so -%{_libdir}/xine/plugins/%{plugin_abi}/vidix/rage128_vid.so -%{_libdir}/xine/plugins/%{plugin_abi}/vidix/savage_vid.so -%{_libdir}/xine/plugins/%{plugin_abi}/vidix/sis_vid.so -%{_libdir}/xine/plugins/%{plugin_abi}/vidix/unichrome_vid.so -%endif # vidix -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_alsa.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_file.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_none.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_oss.so -%if 0%{?_with_pa:1} -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so -%endif -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_bitplane.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gsm610.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_lpcm.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_mpc.so -%ifarch %{ix86} -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_qt.so -%endif # ix86 -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_real.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_rgb.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_speex.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spu.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucc.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucmml.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spudvb.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spuhdmv.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_sputext.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_theora.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_vorbis.so -%ifarch %{ix86} -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_w32dll.so -%endif # ix86 -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_yuv.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_audio.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_avi.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_fli.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_flv.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_games.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_iff.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_image.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_matroska.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mng.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_block.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_elem.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_pes.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_ts.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_nsv.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_ogg.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_pva.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_qt.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_rawdv.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_real.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_slave.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_sputext.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv_frames.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv4mpeg2.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_flac.so -%if 0%{?bluray} -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_bluray.so -%endif -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_cdda.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvb.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvd.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_file.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_http.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_net.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pnm.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtp.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtsp.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_stdin_fifo.so -%if 0%{?_enable_v4l:1} -%if ! 0%{?_disable_v4l1:1} -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so -%endif -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l2.so -%endif -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_none.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_opengl.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_raw.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_syncfb.so -%if %{have_vidix} -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_vidix.so -%endif # vidix -%if 0%{?_with_xcb} -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbshm.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbxv.so -%endif -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xshm.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xv.so -%if 0%{?_enable_xvmc:1} -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xvmc.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xxmc.so -%endif -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_wavpack.so - -%if 0%{!?_without_arts:1} -%files arts -%defattr(-,root,root,-) -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_arts.so -%endif - -%files extras -%defattr(-,root,root,-) -%if 0%{!?_without_esound:1} -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_esd.so -%endif # esound -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_jack.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gdk_pixbuf.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_image.so -%if 0%{?_with_smbclient} -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_smb.so -%endif -%if %{with_aalib} -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_aa.so -%endif # aalib -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_caca.so -%if 0%{!?_without_directfb:1} -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_directfb.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xdirectfb.so -%endif # directfb -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_sdl.so - -%files devel -%defattr(-,root,root,-) -%doc __docs/hackersguide/* -%{_bindir}/xine-config -%{_bindir}/xine-list* -%{_datadir}/aclocal/xine.m4 -%{_includedir}/xine.h -%{_includedir}/xine/ -%{_libdir}/libxine.so -%{_libdir}/pkgconfig/libxine.pc -%{_mandir}/man1/xine-config.1* -%{_mandir}/man1/xine-list*.1* - - -%changelog -* Tue Aug 26 2014 Rex Dieter - 1.1.21-10 -- add conditionals to support el5/el6, fix/cleanup other conditionals -- omit libmodplug support (for now, FTBFS) - -* Sat Aug 31 2013 Till Maas - 1.1.21-9 -- Disable directfb support for Fedora 20 and newer, because it was retired - -* Tue Aug 27 2013 Jon Ciesla - 1.1.21-8 -- libmng rebuild. - -* Sun Aug 04 2013 Fedora Release Engineering - 1.1.21-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - -* Sat Mar 30 2013 Kevin Fenzi - 1.1.21-6 -- Rebuild for broken deps in rawhide - -* Tue Feb 12 2013 Kevin Kofler 1.1.21-5 -- find the Samba 4 libsmbclient.h using pkg-config, fixes FTBFS (#909825) - -* Mon Sep 17 2012 Kevin Kofler 1.1.21-4 -- rebuild for new directfb - -* Sun Jul 22 2012 Fedora Release Engineering - 1.1.21-3.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild - -* Sat Jul 21 2012 Kevin Kofler 1.1.21-2.1 -- disable libbluray support on F16, libbluray too old - -* Mon Jul 16 2012 Kevin Kofler 1.1.21-2 -- do not remove DVD plugin, not encumbered (only uses libdvdread/libdvdnav) - -* Tue Jun 12 2012 Xavier Bachelot 1.1.21-1 -- Update to 1.1.21. -- Enable libbluray support. - -* Sat Mar 10 2012 Rex Dieter 1.1.20.1-3 -- rebuild (ImageMagick) - -* Sat Jan 14 2012 Fedora Release Engineering - 1.1.20.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild - -* Tue Jan 03 2012 Kevin Kofler 1.1.20.1-1 -- update to 1.1.20.1 (bugfix release) -- drop upstreamed link-libdvdread patch - -* Sun Nov 20 2011 Kevin Kofler 1.1.20-1 -- update to 1.1.20 (#753758) -- use .xz tarball -- drop old conditionals -- drop ESD (esound) support on F17+ (native PulseAudio just works) -- drop autotools patch, run autogen.sh in %%prep instead -- drop unused deepbind patch -- drop xvmclib_header patch, fixed upstream -- use the system libdvdnav (and libdvdread) instead of the bundled one -- fix system libdvdnav support to also link libdvdread -- plugin ABI is now 1.30 - -* Fri Jul 15 2011 Kevin Kofler 1.1.19-7 -- rebuild for new DirectFB (1.5.0) - -* Mon Feb 14 2011 Rex Dieter 1.1.19-6 -- split v4l, libv4l handling -- omit v4l(1) bits (f15+) - -* Mon Feb 07 2011 Fedora Release Engineering - 1.1.19-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild - -* Mon Jan 24 2011 Rex Dieter - 1.1.19-4 -- xvmclib header changes, fixes ftbfs (#635653,#661071) - -* Sun Nov 28 2010 Kevin Kofler - 1.1.19-3 -- rebuild for new directfb (1.4.11) - -* Wed Sep 15 2010 Rex Dieter - 1.1.19-2 -- rebuild (ImageMagick) - -* Sun Jul 25 2010 Rex Dieter - 1.1.19-1 -- 1.1.19 - -* Mon Jul 19 2010 Rex Dieter - 1.1.18.1-3 -- no directfb on arm (yet) - -* Tue Jun 1 2010 Ville Skyttä - 1.1.18.1-2 -- Rebuild. - -* Sun Mar 07 2010 Rex Dieter - 1.1.18.1-1 -- xine-lib-1.1.18.1 - -* Sun Mar 07 2010 Rex Dieter - 1.1.18-2 -- rebuild (ImageMagick) - -* Wed Feb 24 2010 Rex Dieter - 1.1.18-1 -- xine-lib-1.1.18, plugin-abi 1.28 (#567913) - -* Sat Dec 12 2009 Rex Dieter - 1.1.17-3 -- bump flac_decoder priority (rh#301861,xine#225) - -* Mon Dec 07 2009 Bastien Nocera 1.1.17-2 -- Remove gnome-vfs2 plugin, it's mostly useless - -* Wed Dec 02 2009 Rex Dieter - 1.1.17-1 -- xine-lib-1.1.17, plugin-abi 1.27 - -* Sun Nov 29 2009 Rex Dieter - 1.1.16.3-5 -- move -pulseaudio into main pkg (f12+) -- update URL - -* Mon Jul 27 2009 Fedora Release Engineering - 1.1.16.3-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - -* Thu Jul 02 2009 Rex Dieter - 1.1.16.3-3 -- rebuild (DirectFB) - -* Fri Apr 17 2009 Rex Dieter - 1.1.16.3-2.1 -- drop old_caca hacks/patches (F-9) - -* Fri Apr 10 2009 Rex Dieter - 1.1.16.3-2 -- fix modtracker mimetypes - -* Fri Apr 03 2009 Rex Dieter - 1.1.16.3-1 -- xine-lib-1.1.16.3, plugin-abi 1.26 - -* Thu Mar 26 2009 Rex Dieter - 1.1.16.2-6 -- add-mime-for-mod.patch - -* Tue Mar 10 2009 Kevin Kofler - 1.1.16.2-5 -- rebuild for new ImageMagick - -* Thu Feb 26 2009 Fedora Release Engineering - 1.1.16.2-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - -* Fri Feb 20 2009 Rex Dieter - 1.1.16.2-3 -- xine-lib-devel muiltilib conflict (#477226) - -* Tue Feb 17 2009 Rex Dieter - 1.1.16.2-2 -- xine-lib-safe-audio-pause3 patch (#486255, kdebug#180339) - -* Tue Feb 10 2009 Kevin Kofler - 1.1.16.2-1.1 -- also patch the caca version check in configure(.ac) - -* Tue Feb 10 2009 Rex Dieter - 1.1.16.2-1 -- xine-lib-1.1.16.2 - -* Mon Feb 09 2009 Rex Dieter - 1.1.16.1-4 -- gapless-race-fix patch (kdebug#180339) - -* Sat Feb 07 2009 Rex Dieter - 1.1.16.1-3 -- safe-audio-pause patch (kdebug#180339) - -* Mon Jan 26 2009 Rex Dieter - 1.1.16.1-2 -- Provides: xine-lib(plugin-abi)%%{?_isa} = %%{plugin_abi} -- touchup Summary/Description - -* Fri Jan 23 2009 Rex Dieter - 1.1.16.1-1 -- xine-lib-1.1.16.1 -- include avsync patch (#470568) - -* Sun Jan 18 2009 Rex Dieter - 1.1.16-2 -- drop deepbind patch (#480504) -- caca support (EPEL) - -* Wed Jan 07 2009 Kevin Kofler - 1.1.16-1.1 -- patch for old libcaca in F9- - -* Wed Jan 07 2009 Rex Dieter - 1.1.16-1 -- xine-lib-1.1.16, plugin ABI 1.25 -- --with-external-libdvdnav, include mpeg demuxers (#213597) - -* Fri Dec 12 2008 Rex Dieter - 1.1.15-4 -- rebuild for pkgconfig deps - -* Tue Oct 28 2008 Kevin Kofler - 1.1.15-3 -- rebuild for new libcaca - -* Thu Oct 23 2008 Rex Dieter - 1.1.15-2 -- respin - -* Wed Aug 20 2008 Rex Dieter - 1.1.15-1 -- xine-lib-1.1.15, plugin ABI 1.24 (rh#455752, CVE-2008-3231) -- Obsoletes: -arts (f9+) - -* Sun Apr 27 2008 Kevin Kofler - 1.1.12-3 -- rebuild for new ImageMagick (6.4.0.10) - -* Thu Apr 24 2008 Rex Dieter - 1.1.12-2 -- CVE-2008-1878 - -* Wed Apr 16 2008 Ville Skyttä - 1.1.12-1 -- 1.1.12 (plugin ABI 1.21); qt, mkv, and pulseaudio patches applied upstream. - -* Wed Apr 9 2008 Ville Skyttä - 1.1.11.1-3 -- Apply upstream fixes for Quicktime (#441705) and Matroska regressions - introduced in 1.1.11.1. - -* Mon Apr 07 2008 Rex Dieter - 1.1.11.1-2 -- pulse-rework2 patch (#439731) -- -pulseaudio subpkg (#439731) - -* Sun Mar 30 2008 Ville Skyttä - 1.1.11.1-1 -- 1.1.11.1 (security update, #438663, CVE-2008-1482). -- Provide versioned xine-lib(plugin-abi) so 3rd party packages installing - plugins can use it instead of requiring a version of xine-lib. - -* Wed Mar 19 2008 Ville Skyttä - 1.1.11-1 -- 1.1.11 (security update, #438182, CVE-2008-0073). -- Drop jack and wavpack build conditionals. -- Specfile cleanups. - -* Fri Mar 7 2008 Rex Dieter - 1.1.10.1-1.1 -- xcb support for f7+ (#373411) - -* Fri Feb 8 2008 Ville Skyttä - 1.1.10.1-1 -- 1.1.10.1 (security update, #431541). - -* Sun Jan 27 2008 Ville Skyttä - 1.1.10-2 -- Include spu, spucc, and spucmml decoders (#213597). - -* Sun Jan 27 2008 Ville Skyttä - 1.1.10-1 -- 1.1.10 (security update). - -* Mon Jan 21 2008 Ville Skyttä - 1.1.9.1-3 -- Fix version number in libxine.pc (#429487). - -* Sun Jan 20 2008 Ville Skyttä - 1.1.9.1-2 -- Disable upstream "discard buffers on ao close" 1.1.9 changeset (#429182). - -* Sat Jan 12 2008 Ville Skyttä - 1.1.9.1-1 -- 1.1.9.1 (security update). - -* Sun Jan 6 2008 Ville Skyttä - 1.1.9-1 -- 1.1.9. - -* Thu Sep 27 2007 Ville Skyttä - 1.1.8-6 -- Enable wavpack support by default for all distros. - -* Sun Sep 23 2007 Ville Skyttä - 1.1.8-5 -- Enable JACK support by default for all distros. - -* Wed Sep 19 2007 Ville Skyttä - 1.1.8-4 -- Fix "--without wavpack" build. - -* Sat Sep 15 2007 Ville Skyttä - 1.1.8-3 -- Move XCB plugins to the main package. -- Make aalib, caca, pulseaudio, jack, and wavpack support optional at build - time in preparation for the first EPEL build. - -* Sun Sep 09 2007 Aurelien Bompard 1.1.8-2 -- remove the dependency from -extras to -arts, and use Obsoletes to - provide an upgrade path - -* Thu Aug 30 2007 Ville Skyttä - 1.1.8-1 -- 1.1.8, "open" patch applied upstream. -- Build XCB plugins by default for Fedora 8+ only. - -* Sat Aug 25 2007 Aurelien Bompard 1.1.7-3 -- Split the aRts plugin into its own subpackage - -* Tue Aug 14 2007 Ville Skyttä - 1.1.7-2 -- Include XCB output plugins (in -extras at least for now). -- Protect "open" with glibc 2.6.90 and -D_FORTIFY_SOURCE=2. -- Clean up %%configure options. -- License: GPLv2+ - -* Thu Jun 7 2007 Ville Skyttä - 1.1.7-1 -- 1.1.7. - -* Wed Jun 06 2007 Rex Dieter - 1.1.6-3 -- respin (for libmpcdec) - -* Wed Apr 25 2007 Ville Skyttä - 1.1.6-2 -- Make Real codec search path /usr/lib(64)/codecs again (#237743). - -* Wed Apr 18 2007 Ville Skyttä - 1.1.6-1 -- 1.1.6. - -* Wed Apr 11 2007 Ville Skyttä - 1.1.5-1 -- 1.1.5. -- Include GSM 06.10 decoder (#228186). -- Re-enable CACA support. - -* Sun Apr 8 2007 Ville Skyttä -- Exclude vidix dir on systems that don't have vidix. -- Specfile cleanups. - -* Mon Mar 26 2007 Ville Skyttä - 1.1.4-4 -- Add PulseAudio support (in -extras, #234035/Jost Diederichs). -- Adjust Samba build dependencies to work for both <= and > FC6. -- Add --with freetype and --with antialiasing build time options, - default disabled, and an upstream patch for FreeType memory leak (#233194). - -* Sat Mar 10 2007 Ville Skyttä - 1.1.4-3 -- Apply upstream fix for CVE-2007-1246. - -* Wed Feb 14 2007 Ville Skyttä - 1.1.4-2 -- Rebuild. - -* Wed Jan 31 2007 Ville Skyttä - 1.1.4-1 -- 1.1.4, with wavpack and system libmpcdec support. - -* Thu Jan 18 2007 Aurelien Bompard 1.1.3-4 -- rebuild - -* Wed Jan 3 2007 Ville Skyttä - 1.1.3-3 -- Fix libflac decoder with FLAC < 1.1.3 (#220961). -- Apply upstream patch for FLAC >= 1.1.3. - -* Sun Dec 17 2006 Ville Skyttä - 1.1.3-2 -- Don't run autotools during build. - -* Mon Dec 04 2006 Aurelien Bompard 1.1.3-1 -- version 1.1.3 -- patch2 applied upstream -- Disable CACA support by default, needs newer than what's in FE ATM. -- Split extras plugins in a separate package -- Enable JACK support (in extras subpackage) -- Enable DirectFB support (in extras subpackage) - -* Sat Nov 11 2006 Aurelien Bompard 1.1.2-18 -- Make shn files available to amarok. References: - http://xine.cvs.sourceforge.net/xine/xine-lib/src/demuxers/demux_shn.c?r1=1.1.2.2&r2=1.2 - https://launchpad.net/distros/ubuntu/+source/xine-lib/+bug/63130 - -* Wed Oct 18 2006 Aurelien Bompard 1.1.2-17 -- cleanup docs -- remove mms -- delete more source files in the cleanup script -- drop patch3 (affecting mms) - -* Tue Oct 17 2006 Aurelien Bompard 1.1.2-16 -- fix files list -- add BR gtk2-devel -- remove xineplug_decode_gdk_pixbuf.so from x86-only - -* Mon Oct 16 2006 Aurelien Bompard 1.1.2-15 -- removed libdts -- drop dxr patch (it's removed from tarball) -- list xineplug_decode_gdk_pixbuf.so and xineplug_vo_out_vidix.so only on x86 - -* Sun Oct 15 2006 Aurelien Bompard 1.1.2-14 -- update SOURCE1 to remove liba52 from tarball (patented) - -* Tue Sep 12 2006 Aurelien Bompard 1.1.2-13 -- drop patches 2 and 4 - -* Fri Sep 08 2006 Aurelien Bompard 1.1.2-12 -- initial Fedora Extras package From 833c4969df915f96cc396c822d11c65f1b9231b4 Mon Sep 17 00:00:00 2001 From: Tomas Hrcka Date: Mon, 23 Jan 2023 15:57:22 +0100 Subject: [PATCH 46/82] Unretirement request: https://pagure.io/releng/issue/11232 --- .gitignore | 5 + Makefile | 21 + dead.package | 1 - sources | 1 + xine-lib-1.1.16.2-multilib.patch | 16 + xine-lib-1.1.17-avsync_hack.patch | 22 + xine-lib-1.1.19-no_autopoint.patch | 17 + xine-lib-1.1.21-samba4.patch | 32 ++ xine-lib-1.1.4-optflags.patch | 11 + xine-lib-cleanup-sources.sh | 90 ++++ xine-lib.spec | 741 +++++++++++++++++++++++++++++ 11 files changed, 956 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 Makefile delete mode 100644 dead.package create mode 100644 sources create mode 100644 xine-lib-1.1.16.2-multilib.patch create mode 100644 xine-lib-1.1.17-avsync_hack.patch create mode 100644 xine-lib-1.1.19-no_autopoint.patch create mode 100644 xine-lib-1.1.21-samba4.patch create mode 100644 xine-lib-1.1.4-optflags.patch create mode 100755 xine-lib-cleanup-sources.sh create mode 100644 xine-lib.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6f9a840 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +xine-lib-1.1.19-autotools.patch.bz2 +xine-lib-1.1.19-pruned.tar.bz2 +/xine-lib-1.1.20-pruned.tar.xz +/xine-lib-1.1.20.1-pruned.tar.xz +/xine-lib-1.1.21-pruned.tar.xz diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..3f11a94 --- /dev/null +++ b/Makefile @@ -0,0 +1,21 @@ +# Makefile for source rpm: xine-lib +# $Id$ +NAME := xine-lib +SPECFILE = $(firstword $(wildcard *.spec)) + +define find-makefile-common +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +endef + +MAKEFILE_COMMON := $(shell $(find-makefile-common)) + +ifeq ($(MAKEFILE_COMMON),) +# attept a checkout +define checkout-makefile-common +test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 +endef + +MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) +endif + +include $(MAKEFILE_COMMON) diff --git a/dead.package b/dead.package deleted file mode 100644 index 0a5049b..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -Moved to RPM Fusion diff --git a/sources b/sources new file mode 100644 index 0000000..fd1b3c5 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +1568a378a732bd9b69d418674ad4165c xine-lib-1.1.21-pruned.tar.xz diff --git a/xine-lib-1.1.16.2-multilib.patch b/xine-lib-1.1.16.2-multilib.patch new file mode 100644 index 0000000..4609e63 --- /dev/null +++ b/xine-lib-1.1.16.2-multilib.patch @@ -0,0 +1,16 @@ +diff -up xine-lib-1.1.16.2/misc/xine-config.in.multilib xine-lib-1.1.16.2/misc/xine-config.in +--- xine-lib-1.1.16.2/misc/xine-config.in.multilib 2008-06-25 08:04:09.000000000 -0500 ++++ xine-lib-1.1.16.2/misc/xine-config.in 2009-02-20 07:34:27.000000000 -0600 +@@ -6,12 +6,6 @@ unset prefix + unset exec_prefix + unset args + +-PKG_CONFIG_PATH="`cat <<'EOF' +-@XINE_PKGCONFIG_DIR@ +-EOF +-`${PKG_CONFIG_PATH:+:}$PKG_CONFIG_PATH" +-export PKG_CONFIG_PATH +- + usage() + { + cat <vpts - hw_vpts; ++ if (in_buf && in_buf->stream && in_buf->stream->video_decoder_plugin) { ++ gap = in_buf->vpts - hw_vpts; ++ } else { ++ gap = 0; ++ } + lprintf ("hw_vpts : %" PRId64 " buffer_vpts : %" PRId64 " gap : %" PRId64 "\n", + hw_vpts, in_buf->vpts, gap); + diff --git a/xine-lib-1.1.19-no_autopoint.patch b/xine-lib-1.1.19-no_autopoint.patch new file mode 100644 index 0000000..d5ee0cd --- /dev/null +++ b/xine-lib-1.1.19-no_autopoint.patch @@ -0,0 +1,17 @@ +diff -up xine-lib-1.1.17/autogen.sh.no_autopoint xine-lib-1.1.17/autogen.sh +--- xine-lib-1.1.17/autogen.sh.no_autopoint 2009-10-09 09:33:31.000000000 -0500 ++++ xine-lib-1.1.17/autogen.sh 2009-12-02 09:15:48.534555467 -0600 +@@ -229,10 +229,10 @@ run_aclocal () { + echo + fi + +- echo $_echo_n " + Running autopoint: $_echo_c" ++ #echo $_echo_n " + Running autopoint: $_echo_c" + +- autopoint +- echo "done." ++ #autopoint ++ #echo "done." + + echo $_echo_n " + Running aclocal: $_echo_c" + diff --git a/xine-lib-1.1.21-samba4.patch b/xine-lib-1.1.21-samba4.patch new file mode 100644 index 0000000..6c5f67d --- /dev/null +++ b/xine-lib-1.1.21-samba4.patch @@ -0,0 +1,32 @@ +diff -ur xine-lib-1.1.21/configure.ac xine-lib-1.1.21-samba4/configure.ac +--- xine-lib-1.1.21/configure.ac 2012-07-16 21:42:38.000000000 +0200 ++++ xine-lib-1.1.21-samba4/configure.ac 2013-02-12 15:44:33.000000000 +0100 +@@ -1698,12 +1698,10 @@ + [with_samba=$enableval], [with_samba=yes]) + + if test "x$with_samba" = "xyes"; then +- AC_CHECK_LIB(smbclient, smbc_init, +- [ AC_CHECK_HEADER(libsmbclient.h, +- [ have_libsmbclient=yes +- LIBSMBCLIENT_LIBS="-lsmbclient" ], +- AC_MSG_RESULT([*** All libsmbclient dependent parts will be disabled ***]))], +- AC_MSG_RESULT([*** All libsmbclient dependent parts will be disabled ***])) ++ PKG_CHECK_MODULES([LIBSMBCLIENT], [smbclient], ++ [have_libsmbclient=yes], ++ AC_MSG_RESULT(*** All libsmbclient dependent parts will be disabled ***)) ++ AC_SUBST(LIBSMBCLIENT_CFLAGS) + AC_SUBST(LIBSMBCLIENT_LIBS) + fi + AM_CONDITIONAL(HAVE_LIBSMBCLIENT, test "x$have_libsmbclient" = "xyes") +diff -ur xine-lib-1.1.21/src/input/Makefile.am xine-lib-1.1.21-samba4/src/input/Makefile.am +--- xine-lib-1.1.21/src/input/Makefile.am 2012-07-16 21:42:38.000000000 +0200 ++++ xine-lib-1.1.21-samba4/src/input/Makefile.am 2013-02-12 15:46:45.000000000 +0100 +@@ -150,7 +150,7 @@ + + xineplug_inp_smb_la_SOURCES = input_smb.c + xineplug_inp_smb_la_LIBADD = $(XINE_LIB) $(LIBSMBCLIENT_LIBS) $(LTLIBINTL) +-xineplug_inp_smb_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS) ++xineplug_inp_smb_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS) $(LIBSMBCLIENT_CFLAGS) + xineplug_inp_smb_la_LDFLAGS = $(xineplug_ldflags) + + xineplug_inp_pvr_la_SOURCES = input_pvr.c diff --git a/xine-lib-1.1.4-optflags.patch b/xine-lib-1.1.4-optflags.patch new file mode 100644 index 0000000..72540f6 --- /dev/null +++ b/xine-lib-1.1.4-optflags.patch @@ -0,0 +1,11 @@ +--- xine-lib-1.1.4/m4/optimizations.m4~ 2006-06-17 18:20:56.000000000 +0300 ++++ xine-lib-1.1.4/m4/optimizations.m4 2007-01-30 23:03:27.000000000 +0200 +@@ -107,7 +107,7 @@ + + DEBUG_CFLAGS="-O $DEBUG_CFLAGS" + +- if test x"$sarchopt" != "xno"; then ++ if false ; then + archopt_val= + + case "$host_or_hostalias" in diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh new file mode 100755 index 0000000..a250800 --- /dev/null +++ b/xine-lib-cleanup-sources.sh @@ -0,0 +1,90 @@ +#!/bin/bash + +if [ -z "$1" -o $# -ne 1 ]; then + echo "Usage: $0 " + exit 2 +fi + +version=$1 +tarball="xine-lib-$version.tar.xz" +dir="xine-lib-$version" +modtarball="xine-lib-$version-pruned.tar.xz" + + +if [ ! -f $tarball ]; then + echo "Can't find $tarball !" + exit 1 +fi + +echo "Uncompressing $tarball..." +rm -rf $dir +tar -xJf $tarball +cd $dir + +rmpluglib() +{ + echo "removing src/$1/$2..." + rm -rf src/$1/$2 + sed -i -e "s/SUBDIRS = \(.*\)$2\(.*\)/SUBDIRS = \1\2/g" src/$1/Makefile.am + sed -i -e "/^src\/$1\/$2/d" configure.ac +} + +# Main libraries +for remove in libfaad libffmpeg libmad libmpeg2 libmpeg2new dxr3 liba52 libdts; do + echo "removing src/$remove..." + rm -rf src/$remove + sed -i -e "/$remove/d" src/Makefile.am + sed -i -e "/^src\/$remove/d" configure.ac +done +# Input plugin libraries +for remove in vcd; do + rmpluglib input vcd +done +for remove in ffmpeg; do + rmpluglib combined ffmpeg +done +# Input plugins +# DVD reading (dvd input plugin) has now been in Fedora for a while (libdvdread, +# libdvdnav), the xine-lib code only wraps those libraries. (Decrypting and +# decoding are of course still separate and forbidden in Fedora.) +for p in vcd mms; do + echo "removing $p input plugin..." + # Remove sources + for sourcefile in `awk '/^xineplug_inp_'$p'_la_SOURCES/ { $1=""; $2=""; print $0}' src/input/Makefile.am`; do + if [ "`grep -v '^EXTRA_DIST = ' src/input/Makefile.am | grep -c $sourcefile`" -le 1 ]; then # if this file is only used for this plugin + rm -f src/input/$sourcefile + fi + done + # Remove from Makefile + sed -i -e "/xineplug_inp_$p/d" src/input/Makefile.am +done +# Demuxers +# These are ok now ( http://bugzilla.redhat.com/213597 ) +#for p in mpeg mpeg_block mpeg_ts mpeg_elem mpeg_pes yuv4mpeg2; do +# echo "removing $p demuxer..." +# [ -f src/demuxers/demux_$p.c ] && rm -f src/demuxers/demux_$p.c +# sed -i -e "/xineplug_dmx_$p/d" src/demuxers/Makefile.am +#done +# Postprocessors +echo "removing planar and deinterlace postprocessors..." +sed -i -e 's/deinterlace //g' src/post/Makefile.am # see comments in speedy.c +sed -i -e 's/planar //g' src/post/Makefile.am # requires libpostproc +sed -i -e '/post\/\(deinterlace\|planar\)/d' configure.ac +rm -rf src/post/{deinterlace,planar} +# NSF decoder +echo "removing NSF decoder..." +rm -rf src/libxineadec/{nosefart,nsf.c} +sed -i -e '/^xineplug_decode_nsf_la/,/^\s*$/d' \ + -e /xineplug_decode_nsf/d \ + -e 's/ nosefart//' \ + src/libxineadec/Makefile.am +sed -i -e '/nosefart\/Makefile/d' configure.ac +# Patches for forbidden libraries +rm -fv misc/lib*.patch win32/scripts/*.patch + +# All clean ! + +cd .. +echo "Generating $modtarball..." +tar -cJf $modtarball $dir +rm -rf $dir diff --git a/xine-lib.spec b/xine-lib.spec new file mode 100644 index 0000000..0b1bf41 --- /dev/null +++ b/xine-lib.spec @@ -0,0 +1,741 @@ +# TODO, sometime, maybe: +# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog +# - drop the opengl video out plugin? + +%define plugin_abi 1.30 +%define codecdir %{_libdir}/codecs + +%ifarch %{ix86} + %define have_vidix 1 +%else + %define have_vidix 0 +%endif # ix86 + +%ifarch %{arm} +%define _without_directfb 1 +%endif + +%if 0%{?fedora} > 14 +%define _disable_v4l1 1 +%endif + +%if 0%{?fedora} > 16 +%define _without_esound 1 +%endif + +%if 0%{?fedora} > 16 +%define bluray 1 +%endif + +%if 0%{?fedora} > 19 +%define _without_directfb 1 +%endif + +Summary: A multimedia engine +Name: xine-lib +Version: 1.1.21 +Release: 10%{?dist} +License: GPLv2+ +Group: System Environment/Libraries +URL: http://www.xine-project.org/ +# The tarball is generated from the upstream tarball using +# the script in SOURCE1. It prunes potentially patented code +#Source0: http://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.xz +Source0: xine-lib-%{version}-pruned.tar.xz +Source1: xine-lib-cleanup-sources.sh +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Patch0: xine-lib-1.1.19-no_autopoint.patch +Patch1: xine-lib-1.1.4-optflags.patch +# http://bugzilla.redhat.com/470568 +Patch2: xine-lib-1.1.17-avsync_hack.patch +# http://bugzilla.redhat.com/477226 +Patch3: xine-lib-1.1.16.2-multilib.patch +# find the Samba 4 libsmbclient.h using pkg-config (#909825) +Patch4: xine-lib-1.1.21-samba4.patch + +Provides: xine-lib(plugin-abi) = %{plugin_abi} +%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}} + +# DVD plugin moved from there +Conflicts: xine-lib-extras-freeworld < 1.1.21-3 + +BuildRequires: autoconf automake libtool +# X11 +BuildRequires: libX11-devel +BuildRequires: libXv-devel +BuildRequires: libXinerama-devel +BuildRequires: libXvMC-devel +BuildRequires: libGLU-devel +BuildRequires: libv4l-devel +BuildRequires: libxcb-devel +# Video +BuildRequires: SDL-devel +BuildRequires: libtheora-devel +BuildRequires: libmng-devel +BuildRequires: aalib-devel >= 1.4 +BuildRequires: libcaca-devel >= 0.99-0.5.beta14 +%if 0%{!?_without_directfb:1} +BuildRequires: directfb-devel +%endif # directfb +BuildRequires: ImageMagick-devel >= 6.2.4.6-1 +%if 0%{?_with_freetype:1} +BuildRequires: fontconfig-devel +%endif # freetype +# Audio +BuildRequires: alsa-lib-devel >= 0.9.0 +%if 0%{!?_without_esound:1} +BuildRequires: esound-devel +%endif # esound +BuildRequires: flac-devel +BuildRequires: jack-audio-connection-kit-devel +BuildRequires: libmodplug-devel +BuildRequires: libmpcdec-devel +BuildRequires: libvorbis-devel +BuildRequires: speex-devel +BuildRequires: wavpack-devel +# CDs +BuildRequires: libcdio-devel +# Other +BuildRequires: pkgconfig +BuildRequires: pkgconfig(libpulse) +BuildRequires: gtk2-devel +BuildRequires: libsmbclient-devel +BuildRequires: libdvdnav-devel +BuildRequires: libdvdread-devel +%if 0%{?bluray} +BuildRequires: libbluray-devel +%endif + +# Dropped in Fedora 9 +Obsoletes: xine-lib-arts < %{version}-%{release} + +# Included in main package since Fedora 12 +Obsoletes: xine-lib-pulseaudio < 1.1.16.3-5 +Provides: xine-lib-pulseaudio = %{version}-%{release} + +%description +This package contains the Xine library. It can be used to play back +various media, decode multimedia files from local disk drives, and display +multimedia streamed over the Internet. It interprets many of the most +common multimedia formats available - and some uncommon formats, too. + +%package devel +Summary: Xine library development files +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: pkgconfig +Requires: zlib-devel +%description devel +This package contains development files for %{name}. + +%package extras +Summary: Additional plugins for %{name} +Group: System Environment/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +#Requires: xine-lib(plugin-abi) = %{plugin_abi} +%description extras +This package contains extra plugins for %{name}: +%if 0%{!?_without_esound:1} + - EsounD +%endif # esound + - JACK + - GDK-Pixbuf + - SMB + - SDL + - AA-lib + - Libcaca + - Image decoding +%if 0%{!?_without_directfb:1} + - DirectFB output +%endif # directfb + + +%prep +%setup -q +%patch0 -p1 -b .no_autopoint +# extra work for to omit old libtool-related crud +rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4 +%patch1 -p1 -b .optflags +%patch2 -p1 -b .avsync_hack +%patch3 -p1 -b .multilib +%patch4 -p1 -b .samba4 + +./autogen.sh noconfig + + +%build +export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" " +export FFMPEG_POSTPROC_CFLAGS=" " FFMPEG_POSTPROC_LIBS=" " +export FFMPEG_UTIL_CFLAGS=" " FFMPEG_UTIL_LIBS=" " +export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)" +# Keep list of options in mostly the same order as ./configure --help. +%configure \ + --disable-dependency-tracking \ + --enable-ipv6 \ +%if 0%{!?_without_directfb:1} + --enable-directfb \ +%endif # directfb + --enable-v4l \ + --enable-libv4l \ + --enable-xvmc \ + --disable-gnomevfs \ + --disable-a52dec \ + --disable-mad \ + --disable-vcd \ + --disable-asf \ + --disable-faad \ +%if 0%{?_with_freetype:1} +%if 0%{?_with_antialiasing:1} + --enable-antialiasing \ +%endif # antialiasing + --with-freetype \ + --with-fontconfig \ +%endif # freetype + --with-caca \ + --with-external-ffmpeg \ + --with-external-dvdnav \ + --with-xv-path=%{_libdir} \ + --with-libflac \ + --with-external-libmpcdec \ + --without-arts \ +%if 0%{?_without_esound:1} + --without-esound \ +%endif + --with-wavpack \ + --with-real-codecs-path=%{codecdir} \ + --with-w32-path=%{codecdir} + +make %{?_smp_mflags} + + +%install +rm -rf $RPM_BUILD_ROOT __docs +make install DESTDIR=$RPM_BUILD_ROOT +%find_lang libxine1 +cp -pR $RPM_BUILD_ROOT%{_docdir}/xine-lib __docs +rm -rf $RPM_BUILD_ROOT%{_docdir}/xine-lib + +# Removing useless files +rm -Rf $RPM_BUILD_ROOT%{_libdir}/libxine.la __docs/README \ + __docs/README.{freebsd,irix,solaris,MINGWCROSS,WIN32} \ + __docs/README.{dxr3,network_dvd} + +# Directory for binary codecs +mkdir -p $RPM_BUILD_ROOT%{codecdir} + +# unpackaged files +%if 0%{?_disable_v4l1:1} +rm -fv $RPM_BUILD_ROOT%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so +rm -fv $RPM_BUILD_ROOT%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so +%endif + + +%clean +rm -rf $RPM_BUILD_ROOT + + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + + +%files -f libxine1.lang +%defattr(-,root,root,-) +%doc AUTHORS COPYING COPYING.LIB CREDITS ChangeLog* README TODO +%doc __docs/README.* __docs/faq.* +%dir %{codecdir}/ +%{_datadir}/xine/ +%{_libdir}/libxine.so.* +%{_mandir}/man5/xine.5* +%dir %{_libdir}/xine/ +%dir %{_libdir}/xine/plugins/ +%dir %{_libdir}/xine/plugins/%{plugin_abi}/ +%{_libdir}/xine/plugins/%{plugin_abi}/mime.types +# Listing every plugin separately for better control over binary packages +# containing exactly the plugins we want, nothing accidentally snuck in +# nor dropped. +%dir %{_libdir}/xine/plugins/%{plugin_abi}/post/ +%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_audio_filters.so +%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_goom.so +%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_mosaico.so +%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_switch.so +%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_visualizations.so +%if %{have_vidix} +%dir %{_libdir}/xine/plugins/%{plugin_abi}/vidix/ +%{_libdir}/xine/plugins/%{plugin_abi}/vidix/cyberblade_vid.so +%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mach64_vid.so +%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mga_crtc2_vid.so +%{_libdir}/xine/plugins/%{plugin_abi}/vidix/mga_vid.so +%{_libdir}/xine/plugins/%{plugin_abi}/vidix/nvidia_vid.so +%{_libdir}/xine/plugins/%{plugin_abi}/vidix/pm2_vid.so +%{_libdir}/xine/plugins/%{plugin_abi}/vidix/pm3_vid.so +%{_libdir}/xine/plugins/%{plugin_abi}/vidix/radeon_vid.so +%{_libdir}/xine/plugins/%{plugin_abi}/vidix/rage128_vid.so +%{_libdir}/xine/plugins/%{plugin_abi}/vidix/savage_vid.so +%{_libdir}/xine/plugins/%{plugin_abi}/vidix/sis_vid.so +%{_libdir}/xine/plugins/%{plugin_abi}/vidix/unichrome_vid.so +%endif # vidix +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_alsa.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_file.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_none.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_oss.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_bitplane.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gsm610.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_lpcm.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_mpc.so +%ifarch %{ix86} +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_qt.so +%endif # ix86 +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_real.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_rgb.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_speex.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spu.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucc.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucmml.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spudvb.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spuhdmv.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_sputext.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_theora.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_vorbis.so +%ifarch %{ix86} +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_w32dll.so +%endif # ix86 +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_yuv.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_audio.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_avi.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_fli.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_flv.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_games.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_iff.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_image.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_matroska.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mng.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_block.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_elem.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_pes.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_ts.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_nsv.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_ogg.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_pva.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_qt.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_rawdv.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_real.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_slave.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_sputext.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv_frames.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv4mpeg2.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_flac.so +%if 0%{?bluray} +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_bluray.so +%endif +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_cdda.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvb.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvd.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_file.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_http.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_net.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pnm.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtp.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtsp.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_stdin_fifo.so +%if ! 0%{?_disable_v4l1:1} +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so +%endif +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l2.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_none.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_opengl.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_raw.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_syncfb.so +%if %{have_vidix} +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_vidix.so +%endif # vidix +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbshm.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbxv.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xshm.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xv.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xvmc.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xxmc.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_wavpack.so + +%files extras +%defattr(-,root,root,-) +%if 0%{!?_without_esound:1} +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_esd.so +%endif # esound +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_jack.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gdk_pixbuf.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_image.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_smb.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_aa.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_caca.so +%if 0%{!?_without_directfb:1} +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_directfb.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xdirectfb.so +%endif # directfb +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_sdl.so + +%files devel +%defattr(-,root,root,-) +%doc __docs/hackersguide/* +%{_bindir}/xine-config +%{_bindir}/xine-list* +%{_datadir}/aclocal/xine.m4 +%{_includedir}/xine.h +%{_includedir}/xine/ +%{_libdir}/libxine.so +%{_libdir}/pkgconfig/libxine.pc +%{_mandir}/man1/xine-config.1* +%{_mandir}/man1/xine-list*.1* + + +%changelog +* Fri Sep 20 2013 Xavier Bachelot 1.1.21-10 +- Rebuild for libbluray-0.4.0. + +* Sat Aug 31 2013 Till Maas - 1.1.21-9 +- Disable directfb support for Fedora 20 and newer, because it was retired + +* Tue Aug 27 2013 Jon Ciesla - 1.1.21-8 +- libmng rebuild. + +* Sun Aug 04 2013 Fedora Release Engineering - 1.1.21-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Sat Mar 30 2013 Kevin Fenzi - 1.1.21-6 +- Rebuild for broken deps in rawhide + +* Tue Feb 12 2013 Kevin Kofler 1.1.21-5 +- find the Samba 4 libsmbclient.h using pkg-config, fixes FTBFS (#909825) + +* Mon Sep 17 2012 Kevin Kofler 1.1.21-4 +- rebuild for new directfb + +* Sun Jul 22 2012 Fedora Release Engineering - 1.1.21-3.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Sat Jul 21 2012 Kevin Kofler 1.1.21-2.1 +- disable libbluray support on F16, libbluray too old + +* Mon Jul 16 2012 Kevin Kofler 1.1.21-2 +- do not remove DVD plugin, not encumbered (only uses libdvdread/libdvdnav) + +* Tue Jun 12 2012 Xavier Bachelot 1.1.21-1 +- Update to 1.1.21. +- Enable libbluray support. + +* Sat Mar 10 2012 Rex Dieter 1.1.20.1-3 +- rebuild (ImageMagick) + +* Sat Jan 14 2012 Fedora Release Engineering - 1.1.20.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Tue Jan 03 2012 Kevin Kofler 1.1.20.1-1 +- update to 1.1.20.1 (bugfix release) +- drop upstreamed link-libdvdread patch + +* Sun Nov 20 2011 Kevin Kofler 1.1.20-1 +- update to 1.1.20 (#753758) +- use .xz tarball +- drop old conditionals +- drop ESD (esound) support on F17+ (native PulseAudio just works) +- drop autotools patch, run autogen.sh in %%prep instead +- drop unused deepbind patch +- drop xvmclib_header patch, fixed upstream +- use the system libdvdnav (and libdvdread) instead of the bundled one +- fix system libdvdnav support to also link libdvdread +- plugin ABI is now 1.30 + +* Fri Jul 15 2011 Kevin Kofler 1.1.19-7 +- rebuild for new DirectFB (1.5.0) + +* Mon Feb 14 2011 Rex Dieter 1.1.19-6 +- split v4l, libv4l handling +- omit v4l(1) bits (f15+) + +* Mon Feb 07 2011 Fedora Release Engineering - 1.1.19-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Mon Jan 24 2011 Rex Dieter - 1.1.19-4 +- xvmclib header changes, fixes ftbfs (#635653,#661071) + +* Sun Nov 28 2010 Kevin Kofler - 1.1.19-3 +- rebuild for new directfb (1.4.11) + +* Wed Sep 15 2010 Rex Dieter - 1.1.19-2 +- rebuild (ImageMagick) + +* Sun Jul 25 2010 Rex Dieter - 1.1.19-1 +- 1.1.19 + +* Mon Jul 19 2010 Rex Dieter - 1.1.18.1-3 +- no directfb on arm (yet) + +* Tue Jun 1 2010 Ville Skyttä - 1.1.18.1-2 +- Rebuild. + +* Sun Mar 07 2010 Rex Dieter - 1.1.18.1-1 +- xine-lib-1.1.18.1 + +* Sun Mar 07 2010 Rex Dieter - 1.1.18-2 +- rebuild (ImageMagick) + +* Wed Feb 24 2010 Rex Dieter - 1.1.18-1 +- xine-lib-1.1.18, plugin-abi 1.28 (#567913) + +* Sat Dec 12 2009 Rex Dieter - 1.1.17-3 +- bump flac_decoder priority (rh#301861,xine#225) + +* Mon Dec 07 2009 Bastien Nocera 1.1.17-2 +- Remove gnome-vfs2 plugin, it's mostly useless + +* Wed Dec 02 2009 Rex Dieter - 1.1.17-1 +- xine-lib-1.1.17, plugin-abi 1.27 + +* Sun Nov 29 2009 Rex Dieter - 1.1.16.3-5 +- move -pulseaudio into main pkg (f12+) +- update URL + +* Mon Jul 27 2009 Fedora Release Engineering - 1.1.16.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Thu Jul 02 2009 Rex Dieter - 1.1.16.3-3 +- rebuild (DirectFB) + +* Fri Apr 17 2009 Rex Dieter - 1.1.16.3-2.1 +- drop old_caca hacks/patches (F-9) + +* Fri Apr 10 2009 Rex Dieter - 1.1.16.3-2 +- fix modtracker mimetypes + +* Fri Apr 03 2009 Rex Dieter - 1.1.16.3-1 +- xine-lib-1.1.16.3, plugin-abi 1.26 + +* Thu Mar 26 2009 Rex Dieter - 1.1.16.2-6 +- add-mime-for-mod.patch + +* Tue Mar 10 2009 Kevin Kofler - 1.1.16.2-5 +- rebuild for new ImageMagick + +* Thu Feb 26 2009 Fedora Release Engineering - 1.1.16.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Fri Feb 20 2009 Rex Dieter - 1.1.16.2-3 +- xine-lib-devel muiltilib conflict (#477226) + +* Tue Feb 17 2009 Rex Dieter - 1.1.16.2-2 +- xine-lib-safe-audio-pause3 patch (#486255, kdebug#180339) + +* Tue Feb 10 2009 Kevin Kofler - 1.1.16.2-1.1 +- also patch the caca version check in configure(.ac) + +* Tue Feb 10 2009 Rex Dieter - 1.1.16.2-1 +- xine-lib-1.1.16.2 + +* Mon Feb 09 2009 Rex Dieter - 1.1.16.1-4 +- gapless-race-fix patch (kdebug#180339) + +* Sat Feb 07 2009 Rex Dieter - 1.1.16.1-3 +- safe-audio-pause patch (kdebug#180339) + +* Mon Jan 26 2009 Rex Dieter - 1.1.16.1-2 +- Provides: xine-lib(plugin-abi)%%{?_isa} = %%{plugin_abi} +- touchup Summary/Description + +* Fri Jan 23 2009 Rex Dieter - 1.1.16.1-1 +- xine-lib-1.1.16.1 +- include avsync patch (#470568) + +* Sun Jan 18 2009 Rex Dieter - 1.1.16-2 +- drop deepbind patch (#480504) +- caca support (EPEL) + +* Wed Jan 07 2009 Kevin Kofler - 1.1.16-1.1 +- patch for old libcaca in F9- + +* Wed Jan 07 2009 Rex Dieter - 1.1.16-1 +- xine-lib-1.1.16, plugin ABI 1.25 +- --with-external-libdvdnav, include mpeg demuxers (#213597) + +* Fri Dec 12 2008 Rex Dieter - 1.1.15-4 +- rebuild for pkgconfig deps + +* Tue Oct 28 2008 Kevin Kofler - 1.1.15-3 +- rebuild for new libcaca + +* Thu Oct 23 2008 Rex Dieter - 1.1.15-2 +- respin + +* Wed Aug 20 2008 Rex Dieter - 1.1.15-1 +- xine-lib-1.1.15, plugin ABI 1.24 (rh#455752, CVE-2008-3231) +- Obsoletes: -arts (f9+) + +* Sun Apr 27 2008 Kevin Kofler - 1.1.12-3 +- rebuild for new ImageMagick (6.4.0.10) + +* Thu Apr 24 2008 Rex Dieter - 1.1.12-2 +- CVE-2008-1878 + +* Wed Apr 16 2008 Ville Skyttä - 1.1.12-1 +- 1.1.12 (plugin ABI 1.21); qt, mkv, and pulseaudio patches applied upstream. + +* Wed Apr 9 2008 Ville Skyttä - 1.1.11.1-3 +- Apply upstream fixes for Quicktime (#441705) and Matroska regressions + introduced in 1.1.11.1. + +* Mon Apr 07 2008 Rex Dieter - 1.1.11.1-2 +- pulse-rework2 patch (#439731) +- -pulseaudio subpkg (#439731) + +* Sun Mar 30 2008 Ville Skyttä - 1.1.11.1-1 +- 1.1.11.1 (security update, #438663, CVE-2008-1482). +- Provide versioned xine-lib(plugin-abi) so 3rd party packages installing + plugins can use it instead of requiring a version of xine-lib. + +* Wed Mar 19 2008 Ville Skyttä - 1.1.11-1 +- 1.1.11 (security update, #438182, CVE-2008-0073). +- Drop jack and wavpack build conditionals. +- Specfile cleanups. + +* Fri Mar 7 2008 Rex Dieter - 1.1.10.1-1.1 +- xcb support for f7+ (#373411) + +* Fri Feb 8 2008 Ville Skyttä - 1.1.10.1-1 +- 1.1.10.1 (security update, #431541). + +* Sun Jan 27 2008 Ville Skyttä - 1.1.10-2 +- Include spu, spucc, and spucmml decoders (#213597). + +* Sun Jan 27 2008 Ville Skyttä - 1.1.10-1 +- 1.1.10 (security update). + +* Mon Jan 21 2008 Ville Skyttä - 1.1.9.1-3 +- Fix version number in libxine.pc (#429487). + +* Sun Jan 20 2008 Ville Skyttä - 1.1.9.1-2 +- Disable upstream "discard buffers on ao close" 1.1.9 changeset (#429182). + +* Sat Jan 12 2008 Ville Skyttä - 1.1.9.1-1 +- 1.1.9.1 (security update). + +* Sun Jan 6 2008 Ville Skyttä - 1.1.9-1 +- 1.1.9. + +* Thu Sep 27 2007 Ville Skyttä - 1.1.8-6 +- Enable wavpack support by default for all distros. + +* Sun Sep 23 2007 Ville Skyttä - 1.1.8-5 +- Enable JACK support by default for all distros. + +* Wed Sep 19 2007 Ville Skyttä - 1.1.8-4 +- Fix "--without wavpack" build. + +* Sat Sep 15 2007 Ville Skyttä - 1.1.8-3 +- Move XCB plugins to the main package. +- Make aalib, caca, pulseaudio, jack, and wavpack support optional at build + time in preparation for the first EPEL build. + +* Sun Sep 09 2007 Aurelien Bompard 1.1.8-2 +- remove the dependency from -extras to -arts, and use Obsoletes to + provide an upgrade path + +* Thu Aug 30 2007 Ville Skyttä - 1.1.8-1 +- 1.1.8, "open" patch applied upstream. +- Build XCB plugins by default for Fedora 8+ only. + +* Sat Aug 25 2007 Aurelien Bompard 1.1.7-3 +- Split the aRts plugin into its own subpackage + +* Tue Aug 14 2007 Ville Skyttä - 1.1.7-2 +- Include XCB output plugins (in -extras at least for now). +- Protect "open" with glibc 2.6.90 and -D_FORTIFY_SOURCE=2. +- Clean up %%configure options. +- License: GPLv2+ + +* Thu Jun 7 2007 Ville Skyttä - 1.1.7-1 +- 1.1.7. + +* Wed Jun 06 2007 Rex Dieter - 1.1.6-3 +- respin (for libmpcdec) + +* Wed Apr 25 2007 Ville Skyttä - 1.1.6-2 +- Make Real codec search path /usr/lib(64)/codecs again (#237743). + +* Wed Apr 18 2007 Ville Skyttä - 1.1.6-1 +- 1.1.6. + +* Wed Apr 11 2007 Ville Skyttä - 1.1.5-1 +- 1.1.5. +- Include GSM 06.10 decoder (#228186). +- Re-enable CACA support. + +* Sun Apr 8 2007 Ville Skyttä +- Exclude vidix dir on systems that don't have vidix. +- Specfile cleanups. + +* Mon Mar 26 2007 Ville Skyttä - 1.1.4-4 +- Add PulseAudio support (in -extras, #234035/Jost Diederichs). +- Adjust Samba build dependencies to work for both <= and > FC6. +- Add --with freetype and --with antialiasing build time options, + default disabled, and an upstream patch for FreeType memory leak (#233194). + +* Sat Mar 10 2007 Ville Skyttä - 1.1.4-3 +- Apply upstream fix for CVE-2007-1246. + +* Wed Feb 14 2007 Ville Skyttä - 1.1.4-2 +- Rebuild. + +* Wed Jan 31 2007 Ville Skyttä - 1.1.4-1 +- 1.1.4, with wavpack and system libmpcdec support. + +* Thu Jan 18 2007 Aurelien Bompard 1.1.3-4 +- rebuild + +* Wed Jan 3 2007 Ville Skyttä - 1.1.3-3 +- Fix libflac decoder with FLAC < 1.1.3 (#220961). +- Apply upstream patch for FLAC >= 1.1.3. + +* Sun Dec 17 2006 Ville Skyttä - 1.1.3-2 +- Don't run autotools during build. + +* Mon Dec 04 2006 Aurelien Bompard 1.1.3-1 +- version 1.1.3 +- patch2 applied upstream +- Disable CACA support by default, needs newer than what's in FE ATM. +- Split extras plugins in a separate package +- Enable JACK support (in extras subpackage) +- Enable DirectFB support (in extras subpackage) + +* Sat Nov 11 2006 Aurelien Bompard 1.1.2-18 +- Make shn files available to amarok. References: + http://xine.cvs.sourceforge.net/xine/xine-lib/src/demuxers/demux_shn.c?r1=1.1.2.2&r2=1.2 + https://launchpad.net/distros/ubuntu/+source/xine-lib/+bug/63130 + +* Wed Oct 18 2006 Aurelien Bompard 1.1.2-17 +- cleanup docs +- remove mms +- delete more source files in the cleanup script +- drop patch3 (affecting mms) + +* Tue Oct 17 2006 Aurelien Bompard 1.1.2-16 +- fix files list +- add BR gtk2-devel +- remove xineplug_decode_gdk_pixbuf.so from x86-only + +* Mon Oct 16 2006 Aurelien Bompard 1.1.2-15 +- removed libdts +- drop dxr patch (it's removed from tarball) +- list xineplug_decode_gdk_pixbuf.so and xineplug_vo_out_vidix.so only on x86 + +* Sun Oct 15 2006 Aurelien Bompard 1.1.2-14 +- update SOURCE1 to remove liba52 from tarball (patented) + +* Tue Sep 12 2006 Aurelien Bompard 1.1.2-13 +- drop patches 2 and 4 + +* Fri Sep 08 2006 Aurelien Bompard 1.1.2-12 +- initial Fedora Extras package From 58be036c26e1a5eafb0566b5a747adc15b524fc2 Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Mon, 23 Jan 2023 10:01:56 -0500 Subject: [PATCH 47/82] Rebase to version 1.2.12 based on RPM Fusion package --- .gitignore | 1 + Makefile | 21 - ffmpeg51.patch | 35 ++ make_xinelib_snapshot.sh | 20 + sources | 2 +- xine-lib-1.1.16.2-multilib.patch | 16 - xine-lib-1.1.17-avsync_hack.patch | 22 - xine-lib-1.1.19-no_autopoint.patch | 17 - xine-lib-1.1.21-samba4.patch | 32 -- xine-lib-1.1.4-optflags.patch | 11 - xine-lib-1.2.12-dav1d_100_support.patch | 40 ++ xine-lib-1.2.12-fix_older_libcaca.patch | 22 + xine-lib-cleanup-sources.sh | 90 --- xine-lib.spec | 718 ++++++++++++++++-------- 14 files changed, 596 insertions(+), 451 deletions(-) delete mode 100644 Makefile create mode 100644 ffmpeg51.patch create mode 100644 make_xinelib_snapshot.sh delete mode 100644 xine-lib-1.1.16.2-multilib.patch delete mode 100644 xine-lib-1.1.17-avsync_hack.patch delete mode 100644 xine-lib-1.1.19-no_autopoint.patch delete mode 100644 xine-lib-1.1.21-samba4.patch delete mode 100644 xine-lib-1.1.4-optflags.patch create mode 100644 xine-lib-1.2.12-dav1d_100_support.patch create mode 100644 xine-lib-1.2.12-fix_older_libcaca.patch delete mode 100755 xine-lib-cleanup-sources.sh diff --git a/.gitignore b/.gitignore index 6f9a840..1622692 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ xine-lib-1.1.19-pruned.tar.bz2 /xine-lib-1.1.20-pruned.tar.xz /xine-lib-1.1.20.1-pruned.tar.xz /xine-lib-1.1.21-pruned.tar.xz +/xine-lib-1.2.12.tar.xz diff --git a/Makefile b/Makefile deleted file mode 100644 index 3f11a94..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: xine-lib -# $Id$ -NAME := xine-lib -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/ffmpeg51.patch b/ffmpeg51.patch new file mode 100644 index 0000000..40cec1e --- /dev/null +++ b/ffmpeg51.patch @@ -0,0 +1,35 @@ +diff -uNrp a/src/combined/ffmpeg/ffmpeg_compat.h b/src/combined/ffmpeg/ffmpeg_compat.h +--- a/src/combined/ffmpeg/ffmpeg_compat.h 2022-03-06 16:31:23.000000000 +0000 ++++ b/src/combined/ffmpeg/ffmpeg_compat.h 2022-08-09 12:09:50.709059577 +0100 +@@ -19,6 +19,8 @@ + * + * Compability macros for various ffmpeg versions + */ ++#include ++#include + + #ifndef XINE_AVCODEC_COMPAT_H + #define XINE_AVCODEC_COMPAT_H +diff -uNrp a/src/combined/ffmpeg/ffmpeg_decoder.h b/src/combined/ffmpeg/ffmpeg_decoder.h +--- a/src/combined/ffmpeg/ffmpeg_decoder.h 2022-03-06 16:31:23.000000000 +0000 ++++ b/src/combined/ffmpeg/ffmpeg_decoder.h 2022-08-09 12:42:16.081772933 +0100 +@@ -17,6 +17,8 @@ + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA + */ ++#include ++#include + + #ifndef HAVE_XINE_DECODER_H + #define HAVE_XINE_DECODER_H +diff -uNrp a/src/combined/ffmpeg/input_avio.c b/src/combined/ffmpeg/input_avio.c +--- a/src/combined/ffmpeg/input_avio.c 2022-03-06 16:31:23.000000000 +0000 ++++ b/src/combined/ffmpeg/input_avio.c 2022-08-09 11:33:54.527895581 +0100 +@@ -28,6 +28,7 @@ + #include + #include + ++#include + #include + + #define LOG_MODULE "libavio" diff --git a/make_xinelib_snapshot.sh b/make_xinelib_snapshot.sh new file mode 100644 index 0000000..c802a01 --- /dev/null +++ b/make_xinelib_snapshot.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +# This script is intended to make a xine-lib snapshot. +# If no argument is provided, it will make a snapshot of HEAD. +# If the svn revision is provided as an argument, it will make a snapshot of +# this revision. + +TMPDIR=$(mktemp -d) +pushd "$TMPDIR" || exit +echo -n "Cloning xine-lib-1.2 " +[ -n "$1" ] && echo "revision $1" || echo "HEAD" +[ -n "$1" ] && OPT="-u $1 " || OPT="" +hg clone $OPT http://hg.code.sf.net/p/xine/xine-lib-1.2 xine-lib-1.2 +cd xine-lib-1.2 || exit +autoreconf -vif +./configure +make dist +popd || exit +cp -p "$TMPDIR"/xine-lib-1.2/xine-lib-1.2*.tar.xz . +rm -rf "$TMPDIR" diff --git a/sources b/sources index fd1b3c5..921d38c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1568a378a732bd9b69d418674ad4165c xine-lib-1.1.21-pruned.tar.xz +SHA512 (xine-lib-1.2.12.tar.xz) = cdc913d0c78a3a34bd6e4060040fd844f22dbc673330e30769c83e9682a46f3369af8f59bd0c759ddc601de979b13d53e7ed10c54f3b78bdc63afceb484826be diff --git a/xine-lib-1.1.16.2-multilib.patch b/xine-lib-1.1.16.2-multilib.patch deleted file mode 100644 index 4609e63..0000000 --- a/xine-lib-1.1.16.2-multilib.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -up xine-lib-1.1.16.2/misc/xine-config.in.multilib xine-lib-1.1.16.2/misc/xine-config.in ---- xine-lib-1.1.16.2/misc/xine-config.in.multilib 2008-06-25 08:04:09.000000000 -0500 -+++ xine-lib-1.1.16.2/misc/xine-config.in 2009-02-20 07:34:27.000000000 -0600 -@@ -6,12 +6,6 @@ unset prefix - unset exec_prefix - unset args - --PKG_CONFIG_PATH="`cat <<'EOF' --@XINE_PKGCONFIG_DIR@ --EOF --`${PKG_CONFIG_PATH:+:}$PKG_CONFIG_PATH" --export PKG_CONFIG_PATH -- - usage() - { - cat <vpts - hw_vpts; -+ if (in_buf && in_buf->stream && in_buf->stream->video_decoder_plugin) { -+ gap = in_buf->vpts - hw_vpts; -+ } else { -+ gap = 0; -+ } - lprintf ("hw_vpts : %" PRId64 " buffer_vpts : %" PRId64 " gap : %" PRId64 "\n", - hw_vpts, in_buf->vpts, gap); - diff --git a/xine-lib-1.1.19-no_autopoint.patch b/xine-lib-1.1.19-no_autopoint.patch deleted file mode 100644 index d5ee0cd..0000000 --- a/xine-lib-1.1.19-no_autopoint.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -up xine-lib-1.1.17/autogen.sh.no_autopoint xine-lib-1.1.17/autogen.sh ---- xine-lib-1.1.17/autogen.sh.no_autopoint 2009-10-09 09:33:31.000000000 -0500 -+++ xine-lib-1.1.17/autogen.sh 2009-12-02 09:15:48.534555467 -0600 -@@ -229,10 +229,10 @@ run_aclocal () { - echo - fi - -- echo $_echo_n " + Running autopoint: $_echo_c" -+ #echo $_echo_n " + Running autopoint: $_echo_c" - -- autopoint -- echo "done." -+ #autopoint -+ #echo "done." - - echo $_echo_n " + Running aclocal: $_echo_c" - diff --git a/xine-lib-1.1.21-samba4.patch b/xine-lib-1.1.21-samba4.patch deleted file mode 100644 index 6c5f67d..0000000 --- a/xine-lib-1.1.21-samba4.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff -ur xine-lib-1.1.21/configure.ac xine-lib-1.1.21-samba4/configure.ac ---- xine-lib-1.1.21/configure.ac 2012-07-16 21:42:38.000000000 +0200 -+++ xine-lib-1.1.21-samba4/configure.ac 2013-02-12 15:44:33.000000000 +0100 -@@ -1698,12 +1698,10 @@ - [with_samba=$enableval], [with_samba=yes]) - - if test "x$with_samba" = "xyes"; then -- AC_CHECK_LIB(smbclient, smbc_init, -- [ AC_CHECK_HEADER(libsmbclient.h, -- [ have_libsmbclient=yes -- LIBSMBCLIENT_LIBS="-lsmbclient" ], -- AC_MSG_RESULT([*** All libsmbclient dependent parts will be disabled ***]))], -- AC_MSG_RESULT([*** All libsmbclient dependent parts will be disabled ***])) -+ PKG_CHECK_MODULES([LIBSMBCLIENT], [smbclient], -+ [have_libsmbclient=yes], -+ AC_MSG_RESULT(*** All libsmbclient dependent parts will be disabled ***)) -+ AC_SUBST(LIBSMBCLIENT_CFLAGS) - AC_SUBST(LIBSMBCLIENT_LIBS) - fi - AM_CONDITIONAL(HAVE_LIBSMBCLIENT, test "x$have_libsmbclient" = "xyes") -diff -ur xine-lib-1.1.21/src/input/Makefile.am xine-lib-1.1.21-samba4/src/input/Makefile.am ---- xine-lib-1.1.21/src/input/Makefile.am 2012-07-16 21:42:38.000000000 +0200 -+++ xine-lib-1.1.21-samba4/src/input/Makefile.am 2013-02-12 15:46:45.000000000 +0100 -@@ -150,7 +150,7 @@ - - xineplug_inp_smb_la_SOURCES = input_smb.c - xineplug_inp_smb_la_LIBADD = $(XINE_LIB) $(LIBSMBCLIENT_LIBS) $(LTLIBINTL) --xineplug_inp_smb_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS) -+xineplug_inp_smb_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS) $(LIBSMBCLIENT_CFLAGS) - xineplug_inp_smb_la_LDFLAGS = $(xineplug_ldflags) - - xineplug_inp_pvr_la_SOURCES = input_pvr.c diff --git a/xine-lib-1.1.4-optflags.patch b/xine-lib-1.1.4-optflags.patch deleted file mode 100644 index 72540f6..0000000 --- a/xine-lib-1.1.4-optflags.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- xine-lib-1.1.4/m4/optimizations.m4~ 2006-06-17 18:20:56.000000000 +0300 -+++ xine-lib-1.1.4/m4/optimizations.m4 2007-01-30 23:03:27.000000000 +0200 -@@ -107,7 +107,7 @@ - - DEBUG_CFLAGS="-O $DEBUG_CFLAGS" - -- if test x"$sarchopt" != "xno"; then -+ if false ; then - archopt_val= - - case "$host_or_hostalias" in diff --git a/xine-lib-1.2.12-dav1d_100_support.patch b/xine-lib-1.2.12-dav1d_100_support.patch new file mode 100644 index 0000000..f2b66b2 --- /dev/null +++ b/xine-lib-1.2.12-dav1d_100_support.patch @@ -0,0 +1,40 @@ +# HG changeset patch +# User Petri Hintukainen +# Date 1648142359 -7200 +# Thu Mar 24 19:19:19 2022 +0200 +# Node ID 97248a71021428baa49e2b2af34f566a3257452a +# Parent b044102cc61810eec217d3911028ec18f87408cc +dav1d 1.0.0 support + +https://sourceforge.net/p/xine/tickets/11/ + +diff -r b044102cc618 -r 97248a710214 ChangeLog +--- a/ChangeLog Thu Mar 17 14:05:08 2022 +0200 ++++ b/ChangeLog Thu Mar 24 19:19:19 2022 +0200 +@@ -1,3 +1,5 @@ ++ * Add dav1d 1.0.0 support. ++ + xine-lib (1.2.12) 2022-03-09 + * Add string tree library (generic info parser). + * Add OpenSL ES audio output plugin. +diff -r b044102cc618 -r 97248a710214 src/video_dec/dav1d.c +--- a/src/video_dec/dav1d.c Thu Mar 17 14:05:08 2022 +0200 ++++ b/src/video_dec/dav1d.c Thu Mar 24 19:19:19 2022 +0200 +@@ -544,11 +544,17 @@ + + /* multithreading */ + ncpu = xine_cpu_count(); ++#if DAV1D_API_VERSION_MAJOR > 5 ++ settings.n_threads = ncpu + 1; ++ xprintf(stream->xine, XINE_VERBOSITY_DEBUG, LOG_MODULE ": " ++ "Using %d threads\n", settings.n_threads); ++#else + settings.n_frame_threads = (ncpu > 8) ? 4 : (ncpu < 2) ? 1 : ncpu/2; + settings.n_tile_threads = MAX(1, ncpu - settings.n_frame_threads + 1); + xprintf(stream->xine, XINE_VERBOSITY_DEBUG, LOG_MODULE ": " + "Using %d frame threads, %d tile threads\n", + settings.n_frame_threads, settings.n_tile_threads); ++#endif + + /* dri frame allocator */ + settings.allocator.cookie = this; diff --git a/xine-lib-1.2.12-fix_older_libcaca.patch b/xine-lib-1.2.12-fix_older_libcaca.patch new file mode 100644 index 0000000..85bb014 --- /dev/null +++ b/xine-lib-1.2.12-fix_older_libcaca.patch @@ -0,0 +1,22 @@ +# HG changeset patch +# User Xavier Bachelot +# Date 1646916446 -3600 +# Thu Mar 10 13:47:26 2022 +0100 +# Node ID 6488085f778dd8115562ca308e2a60b502954dfc +# Parent 41217d6440d1f52478180d7e477aa7e7df953507 +Fix build with older libcaca + +This was introduced in 3f383e + +diff -r 41217d6440d1 -r 6488085f778d src/video_out/video_out_caca.c +--- a/src/video_out/video_out_caca.c Wed Mar 09 15:12:14 2022 +0200 ++++ b/src/video_out/video_out_caca.c Thu Mar 10 13:47:26 2022 +0100 +@@ -44,7 +44,7 @@ + # define caca_get_canvas_height cucul_get_canvas_height + # define caca_free_canvas cucul_free_canvas + # define caca_dither_t cucul_dither_t +-# define caca_create_dither define cucul_create_dither ++# define caca_create_dither cucul_create_dither + # define caca_dither_bitmap cucul_dither_bitmap + # define caca_free_dither cucul_free_dither + #endif diff --git a/xine-lib-cleanup-sources.sh b/xine-lib-cleanup-sources.sh deleted file mode 100755 index a250800..0000000 --- a/xine-lib-cleanup-sources.sh +++ /dev/null @@ -1,90 +0,0 @@ -#!/bin/bash - -if [ -z "$1" -o $# -ne 1 ]; then - echo "Usage: $0 " - exit 2 -fi - -version=$1 -tarball="xine-lib-$version.tar.xz" -dir="xine-lib-$version" -modtarball="xine-lib-$version-pruned.tar.xz" - - -if [ ! -f $tarball ]; then - echo "Can't find $tarball !" - exit 1 -fi - -echo "Uncompressing $tarball..." -rm -rf $dir -tar -xJf $tarball -cd $dir - -rmpluglib() -{ - echo "removing src/$1/$2..." - rm -rf src/$1/$2 - sed -i -e "s/SUBDIRS = \(.*\)$2\(.*\)/SUBDIRS = \1\2/g" src/$1/Makefile.am - sed -i -e "/^src\/$1\/$2/d" configure.ac -} - -# Main libraries -for remove in libfaad libffmpeg libmad libmpeg2 libmpeg2new dxr3 liba52 libdts; do - echo "removing src/$remove..." - rm -rf src/$remove - sed -i -e "/$remove/d" src/Makefile.am - sed -i -e "/^src\/$remove/d" configure.ac -done -# Input plugin libraries -for remove in vcd; do - rmpluglib input vcd -done -for remove in ffmpeg; do - rmpluglib combined ffmpeg -done -# Input plugins -# DVD reading (dvd input plugin) has now been in Fedora for a while (libdvdread, -# libdvdnav), the xine-lib code only wraps those libraries. (Decrypting and -# decoding are of course still separate and forbidden in Fedora.) -for p in vcd mms; do - echo "removing $p input plugin..." - # Remove sources - for sourcefile in `awk '/^xineplug_inp_'$p'_la_SOURCES/ { $1=""; $2=""; print $0}' src/input/Makefile.am`; do - if [ "`grep -v '^EXTRA_DIST = ' src/input/Makefile.am | grep -c $sourcefile`" -le 1 ]; then # if this file is only used for this plugin - rm -f src/input/$sourcefile - fi - done - # Remove from Makefile - sed -i -e "/xineplug_inp_$p/d" src/input/Makefile.am -done -# Demuxers -# These are ok now ( http://bugzilla.redhat.com/213597 ) -#for p in mpeg mpeg_block mpeg_ts mpeg_elem mpeg_pes yuv4mpeg2; do -# echo "removing $p demuxer..." -# [ -f src/demuxers/demux_$p.c ] && rm -f src/demuxers/demux_$p.c -# sed -i -e "/xineplug_dmx_$p/d" src/demuxers/Makefile.am -#done -# Postprocessors -echo "removing planar and deinterlace postprocessors..." -sed -i -e 's/deinterlace //g' src/post/Makefile.am # see comments in speedy.c -sed -i -e 's/planar //g' src/post/Makefile.am # requires libpostproc -sed -i -e '/post\/\(deinterlace\|planar\)/d' configure.ac -rm -rf src/post/{deinterlace,planar} -# NSF decoder -echo "removing NSF decoder..." -rm -rf src/libxineadec/{nosefart,nsf.c} -sed -i -e '/^xineplug_decode_nsf_la/,/^\s*$/d' \ - -e /xineplug_decode_nsf/d \ - -e 's/ nosefart//' \ - src/libxineadec/Makefile.am -sed -i -e '/nosefart\/Makefile/d' configure.ac -# Patches for forbidden libraries -rm -fv misc/lib*.patch win32/scripts/*.patch - -# All clean ! - -cd .. -echo "Generating $modtarball..." -tar -cJf $modtarball $dir -rm -rf $dir diff --git a/xine-lib.spec b/xine-lib.spec index 0b1bf41..98cc30c 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -1,252 +1,194 @@ -# TODO, sometime, maybe: -# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog -# - drop the opengl video out plugin? +%define _legacy_common_support 1 +%global plugin_abi 2.10 +%global codecdir %{_libdir}/codecs -%define plugin_abi 1.30 -%define codecdir %{_libdir}/codecs +%if 0%{?el9} + # RHBZ 2031269 / 2031744 + %global _without_dvdnav 1 + # RHBZ 2031270 + %global _without_nfs 1 +%endif + +# Not permitted in Fedora, ffmpeg covers this anyway +%global _without_faad2 1 +%global _without_fame 1 + +# Pending inclusion to Fedora +%global _without_dca 1 +%global _without_vcd 1 %ifarch %{ix86} - %define have_vidix 1 + %global have_vidix 1 %else - %define have_vidix 0 -%endif # ix86 - -%ifarch %{arm} -%define _without_directfb 1 + %global have_vidix 0 %endif -%if 0%{?fedora} > 14 -%define _disable_v4l1 1 -%endif - -%if 0%{?fedora} > 16 -%define _without_esound 1 -%endif - -%if 0%{?fedora} > 16 -%define bluray 1 -%endif - -%if 0%{?fedora} > 19 -%define _without_directfb 1 -%endif +#global snapshot 1 +#global date 20220307 +#global revision 15076 Summary: A multimedia engine Name: xine-lib -Version: 1.1.21 -Release: 10%{?dist} -License: GPLv2+ -Group: System Environment/Libraries -URL: http://www.xine-project.org/ -# The tarball is generated from the upstream tarball using -# the script in SOURCE1. It prunes potentially patented code -#Source0: http://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.xz -Source0: xine-lib-%{version}-pruned.tar.xz -Source1: xine-lib-cleanup-sources.sh -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Version: 1.2.12 +Release: 10%{?snapshot:.%{date}hg%{revision}}%{?dist} +License: GPL-2.0-or-later +URL: https://www.xine-project.org/ +%if ! 0%{?snapshot} +Source0: https://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.xz +%else +Source0: xine-lib-%{version}-%{date}hg%{revision}.tar.xz +%endif +# Script to make a snapshot +Source1: make_xinelib_snapshot.sh -Patch0: xine-lib-1.1.19-no_autopoint.patch -Patch1: xine-lib-1.1.4-optflags.patch -# http://bugzilla.redhat.com/470568 -Patch2: xine-lib-1.1.17-avsync_hack.patch -# http://bugzilla.redhat.com/477226 -Patch3: xine-lib-1.1.16.2-multilib.patch -# find the Samba 4 libsmbclient.h using pkg-config (#909825) -Patch4: xine-lib-1.1.21-samba4.patch +# https://sourceforge.net/p/xine/xine-lib-1.2/ci/928cdea835e656d6e1411c767eace0d10b6cc452/ +Patch1: xine-lib-1.2.12-fix_older_libcaca.patch +# https://sourceforge.net/p/xine/xine-lib-1.2/ci/97248a71021428baa49e2b2af34f566a3257452a/ +Patch2: xine-lib-1.2.12-dav1d_100_support.patch +Patch3: ffmpeg51.patch -Provides: xine-lib(plugin-abi) = %{plugin_abi} -%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}} +Provides: xine-lib(plugin-abi) = %{plugin_abi} +Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi} -# DVD plugin moved from there -Conflicts: xine-lib-extras-freeworld < 1.1.21-3 +Obsoletes: xine-lib-extras-freeworld < 1.1.21-10 +Provides: xine-lib-extras-freeworld = %{version}-%{release} -BuildRequires: autoconf automake libtool -# X11 -BuildRequires: libX11-devel -BuildRequires: libXv-devel -BuildRequires: libXinerama-devel -BuildRequires: libXvMC-devel -BuildRequires: libGLU-devel -BuildRequires: libv4l-devel -BuildRequires: libxcb-devel -# Video -BuildRequires: SDL-devel -BuildRequires: libtheora-devel -BuildRequires: libmng-devel -BuildRequires: aalib-devel >= 1.4 -BuildRequires: libcaca-devel >= 0.99-0.5.beta14 -%if 0%{!?_without_directfb:1} -BuildRequires: directfb-devel -%endif # directfb -BuildRequires: ImageMagick-devel >= 6.2.4.6-1 -%if 0%{?_with_freetype:1} -BuildRequires: fontconfig-devel -%endif # freetype -# Audio -BuildRequires: alsa-lib-devel >= 0.9.0 -%if 0%{!?_without_esound:1} -BuildRequires: esound-devel -%endif # esound +BuildRequires: a52dec-devel +BuildRequires: aalib-devel +BuildRequires: alsa-lib-devel +%{!?_without_faad2:BuildRequires: faad2-devel} +BuildRequires: ffmpeg-free-devel BuildRequires: flac-devel -BuildRequires: jack-audio-connection-kit-devel +BuildRequires: fontconfig-devel +BuildRequires: gcc +BuildRequires: gettext-devel +BuildRequires: gnutls-devel +BuildRequires: gtk2-devel +%{!?_without_imagemagick:BuildRequires: ImageMagick-devel} +BuildRequires: pipewire-jack-audio-connection-kit-devel +BuildRequires: libaom-devel >= 1.0.0 +BuildRequires: libbluray-devel >= 0.2.1 +BuildRequires: libcaca-devel +BuildRequires: libcdio-devel +BuildRequires: libdav1d-devel >= 0.3.1 +%{!?_without_dca:BuildRequires: libdca-devel} +%{!?_without_dvdnav:BuildRequires: libdvdnav-devel} +BuildRequires: libdvdread-devel +%{!?_without_fame:BuildRequires: libfame-devel} +BuildRequires: libgcrypt-devel +BuildRequires: libGLU-devel +BuildRequires: libmad-devel +BuildRequires: libmng-devel BuildRequires: libmodplug-devel BuildRequires: libmpcdec-devel -BuildRequires: libvorbis-devel -BuildRequires: speex-devel -BuildRequires: wavpack-devel -# CDs -BuildRequires: libcdio-devel -# Other -BuildRequires: pkgconfig -BuildRequires: pkgconfig(libpulse) -BuildRequires: gtk2-devel +%{!?_without_nfs:BuildRequires: libnfs-devel} +BuildRequires: libpng-devel >= 1.6.0 BuildRequires: libsmbclient-devel -BuildRequires: libdvdnav-devel -BuildRequires: libdvdread-devel -%if 0%{?bluray} -BuildRequires: libbluray-devel -%endif +BuildRequires: libssh2-devel +BuildRequires: libtheora-devel +BuildRequires: libtool +BuildRequires: libv4l-devel +BuildRequires: libva-devel +BuildRequires: libvdpau-devel +BuildRequires: libvorbis-devel +BuildRequires: libvpx-devel +BuildRequires: libX11-devel +BuildRequires: libxcb-devel +BuildRequires: libXext-devel +BuildRequires: libXinerama-devel +BuildRequires: libXt-devel +BuildRequires: libXv-devel +BuildRequires: mesa-libEGL-devel +BuildRequires: openssl-devel >= 1.0.2 +BuildRequires: pkgconfig(libpulse) +BuildRequires: SDL-devel +BuildRequires: speex-devel +%{!?_without_vcd:BuildRequires: vcdimager-devel} +BuildRequires: wavpack-devel +BuildRequires: wayland-devel -# Dropped in Fedora 9 -Obsoletes: xine-lib-arts < %{version}-%{release} - -# Included in main package since Fedora 12 -Obsoletes: xine-lib-pulseaudio < 1.1.16.3-5 -Provides: xine-lib-pulseaudio = %{version}-%{release} %description This package contains the Xine library. It can be used to play back various media, decode multimedia files from local disk drives, and display multimedia streamed over the Internet. It interprets many of the most -common multimedia formats available - and some uncommon formats, too. +common multimedia formats available - and some uncommon formats, too. %package devel Summary: Xine library development files -Group: Development/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} -Requires: pkgconfig -Requires: zlib-devel +Requires: zlib-devel%{?_isa} %description devel This package contains development files for %{name}. %package extras -Summary: Additional plugins for %{name} -Group: System Environment/Libraries +Summary: Additional plugins for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} -#Requires: xine-lib(plugin-abi) = %{plugin_abi} %description extras This package contains extra plugins for %{name}: -%if 0%{!?_without_esound:1} - - EsounD -%endif # esound - JACK - GDK-Pixbuf - SMB - SDL - AA-lib - Libcaca - - Image decoding -%if 0%{!?_without_directfb:1} - - DirectFB output -%endif # directfb +%{!?_without_imagemagick: - Image decoding} %prep -%setup -q -%patch0 -p1 -b .no_autopoint -# extra work for to omit old libtool-related crud -rm -f configure ltmain.sh libtool m4/libtool.m4 m4/ltoptions.m4 m4/ltversion.m4 -%patch1 -p1 -b .optflags -%patch2 -p1 -b .avsync_hack -%patch3 -p1 -b .multilib -%patch4 -p1 -b .samba4 - -./autogen.sh noconfig +%autosetup -p1 %{?snapshot:-n %{name}-%{version}-%{date}hg%{revision}} %build -export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" " -export FFMPEG_POSTPROC_CFLAGS=" " FFMPEG_POSTPROC_LIBS=" " -export FFMPEG_UTIL_CFLAGS=" " FFMPEG_UTIL_LIBS=" " -export SDL_CFLAGS="$(sdl-config --cflags)" SDL_LIBS="$(sdl-config --libs)" +autoreconf -fiv # Keep list of options in mostly the same order as ./configure --help. %configure \ --disable-dependency-tracking \ --enable-ipv6 \ -%if 0%{!?_without_directfb:1} - --enable-directfb \ -%endif # directfb - --enable-v4l \ + --enable-v4l2 \ --enable-libv4l \ - --enable-xvmc \ --disable-gnomevfs \ - --disable-a52dec \ - --disable-mad \ - --disable-vcd \ - --disable-asf \ - --disable-faad \ -%if 0%{?_with_freetype:1} -%if 0%{?_with_antialiasing:1} + %{?_without_faad2:--disable-faad} \ + %{?_without_dca:--disable-dts} \ --enable-antialiasing \ -%endif # antialiasing --with-freetype \ --with-fontconfig \ -%endif # freetype --with-caca \ - --with-external-ffmpeg \ - --with-external-dvdnav \ + %{!?_without_dvdnav:--with-external-dvdnav} \ --with-xv-path=%{_libdir} \ --with-libflac \ - --with-external-libmpcdec \ - --without-arts \ -%if 0%{?_without_esound:1} --without-esound \ -%endif --with-wavpack \ --with-real-codecs-path=%{codecdir} \ --with-w32-path=%{codecdir} -make %{?_smp_mflags} +# Remove rpath +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool + +%make_build %install -rm -rf $RPM_BUILD_ROOT __docs -make install DESTDIR=$RPM_BUILD_ROOT -%find_lang libxine1 -cp -pR $RPM_BUILD_ROOT%{_docdir}/xine-lib __docs -rm -rf $RPM_BUILD_ROOT%{_docdir}/xine-lib +%make_install +%find_lang libxine2 +mv %{buildroot}%{_docdir}/xine-lib __docs # Removing useless files -rm -Rf $RPM_BUILD_ROOT%{_libdir}/libxine.la __docs/README \ - __docs/README.{freebsd,irix,solaris,MINGWCROSS,WIN32} \ - __docs/README.{dxr3,network_dvd} +rm -Rf %{buildroot}%{_libdir}/libxine*.la __docs/README \ + __docs/README.{freebsd,irix,macosx,solaris,MINGWCROSS,WIN32} # Directory for binary codecs -mkdir -p $RPM_BUILD_ROOT%{codecdir} - -# unpackaged files -%if 0%{?_disable_v4l1:1} -rm -fv $RPM_BUILD_ROOT%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so -rm -fv $RPM_BUILD_ROOT%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so -%endif +mkdir -p %{buildroot}%{codecdir} -%clean -rm -rf $RPM_BUILD_ROOT - - -%post -p /sbin/ldconfig - -%postun -p /sbin/ldconfig - - -%files -f libxine1.lang -%defattr(-,root,root,-) -%doc AUTHORS COPYING COPYING.LIB CREDITS ChangeLog* README TODO +%files -f libxine2.lang +%doc AUTHORS CREDITS ChangeLog* README TODO %doc __docs/README.* __docs/faq.* +%license COPYING COPYING.LIB %dir %{codecdir}/ -%{_datadir}/xine/ -%{_libdir}/libxine.so.* +%{_datadir}/xine-lib/ +%{_libdir}/libxine.so.2* %{_mandir}/man5/xine.5* %dir %{_libdir}/xine/ %dir %{_libdir}/xine/plugins/ @@ -259,7 +201,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_audio_filters.so %{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_goom.so %{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_mosaico.so +%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_planar.so %{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_switch.so +%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_tvtime.so %{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_post_visualizations.so %if %{have_vidix} %dir %{_libdir}/xine/plugins/%{plugin_abi}/vidix/ @@ -275,112 +219,104 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/xine/plugins/%{plugin_abi}/vidix/savage_vid.so %{_libdir}/xine/plugins/%{plugin_abi}/vidix/sis_vid.so %{_libdir}/xine/plugins/%{plugin_abi}/vidix/unichrome_vid.so -%endif # vidix +%endif %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_alsa.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_file.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_none.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_oss.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_bitplane.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_a52.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_dav1d.so +%{!?_without_dca:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_dts.so} +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_dvaudio.so +%{!?_without_faad2:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_faad.so} +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_ff.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gsm610.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_libaom.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_libjpeg.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_libpng.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_libvpx.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_lpcm.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_mad.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_mpc.so -%ifarch %{ix86} -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_qt.so -%endif # ix86 +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_mpeg2.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_rawvideo.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_real.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_rgb.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_speex.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spu.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucc.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spucmml.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spudvb.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_spuhdmv.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_sputext.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_theora.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_vorbis.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_to_spdif.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_vdpau.so %ifarch %{ix86} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_w32dll.so -%endif # ix86 -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_yuv.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_audio.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_avi.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_fli.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_flv.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_games.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_iff.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_image.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_matroska.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mng.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_block.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_elem.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_pes.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mpeg_ts.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_nsv.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_ogg.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_pva.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_qt.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_rawdv.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_real.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_slave.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_sputext.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv_frames.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_yuv4mpeg2.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_flac.so -%if 0%{?bluray} -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_bluray.so %endif +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_asf.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_audio.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_fli.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_games.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_image.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_mng.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_modplug.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_nsv.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_playlist.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_pva.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_slave.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_video.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dxr3.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_flac.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_hw_frame_vaapi.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_bluray.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_cdda.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_crypto.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvb.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvd.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_file.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_http.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_net.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pnm.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtp.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtsp.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_stdin_fifo.so -%if ! 0%{?_disable_v4l1:1} +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_mms.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_network.so +%{!?_without_nfs:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_nfs.so} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_pvr.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l.so -%endif +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtp.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_ssh.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l2.so +%{!?_without_vcd:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_vcd.so} +%{!?_without_vcd:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_vcdo.so} +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_nsf.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_sputext.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_tls_gnutls.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_tls_openssl.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_va_display_drm.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_va_display_glx.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_va_display_wl.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_va_display_x11.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vdr.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_fb.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_none.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_gl_glx.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_gl_egl_x11.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_gl_egl_wl.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_opengl.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_opengl2.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_raw.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_syncfb.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_vaapi.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_vdpau.so %if %{have_vidix} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_vidix.so -%endif # vidix +%endif %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbshm.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbxv.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xshm.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xv.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xvmc.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xxmc.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_wavpack.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_xiph.so %files extras -%defattr(-,root,root,-) -%if 0%{!?_without_esound:1} -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_esd.so -%endif # esound %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_jack.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gdk_pixbuf.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_image.so +%{!?_without_imagemagick:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_image.so} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_smb.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_aa.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_caca.so -%if 0%{!?_without_directfb:1} -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_directfb.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xdirectfb.so -%endif # directfb %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_sdl.so %files devel -%defattr(-,root,root,-) %doc __docs/hackersguide/* %{_bindir}/xine-config %{_bindir}/xine-list* @@ -394,6 +330,306 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Mon Jan 23 2023 Neal Gompa - 1.2.12-10 +- Adapt for Fedora + +* Sun Dec 04 2022 Sérgio Basto - 1.2.12-9 +- Rebuild for libjxl on el9 + +* Mon Sep 26 2022 Leigh Scott - 1.2.12-8 +- Rebuild for new flac + +* Sun Sep 04 2022 Leigh Scott - 1.2.12-7 +- Add requires ffmpeg-libs + +* Mon Aug 08 2022 RPM Fusion Release Engineering - 1.2.12-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild and ffmpeg + 5.1 + +* Sat Jul 23 2022 Leigh Scott - 1.2.12-5 +- Rebuild for new ffmpeg + +* Thu Jun 23 2022 Robert-André Mauchin - 1.2.12-4 +- Rebuilt for new AOM, dav1d and jpegxl + +* Fri Mar 25 2022 Xavier Bachelot - 1.2.12-3 +- Add patch for dav1d 1.0.0 support + +* Thu Mar 10 2022 Xavier Bachelot - 1.2.12-2 +- Fix build on EL7 and EL8 + +* Thu Mar 10 2022 Xavier Bachelot - 1.2.12-1 +- Update to 1.2.12 + +* Tue Mar 08 2022 Xavier Bachelot 1.2.11-14.20220307hg15076 +- Specfile clean up +- Update xine-lib snapshot +- Add support for EL9 + +* Sat Feb 05 2022 Leigh Scott - 1.2.11-13.20220131hg15030 +- Update to xine-lib snapshot. + +* Wed Jan 19 2022 Nicolas Chauvet - 1.2.11-12 +- Rebuilt + +* Sat Dec 11 2021 Sérgio Basto - 1.2.11-11 +- Rebuilt for new ImageMagick on F34 + +* Thu Dec 02 2021 Sérgio Basto - 1.2.11-10 +- Rebuilt for libjxl-0.6.1 + +* Mon Nov 22 2021 Sérgio Basto - 1.2.11-9 +- Rebuilt for new ImageMagick + +* Tue Aug 03 2021 RPM Fusion Release Engineering - 1.2.11-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Sun Jun 13 2021 Robert-André Mauchin - 1.2.11-7 +- Rebuild for new aom + +* Thu Feb 04 2021 RPM Fusion Release Engineering - 1.2.11-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Thu Dec 31 2020 Leigh Scott - 1.2.11-5 +- Rebuilt for new ffmpeg snapshot + +* Mon Dec 14 2020 Leigh Scott - 1.2.11-4 +- Actually do the dav1d rebuild + +* Mon Dec 14 2020 Robert-André Mauchin 1.2.11-3 +- Rebuild for dav1d SONAME bump + +* Fri Dec 11 2020 Xavier Bachelot 1.2.11-2 +- Drop support for EOL distros + +* Tue Dec 08 2020 Xavier Bachelot 1.2.11-1 +- Update to 1.2.11 + +* Wed Oct 21 2020 Leigh Scott - 1.2.10-12 +- Rebuild for new libdvdread + +* Sat Oct 17 2020 Xavier Bachelot 1.2.10-11 +- Re-enable libssh2 for EL8 and F31+ +- Fix build if libssh2 support is disabled but libssh2-devel is installed (RFBZ#5796) + +* Wed Aug 19 2020 RPM Fusion Release Engineering - 1.2.10-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 08 2020 Leigh Scott - 1.2.10-9 +- Rebuilt + +* Wed Jul 01 2020 Leigh Scott - 1.2.10-8 +- Rebuilt + +* Sun May 24 2020 Leigh Scott - 1.2.10-7 +- Rebuild for dav1d SONAME bump + +* Wed May 20 2020 Sérgio Basto - 1.2.10-6 +- Rebuild for ImageMagick on el7 + +* Fri Apr 10 2020 Leigh Scott - 1.2.10-5 +- Rebuild for new libcdio version + +* Sat Feb 22 2020 RPM Fusion Release Engineering - 1.2.10-4 +- Rebuild for ffmpeg-4.3 git + +* Wed Feb 05 2020 RPM Fusion Release Engineering - 1.2.10-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jan 18 2020 Xavier Bachelot 1.2.10-2 +- Disable libssh2 for EL8. + +* Fri Dec 13 2019 Xavier Bachelot 1.2.10-1 +- Update to 1.2.10. +- Enable aom for EL7. +- Enable libcaca and ImageMagick for EL8. + +* Fri Nov 15 2019 Dominik 'Rathann' Mierzejewski - 1.2.9-22.20190831hg14506 +- rebuild for libdvdread ABI bump + +* Thu Oct 24 2019 Leigh Scott - 1.2.9-21.20190831hg14506 +- Rebuild for dav1d SONAME bump + +* Wed Sep 11 2019 Leigh Scott - 1.2.9-20.20190831hg14506 +- Rebuild for new libnfs version + +* Tue Sep 03 2019 Xavier Bachelot 1.2.9-19.20190831hg14506 +- Fix 32 bits build. + +* Tue Sep 03 2019 Xavier Bachelot 1.2.9-18.20190831hg14506 +- Update xine-lib snapshot. +- Enable libpng based video decoder. +- Add XvMC support back. +- Enable libdav1d based video decoder (F31+). +- Rework features enablement. +- Disable currently missing features on EL8. + +* Wed Aug 21 2019 Leigh Scott - 1.2.9-17.20190525hg14404 +- Rebuild for aom SONAME bump +- Drop XvMC support (rfbz #5328) + +* Tue Aug 06 2019 Leigh Scott - 1.2.9-16.20190525hg14404 +- Rebuild for new ffmpeg version + +* Mon May 27 2019 Xavier Bachelot 1.2.9-15.20190525hg14404 +- Update xine-lib snapshot. +- Remove now unneeded 32 bits build fix. +- Cosmetic spec cleanup. +- Remove unneeded SDL build flags setting. + +* Fri May 17 2019 Xavier Bachelot 1.2.9-14.20190516hg14396 +- Update to xine-lib snapshot. +- Add script to make a snapshot. +- Enable EGL support. +- Enable mpeg2 encoding support for dxr3. +- Don't glob soname. +- Clean up and sort BuildRequires. +- Enable fontconfig support. +- No NFS support on EL6. +- Add patch to revert gettext version bump on EL6. +- No wayland nor openssl support on EL6. + +* Tue Mar 05 2019 RPM Fusion Release Engineering - 1.2.9-13.20181129hg14263 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Dec 10 2018 Xavier Bachelot 1.2.9-12.20181129hg14263 +- Update to xine-lib snapshot. +- Enable SSH and NFS input plugins. +- Enable TLS support. +- Enable AV1 support through libaom (Fedora only). +- Add support for RPI. + +* Thu Dec 06 2018 Antonio Trande - 1.2.9-11 +- Rebuild for ffmpeg-3.* on el7 + +* Wed Aug 29 2018 Xavier Bachelot 1.2.9-10.1 +- Rebuilt for ImageMagick soname bump. + +* Sun Aug 19 2018 Leigh Scott - 1.2.9-9 +- Rebuilt for Fedora 29 Mass Rebuild binutils issue + +* Fri Jul 27 2018 RPM Fusion Release Engineering - 1.2.9-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Fri Jul 20 2018 Xavier Bachelot 1.2.9-7 +- Add BR: gcc. + +* Thu Mar 08 2018 RPM Fusion Release Engineering - 1.2.9-6 +- Rebuilt for new ffmpeg snapshot + +* Thu Mar 01 2018 RPM Fusion Release Engineering - 1.2.9-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sat Jan 27 2018 Leigh Scott - 1.2.9-4 +- Rebuild for new libcdio, libvpx and vcdimager + +* Thu Jan 18 2018 Leigh Scott - 1.2.9-3 +- Rebuilt for ffmpeg-3.5 git + +* Mon Jan 15 2018 Nicolas Chauvet - 1.2.9-2 +- Rebuilt for VA-API 1.0.0 + +* Fri Jan 12 2018 Xavier Bachelot 1.2.9-1 +- Update to 1.2.9. + +* Sun Aug 27 2017 Nicolas Chauvet - 1.2.8-4 +- Rebuilt for ImageMagick + +* Sat Apr 29 2017 Leigh Scott - 1.2.8-3 +- Rebuild for ffmpeg update + +* Tue Mar 21 2017 RPM Fusion Release Engineering - 1.2.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Feb 21 2017 Xavier Bachelot 1.2.8-1 +- Update to 1.2.8. +- All patches are now upstream, remove them. +- Use %%license. +- Fix building on EL6. +- Drop now obsolete BR: gawk and sed. + +* Fri Nov 18 2016 Adrian Reber - 1.2.6-14 +- Rebuilt for libcdio-0.94 + +* Sat Jul 30 2016 Julian Sikorski - 1.2.6-13 +- Rebuilt for ffmpeg-3.1.1 + +* Mon Jul 25 2016 Sérgio Basto - 1.2.6-12 +- Fix build with libxcb-1.12, https://bugs.xine-project.org/show_bug.cgi?id=573 + +* Fri Jul 08 2016 Sérgio Basto - 1.2.6-11 +- Build again with vcd support + +* Fri Jul 01 2016 Sérgio Basto - 1.2.6-10 +- Remove BR: vcdimager-devel and disable vcd; package retired in F24 + +* Sun May 01 2016 Sérgio Basto - 1.2.6-9 +- Add patch to build with ffmpeg3 + +* Tue Nov 04 2014 Nicolas Chauvet - 1.2.6-8 +- Rebuilt for vaapi 0.36 + +* Mon Oct 20 2014 Sérgio Basto - 1.2.6-7 +- Rebuilt for FFmpeg 2.4.3 + +* Wed Oct 01 2014 Sérgio Basto - 1.2.6-6 +- Rebuilt again for FFmpeg 2.3.x (with FFmpeg 2.3.x in build root) + +* Wed Oct 01 2014 Sérgio Basto - 1.2.6-5 +- Rebuilt for FFmpeg 2.3.x (with FFmpeg 2.3.x in build root) + +* Sat Sep 27 2014 kwizart - 1.2.6-4 +- Rebuilt for FFmpeg 2.3x + +* Thu Sep 25 2014 Xavier Bachelot 1.2.6-3 +- Rebuild for ffmpeg 2.4. + +* Thu Aug 07 2014 Sérgio Basto - 1.2.6-2 +- Rebuilt for ffmpeg-2.3 + +* Sun Jul 06 2014 Xavier Bachelot 1.2.6-1 +- Update to 1.2.6. + +* Tue Apr 08 2014 Xavier Bachelot 1.2.5-1 +- Update to 1.2.5. +- Drop upstream'ed patch. +- Enable VP8/9 decoder through libvpx. + +* Tue Mar 25 2014 Xavier Bachelot 1.2.4-5 +- Rebuild for ffmpeg 2.2. + +* Wed Feb 26 2014 Nicolas Chauvet - 1.2.4-4 +- Rebuilt for libcdio + +* Tue Nov 05 2013 Xavier Bachelot 1.2.4-3 +- Rebuild for ffmpeg 2.1. + +* Sat Oct 12 2013 Xavier Bachelot 1.2.4-2 +- Make the build more verbose. +- Don't run autogen.sh gratuitously and drop BR: autoconf automake libtool. + Consequently, add a code snippet to remove rpath. +- Drop obsolete no autopoint patch and Requires: gettext-devel instead. +- Drop obsolete Requires: pkgconfig for -devel subpackage. +- Drop obsolete Group: tags. +- Bump xine-lib-extras-freeworld Obsoletes:. + +* Tue Sep 24 2013 Xavier Bachelot 1.2.4-1 +- Update to 1.2.4. +- Drop upstream'ed patches and hacks. +- More spec file cleanup. + +* Fri Sep 20 2013 Xavier Bachelot 1.2.3-2 +- Update to 1.2.3. +- Merge xine-lib and xine-lib-extras-freeworld. +- Use pristine source. +- Clean up old Obsoletes/Provides. +- Clean up old conditional building. +- Clean up spec. +- Enable VDPAU support. +- Enable VAAPI support. +- Add a patch to fix a lock up when vaapi plugin init fails. +- Move test input plugin to -extras. + * Fri Sep 20 2013 Xavier Bachelot 1.1.21-10 - Rebuild for libbluray-0.4.0. From 86d512f4c7602a49dab76c421e77b6a3087897de Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Wed, 15 Feb 2023 19:06:41 -0500 Subject: [PATCH 48/82] rebuild for libvpx --- xine-lib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xine-lib.spec b/xine-lib.spec index 98cc30c..9db83db 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -30,7 +30,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.2.12 -Release: 10%{?snapshot:.%{date}hg%{revision}}%{?dist} +Release: 11%{?snapshot:.%{date}hg%{revision}}%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -330,6 +330,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Wed Feb 15 2023 Tom Callaway - 1.2.12-11 +- rebuild for libvpx + * Mon Jan 23 2023 Neal Gompa - 1.2.12-10 - Adapt for Fedora From 6de5350a6fb415e838a3220169cf8f01de04ddc6 Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Sun, 12 Mar 2023 13:12:52 -0400 Subject: [PATCH 49/82] Update to 1.2.13 --- .gitignore | 1 + ffmpeg51.patch | 35 ---- sources | 2 +- xine-lib-1.2.12-dav1d_100_support.patch | 40 ---- xine-lib-1.2.12-fix_older_libcaca.patch | 22 --- xine-lib-1.2.13-ffmpeg6-compatibility.patch | 196 ++++++++++++++++++++ xine-lib.spec | 15 +- 7 files changed, 206 insertions(+), 105 deletions(-) delete mode 100644 ffmpeg51.patch delete mode 100644 xine-lib-1.2.12-dav1d_100_support.patch delete mode 100644 xine-lib-1.2.12-fix_older_libcaca.patch create mode 100644 xine-lib-1.2.13-ffmpeg6-compatibility.patch diff --git a/.gitignore b/.gitignore index 1622692..46d7ce2 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ xine-lib-1.1.19-pruned.tar.bz2 /xine-lib-1.1.20.1-pruned.tar.xz /xine-lib-1.1.21-pruned.tar.xz /xine-lib-1.2.12.tar.xz +/xine-lib-1.2.13.tar.xz diff --git a/ffmpeg51.patch b/ffmpeg51.patch deleted file mode 100644 index 40cec1e..0000000 --- a/ffmpeg51.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff -uNrp a/src/combined/ffmpeg/ffmpeg_compat.h b/src/combined/ffmpeg/ffmpeg_compat.h ---- a/src/combined/ffmpeg/ffmpeg_compat.h 2022-03-06 16:31:23.000000000 +0000 -+++ b/src/combined/ffmpeg/ffmpeg_compat.h 2022-08-09 12:09:50.709059577 +0100 -@@ -19,6 +19,8 @@ - * - * Compability macros for various ffmpeg versions - */ -+#include -+#include - - #ifndef XINE_AVCODEC_COMPAT_H - #define XINE_AVCODEC_COMPAT_H -diff -uNrp a/src/combined/ffmpeg/ffmpeg_decoder.h b/src/combined/ffmpeg/ffmpeg_decoder.h ---- a/src/combined/ffmpeg/ffmpeg_decoder.h 2022-03-06 16:31:23.000000000 +0000 -+++ b/src/combined/ffmpeg/ffmpeg_decoder.h 2022-08-09 12:42:16.081772933 +0100 -@@ -17,6 +17,8 @@ - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA - */ -+#include -+#include - - #ifndef HAVE_XINE_DECODER_H - #define HAVE_XINE_DECODER_H -diff -uNrp a/src/combined/ffmpeg/input_avio.c b/src/combined/ffmpeg/input_avio.c ---- a/src/combined/ffmpeg/input_avio.c 2022-03-06 16:31:23.000000000 +0000 -+++ b/src/combined/ffmpeg/input_avio.c 2022-08-09 11:33:54.527895581 +0100 -@@ -28,6 +28,7 @@ - #include - #include - -+#include - #include - - #define LOG_MODULE "libavio" diff --git a/sources b/sources index 921d38c..4f5e02e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xine-lib-1.2.12.tar.xz) = cdc913d0c78a3a34bd6e4060040fd844f22dbc673330e30769c83e9682a46f3369af8f59bd0c759ddc601de979b13d53e7ed10c54f3b78bdc63afceb484826be +SHA512 (xine-lib-1.2.13.tar.xz) = 088a446dd962c3cef621b56edd48fa2e1b47566108b4097d74899a9e5316a1f205993041d3070f45b706f168837579811e5e98c7e52ec278c683379407084bc4 diff --git a/xine-lib-1.2.12-dav1d_100_support.patch b/xine-lib-1.2.12-dav1d_100_support.patch deleted file mode 100644 index f2b66b2..0000000 --- a/xine-lib-1.2.12-dav1d_100_support.patch +++ /dev/null @@ -1,40 +0,0 @@ -# HG changeset patch -# User Petri Hintukainen -# Date 1648142359 -7200 -# Thu Mar 24 19:19:19 2022 +0200 -# Node ID 97248a71021428baa49e2b2af34f566a3257452a -# Parent b044102cc61810eec217d3911028ec18f87408cc -dav1d 1.0.0 support - -https://sourceforge.net/p/xine/tickets/11/ - -diff -r b044102cc618 -r 97248a710214 ChangeLog ---- a/ChangeLog Thu Mar 17 14:05:08 2022 +0200 -+++ b/ChangeLog Thu Mar 24 19:19:19 2022 +0200 -@@ -1,3 +1,5 @@ -+ * Add dav1d 1.0.0 support. -+ - xine-lib (1.2.12) 2022-03-09 - * Add string tree library (generic info parser). - * Add OpenSL ES audio output plugin. -diff -r b044102cc618 -r 97248a710214 src/video_dec/dav1d.c ---- a/src/video_dec/dav1d.c Thu Mar 17 14:05:08 2022 +0200 -+++ b/src/video_dec/dav1d.c Thu Mar 24 19:19:19 2022 +0200 -@@ -544,11 +544,17 @@ - - /* multithreading */ - ncpu = xine_cpu_count(); -+#if DAV1D_API_VERSION_MAJOR > 5 -+ settings.n_threads = ncpu + 1; -+ xprintf(stream->xine, XINE_VERBOSITY_DEBUG, LOG_MODULE ": " -+ "Using %d threads\n", settings.n_threads); -+#else - settings.n_frame_threads = (ncpu > 8) ? 4 : (ncpu < 2) ? 1 : ncpu/2; - settings.n_tile_threads = MAX(1, ncpu - settings.n_frame_threads + 1); - xprintf(stream->xine, XINE_VERBOSITY_DEBUG, LOG_MODULE ": " - "Using %d frame threads, %d tile threads\n", - settings.n_frame_threads, settings.n_tile_threads); -+#endif - - /* dri frame allocator */ - settings.allocator.cookie = this; diff --git a/xine-lib-1.2.12-fix_older_libcaca.patch b/xine-lib-1.2.12-fix_older_libcaca.patch deleted file mode 100644 index 85bb014..0000000 --- a/xine-lib-1.2.12-fix_older_libcaca.patch +++ /dev/null @@ -1,22 +0,0 @@ -# HG changeset patch -# User Xavier Bachelot -# Date 1646916446 -3600 -# Thu Mar 10 13:47:26 2022 +0100 -# Node ID 6488085f778dd8115562ca308e2a60b502954dfc -# Parent 41217d6440d1f52478180d7e477aa7e7df953507 -Fix build with older libcaca - -This was introduced in 3f383e - -diff -r 41217d6440d1 -r 6488085f778d src/video_out/video_out_caca.c ---- a/src/video_out/video_out_caca.c Wed Mar 09 15:12:14 2022 +0200 -+++ b/src/video_out/video_out_caca.c Thu Mar 10 13:47:26 2022 +0100 -@@ -44,7 +44,7 @@ - # define caca_get_canvas_height cucul_get_canvas_height - # define caca_free_canvas cucul_free_canvas - # define caca_dither_t cucul_dither_t --# define caca_create_dither define cucul_create_dither -+# define caca_create_dither cucul_create_dither - # define caca_dither_bitmap cucul_dither_bitmap - # define caca_free_dither cucul_free_dither - #endif diff --git a/xine-lib-1.2.13-ffmpeg6-compatibility.patch b/xine-lib-1.2.13-ffmpeg6-compatibility.patch new file mode 100644 index 0000000..11056aa --- /dev/null +++ b/xine-lib-1.2.13-ffmpeg6-compatibility.patch @@ -0,0 +1,196 @@ +# HG changeset patch +# User Torsten Jager +# Date 1674929040 -3600 +# Sat Jan 28 19:04:00 2023 +0100 +# Node ID 771f4ae27e582123ff3500444718fc8f96186d74 +# Parent 250f1c09f4244c3e7ca7d414410c57bd387792c3 +ffmpeg compatibility update. + +diff -r 250f1c09f424 -r 771f4ae27e58 src/combined/ffmpeg/demux_avformat.c +--- a/src/combined/ffmpeg/demux_avformat.c Wed Jan 25 17:03:55 2023 +0100 ++++ b/src/combined/ffmpeg/demux_avformat.c Sat Jan 28 19:04:00 2023 +0100 +@@ -1,5 +1,5 @@ + /* +- * Copyright (C) 2013-2022 the xine project ++ * Copyright (C) 2013-2023 the xine project + * Copyright (C) 2013-2020 Petri Hintukainen + * + * This file is part of xine, a free video player. +@@ -423,8 +423,13 @@ + } + + #ifdef XFF_CODECPAR ++# if XFF_AUDIO_CHANNEL_LAYOUT < 2 + if (st->codecpar && st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO && + st->codecpar->sample_rate != 0 && st->codecpar->channels != 0) ++# else ++ if (st->codecpar && st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO && ++ st->codecpar->sample_rate != 0 && st->codecpar->ch_layout.nb_channels != 0) ++# endif + #else + if (st->codec && st->codec->codec_type == AVMEDIA_TYPE_AUDIO && + st->codec->sample_rate != 0 && st->codec->channels != 0) +@@ -501,7 +506,11 @@ + buf->size = extradata_size + sizeof(xine_waveformatex); + buf->decoder_info[1] = ctx->sample_rate; + buf->decoder_info[2] = ctx->bits_per_coded_sample; ++#if XFF_AUDIO_CHANNEL_LAYOUT < 2 + buf->decoder_info[3] = ctx->channels; ++#else ++ buf->decoder_info[3] = ctx->ch_layout.nb_channels; ++#endif + buf->decoder_flags = BUF_FLAG_HEADER | BUF_FLAG_STDHEADER | BUF_FLAG_FRAME_END; + + this->stream->audio_fifo->put (this->stream->audio_fifo, buf); +diff -r 250f1c09f424 -r 771f4ae27e58 src/combined/ffmpeg/ff_audio_decoder.c +--- a/src/combined/ffmpeg/ff_audio_decoder.c Wed Jan 25 17:03:55 2023 +0100 ++++ b/src/combined/ffmpeg/ff_audio_decoder.c Sat Jan 28 19:04:00 2023 +0100 +@@ -1,5 +1,5 @@ + /* +- * Copyright (C) 2001-2022 the xine project ++ * Copyright (C) 2001-2023 the xine project + * + * This file is part of xine, a free video player. + * +@@ -303,7 +303,11 @@ + + this->context->bits_per_sample = this->ff_bits; + this->context->sample_rate = this->ff_sample_rate; ++#if XFF_AUDIO_CHANNEL_LAYOUT < 2 + this->context->channels = this->ff_channels; ++#else ++ this->context->ch_layout.nb_channels = this->ff_channels; ++#endif + this->context->codec_id = this->codec->id; + this->context->codec_type = this->codec->type; + this->context->codec_tag = _x_stream_info_get(this->stream, XINE_STREAM_INFO_AUDIO_FOURCC); +@@ -527,16 +531,75 @@ + this->ao_mode = 0; + } + ++static unsigned int ff_list_channels (uint8_t *list, uint64_t map) { ++ unsigned int n, bit; ++ ++ for (n = bit = 0; map; map >>= 1, bit++) { ++ uint32_t b = map & 1; ++ ++ list[n] = bit; ++ n += b; ++ } ++ return n; ++} ++ + static void ff_map_channels (ff_audio_decoder_t *this) { + uint64_t ff_map; ++ uint8_t ff_list[64]; ++ unsigned int ff_num; ++ const char *type = "native"; + int caps = this->stream->audio_out->get_capabilities (this->stream->audio_out); + ++#if XFF_AUDIO_CHANNEL_LAYOUT < 2 ++ + /* safety kludge for very old libavcodec */ +-#ifdef AV_CH_FRONT_LEFT ++# ifdef AV_CH_FRONT_LEFT + ff_map = this->context->channel_layout; + if (!ff_map) /* wma2 bug */ ++# endif ++ ff_map = ((uint64_t)1 << this->context->channels) - 1; ++ ff_num = ff_list_channels (ff_list, ff_map); ++ ++#else /* XFF_AUDIO_CHANNEL_LAYOUT == 2 */ ++ ++ ff_num = this->context->ch_layout.nb_channels; ++ if (ff_num > (int)(sizeof (ff_list) / sizeof (ff_list[0]))) ++ ff_num = sizeof (ff_list) / sizeof (ff_list[0]); ++ switch (this->context->ch_layout.order) { ++ const AVChannelCustom *cmap; ++ unsigned int i; ++ ++ case AV_CHANNEL_ORDER_UNSPEC: ++ type = "unknown"; ++ goto _fallback; ++ ++ case AV_CHANNEL_ORDER_NATIVE: ++ ff_map = this->context->ch_layout.u.mask; ++ if (!ff_map) /* wma2 bug */ ++ ff_map = ((uint64_t)1 << ff_num) - 1; ++ ff_num = ff_list_channels (ff_list, ff_map); ++ break; ++ ++ case AV_CHANNEL_ORDER_CUSTOM: ++ type = "custom"; ++ if (!(cmap = this->context->ch_layout.u.map)) ++ goto _fallback; ++ ff_map = 0; ++ for (i = 0; i < ff_num; i++) { ++ ff_list[i] = cmap[i].id; ++ ff_map |= (uint64_t)1 << ff_list[i]; ++ } ++ break; ++ ++ default: ++ type = "unsupported"; ++ /* fall through */ ++ _fallback: ++ ff_map = ((uint64_t)1 << ff_num) - 1; ++ ff_num = ff_list_channels (ff_list, ff_map); ++ } ++ + #endif +- ff_map = ((uint64_t)1 << this->context->channels) - 1; + + if ((caps != this->ao_caps) || (ff_map != this->ff_map)) { + unsigned int i, j; +@@ -562,7 +625,7 @@ + + this->ao_caps = caps; + this->ff_map = ff_map; +- this->ff_channels = this->context->channels; ++ this->ff_channels = ff_num; + + /* silence out */ + for (i = 0; i < MAX_CHANNELS; i++) +@@ -576,20 +639,23 @@ + this->left[0] = this->right[0] = 0; + tries = wishlist + 0 * num_modes; + } else if (this->ff_channels == 2) { /* stereo */ ++ /* FIXME: libxine does not yet support audio selection _after_ decoding. ++ * For now, treat the most common "dual mono" case as stereo. */ + name_map[0] = 0; + name_map[1] = 1; + this->left[0] = 0; + this->right[0] = 1; + tries = wishlist + 1 * num_modes; + } else { +- for (i = j = 0; i < sizeof (base_map) / sizeof (base_map[0]); i++) { +- if ((ff_map >> i) & 1) { +- int8_t target = base_map[i]; +- if ((target >= 0) && (this->map[target] < 0)) +- this->map[target] = j; +- name_map[j] = i; /* for debug output below */ +- j++; +- } ++ for (i = 0; i < ff_num; i++) { ++ int8_t target; ++ uint32_t num = ff_list[i]; ++ if (num >= sizeof (base_map) / sizeof (base_map[0])) ++ continue; ++ target = base_map[num]; ++ if ((target >= 0) && (this->map[target] < 0)) ++ this->map[target] = i; ++ name_map[i] = num; /* for debug output below */ + } + this->left[0] = this->map[0] < 0 ? 0 : this->map[0]; + this->map[0] = -1; +@@ -641,8 +707,8 @@ + "rear center", + "side left", "side right" + }; +- int8_t buf[200]; +- int p = sprintf (buf, "ff_audio_dec: channel layout: "); ++ int8_t buf[256]; ++ int p = sprintf (buf, "ff_audio_dec: %s channel layout: ", type); + int8_t *indx = this->left; + for (i = 0; i < 2; i++) { + buf[p++] = '['; diff --git a/xine-lib.spec b/xine-lib.spec index 9db83db..23a838f 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -29,8 +29,8 @@ Summary: A multimedia engine Name: xine-lib -Version: 1.2.12 -Release: 11%{?snapshot:.%{date}hg%{revision}}%{?dist} +Version: 1.2.13 +Release: 1%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -41,11 +41,9 @@ Source0: xine-lib-%{version}-%{date}hg%{revision}.tar.xz # Script to make a snapshot Source1: make_xinelib_snapshot.sh -# https://sourceforge.net/p/xine/xine-lib-1.2/ci/928cdea835e656d6e1411c767eace0d10b6cc452/ -Patch1: xine-lib-1.2.12-fix_older_libcaca.patch -# https://sourceforge.net/p/xine/xine-lib-1.2/ci/97248a71021428baa49e2b2af34f566a3257452a/ -Patch2: xine-lib-1.2.12-dav1d_100_support.patch -Patch3: ffmpeg51.patch +# ffmpeg6 compatibility +# See: https://sourceforge.net/p/xine/xine-lib-1.2/ci/771f4ae27e582123ff3500444718fc8f96186d74/ +Patch0: xine-lib-1.2.13-ffmpeg6-compatibility.patch Provides: xine-lib(plugin-abi) = %{plugin_abi} Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi} @@ -330,6 +328,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Sun Mar 12 2023 Neal Gompa - 1.2.13-1 +- Update to 1.2.13 + * Wed Feb 15 2023 Tom Callaway - 1.2.12-11 - rebuild for libvpx From a17e3429486812343b5911c7a853e546e6ea0563 Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Sun, 12 Mar 2023 14:14:15 -0400 Subject: [PATCH 50/82] Enable DTS/DCA and VCD support plugins --- xine-lib.spec | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/xine-lib.spec b/xine-lib.spec index 23a838f..13dd872 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -13,10 +13,6 @@ %global _without_faad2 1 %global _without_fame 1 -# Pending inclusion to Fedora -%global _without_dca 1 -%global _without_vcd 1 - %ifarch %{ix86} %global have_vidix 1 %else @@ -69,7 +65,7 @@ BuildRequires: libbluray-devel >= 0.2.1 BuildRequires: libcaca-devel BuildRequires: libcdio-devel BuildRequires: libdav1d-devel >= 0.3.1 -%{!?_without_dca:BuildRequires: libdca-devel} +BuildRequires: libdca-devel %{!?_without_dvdnav:BuildRequires: libdvdnav-devel} BuildRequires: libdvdread-devel %{!?_without_fame:BuildRequires: libfame-devel} @@ -101,7 +97,7 @@ BuildRequires: openssl-devel >= 1.0.2 BuildRequires: pkgconfig(libpulse) BuildRequires: SDL-devel BuildRequires: speex-devel -%{!?_without_vcd:BuildRequires: vcdimager-devel} +BuildRequires: vcdimager-devel BuildRequires: wavpack-devel BuildRequires: wayland-devel @@ -147,7 +143,6 @@ autoreconf -fiv --enable-libv4l \ --disable-gnomevfs \ %{?_without_faad2:--disable-faad} \ - %{?_without_dca:--disable-dts} \ --enable-antialiasing \ --with-freetype \ --with-fontconfig \ @@ -223,7 +218,7 @@ mkdir -p %{buildroot}%{codecdir} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_a52.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_dav1d.so -%{!?_without_dca:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_dts.so} +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_dts.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_dvaudio.so %{!?_without_faad2:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_faad.so} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_ff.so @@ -275,8 +270,8 @@ mkdir -p %{buildroot}%{codecdir} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_rtp.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_ssh.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_v4l2.so -%{!?_without_vcd:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_vcd.so} -%{!?_without_vcd:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_vcdo.so} +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_vcd.so +%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_vcdo.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_nsf.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_sputext.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_tls_gnutls.so @@ -330,6 +325,7 @@ mkdir -p %{buildroot}%{codecdir} %changelog * Sun Mar 12 2023 Neal Gompa - 1.2.13-1 - Update to 1.2.13 +- Enable DTS/DCA and VCD support plugins * Wed Feb 15 2023 Tom Callaway - 1.2.12-11 - rebuild for libvpx From a3a2a8a9ca86af850299440ffc95d5ddb7b44294 Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Sun, 12 Mar 2023 14:15:05 -0400 Subject: [PATCH 51/82] Bump plugin ABI version to fix build --- xine-lib.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xine-lib.spec b/xine-lib.spec index 13dd872..0467496 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -1,5 +1,5 @@ %define _legacy_common_support 1 -%global plugin_abi 2.10 +%global plugin_abi 2.11 %global codecdir %{_libdir}/codecs %if 0%{?el9} From 7dff0e2b47abf3bf14c1ba8aec2e905927a19b0d Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Fri, 17 Mar 2023 13:14:16 -0400 Subject: [PATCH 52/82] Rebuilt for libmpcdec 1.3.0 --- xine-lib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xine-lib.spec b/xine-lib.spec index 0467496..f348348 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -26,7 +26,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.2.13 -Release: 1%{?dist} +Release: 2%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -323,6 +323,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Fri Mar 17 2023 Yaakov Selkowitz - 1.2.13-2 +- Rebuilt for libmpcdec 1.3.0 + * Sun Mar 12 2023 Neal Gompa - 1.2.13-1 - Update to 1.2.13 - Enable DTS/DCA and VCD support plugins From c6cc98ac45c12210d16bbd261dbbd52de68c2202 Mon Sep 17 00:00:00 2001 From: Xavier Bachelot Date: Mon, 20 Mar 2023 10:29:05 +0100 Subject: [PATCH 53/82] Enable external libdvdnav for EL9 --- xine-lib.spec | 49 ++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 40 insertions(+), 9 deletions(-) diff --git a/xine-lib.spec b/xine-lib.spec index f348348..80f0896 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -2,16 +2,27 @@ %global plugin_abi 2.11 %global codecdir %{_libdir}/codecs +%if 0%{?el7} + %global _without_dav1d 1 + %global _without_gcrypt 1 + %global _without_png 1 + %global _with_xvmc 1 +%endif + +%if 0%{?el8} + %global _without_gcrypt 1 +%endif + %if 0%{?el9} - # RHBZ 2031269 / 2031744 - %global _without_dvdnav 1 # RHBZ 2031270 %global _without_nfs 1 %endif +%if 0%{?fedora} || 0%{?rhel} >= 9 # Not permitted in Fedora, ffmpeg covers this anyway %global _without_faad2 1 %global _without_fame 1 +%endif %ifarch %{ix86} %global have_vidix 1 @@ -26,7 +37,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.2.13 -Release: 2%{?dist} +Release: 3%{?snapshot:.%{date}hg%{revision}}%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -51,7 +62,11 @@ BuildRequires: a52dec-devel BuildRequires: aalib-devel BuildRequires: alsa-lib-devel %{!?_without_faad2:BuildRequires: faad2-devel} +%if 0%{?fedora} || 0%{?rhel} >= 9 BuildRequires: ffmpeg-free-devel +%else +BuildRequires: ffmpeg-devel +%endif BuildRequires: flac-devel BuildRequires: fontconfig-devel BuildRequires: gcc @@ -59,24 +74,28 @@ BuildRequires: gettext-devel BuildRequires: gnutls-devel BuildRequires: gtk2-devel %{!?_without_imagemagick:BuildRequires: ImageMagick-devel} +%if 0%{?fedora} || 0%{?rhel} >= 9 BuildRequires: pipewire-jack-audio-connection-kit-devel +%else +BuildRequires: jack-audio-connection-kit-devel +%endif BuildRequires: libaom-devel >= 1.0.0 BuildRequires: libbluray-devel >= 0.2.1 BuildRequires: libcaca-devel BuildRequires: libcdio-devel -BuildRequires: libdav1d-devel >= 0.3.1 +%{!?_without_dav1d:BuildRequires: libdav1d-devel >= 0.3.1} BuildRequires: libdca-devel %{!?_without_dvdnav:BuildRequires: libdvdnav-devel} BuildRequires: libdvdread-devel %{!?_without_fame:BuildRequires: libfame-devel} -BuildRequires: libgcrypt-devel +%{!?_without_gcrypt:BuildRequires: libgcrypt-devel} BuildRequires: libGLU-devel BuildRequires: libmad-devel BuildRequires: libmng-devel BuildRequires: libmodplug-devel BuildRequires: libmpcdec-devel %{!?_without_nfs:BuildRequires: libnfs-devel} -BuildRequires: libpng-devel >= 1.6.0 +%{!?_without_png:BuildRequires: libpng-devel >= 1.6.0} BuildRequires: libsmbclient-devel BuildRequires: libssh2-devel BuildRequires: libtheora-devel @@ -92,6 +111,7 @@ BuildRequires: libXext-devel BuildRequires: libXinerama-devel BuildRequires: libXt-devel BuildRequires: libXv-devel +%{?_with_xvmc:BuildRequires: libXvMC-devel} BuildRequires: mesa-libEGL-devel BuildRequires: openssl-devel >= 1.0.2 BuildRequires: pkgconfig(libpulse) @@ -141,6 +161,7 @@ autoreconf -fiv --enable-ipv6 \ --enable-v4l2 \ --enable-libv4l \ +%{?_with_xvmc: --enable-xvmc} \ --disable-gnomevfs \ %{?_without_faad2:--disable-faad} \ --enable-antialiasing \ @@ -175,6 +196,9 @@ rm -Rf %{buildroot}%{_libdir}/libxine*.la __docs/README \ mkdir -p %{buildroot}%{codecdir} +%ldconfig_scriptlets + + %files -f libxine2.lang %doc AUTHORS CREDITS ChangeLog* README TODO %doc __docs/README.* __docs/faq.* @@ -217,7 +241,7 @@ mkdir -p %{buildroot}%{codecdir} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_oss.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_ao_out_pulseaudio.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_a52.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_dav1d.so +%{!?_without_dav1d:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_dav1d.so} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_dts.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_dvaudio.so %{!?_without_faad2:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_faad.so} @@ -225,7 +249,7 @@ mkdir -p %{buildroot}%{codecdir} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_gsm610.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_libaom.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_libjpeg.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_libpng.so +%{!?_without_png:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_libpng.so} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_libvpx.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_lpcm.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_mad.so @@ -260,7 +284,7 @@ mkdir -p %{buildroot}%{codecdir} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_hw_frame_vaapi.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_bluray.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_cdda.so -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_crypto.so +%{!?_without_gcrypt:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_crypto.so} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvb.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_dvd.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_mms.so @@ -297,6 +321,8 @@ mkdir -p %{buildroot}%{codecdir} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xcbxv.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xshm.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xv.so +%{?_with_xvmc:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xvmc.so} +%{?_with_xvmc:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_vo_out_xxmc.so} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_wavpack.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_xiph.so @@ -323,6 +349,11 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Sat Mar 18 2023 Xavier Bachelot - 1.2.13-3 +- Enable external libdvdnav for EL9 +- Restore specfile compatibility with RPM Fusion for EL7/8 +- Restore building from snapshot + * Fri Mar 17 2023 Yaakov Selkowitz - 1.2.13-2 - Rebuilt for libmpcdec 1.3.0 From 778d0883383a1e8ee4060b1d8583296812e077d4 Mon Sep 17 00:00:00 2001 From: Florian Weimer Date: Sat, 15 Apr 2023 18:57:58 +0200 Subject: [PATCH 54/82] Port configure script to C99 Related to: --- xine-lib-configure-c99.patch | 116 +++++++++++++++++++++++++++++++++++ xine-lib.spec | 6 +- 2 files changed, 121 insertions(+), 1 deletion(-) create mode 100644 xine-lib-configure-c99.patch diff --git a/xine-lib-configure-c99.patch b/xine-lib-configure-c99.patch new file mode 100644 index 0000000..a6bf2e6 --- /dev/null +++ b/xine-lib-configure-c99.patch @@ -0,0 +1,116 @@ +configure: Add fake prototypes for C99 compatibility + +The xxmc-related configure probes assume that the compiler +supports implicit function declarations because it tries to +call the functions without including the appropriate headers, +for link testing. + +As the headers are not determined yet at this point, use +a fake prototype (the same that autoconf uses) to avoid +the implicit function declarations. + +This avoids altering the outcome of these checks with future +compilers which do not support implicit function declarations. + +Submitted upstream: + + + +diff --git a/configure b/configure +index a4009e857777b5cf..3a83b40efda8fd5d 100755 +--- a/configure ++++ b/configure +@@ -28563,7 +28563,7 @@ $as_echo "" >&6; } + LIBS="$XXMC_LIBS $X_LIBS $XV_LIBS $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +- ++char XvMCPutSlice(void); + int + main () + { +@@ -28578,7 +28578,7 @@ else + LIBS="$XXMC_LIBS -lXvMC $X_LIBS $XV_LIBS $LIBS $DYNAMIC_LD_LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +- ++char XvMCPutSlice(void); + int + main () + { +@@ -28616,7 +28616,7 @@ done + else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +- ++char XvMCCreateContext(void); + int + main () + { +@@ -28631,7 +28631,7 @@ else + LIBS="$XXMC_LIBS -lXvMC $X_LIBS $XV_LIBS $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +- ++char XvMCCreateContext(void); + int + main () + { +@@ -28675,7 +28675,7 @@ $as_echo "" >&6; } + LIBS="$XVMC_LIBS $X_LIBS $XV_LIBS $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +- ++char XvMCCreateContext(void); + int + main () + { +@@ -28690,7 +28690,7 @@ else + LIBS="$XVMC_LIBS -lXvMC $X_LIBS $XV_LIBS $LIBS $DYNAMIC_LD_LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ +- ++char XvMCCreateContext(void); + int + main () + { +diff --git a/m4/video_out.m4 b/m4/video_out.m4 +index 150b477697297c03..8aa1f4a3b9267ff9 100644 +--- a/m4/video_out.m4 ++++ b/m4/video_out.m4 +@@ -496,9 +496,9 @@ AC_DEFUN([XINE_VIDEO_OUT_PLUGINS], [ + AC_MSG_CHECKING([whether to enable the xxmc plugin with VLD extensions]) + AC_MSG_RESULT([]) + LIBS="$XXMC_LIBS $X_LIBS $XV_LIBS $LIBS" +- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[XvMCPutSlice()]])], [have_xxmc=yes], ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[char XvMCPutSlice(void);]], [[XvMCPutSlice()]])], [have_xxmc=yes], + [LIBS="$XXMC_LIBS -lXvMC $X_LIBS $XV_LIBS $LIBS $DYNAMIC_LD_LIBS" +- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[XvMCPutSlice()]])], ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[char XvMCPutSlice(void);]], [[XvMCPutSlice()]])], + [have_xxmc=yes XXMC_LIBS="$XXMC_LIBS -lXvMC"])]) + if test x"$have_xxmc" = x"yes"; then + AC_CHECK_HEADERS([X11/extensions/vldXvMC.h], +@@ -506,9 +506,9 @@ AC_DEFUN([XINE_VIDEO_OUT_PLUGINS], [ + AC_DEFINE([HAVE_VLDXVMC], 1, [Define if you have vldXvMC.h])], + [have_vldexts=no]) + else +- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[XvMCCreateContext()]])], [have_xxmc=yes], ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[char XvMCCreateContext(void);]], [[XvMCCreateContext()]])], [have_xxmc=yes], + [LIBS="$XXMC_LIBS -lXvMC $X_LIBS $XV_LIBS $LIBS" +- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[XvMCCreateContext()]])], ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[char XvMCCreateContext(void);]], [[XvMCCreateContext()]])], + [have_xxmc=yes XXMC_LIBS="$XXMC_LIBS -lXvMC"])]) + fi + if test x"$have_xxmc" = x"yes"; then +@@ -521,9 +521,9 @@ AC_DEFUN([XINE_VIDEO_OUT_PLUGINS], [ + AC_MSG_CHECKING([whether to enable the xvmc plugin]) + AC_MSG_RESULT([]) + LIBS="$XVMC_LIBS $X_LIBS $XV_LIBS $LIBS" +- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[XvMCCreateContext()]])], [have_xvmc=yes], ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[char XvMCCreateContext(void);]], [[XvMCCreateContext()]])], [have_xvmc=yes], + [LIBS="$XVMC_LIBS -lXvMC $X_LIBS $XV_LIBS $LIBS $DYNAMIC_LD_LIBS" +- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[XvMCCreateContext()]])], ++ AC_LINK_IFELSE([AC_LANG_PROGRAM([[char XvMCCreateContext(void);]], [[XvMCCreateContext()]])], + [have_xvmc=yes XVMC_LIBS="$XVMC_LIBS -lXvMC"])]) + if test x"$have_xvmc" = x"yes"; then + AC_CHECK_HEADERS([X11/extensions/XvMC.h], [], [have_xvmc=no]) diff --git a/xine-lib.spec b/xine-lib.spec index 80f0896..fa6d6d3 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -37,7 +37,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.2.13 -Release: 3%{?snapshot:.%{date}hg%{revision}}%{?dist} +Release: 4%{?snapshot:.%{date}hg%{revision}}%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -51,6 +51,7 @@ Source1: make_xinelib_snapshot.sh # ffmpeg6 compatibility # See: https://sourceforge.net/p/xine/xine-lib-1.2/ci/771f4ae27e582123ff3500444718fc8f96186d74/ Patch0: xine-lib-1.2.13-ffmpeg6-compatibility.patch +Patch1: xine-lib-configure-c99.patch Provides: xine-lib(plugin-abi) = %{plugin_abi} Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi} @@ -349,6 +350,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Sat Apr 15 2023 Florian Weimer - 1.2.13-4 +- Port configure script to C99 + * Sat Mar 18 2023 Xavier Bachelot - 1.2.13-3 - Enable external libdvdnav for EL9 - Restore specfile compatibility with RPM Fusion for EL7/8 From db2aa192a645b724e2f9fc344052fdca39f926a0 Mon Sep 17 00:00:00 2001 From: Xavier Bachelot Date: Thu, 1 Jun 2023 09:10:15 +0200 Subject: [PATCH 55/82] Rebuild for new libnfs --- xine-lib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xine-lib.spec b/xine-lib.spec index fa6d6d3..3c9d779 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -37,7 +37,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.2.13 -Release: 4%{?snapshot:.%{date}hg%{revision}}%{?dist} +Release: 5%{?snapshot:.%{date}hg%{revision}}%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -350,6 +350,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Thu Jun 01 2023 Xavier Bachelot - 1.2.13-5 +- Rebuild for new libnfs + * Sat Apr 15 2023 Florian Weimer - 1.2.13-4 - Port configure script to C99 From 30df5ec749f522f76ae4ee0ab3b9a4863665c518 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Sun, 18 Jun 2023 21:17:29 +0100 Subject: [PATCH 56/82] Mass rebuild for jpegxl-0.8.1 From 8fc8302c8d8247699759083eb61ec851dc3e8883 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Sun, 18 Jun 2023 21:23:16 +0100 Subject: [PATCH 57/82] fix previous commit, no autochangelog here --- xine-lib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xine-lib.spec b/xine-lib.spec index 3c9d779..8db2a83 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -37,7 +37,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.2.13 -Release: 5%{?snapshot:.%{date}hg%{revision}}%{?dist} +Release: 6%{?snapshot:.%{date}hg%{revision}}%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -350,6 +350,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Sun Jun 18 2023 Sérgio Basto - 1.2.13-6 +- Mass rebuild for jpegxl-0.8.1 + * Thu Jun 01 2023 Xavier Bachelot - 1.2.13-5 - Rebuild for new libnfs From 6485375a82af1f053f9638088f62e4c0b4b0f647 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 22 Jul 2023 18:55:42 +0000 Subject: [PATCH 58/82] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- xine-lib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xine-lib.spec b/xine-lib.spec index 8db2a83..1e15d5c 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -37,7 +37,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.2.13 -Release: 6%{?snapshot:.%{date}hg%{revision}}%{?dist} +Release: 7%{?snapshot:.%{date}hg%{revision}}%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -350,6 +350,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Sat Jul 22 2023 Fedora Release Engineering - 1.2.13-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Sun Jun 18 2023 Sérgio Basto - 1.2.13-6 - Mass rebuild for jpegxl-0.8.1 From 4a975777a0636a6166843758c1092ca156d3ab09 Mon Sep 17 00:00:00 2001 From: Xavier Bachelot Date: Tue, 26 Sep 2023 14:56:13 +0200 Subject: [PATCH 59/82] Enable nfs support for EL9 --- xine-lib.spec | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/xine-lib.spec b/xine-lib.spec index 1e15d5c..9c51217 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -13,11 +13,6 @@ %global _without_gcrypt 1 %endif -%if 0%{?el9} - # RHBZ 2031270 - %global _without_nfs 1 -%endif - %if 0%{?fedora} || 0%{?rhel} >= 9 # Not permitted in Fedora, ffmpeg covers this anyway %global _without_faad2 1 @@ -37,7 +32,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.2.13 -Release: 7%{?snapshot:.%{date}hg%{revision}}%{?dist} +Release: 8%{?snapshot:.%{date}hg%{revision}}%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -350,6 +345,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Tue Sep 26 2023 Xavier Bachelot - 1.2.13-8 +- Enable nfs support for EL9 + * Sat Jul 22 2023 Fedora Release Engineering - 1.2.13-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From b22f497ee350ee35ee66e94c7493bfd976f30f96 Mon Sep 17 00:00:00 2001 From: Fabio Valentini Date: Fri, 12 Jan 2024 19:11:51 +0100 Subject: [PATCH 60/82] Rebuild for dav1d 1.3.0 --- xine-lib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xine-lib.spec b/xine-lib.spec index 9c51217..7674a78 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -32,7 +32,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.2.13 -Release: 8%{?snapshot:.%{date}hg%{revision}}%{?dist} +Release: 9%{?snapshot:.%{date}hg%{revision}}%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -345,6 +345,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Fri Jan 12 2024 Fabio Valentini - 1.2.13-9 +- Rebuild for dav1d 1.3.0 + * Tue Sep 26 2023 Xavier Bachelot - 1.2.13-8 - Enable nfs support for EL9 From 43b312a619ffdc35ce8d9e73c2802c64a8ce62bb Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 27 Jan 2024 09:46:54 +0000 Subject: [PATCH 61/82] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- xine-lib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xine-lib.spec b/xine-lib.spec index 7674a78..e862c02 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -32,7 +32,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.2.13 -Release: 9%{?snapshot:.%{date}hg%{revision}}%{?dist} +Release: 10%{?snapshot:.%{date}hg%{revision}}%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -345,6 +345,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Sat Jan 27 2024 Fedora Release Engineering - 1.2.13-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Jan 12 2024 Fabio Valentini - 1.2.13-9 - Rebuild for dav1d 1.3.0 From ac9527abbc570c79ac4cec2e6396fed9a9070c45 Mon Sep 17 00:00:00 2001 From: Pete Walter Date: Thu, 8 Feb 2024 00:05:55 +0000 Subject: [PATCH 62/82] Rebuild for libvpx 1.14.x --- xine-lib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xine-lib.spec b/xine-lib.spec index e862c02..c2efcb3 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -32,7 +32,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.2.13 -Release: 10%{?snapshot:.%{date}hg%{revision}}%{?dist} +Release: 11%{?snapshot:.%{date}hg%{revision}}%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -345,6 +345,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Thu Feb 08 2024 Pete Walter - 1.2.13-11 +- Rebuild for libvpx 1.14.x + * Sat Jan 27 2024 Fedora Release Engineering - 1.2.13-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 315c057d4746bdf3795504a5d2002ac321c6bf8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Wed, 14 Feb 2024 02:50:42 +0000 Subject: [PATCH 63/82] Rebuild for jpegxl (libjxl) 0.9.2 with soname bump --- xine-lib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xine-lib.spec b/xine-lib.spec index c2efcb3..afd35c6 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -32,7 +32,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.2.13 -Release: 11%{?snapshot:.%{date}hg%{revision}}%{?dist} +Release: 12%{?snapshot:.%{date}hg%{revision}}%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -345,6 +345,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Wed Feb 14 2024 Sérgio Basto - 1.2.13-12 +- Rebuild for jpegxl (libjxl) 0.9.2 with soname bump + * Thu Feb 08 2024 Pete Walter - 1.2.13-11 - Rebuild for libvpx 1.14.x From 4558856309e71982b6555a5b4596b7957cc9f633 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Wed, 13 Mar 2024 03:10:18 +0000 Subject: [PATCH 64/82] Rebuild for jpegxl (libjxl) 0.10.2 --- xine-lib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xine-lib.spec b/xine-lib.spec index afd35c6..d1f909a 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -32,7 +32,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.2.13 -Release: 12%{?snapshot:.%{date}hg%{revision}}%{?dist} +Release: 13%{?snapshot:.%{date}hg%{revision}}%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -345,6 +345,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Wed Mar 13 2024 Sérgio Basto - 1.2.13-13 +- Rebuild for jpegxl (libjxl) 0.10.2 + * Wed Feb 14 2024 Sérgio Basto - 1.2.13-12 - Rebuild for jpegxl (libjxl) 0.9.2 with soname bump From bacd9126e28956cc0a308e82b0d9723d603f6164 Mon Sep 17 00:00:00 2001 From: Xavier Bachelot Date: Mon, 22 Apr 2024 13:45:17 +0200 Subject: [PATCH 65/82] Add missing libxdg-basedir-devel BR: --- xine-lib.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/xine-lib.spec b/xine-lib.spec index d1f909a..b745e41 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -68,6 +68,8 @@ BuildRequires: fontconfig-devel BuildRequires: gcc BuildRequires: gettext-devel BuildRequires: gnutls-devel +# System lib cannot currently be used +#BuildRequires: gsm-devel BuildRequires: gtk2-devel %{!?_without_imagemagick:BuildRequires: ImageMagick-devel} %if 0%{?fedora} || 0%{?rhel} >= 9 @@ -103,6 +105,7 @@ BuildRequires: libvorbis-devel BuildRequires: libvpx-devel BuildRequires: libX11-devel BuildRequires: libxcb-devel +BuildRequires: libxdg-basedir-devel BuildRequires: libXext-devel BuildRequires: libXinerama-devel BuildRequires: libXt-devel From 05b4a7f5965c5bf8b3918f8fb2b5e60a4fb0ba52 Mon Sep 17 00:00:00 2001 From: Xavier Bachelot Date: Mon, 20 May 2024 18:43:04 +0200 Subject: [PATCH 66/82] Add patches for ffmpeg compatibility --- xine-lib-1.2.13-ffmpeg6-compatibility_2.patch | 475 ++++++++++++++++++ xine-lib-1.2.13-ffmpeg7-compatibility.patch | 318 ++++++++++++ xine-lib.spec | 16 +- 3 files changed, 805 insertions(+), 4 deletions(-) create mode 100644 xine-lib-1.2.13-ffmpeg6-compatibility_2.patch create mode 100644 xine-lib-1.2.13-ffmpeg7-compatibility.patch diff --git a/xine-lib-1.2.13-ffmpeg6-compatibility_2.patch b/xine-lib-1.2.13-ffmpeg6-compatibility_2.patch new file mode 100644 index 0000000..d5003ca --- /dev/null +++ b/xine-lib-1.2.13-ffmpeg6-compatibility_2.patch @@ -0,0 +1,475 @@ +# HG changeset patch +# User Torsten Jager +# Date 1715025355 -7200 +# Mon May 06 21:55:55 2024 +0200 +# Node ID 1e7b184008860c8be2289c3cefd9dee57f06193a +# Parent d1954d852980ddc887a67a9f1a26626909561ff5 +ffmpeg compatibility update 1. + +diff -r d1954d852980 -r 1e7b18400886 src/combined/ffmpeg/ff_audio_decoder.c +--- a/src/combined/ffmpeg/ff_audio_decoder.c Mon Apr 08 13:25:10 2024 +0200 ++++ b/src/combined/ffmpeg/ff_audio_decoder.c Mon May 06 21:55:55 2024 +0200 +@@ -1,5 +1,5 @@ + /* +- * Copyright (C) 2001-2023 the xine project ++ * Copyright (C) 2001-2024 the xine project + * + * This file is part of xine, a free video player. + * +@@ -67,6 +67,7 @@ + + xine_t *xine; + float gain; ++ int bitexact; + } ff_audio_class_t; + + typedef struct ff_audio_decoder_s { +@@ -188,14 +189,25 @@ + xprintf (this->stream->xine, XINE_VERBOSITY_DEBUG, + "ffmpeg_audio_dec: found AAC ADTS syncword after %d bytes\n", i); + if (this->buftype == BUF_AUDIO_AAC_LATM) { ++ uint8_t *ed = NULL; ++ int es = 0; + xprintf (this->stream->xine, XINE_VERBOSITY_DEBUG, + "ffmpeg_audio_dec: stream says LATM but is ADTS -> switching decoders\n"); +- if (this->decoder_ok) { +- pthread_mutex_lock (&ffmpeg_lock); +- avcodec_close (this->context); +- pthread_mutex_unlock (&ffmpeg_lock); +- this->decoder_ok = 0; ++ pthread_mutex_lock (&ffmpeg_lock); ++ if (this->context) { ++ ed = this->context->extradata; ++ es = this->context->extradata_size; ++ this->context->extradata = NULL; ++ this->context->extradata_size = 0; ++ XFF_FREE_CONTEXT (this->context); + } ++ this->decoder_ok = 0; ++ this->context = XFF_ALLOC_CONTEXT (); ++ if (this->context) { ++ this->context->extradata = ed; ++ this->context->extradata_size = es; ++ } ++ pthread_mutex_unlock (&ffmpeg_lock); + this->codec = NULL; + ff_audio_open_codec (this, BUF_AUDIO_AAC); + } +@@ -349,6 +361,11 @@ + return -1; + } + ++ if (this->class->bitexact) ++ this->context->flags |= CODEC_FLAG_BITEXACT; ++ else ++ this->context->flags &= ~CODEC_FLAG_BITEXACT; ++ + pthread_mutex_lock (&ffmpeg_lock); + if (XFF_AVCODEC_OPEN (this->context, this->codec) < 0) { + pthread_mutex_unlock (&ffmpeg_lock); +@@ -1377,9 +1394,21 @@ + } + #endif + pthread_mutex_lock (&ffmpeg_lock); +- avcodec_close (this->context); +- if (XFF_AVCODEC_OPEN (this->context, this->codec) < 0) ++ { ++ uint8_t *ed = this->context->extradata; ++ int es = this->context->extradata_size; ++ this->context->extradata = NULL; ++ this->context->extradata_size = 0; ++ XFF_FREE_CONTEXT (this->context); + this->decoder_ok = 0; ++ this->context = XFF_ALLOC_CONTEXT (); ++ if (this->context) { ++ this->context->extradata = ed; ++ this->context->extradata_size = es; ++ } ++ } ++ if (XFF_AVCODEC_OPEN (this->context, this->codec) >= 0) ++ this->decoder_ok = 1; + pthread_mutex_unlock (&ffmpeg_lock); + } + +@@ -1418,20 +1447,20 @@ + XFF_FREE_FRAME (this->av_frame); + } + #endif +- pthread_mutex_lock (&ffmpeg_lock); +- avcodec_close (this->context); +- pthread_mutex_unlock (&ffmpeg_lock); + } ++ pthread_mutex_lock (&ffmpeg_lock); ++ if (this->context) { ++ _x_freep (&this->context->extradata); ++ this->context->extradata_size = 0; ++ XFF_FREE_CONTEXT (this->context); ++ } ++ pthread_mutex_unlock (&ffmpeg_lock); + + ff_audio_output_close(this); + + xine_free_aligned (this->buf); + xine_free_aligned (this->decode_buffer); + +- _x_freep (&this->context->extradata); +- this->context->extradata_size = 0; +- XFF_FREE_CONTEXT (this->context); +- + XFF_PACKET_UNREF (this->avpkt); + + xine_pts_queue_delete (&this->pts_queue); +@@ -1513,6 +1542,12 @@ + free (this); + } + ++static void ff_bitexact_cb (void *user_data, xine_cfg_entry_t *entry) { ++ ff_audio_class_t *class = (ff_audio_class_t *)user_data; ++ ++ class->bitexact = entry->num_value; ++} ++ + void *init_audio_plugin (xine_t *xine, const void *data) { + + ff_audio_class_t *this ; +@@ -1540,5 +1575,12 @@ + 10, ff_gain_cb, this) + / (float)20); + ++ this->bitexact = xine->config->register_bool (xine->config, ++ "audio.processing.ffmpeg_bitexact", 0, ++ _("Let FFmpeg use precise but slower math"), ++ _("Get slightly better sound, at the expense of speed.\n" ++ "Takes effect with next stream."), ++ 10, ff_bitexact_cb, this); ++ + return this; + } +diff -r d1954d852980 -r 1e7b18400886 src/combined/ffmpeg/ff_video_decoder.c +--- a/src/combined/ffmpeg/ff_video_decoder.c Mon Apr 08 13:25:10 2024 +0200 ++++ b/src/combined/ffmpeg/ff_video_decoder.c Mon May 06 21:55:55 2024 +0200 +@@ -1,5 +1,5 @@ + /* +- * Copyright (C) 2001-2022 the xine project ++ * Copyright (C) 2001-2024 the xine project + * + * This file is part of xine, a free video player. + * +@@ -128,6 +128,7 @@ + + int64_t pts; + int64_t last_pts; ++ int64_t tagged_pts; + int video_step; + int reported_video_step; + uint8_t pts_tag_pass; +@@ -551,7 +552,9 @@ + # ifdef XFF_FRAME_AGE + av_frame->age = 1; + # endif ++#ifdef XFF_AVCODEC_REORDERED_OPAQUE + av_frame->reordered_opaque = context->reordered_opaque; ++#endif + + ffsf = ffsf_new (this); + if (!ffsf) +@@ -862,7 +865,9 @@ + # endif + + /* take over pts for this frame to have it reordered */ ++#ifdef XFF_AVCODEC_REORDERED_OPAQUE + av_frame->reordered_opaque = context->reordered_opaque; ++#endif + + return 0; + } +@@ -1142,9 +1147,13 @@ + if (this->codec->id == CODEC_ID_VC1 && + (!this->bih.biWidth || !this->bih.biHeight)) { + /* VC1 codec must be re-opened with correct width and height. */ +- avcodec_close(this->context); +- +- if (XFF_AVCODEC_OPEN (this->context, this->codec) < 0) { ++ if (this->context) { ++ _x_freep (&this->context->extradata); ++ this->context->extradata_size = 0; ++ XFF_FREE_CONTEXT (this->context); ++ } ++ this->context = XFF_ALLOC_CONTEXT (); ++ if (!(this->context && XFF_AVCODEC_OPEN (this->context, this->codec) >= 0)) { + pthread_mutex_unlock(&ffmpeg_lock); + xprintf (this->stream->xine, XINE_VERBOSITY_LOG, + _("ffmpeg_video_dec: couldn't open decoder (pass 2)\n")); +@@ -1211,6 +1220,11 @@ + /* dont want initial AV_NOPTS_VALUE here */ + this->context->reordered_opaque = 0; + #endif ++ ++#ifdef XFF_AVCODEC_FRAME_PTS ++ this->context->time_base.num = 1; ++ this->context->time_base.den = 90000 << 8; ++#endif + } + + #ifdef ENABLE_VAAPI +@@ -1959,7 +1973,26 @@ + return (pts * 256) | this->pts_tag_pass; + } + +-static int64_t ff_untag_pts (ff_video_decoder_t *this, int64_t pts) { ++static int64_t ff_untag_pts (ff_video_decoder_t *this, AVFrame *av_frame) { ++ int64_t pts; ++#if defined(XFF_AVCODEC_FRAME_PTS) ++ pts = (av_frame->pts != AV_NOPTS_VALUE) ? av_frame->pts : 0; ++# if defined(XFF_AVCODEC_REORDERED_OPAQUE) ++ /* paranoia !!! */ ++ if (pts != av_frame->reordered_opaque) { ++ xprintf (this->stream->xine, XINE_VERBOSITY_DEBUG, ++ LOG_MODULE ": WARNING: frame pts %" PRId64 " != reordered_opaque %" PRId64 ".\n", ++ pts, av_frame->reordered_opaque); ++ pts = av_frame->reordered_opaque; ++ } ++ av_frame->reordered_opaque = 0; ++# endif ++#elif defined(XFF_AVCODEC_REORDERED_OPAQUE) ++ pts = av_frame->reordered_opaque; ++ av_frame->reordered_opaque = 0; ++#else ++ pts = this->tagged_pts; ++#endif + if ((uint8_t)(pts & 0xff) == this->pts_tag_pass) { + /* restore sign. */ + return pts >> 8; +@@ -1984,7 +2017,9 @@ + this->avpkt->data = buf; + this->avpkt->size = buf_size; + this->avpkt->flags = AV_PKT_FLAG_KEY; +- ++# ifdef XFF_AVCODEC_FRAME_PTS ++ this->avpkt->pts = this->tagged_pts; ++# endif + # if XFF_PALETTE == 2 || XFF_PALETTE == 3 + if (buf && this->palette_changed) { + uint8_t *sd = av_packet_new_side_data (this->avpkt, AV_PKT_DATA_PALETTE, 256 * 4); +@@ -2094,9 +2129,14 @@ + #endif + + /* apply valid pts to first frame _starting_ thereafter only */ +- if (this->pts && !this->context->reordered_opaque) { +- this->context->reordered_opaque = +- this->av_frame->reordered_opaque = ff_tag_pts (this, this->pts); ++ if (this->pts && !this->tagged_pts) { ++ this->tagged_pts = ff_tag_pts (this, this->pts); ++#ifdef XFF_AVCODEC_REORDERED_OPAQUE ++ this->context->reordered_opaque = this->av_frame->reordered_opaque = this->tagged_pts; ++#endif ++#ifdef XFF_AVCODEC_FRAME_PTS ++ this->av_frame->pts = this->tagged_pts; ++#endif + this->pts = 0; + } + +@@ -2207,9 +2247,11 @@ + img->top_field_first = this->av_frame->top_field_first; + + /* get back reordered pts */ +- img->pts = ff_untag_pts (this, this->av_frame->reordered_opaque); +- this->av_frame->reordered_opaque = 0; ++ img->pts = ff_untag_pts (this, this->av_frame); ++ this->tagged_pts = 0; ++#ifdef XFF_AVCODEC_REORDERED_OPAQUE + this->context->reordered_opaque = 0; ++#endif + + if (this->av_frame->repeat_pict) + img->duration = this->video_step * 3 / 2; +@@ -2330,9 +2372,14 @@ + } + + if (this->size == 0) { ++ this->tagged_pts = ff_tag_pts (this, this->pts); + /* take over pts when we are about to buffer a frame */ +- this->av_frame->reordered_opaque = ff_tag_pts(this, this->pts); +- this->context->reordered_opaque = ff_tag_pts(this, this->pts); ++#ifdef XFF_AVCODEC_REORDERED_OPAQUE ++ this->av_frame->reordered_opaque = this->context->reordered_opaque = this->tagged_pts; ++#endif ++#ifdef XFF_AVCODEC_FRAME_PTS ++ this->av_frame->pts = this->tagged_pts; ++#endif + this->pts = 0; + } + +@@ -2405,7 +2452,10 @@ + need_unref = 1; + #endif + /* reset consumed pts value */ +- this->context->reordered_opaque = ff_tag_pts(this, 0); ++ this->tagged_pts = ff_tag_pts (this, 0); ++#ifdef XFF_AVCODEC_REORDERED_OPAQUE ++ this->context->reordered_opaque = this->tagged_pts; ++#endif + + if (err) { + +@@ -2439,10 +2489,14 @@ + ff_check_bufsize(this, this->size); + memmove (this->buf, &chunk_buf[offset], this->size); + chunk_buf = this->buf; +- + /* take over pts for next access unit */ +- this->av_frame->reordered_opaque = ff_tag_pts(this, this->pts); +- this->context->reordered_opaque = ff_tag_pts(this, this->pts); ++ this->tagged_pts = ff_tag_pts (this, this->pts); ++#ifdef XFF_AVCODEC_REORDERED_OPAQUE ++ this->av_frame->reordered_opaque = this->context->reordered_opaque = this->tagged_pts; ++#endif ++#ifdef XFF_AVCODEC_FRAME_PTS ++ this->av_frame->pts = this->tagged_pts; ++#endif + this->pts = 0; + } + } +@@ -2559,8 +2613,7 @@ + ff_convert_frame(this, img, this->av_frame); + } + +- img->pts = ff_untag_pts(this, this->av_frame->reordered_opaque); +- this->av_frame->reordered_opaque = 0; ++ img->pts = ff_untag_pts(this, this->av_frame); + + /* workaround for weird 120fps streams */ + if( video_step_to_use == 750 ) { +@@ -2600,8 +2653,7 @@ + this->output_format, + VO_BOTH_FIELDS|this->frame_flags); + /* set PTS to allow early syncing */ +- img->pts = ff_untag_pts(this, this->av_frame->reordered_opaque); +- this->av_frame->reordered_opaque = 0; ++ img->pts = ff_untag_pts(this, this->av_frame); + + img->duration = video_step_to_use; + +@@ -2783,7 +2835,7 @@ + ff_convert_frame (this, img, this->av_frame2); + } + +- img->pts = ff_untag_pts (this, this->av_frame2->reordered_opaque); ++ img->pts = ff_untag_pts (this, this->av_frame2); + + if (video_step_to_use == 750) + video_step_to_use = 0; +@@ -2903,7 +2955,9 @@ + if (this->decoder_ok) { + + pthread_mutex_lock(&ffmpeg_lock); +- avcodec_close (this->context); ++ _x_freep (&this->context->extradata); ++ this->context->extradata_size = 0; ++ XFF_FREE_CONTEXT (this->context); + pthread_mutex_unlock(&ffmpeg_lock); + + #ifdef ENABLE_DIRECT_RENDERING +@@ -2912,16 +2966,15 @@ + + this->stream->video_out->close(this->stream->video_out, this->stream); + this->decoder_ok = 0; ++ } else if (this->context) { ++ _x_freep (&this->context->extradata); ++ this->context->extradata_size = 0; ++ XFF_FREE_CONTEXT (this->context); + } + + if (this->slice_offset_table) + free (this->slice_offset_table); + +- if (this->context) { +- _x_freep (&this->context->extradata); +- this->context->extradata_size = 0; +- XFF_FREE_CONTEXT (this->context); +- } + + #if XFF_VIDEO > 1 + XFF_PACKET_UNREF (this->avpkt); +diff -r d1954d852980 -r 1e7b18400886 src/combined/ffmpeg/ffmpeg_compat.h +--- a/src/combined/ffmpeg/ffmpeg_compat.h Mon Apr 08 13:25:10 2024 +0200 ++++ b/src/combined/ffmpeg/ffmpeg_compat.h Mon May 06 21:55:55 2024 +0200 +@@ -1,5 +1,5 @@ + /* +- * Copyright (C) 2000-2022 the xine project ++ * Copyright (C) 2000-2024 the xine project + * + * This file is part of xine, a unix video player. + * +@@ -54,9 +54,16 @@ + #endif + + /* reordered_opaque appeared in libavcodec 51.68.0 */ +-#define XFF_AVCODEC_REORDERED_OPAQUE +-#if LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(51,68,0) +-# undef XFF_AVCODEC_REORDERED_OPAQUE ++#if LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(51,68,0) && LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(60,0,0) ++# define XFF_AVCODEC_REORDERED_OPAQUE ++#else ++# undef XFF_AVCODEC_REORDERED_OPAQUE ++#endif ++ ++#if LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(58,33,100) ++# define XFF_AVCODEC_FRAME_PTS ++#else ++# undef XFF_AVCODEC_FRAME_PTS + #endif + + /* colorspace and color_range were added before 52.29.0 */ +@@ -210,9 +217,11 @@ + #endif + + #if LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(55,63,100) +-# define XFF_FREE_CONTEXT(pp) do {av_free(pp); pp = NULL;} while (0) ++# define XFF_FREE_CONTEXT(pp) do {if (pp) avcodec_close (pp); av_free (pp); pp = NULL;} while (0) ++#elif LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(58,33,100) ++# define XFF_FREE_CONTEXT(pp) do {if (pp) avcodec_close (pp); avcodec_free_context (&(pp));} while (0) + #else +-# define XFF_FREE_CONTEXT(pp) avcodec_free_context(&(pp)) ++# define XFF_FREE_CONTEXT(pp) avcodec_free_context (&(pp)) + #endif + + #if LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(54,59,100) +@@ -303,4 +312,3 @@ + #endif /* defined(LIBAVCODEC_VERSION_INT) */ + + #endif /* XINE_AVCODEC_COMPAT_H */ +- +diff -r d1954d852980 -r 1e7b18400886 src/dxr3/ffmpeg_encoder.c +--- a/src/dxr3/ffmpeg_encoder.c Mon Apr 08 13:25:10 2024 +0200 ++++ b/src/dxr3/ffmpeg_encoder.c Mon May 06 21:55:55 2024 +0200 +@@ -1,5 +1,5 @@ + /* +- * Copyright (C) 2000-2022 the xine project ++ * Copyright (C) 2000-2024 the xine project + * + * This file is part of xine, a unix video player. + * +@@ -127,10 +127,8 @@ + unsigned char use_quantizer; + + if (this->context) { +- avcodec_close(this->context); +- free(this->context); ++ XFF_FREE_CONTEXT (this->context); + free(this->picture); +- this->context = NULL; + this->picture = NULL; + } + +@@ -344,10 +342,8 @@ + #if XFF_ENCVIDEO > 1 + XFF_PACKET_UNREF (this->pkt); + #endif +- avcodec_close(this->context); + XFF_FREE_CONTEXT (this->context); + free(this->picture); +- this->context = NULL; + this->picture = NULL; + } + return 1; diff --git a/xine-lib-1.2.13-ffmpeg7-compatibility.patch b/xine-lib-1.2.13-ffmpeg7-compatibility.patch new file mode 100644 index 0000000..1367504 --- /dev/null +++ b/xine-lib-1.2.13-ffmpeg7-compatibility.patch @@ -0,0 +1,318 @@ +# HG changeset patch +# User Torsten Jager +# Date 1715160885 -7200 +# Wed May 08 11:34:45 2024 +0200 +# Node ID 73b833e7fe356cd2d9490dda4ebc9bfe16fce958 +# Parent 1e7b184008860c8be2289c3cefd9dee57f06193a +ffmpeg compatibility update 2. + +diff -r 1e7b18400886 -r 73b833e7fe35 src/combined/ffmpeg/ff_audio_decoder.c +--- a/src/combined/ffmpeg/ff_audio_decoder.c Mon May 06 21:55:55 2024 +0200 ++++ b/src/combined/ffmpeg/ff_audio_decoder.c Wed May 08 11:34:45 2024 +0200 +@@ -1393,6 +1393,9 @@ + XFF_FREE_FRAME (this->av_frame); + } + #endif ++#if 1 ++ avcodec_flush_buffers (this->context); ++#else + pthread_mutex_lock (&ffmpeg_lock); + { + uint8_t *ed = this->context->extradata; +@@ -1410,6 +1413,7 @@ + if (XFF_AVCODEC_OPEN (this->context, this->codec) >= 0) + this->decoder_ok = 1; + pthread_mutex_unlock (&ffmpeg_lock); ++#endif + } + + ff_audio_reset_parser(this); +diff -r 1e7b18400886 -r 73b833e7fe35 src/combined/ffmpeg/ff_video_decoder.c +--- a/src/combined/ffmpeg/ff_video_decoder.c Mon May 06 21:55:55 2024 +0200 ++++ b/src/combined/ffmpeg/ff_video_decoder.c Wed May 08 11:34:45 2024 +0200 +@@ -89,6 +89,11 @@ + # define ENABLE_EMMS + #endif + ++/* ++#undef XFF_AVCODEC_SLICE_TABLE ++#define XFF_AVCODEC_SLICE_TABLE 1 ++*/ ++ + #define VIDEOBUFSIZE (128*1024) + #define SLICE_BUFFER_SIZE (1194*1024) + +@@ -148,11 +153,11 @@ + int bufsize; + int size; + int skipframes; +- ++#if XFF_AVCODEC_SLICE_TABLE == 1 + int *slice_offset_table; + int slice_offset_size; + int slice_offset_pos; +- ++#endif + AVFrame *av_frame; + AVFrame *av_frame2; + AVCodecContext *context; +@@ -238,6 +243,13 @@ + #if XFF_VIDEO > 1 + XFF_PACKET_DECL (avpkt); + #endif ++ ++#if XFF_AVCODEC_SLICE_TABLE == 2 ++ uint8_t *temp_buf; ++ uint32_t temp_size; ++ int slice_num; ++ uint8_t slice_table[1 + 256 * 8]; ++#endif + }; + + /* import color matrix names */ +@@ -1783,10 +1795,9 @@ + this->size += buf->size; + + if (buf->decoder_flags & BUF_FLAG_FRAME_END) { +- int codec_type; ++ uint32_t codec_type = buf->type & 0xFFFF0000; + + lprintf ("header complete\n"); +- codec_type = buf->type & 0xFFFF0000; + + if (buf->decoder_flags & BUF_FLAG_STDHEADER) { + +@@ -1912,33 +1923,44 @@ + #endif + } + else if (buf->decoder_info[1] == BUF_SPECIAL_RV_CHUNK_TABLE) { +- /* o dear. Multiple decoding threads use individual contexts. +- av_decode_video2 () does only copy the _pointer_ to the offsets, +- not the offsets themselves. So we must not overwrite anything +- that another thread has not yet read. */ +- int i, l, total; +- +- lprintf("BUF_SPECIAL_RV_CHUNK_TABLE\n"); +- l = buf->decoder_info[2] + 1; +- +- total = l * this->class->thread_count; +- if (total < SLICE_OFFSET_SIZE) +- total = SLICE_OFFSET_SIZE; +- if (total > this->slice_offset_size) { +- this->slice_offset_table = realloc (this->slice_offset_table, total * sizeof (int)); +- this->slice_offset_size = total; +- } +- +- if (this->slice_offset_pos + l > this->slice_offset_size) +- this->slice_offset_pos = 0; +- this->context->slice_offset = this->slice_offset_table + this->slice_offset_pos; +- this->context->slice_count = l; +- +- lprintf ("slice_count=%d\n", l); +- for (i = 0; i < l; i++) { +- this->slice_offset_table[this->slice_offset_pos++] = +- ((uint32_t *)buf->decoder_info_ptr[2])[(2 * i) + 1]; +- lprintf("slice_offset[%d]=%d\n", i, this->context->slice_offset[i]); ++ { ++#if XFF_AVCODEC_SLICE_TABLE == 1 ++ /* o dear. Multiple decoding threads use individual contexts. ++ * av_decode_video2 () does only copy the _pointer_ to the offsets, ++ * not the offsets themselves. So we must not overwrite anything ++ * that another thread has not yet read. */ ++ int i, l, total; ++ ++ lprintf("BUF_SPECIAL_RV_CHUNK_TABLE\n"); ++ l = buf->decoder_info[2] + 1; ++ ++ total = l * this->class->thread_count; ++ if (total < SLICE_OFFSET_SIZE) ++ total = SLICE_OFFSET_SIZE; ++ if (total > this->slice_offset_size) { ++ this->slice_offset_table = realloc (this->slice_offset_table, total * sizeof (int)); ++ this->slice_offset_size = total; ++ } ++ ++ if (this->slice_offset_pos + l > this->slice_offset_size) ++ this->slice_offset_pos = 0; ++ this->context->slice_offset = this->slice_offset_table + this->slice_offset_pos; ++ this->context->slice_count = l; ++ ++ lprintf ("slice_count=%d\n", l); ++ for (i = 0; i < l; i++) { ++ this->slice_offset_table[this->slice_offset_pos++] = ++ ((uint32_t *)buf->decoder_info_ptr[2])[(2 * i) + 1]; ++ lprintf("slice_offset[%d]=%d\n", i, this->context->slice_offset[i]); ++ } ++#elif XFF_AVCODEC_SLICE_TABLE == 2 ++ /* (count-1):1, 1:4, (offs[0]):4, 1:4, (offs[1]:4, ... just in front of the frame bitstream. ++ * reverse engineered from ffmpeg/libavcodec/rv34.c. they seem to expect no ++ * external use of rv decoders, and did not document this. */ ++ this->slice_table[0] = buf->decoder_info[2]; ++ this->slice_num = this->slice_table[0] + 1; ++ memcpy (this->slice_table + 1, buf->decoder_info_ptr[2], 8 * this->slice_num); ++#endif + } + } + } +@@ -2004,6 +2026,7 @@ + + static int decode_video_wrapper (ff_video_decoder_t *this, + AVFrame *av_frame, int *err, void *buf, size_t buf_size) { ++ uint32_t tsize = 0; + int len; + + #if ENABLE_VAAPI +@@ -2013,9 +2036,32 @@ + } + #endif /* ENABLE_VAAPI */ + ++#if XFF_AVCODEC_SLICE_TABLE == 2 ++ if ((this->slice_num > 0) && buf) { ++ uint32_t nsize; ++ tsize = 1 + this->slice_num * 8; ++ nsize = tsize + buf_size + AV_INPUT_BUFFER_PADDING_SIZE; ++ if (this->temp_size < nsize) { ++ nsize = nsize * 3 / 2; ++ free (this->temp_buf); ++ this->temp_buf = malloc (nsize); ++ if (!this->temp_buf) ++ nsize = 0; ++ this->temp_size = nsize; ++ nsize = tsize + buf_size + AV_INPUT_BUFFER_PADDING_SIZE; ++ } ++ if (this->temp_size >= nsize) { ++ memcpy (this->temp_buf, this->slice_table, tsize); ++ memcpy (this->temp_buf + tsize, buf, buf_size + AV_INPUT_BUFFER_PADDING_SIZE); ++ buf = this->temp_buf; ++ } ++ this->slice_num = 0; ++ } ++#endif ++ + #if XFF_VIDEO > 1 + this->avpkt->data = buf; +- this->avpkt->size = buf_size; ++ this->avpkt->size = buf_size + tsize; + this->avpkt->flags = AV_PKT_FLAG_KEY; + # ifdef XFF_AVCODEC_FRAME_PTS + this->avpkt->pts = this->tagged_pts; +@@ -2486,7 +2532,6 @@ + this->size -= len; + + if (this->size > 0) { +- ff_check_bufsize(this, this->size); + memmove (this->buf, &chunk_buf[offset], this->size); + chunk_buf = this->buf; + /* take over pts for next access unit */ +@@ -2615,8 +2660,8 @@ + + img->pts = ff_untag_pts(this, this->av_frame); + +- /* workaround for weird 120fps streams */ +- if( video_step_to_use == 750 ) { ++ /* workaround for weird 120fps streams, as well as some rv20 with frame duration 3pts. */ ++ if (video_step_to_use <= 750) { + /* fallback to the VIDEO_PTS_MODE */ + video_step_to_use = 0; + } +@@ -2837,7 +2882,7 @@ + + img->pts = ff_untag_pts (this, this->av_frame2); + +- if (video_step_to_use == 750) ++ if (video_step_to_use <= 750) + video_step_to_use = 0; + img->duration = this->av_frame2->repeat_pict ? video_step_to_use * 3 / 2 : video_step_to_use; + img->progressive_frame = !this->av_frame2->interlaced_frame; +@@ -2941,6 +2986,9 @@ + mpeg_parser_reset(this->mpeg_parser); + + /* this->pts_tag_pass = 0; */ ++#if XFF_AVCODEC_SLICE_TABLE == 2 ++ this->slice_num = 0; ++#endif + } + + static void ff_dispose (video_decoder_t *this_gen) { +@@ -2953,12 +3001,15 @@ + rgb2yuy2_free (this->rgb2yuy2); + + if (this->decoder_ok) { ++ uint8_t *ed; + + pthread_mutex_lock(&ffmpeg_lock); +- _x_freep (&this->context->extradata); ++ ed = this->context->extradata; ++ this->context->extradata = NULL; + this->context->extradata_size = 0; + XFF_FREE_CONTEXT (this->context); + pthread_mutex_unlock(&ffmpeg_lock); ++ _x_freep (&ed); + + #ifdef ENABLE_DIRECT_RENDERING + ff_free_dr1_frames (this, 1); +@@ -2972,9 +3023,11 @@ + XFF_FREE_CONTEXT (this->context); + } + +- if (this->slice_offset_table) +- free (this->slice_offset_table); +- ++#if XFF_AVCODEC_SLICE_TABLE == 1 ++ free (this->slice_offset_table); ++#elif XFF_AVCODEC_SLICE_TABLE == 2 ++ free (this->temp_buf); ++#endif + + #if XFF_VIDEO > 1 + XFF_PACKET_UNREF (this->avpkt); +@@ -3062,21 +3115,25 @@ + this->decoder_ok = 0; + this->aspect_ratio = 0; + this->pts_tag_pass = 0; +-#ifdef HAVE_POSTPROC ++# ifdef HAVE_POSTPROC + this->pp_quality = 0; + this->our_context = NULL; + this->our_mode = NULL; +-#endif ++# endif + this->mpeg_parser = NULL; + this->set_stream_info = 0; + this->rgb2yuy2 = NULL; +-#ifdef ENABLE_VAAPI ++# ifdef ENABLE_VAAPI + this->accel = NULL; + this->accel_img = NULL; +-#endif +-#if XFF_VIDEO == 3 ++# endif ++# if XFF_VIDEO == 3 + this->flush_packet_sent = 0; +-#endif ++# endif ++# if XFF_AVCODEC_SLICE_TABLE == 2 ++ this->temp_size = 0; ++ this->temp_buf = NULL; ++# endif + #endif + + this->video_decoder.decode_data = ff_decode_data; +diff -r 1e7b18400886 -r 73b833e7fe35 src/combined/ffmpeg/ffmpeg_compat.h +--- a/src/combined/ffmpeg/ffmpeg_compat.h Mon May 06 21:55:55 2024 +0200 ++++ b/src/combined/ffmpeg/ffmpeg_compat.h Wed May 08 11:34:45 2024 +0200 +@@ -139,6 +139,14 @@ + # define XFF_PALETTE 3 + #endif + ++#if LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(59,42,100) ++/* AVCodecContext.slice_{offset,count} */ ++# define XFF_AVCODEC_SLICE_TABLE 1 ++#else ++/* inline offset table before the frame. */ ++# define XFF_AVCODEC_SLICE_TABLE 2 ++#endif ++ + #if LIBAVCODEC_VERSION_INT < XFF_INT_VERSION(59,0,100) /** << revise this */ + # define XFF_VAAPI 1 /** << libavcodec/vaapi.h */ + #else diff --git a/xine-lib.spec b/xine-lib.spec index b745e41..5967f9c 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -26,13 +26,13 @@ %endif #global snapshot 1 -#global date 20220307 -#global revision 15076 +%global date 20240508 +%global revision 15289 Summary: A multimedia engine Name: xine-lib Version: 1.2.13 -Release: 13%{?snapshot:.%{date}hg%{revision}}%{?dist} +Release: 14%{?snapshot:.%{date}hg%{revision}}%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -46,7 +46,12 @@ Source1: make_xinelib_snapshot.sh # ffmpeg6 compatibility # See: https://sourceforge.net/p/xine/xine-lib-1.2/ci/771f4ae27e582123ff3500444718fc8f96186d74/ Patch0: xine-lib-1.2.13-ffmpeg6-compatibility.patch -Patch1: xine-lib-configure-c99.patch +# +Patch1: xine-lib-configure-c99.patch +# See: https://sourceforge.net/p/xine/xine-lib-1.2/ci/1e7b184008860c8be2289c3cefd9dee57f06193a/ +Patch2: xine-lib-1.2.13-ffmpeg6-compatibility_2.patch +# See: https://sourceforge.net/p/xine/xine-lib-1.2/ci/73b833e7fe356cd2d9490dda4ebc9bfe16fce958/ +Patch3: xine-lib-1.2.13-ffmpeg7-compatibility.patch Provides: xine-lib(plugin-abi) = %{plugin_abi} Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi} @@ -348,6 +353,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Mon May 20 2024 Xavier Bachelot - 1.2.13-14 +- Add patches for ffmpeg compatibility + * Wed Mar 13 2024 Sérgio Basto - 1.2.13-13 - Rebuild for jpegxl (libjxl) 0.10.2 From fc1834bfb914cd0ab0dd2c4d77751dc66ddfc1db Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Tue, 16 Jul 2024 20:47:08 +0200 Subject: [PATCH 67/82] Rebuilt for libplacebo/vmaf --- xine-lib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xine-lib.spec b/xine-lib.spec index 5967f9c..f755e44 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -32,7 +32,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.2.13 -Release: 14%{?snapshot:.%{date}hg%{revision}}%{?dist} +Release: 15%{?snapshot:.%{date}hg%{revision}}%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -353,6 +353,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Tue Jul 16 2024 Nicolas Chauvet - 1.2.13-15 +- Rebuilt for libplacebo/vmaf + * Mon May 20 2024 Xavier Bachelot - 1.2.13-14 - Add patches for ffmpeg compatibility From e88dba6c2ed35ac91fc60732b567125ba7b4bb74 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 20 Jul 2024 10:08:03 +0000 Subject: [PATCH 68/82] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- xine-lib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xine-lib.spec b/xine-lib.spec index f755e44..9933125 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -32,7 +32,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.2.13 -Release: 15%{?snapshot:.%{date}hg%{revision}}%{?dist} +Release: 16%{?snapshot:.%{date}hg%{revision}}%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -353,6 +353,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Sat Jul 20 2024 Fedora Release Engineering - 1.2.13-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Tue Jul 16 2024 Nicolas Chauvet - 1.2.13-15 - Rebuilt for libplacebo/vmaf From 1f48720efe66606bce9f445eba14a4b4b38afe12 Mon Sep 17 00:00:00 2001 From: Fabio Valentini Date: Mon, 23 Sep 2024 17:02:56 +0200 Subject: [PATCH 69/82] Rebuild for ffmpeg 7 --- xine-lib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xine-lib.spec b/xine-lib.spec index 9933125..54c7661 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -32,7 +32,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.2.13 -Release: 16%{?snapshot:.%{date}hg%{revision}}%{?dist} +Release: 17%{?snapshot:.%{date}hg%{revision}}%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -353,6 +353,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Mon Sep 23 2024 Fabio Valentini - 1.2.13-17 +- Rebuild for ffmpeg 7 + * Sat Jul 20 2024 Fedora Release Engineering - 1.2.13-16 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From a4dadd83d84a20bd23d6a95db4ce7eb240e5ab18 Mon Sep 17 00:00:00 2001 From: Xavier Bachelot Date: Mon, 30 Dec 2024 11:03:05 +0100 Subject: [PATCH 70/82] Rebuild for libnfs 6 --- xine-lib-1.2.13-fix_libnfs6.patch | 32 +++++++++++++++++++++++++++++++ xine-lib.spec | 7 ++++++- 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 xine-lib-1.2.13-fix_libnfs6.patch diff --git a/xine-lib-1.2.13-fix_libnfs6.patch b/xine-lib-1.2.13-fix_libnfs6.patch new file mode 100644 index 0000000..174d710 --- /dev/null +++ b/xine-lib-1.2.13-fix_libnfs6.patch @@ -0,0 +1,32 @@ +# HG changeset patch +# User Torsten Jager +# Date 1734473730 -3600 +# Tue Dec 17 23:15:30 2024 +0100 +# Node ID ea7071a960a1ca8719422e80e130994c8f549731 +# Parent 439d26b4081e3f31f21052049e9564082fc80076 +Attempt to fix build with libnfs 6. +Thanks to Xavier Bachelot . + +diff -r 439d26b4081e -r ea7071a960a1 src/input/input_nfs.c +--- a/src/input/input_nfs.c Tue Dec 17 23:15:25 2024 +0100 ++++ b/src/input/input_nfs.c Tue Dec 17 23:15:30 2024 +0100 +@@ -1,5 +1,5 @@ + /* +- * Copyright (C) 2000-2020 the xine project ++ * Copyright (C) 2000-2024 the xine project + * Copyright (C) 2018 Petri Hintukainen + * + * This file is part of xine, a free video player. +@@ -134,7 +134,11 @@ + int rc; + + while (got < len) { +- rc = nfs_read(this->nfs, this->nfsfh, len - got, buf + got); ++#ifdef LIBNFS_API_V2 ++ rc = nfs_read (this->nfs, this->nfsfh, buf + got, len - got); ++#else ++ rc = nfs_read (this->nfs, this->nfsfh, len - got, buf + got); ++#endif + if (rc <= 0) { + if (errno == EAGAIN || errno == EINTR) + continue; diff --git a/xine-lib.spec b/xine-lib.spec index 54c7661..ba7acb1 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -32,7 +32,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.2.13 -Release: 17%{?snapshot:.%{date}hg%{revision}}%{?dist} +Release: 18%{?snapshot:.%{date}hg%{revision}}%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -52,6 +52,8 @@ Patch1: xine-lib-configure-c99.patch Patch2: xine-lib-1.2.13-ffmpeg6-compatibility_2.patch # See: https://sourceforge.net/p/xine/xine-lib-1.2/ci/73b833e7fe356cd2d9490dda4ebc9bfe16fce958/ Patch3: xine-lib-1.2.13-ffmpeg7-compatibility.patch +# See: https://sourceforge.net/p/xine/xine-lib-1.2/ci/ea7071a960a1ca8719422e80e130994c8f549731/ +Patch4: xine-lib-1.2.13-fix_libnfs6.patch Provides: xine-lib(plugin-abi) = %{plugin_abi} Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi} @@ -353,6 +355,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Mon Dec 30 2024 Xavier Bachelot - 1.2.13-18 +- Rebuild for libnfs 6 + * Mon Sep 23 2024 Fabio Valentini - 1.2.13-17 - Rebuild for ffmpeg 7 From 569e8ed1f06f0709056b0509fc529bbce6774eb1 Mon Sep 17 00:00:00 2001 From: Xavier Bachelot Date: Mon, 30 Dec 2024 11:04:02 +0100 Subject: [PATCH 71/82] Drop support for EL7 --- xine-lib.spec | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/xine-lib.spec b/xine-lib.spec index ba7acb1..558a235 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -2,13 +2,6 @@ %global plugin_abi 2.11 %global codecdir %{_libdir}/codecs -%if 0%{?el7} - %global _without_dav1d 1 - %global _without_gcrypt 1 - %global _without_png 1 - %global _with_xvmc 1 -%endif - %if 0%{?el8} %global _without_gcrypt 1 %endif @@ -357,6 +350,7 @@ mkdir -p %{buildroot}%{codecdir} %changelog * Mon Dec 30 2024 Xavier Bachelot - 1.2.13-18 - Rebuild for libnfs 6 +- Drop support for EL7 * Mon Sep 23 2024 Fabio Valentini - 1.2.13-17 - Rebuild for ffmpeg 7 From 8a58cbca1c35e85f8979f8630a3bd38c5ec5aca6 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 19 Jan 2025 15:54:39 +0000 Subject: [PATCH 72/82] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- xine-lib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xine-lib.spec b/xine-lib.spec index 558a235..c90fd38 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -25,7 +25,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.2.13 -Release: 18%{?snapshot:.%{date}hg%{revision}}%{?dist} +Release: 19%{?snapshot:.%{date}hg%{revision}}%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -348,6 +348,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Sun Jan 19 2025 Fedora Release Engineering - 1.2.13-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Mon Dec 30 2024 Xavier Bachelot - 1.2.13-18 - Rebuild for libnfs 6 - Drop support for EL7 From c230597d896cbf8b4c17f9cb05072ab5e164af8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20M=2E=20Basto?= Date: Tue, 4 Feb 2025 02:35:16 +0000 Subject: [PATCH 73/82] Fix build using global build_type_safety_c 2 more information in /usr/share/doc/redhat-rpm-config/buildflags.md "Controlling Type Safety" --- xine-lib.spec | 3 +++ 1 file changed, 3 insertions(+) diff --git a/xine-lib.spec b/xine-lib.spec index c90fd38..588174d 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -1,3 +1,4 @@ +%global build_type_safety_c 2 %define _legacy_common_support 1 %global plugin_abi 2.11 %global codecdir %{_libdir}/codecs @@ -350,6 +351,8 @@ mkdir -p %{buildroot}%{codecdir} %changelog * Sun Jan 19 2025 Fedora Release Engineering - 1.2.13-19 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild +- Fix build using global build_type_safety_c 2 more information in + /usr/share/doc/redhat-rpm-config/buildflags.md "Controlling Type Safety" * Mon Dec 30 2024 Xavier Bachelot - 1.2.13-18 - Rebuild for libnfs 6 From dcae1d4c62d9cfb614750047096fc3e20e2c58ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= Date: Wed, 5 Feb 2025 21:35:44 +0100 Subject: [PATCH 74/82] Rebuilt for aom 3.11.0 --- xine-lib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xine-lib.spec b/xine-lib.spec index 588174d..7e48f31 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -26,7 +26,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.2.13 -Release: 19%{?snapshot:.%{date}hg%{revision}}%{?dist} +Release: 20%{?snapshot:.%{date}hg%{revision}}%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -349,6 +349,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Wed Feb 05 2025 Robert-André Mauchin - 1.2.13-20 +- Rebuilt for aom 3.11.0 + * Sun Jan 19 2025 Fedora Release Engineering - 1.2.13-19 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - Fix build using global build_type_safety_c 2 more information in From 49d538fe8225965d9ac5c6daa1f5a7a1c036dddd Mon Sep 17 00:00:00 2001 From: Xavier Bachelot Date: Fri, 7 Feb 2025 23:34:13 +0100 Subject: [PATCH 75/82] Add upstream patch for gcc 15 --- xine-lib-1.2.13-gcc_15.patch | 160 +++++++++++++++++++++++++++++++++++ xine-lib.spec | 19 ++++- 2 files changed, 175 insertions(+), 4 deletions(-) create mode 100644 xine-lib-1.2.13-gcc_15.patch diff --git a/xine-lib-1.2.13-gcc_15.patch b/xine-lib-1.2.13-gcc_15.patch new file mode 100644 index 0000000..d439eb6 --- /dev/null +++ b/xine-lib-1.2.13-gcc_15.patch @@ -0,0 +1,160 @@ +# HG changeset patch +# User Torsten Jager +# Date 1738622090 -3600 +# Mon Feb 03 23:34:50 2025 +0100 +# Node ID a38be398e202da7b8e414969b74fbd65eb34798d +# Parent ea7071a960a1ca8719422e80e130994c8f549731 +Fix qsort compare func. +gcc 15 no longer accepts type (*func) () as a generic pointer +to any fuction returning type, and sometimes also bails on +obvious type pun then dereference. +Thanks to Xavier Bachelot . + +diff -r ea7071a960a1 -r a38be398e202 contrib/libfaad/sbr_fbt.c +--- a/contrib/libfaad/sbr_fbt.c Tue Dec 17 23:15:30 2024 +0100 ++++ b/contrib/libfaad/sbr_fbt.c Mon Feb 03 23:34:50 2025 +0100 +@@ -105,9 +105,11 @@ + } + } + +-static int longcmp(const void *a, const void *b) +-{ +- return ((int)(*(int32_t*)a - *(int32_t*)b)); ++static int longcmp (const void *a, const void *b) { ++ const int32_t *d = (const int32_t *)a; ++ const int32_t *e = (const int32_t *)b; ++ ++ return (int)(*d - *e); + } + + /* calculate the stop QMF channel for the master frequency band table */ +diff -r ea7071a960a1 -r a38be398e202 src/input/input_file.c +--- a/src/input/input_file.c Tue Dec 17 23:15:30 2024 +0100 ++++ b/src/input/input_file.c Mon Feb 03 23:34:50 2025 +0100 +@@ -1,5 +1,5 @@ + /* +- * Copyright (C) 2000-2022 the xine project ++ * Copyright (C) 2000-2025 the xine project + * + * This file is part of xine, a free video player. + * +@@ -649,10 +649,13 @@ + } + + /* +- * Wrapper to file_input_strverscmp() for qsort() calls, which sort mrl_t type array. ++ * Wrapper to file_input_strverscmp () for qsort () calls, which sort mrl_t type array. + */ +-static int file_input_sortfiles_default (const xine_mrl_t *s1, const xine_mrl_t *s2) { +- return(file_input_strverscmp(s1->mrl, s2->mrl)); ++static int file_input_sortfiles_default (const void *a, const void *b) { ++ const xine_mrl_t *d = (const xine_mrl_t *)a; ++ const xine_mrl_t *e = (const xine_mrl_t *)b; ++ ++ return file_input_strverscmp (d->mrl, e->mrl); + } + + /* +@@ -735,7 +738,7 @@ + int num_dir_files = 0; + int num_norm_files = 0; + int num_files = -1; +- int (*func) () = file_input_sortfiles_default; ++ int (*cmp) (const void *a, const void *b) = file_input_sortfiles_default; + int already_tried = 0; + int show_hidden_files; + +@@ -914,14 +917,14 @@ + /* + * Sort arrays + */ +- if(num_dir_files) +- qsort(dir_files, num_dir_files, sizeof(xine_mrl_t), func); ++ if (num_dir_files) ++ qsort (dir_files, num_dir_files, sizeof (xine_mrl_t), cmp); + +- if(num_hide_files) +- qsort(hide_files, num_hide_files, sizeof(xine_mrl_t), func); ++ if (num_hide_files) ++ qsort (hide_files, num_hide_files, sizeof (xine_mrl_t), cmp); + +- if(num_norm_files) +- qsort(norm_files, num_norm_files, sizeof(xine_mrl_t), func); ++ if (num_norm_files) ++ qsort (norm_files, num_norm_files, sizeof (xine_mrl_t), cmp); + + /* + * Add directories entries +diff -r ea7071a960a1 -r a38be398e202 src/input/input_smb.c +--- a/src/input/input_smb.c Tue Dec 17 23:15:30 2024 +0100 ++++ b/src/input/input_smb.c Mon Feb 03 23:34:50 2025 +0100 +@@ -229,10 +229,13 @@ + } + + /* +- * Wrapper to _strverscmp() for qsort() calls, which sort mrl_t type array. ++ * Wrapper to _strverscmp () for qsort () calls, which sort mrl_t type array. + */ +-static int _sortfiles_default(const xine_mrl_t *s1, const xine_mrl_t *s2) { +- return(_strverscmp(s1->mrl, s2->mrl)); ++static int smb_input_sortfiles_default (const void *a, const void *b) { ++ const xine_mrl_t *d = (const xine_mrl_t *)a; ++ const xine_mrl_t *e = (const xine_mrl_t *)b; ++ ++ return file_input_strverscmp (d->mrl, e->mrl); + } + + +@@ -240,7 +243,7 @@ + const char *filename, int *nFiles) { + + smb_input_class_t *this = (smb_input_class_t *) this_gen; +- int (*func) () = _sortfiles_default; ++ int (*cmp) (const void *a, const void *b) = smb_input_sortfiles_default; + int dir; + int i; + struct smbc_dirent *pdirent; +@@ -338,11 +341,11 @@ + /* + * Sort arrays + */ +- if(num_dir_files) +- qsort(dir_files, num_dir_files, sizeof(xine_mrl_t), func); ++ if (num_dir_files) ++ qsort (dir_files, num_dir_files, sizeof (xine_mrl_t), cmp); + +- if(num_norm_files) +- qsort(norm_files, num_norm_files, sizeof(xine_mrl_t), func); ++ if (num_norm_files) ++ qsort (norm_files, num_norm_files, sizeof (xine_mrl_t), cmp); + + /* + * Add directories entries +# HG changeset patch +# User Torsten Jager +# Date 1738881040 -3600 +# Thu Feb 06 23:30:40 2025 +0100 +# Node ID b5fd08a878bb80072ba5b71e30391ab52698c22f +# Parent a38be398e202da7b8e414969b74fbd65eb34798d +Fix qsort compare func 2. +Thanks to Xavier Bachelot . + +diff -r a38be398e202 -r b5fd08a878bb src/input/input_smb.c +--- a/src/input/input_smb.c Mon Feb 03 23:34:50 2025 +0100 ++++ b/src/input/input_smb.c Thu Feb 06 23:30:40 2025 +0100 +@@ -1,5 +1,5 @@ + /* +- * Copyright (C) 2008-2020 the xine project ++ * Copyright (C) 2008-2025 the xine project + * + * This file is part of xine, a free video player. + * +@@ -235,7 +235,7 @@ + const xine_mrl_t *d = (const xine_mrl_t *)a; + const xine_mrl_t *e = (const xine_mrl_t *)b; + +- return file_input_strverscmp (d->mrl, e->mrl); ++ return _strverscmp (d->mrl, e->mrl); + } + + diff --git a/xine-lib.spec b/xine-lib.spec index 7e48f31..7e7dd3e 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -20,13 +20,13 @@ %endif #global snapshot 1 -%global date 20240508 -%global revision 15289 +%global date 20250206 +%global revision 15304 Summary: A multimedia engine Name: xine-lib Version: 1.2.13 -Release: 20%{?snapshot:.%{date}hg%{revision}}%{?dist} +Release: 21%{?snapshot:.%{date}hg%{revision}}%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -48,6 +48,10 @@ Patch2: xine-lib-1.2.13-ffmpeg6-compatibility_2.patch Patch3: xine-lib-1.2.13-ffmpeg7-compatibility.patch # See: https://sourceforge.net/p/xine/xine-lib-1.2/ci/ea7071a960a1ca8719422e80e130994c8f549731/ Patch4: xine-lib-1.2.13-fix_libnfs6.patch +# See: +# https://sourceforge.net/p/xine/xine-lib-1.2/ci/a38be398e202da7b8e414969b74fbd65eb34798d/ +# https://sourceforge.net/p/xine/xine-lib-1.2/ci/b5fd08a878bb80072ba5b71e30391ab52698c22f/ +Patch5: xine-lib-1.2.13-gcc_15.patch Provides: xine-lib(plugin-abi) = %{plugin_abi} Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi} @@ -150,7 +154,11 @@ This package contains extra plugins for %{name}: %prep -%autosetup -p1 %{?snapshot:-n %{name}-%{version}-%{date}hg%{revision}} +%if ! 0%{?snapshot} +%autosetup -p1 +%else +%setup -n %{name}-%{version}-%{date}hg%{revision} +%endif %build @@ -349,6 +357,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Fri Feb 07 2025 Xavier Bachelot - 1.2.13-21 +- Add upstream patch for gcc 15 + * Wed Feb 05 2025 Robert-André Mauchin - 1.2.13-20 - Rebuilt for aom 3.11.0 From 398a301f1b88657aaa17a663cf6f8c53d9d50235 Mon Sep 17 00:00:00 2001 From: Xavier Bachelot Date: Tue, 18 Feb 2025 23:29:47 +0100 Subject: [PATCH 76/82] Disable w32dll for F42+ --- xine-lib.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/xine-lib.spec b/xine-lib.spec index 7e7dd3e..e6a378c 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -19,6 +19,10 @@ %global have_vidix 0 %endif +%if 0%{fedora} >= 41 || 0%{?rhel} +%global _without_w32dll 1 +%endif + #global snapshot 1 %global date 20250206 %global revision 15304 @@ -181,6 +185,7 @@ autoreconf -fiv --with-libflac \ --without-esound \ --with-wavpack \ +%{?_without_w32dll: --enable-w32dll=no} \ --with-real-codecs-path=%{codecdir} \ --with-w32-path=%{codecdir} @@ -273,7 +278,7 @@ mkdir -p %{buildroot}%{codecdir} %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_to_spdif.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_vdpau.so %ifarch %{ix86} -%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_w32dll.so +%{!?_without_w32dll:%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_w32dll.so} %endif %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_asf.so %{_libdir}/xine/plugins/%{plugin_abi}/xineplug_dmx_audio.so @@ -359,6 +364,7 @@ mkdir -p %{buildroot}%{codecdir} %changelog * Fri Feb 07 2025 Xavier Bachelot - 1.2.13-21 - Add upstream patch for gcc 15 +- Disable w32dll for F42+ * Wed Feb 05 2025 Robert-André Mauchin - 1.2.13-20 - Rebuilt for aom 3.11.0 From 1e2903aa4fb65762ded07e4985a40360f7508392 Mon Sep 17 00:00:00 2001 From: Xavier Bachelot Date: Wed, 5 Mar 2025 15:28:20 +0100 Subject: [PATCH 77/82] Add upstream patch to fix win32dll build with gcc15 --- xine-lib-1.2.13-gcc_15-w32dll.patch | 60 +++++++++++++++++++++++++++++ xine-lib.spec | 11 +++--- 2 files changed, 66 insertions(+), 5 deletions(-) create mode 100644 xine-lib-1.2.13-gcc_15-w32dll.patch diff --git a/xine-lib-1.2.13-gcc_15-w32dll.patch b/xine-lib-1.2.13-gcc_15-w32dll.patch new file mode 100644 index 0000000..aab887e --- /dev/null +++ b/xine-lib-1.2.13-gcc_15-w32dll.patch @@ -0,0 +1,60 @@ +# HG changeset patch +# User Torsten Jager +# Date 1741126505 -3600 +# Tue Mar 04 23:15:05 2025 +0100 +# Node ID 5a68e8b08fd5378780f76c3ab957d790209388db +# Parent b5fd08a878bb80072ba5b71e30391ab52698c22f +(Attempt to) Fix gcc 15 error. +That one no longer accepts "type foo ();" as a prototype +for any set of function parameters. +Thanks to Xavier Bachelot . + +diff -r b5fd08a878bb -r 5a68e8b08fd5 src/libw32dll/wine/win32.c +--- a/src/libw32dll/wine/win32.c Thu Feb 06 23:30:40 2025 +0100 ++++ b/src/libw32dll/wine/win32.c Tue Mar 04 23:15:05 2025 +0100 +@@ -2517,10 +2517,10 @@ + } + + static int WINAPI expEnumDisplayMonitors(void *dc, RECT *r, +- int WINAPI (*callback_proc)(), void *callback_param) ++ int WINAPI (*callback_proc) (int n, void *dc, RECT *r, void *param), void *callback_param) + { + dbgprintf("EnumDisplayMonitors(%p, %p, %p, %p) => ?\n", +- dc, r, callback_proc, callback_param); ++ dc, (void *)r, (void *)callback_proc, callback_param); + return callback_proc(0, dc, r, callback_param); + } + +@@ -2617,10 +2617,10 @@ + return 0; + } + +-static int WINAPI expEnumWindows(int (*callback_func)(), void *callback_param) ++static int WINAPI expEnumWindows(int (*callback_func) (int n, void *param), void *callback_param) + { + int i, i2; +- dbgprintf("EnumWindows(%p, %p) => 1\n", callback_func, callback_param); ++ dbgprintf("EnumWindows(%p, %p) => 1\n", (void *)callback_func, callback_param); + i = callback_func(0, callback_param); + i2 = callback_func(1, callback_param); + return i && i2; +@@ -3506,13 +3506,14 @@ + } + if(strstr(cs1, ".qtx")) + { +- int result; ++ int result = -1; + char* x=strrchr(cs1,'\\'); + char* tmp; +- asprintf(&tmp,"%s/%s",win32_def_path,x?(x+1):cs1); +-// printf("### Open: %s -> %s\n",cs1,tmp); +- result=open(tmp, O_RDONLY); +- free(tmp); ++ if (asprintf (&tmp,"%s/%s",win32_def_path,x?(x+1):cs1) >= 0) { ++ // printf("### Open: %s -> %s\n",cs1,tmp); ++ result = open (tmp, O_RDONLY); ++ free (tmp); ++ } + return result; + } + #endif diff --git a/xine-lib.spec b/xine-lib.spec index e6a378c..7d47bb5 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -19,10 +19,6 @@ %global have_vidix 0 %endif -%if 0%{fedora} >= 41 || 0%{?rhel} -%global _without_w32dll 1 -%endif - #global snapshot 1 %global date 20250206 %global revision 15304 @@ -30,7 +26,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.2.13 -Release: 21%{?snapshot:.%{date}hg%{revision}}%{?dist} +Release: 22%{?snapshot:.%{date}hg%{revision}}%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -56,6 +52,8 @@ Patch4: xine-lib-1.2.13-fix_libnfs6.patch # https://sourceforge.net/p/xine/xine-lib-1.2/ci/a38be398e202da7b8e414969b74fbd65eb34798d/ # https://sourceforge.net/p/xine/xine-lib-1.2/ci/b5fd08a878bb80072ba5b71e30391ab52698c22f/ Patch5: xine-lib-1.2.13-gcc_15.patch +# https://sourceforge.net/p/xine/xine-lib-1.2/ci/5a68e8b08fd5378780f76c3ab957d790209388db/ +Patch6: xine-lib-1.2.13-gcc_15-w32dll.patch Provides: xine-lib(plugin-abi) = %{plugin_abi} Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi} @@ -362,6 +360,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Wed Mar 05 2025 Xavier Bachelot - 1.2.13-22 +- Add upstream patch to fix win32dll build with gcc15 + * Fri Feb 07 2025 Xavier Bachelot - 1.2.13-21 - Add upstream patch for gcc 15 - Disable w32dll for F42+ From 1c1f0b2ed59713ee78b8b08029e8caf5ab283963 Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Tue, 27 May 2025 17:13:40 +0200 Subject: [PATCH 78/82] Rebuilt for flac 1.5.0 --- xine-lib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xine-lib.spec b/xine-lib.spec index 7d47bb5..4b84bb3 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -26,7 +26,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.2.13 -Release: 22%{?snapshot:.%{date}hg%{revision}}%{?dist} +Release: 23%{?snapshot:.%{date}hg%{revision}}%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -360,6 +360,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Tue May 27 2025 Jitka Plesnikova - 1.2.13-23 +- Rebuilt for flac 1.5.0 + * Wed Mar 05 2025 Xavier Bachelot - 1.2.13-22 - Add upstream patch to fix win32dll build with gcc15 From 99ad90a68c9c9829c31e851900f2595438d3fead Mon Sep 17 00:00:00 2001 From: Dominik 'Rathann' Mierzejewski Date: Wed, 25 Jun 2025 18:49:07 +0200 Subject: [PATCH 79/82] Enable FAAD2 support --- xine-lib.spec | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/xine-lib.spec b/xine-lib.spec index 4b84bb3..9168713 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -8,8 +8,6 @@ %endif %if 0%{?fedora} || 0%{?rhel} >= 9 -# Not permitted in Fedora, ffmpeg covers this anyway -%global _without_faad2 1 %global _without_fame 1 %endif @@ -26,7 +24,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.2.13 -Release: 23%{?snapshot:.%{date}hg%{revision}}%{?dist} +Release: 24%{?snapshot:.%{date}hg%{revision}}%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -360,6 +358,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Wed Jun 25 2025 Dominik Mierzejewski - 1.2.13-24 +- Enable FAAD2 support + * Tue May 27 2025 Jitka Plesnikova - 1.2.13-23 - Rebuilt for flac 1.5.0 From 4efb0e0ab766811ab7d43372513f659f6d7a9963 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 20:52:44 +0000 Subject: [PATCH 80/82] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- xine-lib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xine-lib.spec b/xine-lib.spec index 9168713..fd6dcfa 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -24,7 +24,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.2.13 -Release: 24%{?snapshot:.%{date}hg%{revision}}%{?dist} +Release: 25%{?snapshot:.%{date}hg%{revision}}%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -358,6 +358,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Fri Jul 25 2025 Fedora Release Engineering - 1.2.13-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Wed Jun 25 2025 Dominik Mierzejewski - 1.2.13-24 - Enable FAAD2 support From 1c3b9268d7cb2d0d5b0ac0a0b4a87cfb77b1b366 Mon Sep 17 00:00:00 2001 From: Xavier Bachelot Date: Tue, 30 Sep 2025 13:25:12 +0200 Subject: [PATCH 81/82] Add upstream patch for ffmpeg 8 compatibility --- xine-lib-1.2.13-ffmpeg8-compatibility.patch | 148 ++++++++++++++++++++ xine-lib.spec | 8 +- 2 files changed, 155 insertions(+), 1 deletion(-) create mode 100644 xine-lib-1.2.13-ffmpeg8-compatibility.patch diff --git a/xine-lib-1.2.13-ffmpeg8-compatibility.patch b/xine-lib-1.2.13-ffmpeg8-compatibility.patch new file mode 100644 index 0000000..97ec03d --- /dev/null +++ b/xine-lib-1.2.13-ffmpeg8-compatibility.patch @@ -0,0 +1,148 @@ +# HG changeset patch +# User Torsten Jager +# Date 1757753985 -7200 +# Sat Sep 13 10:59:45 2025 +0200 +# Node ID 9bb3977ea7e2b652742b3cdd200b0a4a72eb48bc +# Parent 9e326869fe0faf21957642c8c7c5cac9ed4f445c +FFmpeg compatibilty update. + +diff -r 9e326869fe0f -r 9bb3977ea7e2 src/combined/ffmpeg/ff_video_decoder.c +--- a/src/combined/ffmpeg/ff_video_decoder.c Sat May 31 15:55:00 2025 +0200 ++++ b/src/combined/ffmpeg/ff_video_decoder.c Sat Sep 13 10:59:45 2025 +0200 +@@ -1,5 +1,5 @@ + /* +- * Copyright (C) 2001-2024 the xine project ++ * Copyright (C) 2001-2025 the xine project + * + * This file is part of xine, a free video player. + * +@@ -60,6 +60,10 @@ + + #include "ffmpeg_compat.h" + ++#if XFF_FRAME_RATE == 2 ++# include ++#endif ++ + #if LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(59,0,100) + # undef HAVE_POSTPROC + #endif +@@ -2289,8 +2293,8 @@ + } + + /* transfer some more frame settings for deinterlacing */ +- img->progressive_frame = !this->av_frame->interlaced_frame; +- img->top_field_first = this->av_frame->top_field_first; ++ img->progressive_frame = !XFF_FRAME_IS_INTERLACED (this->av_frame); ++ img->top_field_first = !!XFF_FRAME_IS_TOP_FIELD_FIRST (this->av_frame); + + /* get back reordered pts */ + img->pts = ff_untag_pts (this, this->av_frame); +@@ -2370,20 +2374,29 @@ + + static int ff_video_step_get (ff_video_decoder_t *this) { + /* use externally provided video_step or fall back to stream's time_base otherwise */ +- int step = this->video_step; ++ int step = this->video_step, num_fields; + if (step || !this->context->time_base.den) + return step; + ++#if XFF_FRAME_RATE == 1 ++ num_fields = this->context->ticks_per_frame; ++#else /* XFF_FRAME_RATE == 2 */ ++ { ++ const AVCodecDescriptor *desc = avcodec_descriptor_get (this->context->codec_id); ++ if (desc) ++ num_fields = (desc->props & AV_CODEC_PROP_FIELDS) ? 2 : 1; ++ else ++ num_fields = 2; ++ } ++#endif + /* good: 2 * 1001 / 48000. */ +- step = (int64_t)90000 * this->context->ticks_per_frame +- * this->context->time_base.num / this->context->time_base.den; ++ step = (int64_t)90000 * num_fields * this->context->time_base.num / this->context->time_base.den; + if (step >= 90) + return step; + + /* bad: 2 * 1 / 60000. seen this once from broken h.264 video usability info (VUI). + * VAAPI seems to apply a similar HACK.*/ +- step = (int64_t)90000000 * this->context->ticks_per_frame +- * this->context->time_base.num / this->context->time_base.den; ++ step = (int64_t)90000000 * num_fields * this->context->time_base.num / this->context->time_base.den; + return step; + } + +@@ -2680,8 +2693,8 @@ + img->duration = video_step_to_use; + + /* transfer some more frame settings for deinterlacing */ +- img->progressive_frame = !this->av_frame->interlaced_frame; +- img->top_field_first = this->av_frame->top_field_first; ++ img->progressive_frame = !XFF_FRAME_IS_INTERLACED (this->av_frame); ++ img->top_field_first = !!XFF_FRAME_IS_TOP_FIELD_FIRST (this->av_frame); + + this->skipframes = img->draw(img, this->stream); + this->state = STATE_FRAME_SENT; +@@ -2894,8 +2907,8 @@ + if (video_step_to_use <= 750) + video_step_to_use = 0; + img->duration = this->av_frame2->repeat_pict ? video_step_to_use * 3 / 2 : video_step_to_use; +- img->progressive_frame = !this->av_frame2->interlaced_frame; +- img->top_field_first = this->av_frame2->top_field_first; ++ img->progressive_frame = !XFF_FRAME_IS_INTERLACED (this->av_frame2); ++ img->top_field_first = !!XFF_FRAME_IS_TOP_FIELD_FIRST (this->av_frame2); + + this->skipframes = img->draw (img, this->stream); + if (free_img) +diff -r 9e326869fe0f -r 9bb3977ea7e2 src/combined/ffmpeg/ffmpeg_compat.h +--- a/src/combined/ffmpeg/ffmpeg_compat.h Sat May 31 15:55:00 2025 +0200 ++++ b/src/combined/ffmpeg/ffmpeg_compat.h Sat Sep 13 10:59:45 2025 +0200 +@@ -1,5 +1,5 @@ + /* +- * Copyright (C) 2000-2024 the xine project ++ * Copyright (C) 2000-2025 the xine project + * + * This file is part of xine, a unix video player. + * +@@ -319,4 +319,20 @@ + # error avcodec.h must be included first ! + #endif /* defined(LIBAVCODEC_VERSION_INT) */ + ++#if LIBAVUTIL_VERSION_INT >= XFF_INT_VERSION(58,7,0) ++# define XFF_FRAME_IS_INTERLACED(_frame) ((_frame)->flags & AV_FRAME_FLAG_INTERLACED) ++# define XFF_FRAME_IS_TOP_FIELD_FIRST(_frame) ((_frame)->flags & AV_FRAME_FLAG_TOP_FIELD_FIRST) ++# define XFF_FRAME_IS_KEY(_frame) ((_frame)->flags & AV_FRAME_FLAG_KEY) ++#else ++# define XFF_FRAME_IS_INTERLACED(_frame) ((_frame)->interlaced_frame) ++# define XFF_FRAME_IS_TOP_FIELD_FIRST(_frame) ((_frame)->top_field_first) ++# define XFF_FRAME_IS_KEY(_frame) ((_frame)->key_frame) ++#endif ++ ++#if LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(60,0,0) ++# define XFF_FRAME_RATE 2 /* AV_CODEC_PROP_FIELDS */ ++#else ++# define XFF_FRAME_RATE 1 /* AVCodecContext.ticks_per_frame */ ++#endif ++ + #endif /* XINE_AVCODEC_COMPAT_H */ +# HG changeset patch +# User Xavier Bachelot +# Date 1758280185 -7200 +# Fri Sep 19 13:09:45 2025 +0200 +# Node ID a8fffd1193b2247c7f732d4df83dcc03fce96dbe +# Parent 9bb3977ea7e2b652742b3cdd200b0a4a72eb48bc +Fix FFmpeg compatibilty update. + +diff -r 9bb3977ea7e2 -r a8fffd1193b2 src/combined/ffmpeg/ff_video_decoder.c +--- a/src/combined/ffmpeg/ff_video_decoder.c Sat Sep 13 10:59:45 2025 +0200 ++++ b/src/combined/ffmpeg/ff_video_decoder.c Fri Sep 19 13:09:45 2025 +0200 +@@ -61,7 +61,7 @@ + #include "ffmpeg_compat.h" + + #if XFF_FRAME_RATE == 2 +-# include ++# include + #endif + + #if LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(59,0,100) diff --git a/xine-lib.spec b/xine-lib.spec index fd6dcfa..bf56c1e 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -24,7 +24,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.2.13 -Release: 25%{?snapshot:.%{date}hg%{revision}}%{?dist} +Release: 26%{?snapshot:.%{date}hg%{revision}}%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -52,6 +52,9 @@ Patch4: xine-lib-1.2.13-fix_libnfs6.patch Patch5: xine-lib-1.2.13-gcc_15.patch # https://sourceforge.net/p/xine/xine-lib-1.2/ci/5a68e8b08fd5378780f76c3ab957d790209388db/ Patch6: xine-lib-1.2.13-gcc_15-w32dll.patch +# https://sourceforge.net/p/xine/xine-lib-1.2/ci/9bb3977ea7e2b652742b3cdd200b0a4a72eb48bc/ +# https://sourceforge.net/p/xine/xine-lib-1.2/ci/a8fffd1193b2247c7f732d4df83dcc03fce96dbe/ +Patch7: xine-lib-1.2.13-ffmpeg8-compatibility.patch Provides: xine-lib(plugin-abi) = %{plugin_abi} Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi} @@ -358,6 +361,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Mon Sep 15 2025 Xavier Bachelot - 1.2.13-26 +- Add upstream patch for ffmpeg 8 compatibility + * Fri Jul 25 2025 Fedora Release Engineering - 1.2.13-25 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 94aa352da682d4da7e112a634167c4ba3a46afd8 Mon Sep 17 00:00:00 2001 From: Dominik 'Rathann' Mierzejewski Date: Tue, 4 Nov 2025 23:21:00 +0100 Subject: [PATCH 82/82] Rebuilt for FFmpeg 8 --- xine-lib.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/xine-lib.spec b/xine-lib.spec index bf56c1e..635d46d 100644 --- a/xine-lib.spec +++ b/xine-lib.spec @@ -24,7 +24,7 @@ Summary: A multimedia engine Name: xine-lib Version: 1.2.13 -Release: 26%{?snapshot:.%{date}hg%{revision}}%{?dist} +Release: 27%{?snapshot:.%{date}hg%{revision}}%{?dist} License: GPL-2.0-or-later URL: https://www.xine-project.org/ %if ! 0%{?snapshot} @@ -361,6 +361,9 @@ mkdir -p %{buildroot}%{codecdir} %changelog +* Tue Nov 04 2025 Dominik Mierzejewski - 1.2.13-27 +- Rebuilt for FFmpeg 8 + * Mon Sep 15 2025 Xavier Bachelot - 1.2.13-26 - Add upstream patch for ffmpeg 8 compatibility