Merge branch 'master' of ssh://pkgs.fedoraproject.org/xine-lib into f15

This commit is contained in:
Kevin Kofler 2011-11-25 22:42:23 +01:00
commit e18cbe62a5
9 changed files with 78 additions and 219 deletions

1
.gitignore vendored
View File

@ -1,2 +1,3 @@
xine-lib-1.1.19-autotools.patch.bz2
xine-lib-1.1.19-pruned.tar.bz2
/xine-lib-1.1.20-pruned.tar.xz

View File

@ -1,2 +1 @@
1a77122fa938a3f8cb85cef231236c39 xine-lib-1.1.19-autotools.patch.bz2
552e3e38f1afb77428f6aaa08e13b0d2 xine-lib-1.1.19-pruned.tar.bz2
0a916dc5456276402ab2002dd68ded50 xine-lib-1.1.20-pruned.tar.xz

View File

@ -1,20 +0,0 @@
--- xine-lib-1.1.1/src/xine-engine/load_plugins.c.~1~ 2005-09-19 09:14:02.000000000 -0700
+++ xine-lib-1.1.1/src/xine-engine/load_plugins.c 2006-04-22 23:07:33.000000000 -0700
@@ -591,7 +591,7 @@ static void collect_plugins(xine_t *this
printf("load_plugins: %s not cached\n", str);
#endif
- if(!info && (lib = dlopen (str, RTLD_LAZY | RTLD_GLOBAL)) == NULL) {
+ if(!info && (lib = dlopen (str, RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND)) == NULL) {
const char *error = dlerror();
/* too noisy -- but good to catch unresolved references */
xprintf(this, XINE_VERBOSITY_LOG,
@@ -649,7 +649,7 @@ static int _load_plugin_class(xine_t *th
/* load the dynamic library if needed */
if (!node->file->lib_handle) {
lprintf("dlopen %s\n", filename);
- if ((lib = dlopen (filename, RTLD_LAZY | RTLD_GLOBAL)) == NULL) {
+ if ((lib = dlopen (filename, RTLD_LAZY | RTLD_GLOBAL | RTLD_DEEPBIND)) == NULL) {
const char *error = dlerror();
xine_log (this, XINE_LOG_PLUGIN,

View File

@ -1,11 +0,0 @@
diff -up xine-lib-1.1.19/src/video_out/xxmc.h.ftbfs xine-lib-1.1.19/src/video_out/xxmc.h
--- xine-lib-1.1.19/src/video_out/xxmc.h.ftbfs 2010-03-09 16:17:05.000000000 -0600
+++ xine-lib-1.1.19/src/video_out/xxmc.h 2011-01-24 08:48:28.516631749 -0600
@@ -79,6 +79,7 @@
#include <X11/extensions/Xvlib.h>
#ifdef HAVE_VLDXVMC
#include <X11/extensions/vldXvMC.h>
+ #include <X11/extensions/XvMClib.h>
#else
#include <X11/extensions/XvMClib.h>
#include <X11/extensions/XvMC.h>

View File

@ -0,0 +1,11 @@
diff -ur xine-lib-1.1.20/configure.ac xine-lib-1.1.20-link-libdvdread/configure.ac
--- xine-lib-1.1.20/configure.ac 2011-11-13 02:36:20.000000000 +0100
+++ xine-lib-1.1.20-link-libdvdread/configure.ac 2011-11-20 05:46:16.000000000 +0100
@@ -1773,6 +1773,7 @@
AM_PATH_DVDNAV(0.1.9,
AC_DEFINE(HAVE_DVDNAV,1,[Define this if you have a suitable version of libdvdnav]),
[AC_MSG_RESULT([*** no usable version of libdvdnav found, using internal copy ***])])
+ AC_CHECK_LIB(dvdread, navRead_DSI, DVDNAV_LIBS="$DVDNAV_LIBS -ldvdread",)
else
AC_MSG_RESULT([Use included DVDNAV support])
fi

View File

@ -9,14 +9,3 @@
archopt_val=
case "$host_or_hostalias" in
--- 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"
- if test x"$sarchopt" != "xno"; then
+ if false ; then
archopt_val=
case "$host_or_hostalias" in

View File

@ -6,9 +6,9 @@ if [ -z "$1" -o $# -ne 1 ]; then
fi
version=$1
tarball="xine-lib-$version.tar.bz2"
tarball="xine-lib-$version.tar.xz"
dir="xine-lib-$version"
modtarball="xine-lib-$version-pruned.tar.bz2"
modtarball="xine-lib-$version-pruned.tar.xz"
if [ ! -f $tarball ]; then
@ -18,7 +18,7 @@ fi
echo "Uncompressing $tarball..."
rm -rf $dir
tar -xjf $tarball
tar -xJf $tarball
cd $dir
rmpluglib()
@ -30,7 +30,7 @@ rmpluglib()
}
# Main libraries
for remove in libfaad libffmpeg libmad libmpeg2 dxr3 liba52 libdts; do
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
@ -48,7 +48,7 @@ for p in dvd 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 -c $sourcefile src/input/Makefile.am`" -le 1 ]; then # if this file is only used for this plugin
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
@ -76,10 +76,12 @@ sed -i -e '/^xineplug_decode_nsf_la/,/^\s*$/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
tar -cJf $modtarball $dir
rm -rf $dir

View File

@ -1,34 +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 <xine-lib-version>"
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
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
rm -rf autom4te.cache *~
popd
diff -Nru xine-lib-$version-pruned xine-lib-$version \
| bzip2 --best > xine-lib-$version-autotools.patch.bz2

View File

@ -1,9 +1,8 @@
# TODO, sometime, maybe:
# - libstk: http://www.libstk.net/ - probably not, see 1.1.5 ChangeLog
# - drop the opengl video out plugin?
# - deprecate ESD support?
%define plugin_abi 1.29
%define plugin_abi 1.30
%define codecdir %{_libdir}/codecs
%ifarch %{ix86}
@ -12,138 +11,95 @@
%define have_vidix 0
%endif # ix86
%if 0%{?fedora}
%define _disable_gnomevfs --disable-gnomevfs
%define with_aalib %{?_without_aalib:0}%{!?_without_aalib:1}
%else
%define with_aalib %{?_with_aalib:1}%{!?_with_aalib:0}
%endif # Fedora
%define _enable_xvmc --enable-xvmc
%if 0%{?rhel} > 5
%ifarch ppc64
%undefine _enable_xvmc
%endif
%endif
%ifarch %{arm}
%ifarch %{arm}
%define _without_directfb 1
%endif
%if 0%{?fedora} > 8 || 0%{?rhel} > 5
%define _enable_v4l --enable-v4l
%define _enable_libv4l --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} > 14
%if 0%{?fedora} > 14
%define _disable_v4l1 1
%endif
%if 0%{?fedora} > 11 || 0%{?rhel} > 5
%define pa_in_main 1
%if 0%{?fedora} > 16
%define _without_esound 1
%endif
Summary: A multimedia engine
Summary: A multimedia engine
Name: xine-lib
Version: 1.1.19
Release: 6%{?dist}
Version: 1.1.20
Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Libraries
URL: http://www.xine-project.org/
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: xine-lib-%{version}-pruned.tar.bz2
#Source0: http://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.xz
Source0: xine-lib-%{version}-pruned.tar.xz
Source1: xine-lib-cleanup-sources.sh
Source2: xine-lib-mk-autotools-patch.sh
# autotools patch created with source2
Patch0: xine-lib-%{version}-autotools.patch.bz2
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
# 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.17-avsync_hack.patch
# http://bugzilla.redhat.com/477226
Patch9: xine-lib-1.1.16.2-multilib.patch
## upstreamable patches
# fixes ftbfs for xvmc header reshuffling
Patch50: xine-lib-1.1.19-xvmclib_header.patch
## upstream patches
# fix system libdvdnav support to also link libdvdread
# otherwise, we get unresolved symbols in the spudec plugin
Patch10: xine-lib-1.1.20-link-libdvdread.patch
Provides: xine-lib(plugin-abi) = %{plugin_abi}
%{?_isa:Provides: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}}
BuildRequires: automake libtool
BuildRequires: autoconf automake libtool
# X11
BuildRequires: libX11-devel
BuildRequires: libXv-devel
BuildRequires: libXinerama-devel
%{?_enable_xvmc:BuildRequires: libXvMC-devel}
BuildRequires: libXvMC-devel
BuildRequires: libGLU-devel
%if 0%{?_enable_libv4l:1}
BuildRequires: libv4l-devel
%endif
%if 0%{?_with_xcb:1}
BuildRequires: libxcb-devel
%endif # xcb
# 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
%if 0%{!?_without_imagemagick:1}
BuildRequires: ImageMagick-devel >= 6.2.4.6-1
%endif # imagemagick
%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
%if 0%{?_with_pa:1}
BuildRequires: pulseaudio-lib-devel
%endif # pa
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
BuildRequires: gtk2-devel
%if 0%{?fedora} > 6 || 0%{?rhel} > 5
BuildRequires: libsmbclient-devel
%else
BuildRequires: samba-common
%endif
BuildRequires: libdvdnav-devel
BuildRequires: libdvdread-devel
%if 0%{?pa_in_main}
# 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}
%endif
%description
This package contains the Xine library. It can be used to play back
@ -160,21 +116,6 @@ 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}%{?_isa} = %{version}-%{release}
#Requires: xine-lib(plugin-abi) = %{plugin_abi}
%description arts
This package contains the aRts plugin for %{name}.
%package pulseaudio
Summary: Pulseaudio plugin for %{name}
Group: System Environment/Libraries
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
@ -182,21 +123,16 @@ 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
%if ! 0%{?_disable_gnomevfs:1}
- GNOME VFS
%endif
- SMB
- SDL
%if %{with_aalib}
- AA-lib
%endif # aalib
- Libcaca
%if 0%{!?_without_imagemagick:1}
- Image decoding
%endif # imagemagick
%if 0%{!?_without_directfb:1}
- DirectFB output
%endif # directfb
@ -204,25 +140,16 @@ This package contains extra plugins for %{name}:
%prep
%setup -q
%patch0 -p1 -b .autotools
touch -r configure.ac aclocal.m4
touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
%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
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 .xvmclib_header
%patch10 -p1 -b .link-libdvdread
# 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
%build
export FFMPEG_CFLAGS=" " FFMPEG_LIBS=" "
@ -236,10 +163,10 @@ 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} \
%{?_enable_libv4l}%{!?_enable_libv4l:--disable-libv4l} \
%{?_enable_xvmc}%{!?_enable_xvmc:--disable-xvmc} \
%{?_disable_gnomevfs} \
--enable-v4l \
--enable-libv4l \
--enable-xvmc \
--disable-gnomevfs \
--disable-a52dec \
--disable-mad \
--disable-vcd \
@ -248,19 +175,20 @@ 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 \
%endif # freetype
--with-caca \
--with-external-ffmpeg \
--with-external-dvdnav \
--with-xv-path=%{_libdir} \
--with-libflac \
--with-external-libmpcdec \
%if 0%{?_without_imagemagick:1}
--without-imagemagick \
%endif # imagemagick
%{!?_without_arts:--with-arts} %{?_without_arts} \
--without-arts \
%if 0%{?_without_esound:1}
--without-esound \
%endif
--with-wavpack \
--with-real-codecs-path=%{codecdir} \
--with-w32-path=%{codecdir}
@ -339,6 +267,7 @@ 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
%{_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
@ -395,13 +324,11 @@ 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
@ -410,44 +337,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:1}
%{_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/%{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%{?_with_pa:1}
%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
%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
%if 0%{!?_without_imagemagick:1}
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_decode_image.so
%endif # imagemagick
%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_inp_smb.so
%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
@ -470,6 +377,21 @@ rm -rf $RPM_BUILD_ROOT
%changelog
* Sun Nov 20 2011 Kevin Kofler <Kevin@tigcc.ticalc.org> 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 <Kevin@tigcc.ticalc.org> 1.1.19-7
- rebuild for new DirectFB (1.5.0)
* Mon Feb 14 2011 Rex Dieter <rdieter@fedoraproject.org> 1.1.19-6
- split v4l, libv4l handling
- omit v4l(1) bits (f15+)