Author: robert
Update of /cvs/free/rpms/xine-lib-extras-freeworld/EL-6
In directory old02.ovh.rpmfusion.lan:/tmp/cvs-serv1691
Added Files:
.cvsignore sources xine-lib-1.1.1-deepbind-939.patch
xine-lib-1.1.18-ffmpeg.patch xine-lib-1.1.3-optflags.patch
xine-lib-extras-freeworld.spec
Removed Files:
dead.package
Log Message:
Rebuild for Red Hat Enterprise Linux 6 (RFBZ #3052)
Index: .cvsignore
===================================================================
RCS file: .cvsignore
diff -N .cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ .cvsignore 7 Dec 2013 18:36:30 -0000 1.16
@@ -0,0 +1 @@
+xine-lib-1.1.18.1.tar.bz2
Index: sources
===================================================================
RCS file: sources
diff -N sources
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ sources 7 Dec 2013 18:36:30 -0000 1.16
@@ -0,0 +1 @@
+3efad551f2f8a9c5734855a6639694ef xine-lib-1.1.18.1.tar.bz2
xine-lib-1.1.1-deepbind-939.patch:
load_plugins.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: xine-lib-1.1.1-deepbind-939.patch
===================================================================
RCS file: xine-lib-1.1.1-deepbind-939.patch
diff -N xine-lib-1.1.1-deepbind-939.patch
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ xine-lib-1.1.1-deepbind-939.patch 7 Dec 2013 18:36:30 -0000 1.3
@@ -0,0 +1,20 @@
+--- 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,
xine-lib-1.1.18-ffmpeg.patch:
combined/ffmpeg/ff_audio_decoder.c | 30 +++++++++++++
combined/ffmpeg/ff_video_decoder.c | 84 +++++++++++++++++++++++++++----------
post/planar/pp.c | 54 ++++++++++++++---------
3 files changed, 125 insertions(+), 43 deletions(-)
--- NEW FILE xine-lib-1.1.18-ffmpeg.patch ---
Backported patch by Robert Scheck <robert(a)fedoraproject.org> for xine-lib <=
1.1.18.1 which ensures the
build-time compatibility with recent external ffmpeg. For further information please also
have a look to:
-
https://bugs.gentoo.org/show_bug.cgi?id=376419
-
https://bugs.xine-project.org/show_bug.cgi?id=417
Without this patch, building fails e.g. with "pp.c:79: error: expected
specifier-qualifier-list before
'pp_context_t'".
--- xine-lib-1.1.18.1/src/combined/ffmpeg/ff_audio_decoder.c 2010-02-24
01:28:51.000000000 +0100
+++ xine-lib-1.1.18.1/src/combined/ffmpeg/ff_audio_decoder.c.ffmpeg 2013-12-07
19:16:32.040220840 +0100
@@ -46,6 +46,12 @@
#define AUDIOBUFSIZE (64 * 1024)
+#if LIBAVCODEC_VERSION_MAJOR >= 53 || (LIBAVCODEC_VERSION_MAJOR == 52 &&
LIBAVCODEC_VERSION_MINOR >= 32)
+# define AVAUDIO 3
+#else
+# define AVAUDIO 2
+#endif
+
typedef struct {
audio_decoder_class_t decoder_class;
} ff_audio_class_t;
@@ -255,6 +261,9 @@
buf->decoder_info[2]);
} else if (!(buf->decoder_flags & BUF_FLAG_SPECIAL)) {
+#if AVAUDIO > 2
+ AVPacket avpkt;
+#endif
if( !this->decoder_ok ) {
if ( ! this->context || ! this->codec ) {
@@ -285,11 +294,22 @@
if (!this->output_open) {
if (!this->audio_bits || !this->audio_sample_rate ||
!this->audio_channels) {
+ decode_buffer_size = AVCODEC_MAX_AUDIO_FRAME_SIZE;
+#if AVAUDIO > 2
+ av_init_packet (&avpkt);
+ avpkt.data = (uint8_t *)&this->buf[0];
+ avpkt.size = this->size;
+ avpkt.flags = AV_PKT_FLAG_KEY;
+ avcodec_decode_audio3 (this->context,
+ (int16_t *)this->decode_buffer,
+ &decode_buffer_size, &avpkt);
+#else
avcodec_decode_audio2 (this->context,
(int16_t *)this->decode_buffer,
&decode_buffer_size,
&this->buf[0],
this->size);
+#endif
this->audio_bits = this->context->bits_per_sample;
this->audio_sample_rate = this->context->sample_rate;
this->audio_channels = this->context->channels;
@@ -310,11 +330,21 @@
offset = 0;
while (this->size>0) {
decode_buffer_size = AVCODEC_MAX_AUDIO_FRAME_SIZE;
+#if AVAUDIO > 2
+ av_init_packet (&avpkt);
+ avpkt.data = (uint8_t *)&this->buf[offset];
+ avpkt.size = this->size;
+ avpkt.flags = AV_PKT_FLAG_KEY;
+ bytes_consumed = avcodec_decode_audio3 (this->context,
+ (int16_t *)this->decode_buffer,
+ &decode_buffer_size, &avpkt);
+#else
bytes_consumed = avcodec_decode_audio2 (this->context,
(int16_t *)this->decode_buffer,
&decode_buffer_size,
&this->buf[offset],
this->size);
+#endif
if (bytes_consumed<0) {
xprintf (this->stream->xine, XINE_VERBOSITY_DEBUG,
--- xine-lib-1.1.18.1/src/combined/ffmpeg/ff_video_decoder.c 2010-02-04
22:42:14.000000000 +0100
+++ xine-lib-1.1.18.1/src/combined/ffmpeg/ff_video_decoder.c.ffmpeg 2013-12-07
19:28:07.072856173 +0100
@@ -58,6 +58,14 @@
#define ENABLE_DIRECT_RENDERING
+#if LIBAVCODEC_VERSION_MAJOR >= 53 || (LIBAVCODEC_VERSION_MAJOR == 52 &&
LIBAVCODEC_VERSION_MINOR >= 32)
+# define AVVIDEO 2
+#else
+# define AVVIDEO 1
+# define pp_context pp_context_t
+# define pp_mode pp_mode_t
+#endif
+
/* reordered_opaque appeared in libavcodec 51.68.0 */
#define AVCODEC_HAS_REORDERED_OPAQUE
#if LIBAVCODEC_VERSION_INT < 0x334400
@@ -116,8 +124,8 @@
int pp_quality;
int pp_flags;
- pp_context_t *pp_context;
- pp_mode_t *pp_mode;
+ pp_context *our_context;
+ pp_mode *our_mode;
/* mpeg-es parsing */
mpeg_parser_t *mpeg_parser;
@@ -449,23 +457,23 @@
this->pp_quality = this->class->pp_quality;
if(this->pp_available && this->pp_quality) {
- if(!this->pp_context && this->context)
- this->pp_context = pp_get_context(this->context->width,
this->context->height,
+ if(!this->our_context && this->context)
+ this->our_context = pp_get_context(this->context->width,
this->context->height,
this->pp_flags);
- if(this->pp_mode)
- pp_free_mode(this->pp_mode);
+ if(this->our_mode)
+ pp_free_mode(this->our_mode);
- this->pp_mode = pp_get_mode_by_name_and_quality("hb:a,vb:a,dr:a",
+ this->our_mode = pp_get_mode_by_name_and_quality("hb:a,vb:a,dr:a",
this->pp_quality);
} else {
- if(this->pp_mode) {
- pp_free_mode(this->pp_mode);
- this->pp_mode = NULL;
+ if(this->our_mode) {
+ pp_free_mode(this->our_mode);
+ this->our_mode = NULL;
}
- if(this->pp_context) {
- pp_free_context(this->pp_context);
- this->pp_context = NULL;
+ if(this->our_context) {
+ pp_free_context(this->our_context);
+ this->our_context = NULL;
}
}
}
@@ -1060,12 +1068,26 @@
}
/* skip decoding b frames if too late */
+#if AVVIDEO > 1
+ this->context->skip_frame = (this->skipframes > 0) ? AVDISCARD_NONREF :
AVDISCARD_DEFAULT;
+#else
this->context->hurry_up = (this->skipframes > 0);
+#endif
lprintf("avcodec_decode_video: size=%d\n",
this->mpeg_parser->buffer_size);
+#if AVVIDEO > 1
+ AVPacket avpkt;
+ av_init_packet(&avpkt);
+ avpkt.data = (uint8_t *)this->mpeg_parser->chunk_buffer;
+ avpkt.size = this->mpeg_parser->buffer_size;
+ avpkt.flags = AV_PKT_FLAG_KEY;
+ len = avcodec_decode_video2 (this->context, this->av_frame,
+ &got_picture, &avpkt);
+#else
len = avcodec_decode_video (this->context, this->av_frame,
&got_picture, this->mpeg_parser->chunk_buffer,
this->mpeg_parser->buffer_size);
+#endif
lprintf("avcodec_decode_video: decoded_size=%d, got_picture=%d\n",
len, got_picture);
len = current - buf->content - offset;
@@ -1117,7 +1139,13 @@
} else {
- if (this->context->hurry_up) {
+ if (
+#if AVVIDEO > 1
+ this->context->skip_frame != AVDISCARD_DEFAULT
+#else
+ this->context->hurry_up
+#endif
+ ) {
/* skipped frame, output a bad frame */
img = this->stream->video_out->get_frame
(this->stream->video_out,
this->bih.biWidth,
@@ -1309,12 +1337,26 @@
got_picture = 0;
} else {
/* skip decoding b frames if too late */
+#if AVVIDEO > 1
+ this->context->skip_frame = (this->skipframes > 0) ? AVDISCARD_NONREF
: AVDISCARD_DEFAULT;
+#else
this->context->hurry_up = (this->skipframes > 0);
+#endif
lprintf("buffer size: %d\n", this->size);
+#if AVVIDEO > 1
+ AVPacket avpkt;
+ av_init_packet(&avpkt);
+ avpkt.data = (uint8_t *)&chunk_buf[offset];
+ avpkt.size = this->size;
+ avpkt.flags = AV_PKT_FLAG_KEY;
+ len = avcodec_decode_video2 (this->context, this->av_frame,
+ &got_picture, &avpkt);
+#else
len = avcodec_decode_video (this->context, this->av_frame,
&got_picture, &chunk_buf[offset],
this->size);
+#endif
#ifdef AVCODEC_HAS_REORDERED_OPAQUE
/* reset consumed pts value */
@@ -1437,7 +1479,7 @@
img->base, img->pitches,
img->width, img->height,
this->av_frame->qscale_table,
this->av_frame->qstride,
- this->pp_mode, this->pp_context,
+ this->our_mode, this->our_context,
this->av_frame->pict_type);
} else if (!this->av_frame->opaque) {
@@ -1681,11 +1723,11 @@
free(this->buf);
this->buf = NULL;
- if(this->pp_context)
- pp_free_context(this->pp_context);
+ if(this->our_context)
+ pp_free_context(this->our_context);
- if(this->pp_mode)
- pp_free_mode(this->pp_mode);
+ if(this->our_mode)
+ pp_free_mode(this->our_mode);
mpeg_parser_dispose(this->mpeg_parser);
@@ -1726,8 +1768,8 @@
this->aspect_ratio = 0;
this->pp_quality = 0;
- this->pp_context = NULL;
- this->pp_mode = NULL;
+ this->our_context = NULL;
+ this->our_mode = NULL;
this->mpeg_parser = NULL;
--- xine-lib-1.1.18.1/src/post/planar/pp.c 2010-01-14 23:17:55.000000000 +0100
+++ xine-lib-1.1.18.1/src/post/planar/pp.c.ffmpeg 2013-12-07 19:27:44.593061870 +0100
@@ -35,6 +35,12 @@
# include <libpostproc/postprocess.h>
#endif
+#if LIBPOSTPROC_VERSION_MAJOR < 52
+# define pp_context pp_context_t
+# define pp_mode pp_mode_t
+# define PP_PARAMETERS_T
+#endif
+
#define PP_STRING_SIZE 256 /* size of pp mode string (including all options) */
/* plugin class initialization function */
@@ -76,14 +82,15 @@
/* libpostproc specific stuff */
int pp_flags;
- pp_context_t *pp_context;
- pp_mode_t *pp_mode;
+ pp_context *our_context;
+ pp_mode *our_mode;
pthread_mutex_t lock;
};
static int set_parameters (xine_post_t *this_gen, void *param_gen) {
+#ifdef PP_PARAMETERS_T
post_plugin_pp_t *this = (post_plugin_pp_t *)this_gen;
pp_parameters_t *param = (pp_parameters_t *)param_gen;
@@ -92,16 +99,19 @@
memcpy( &this->params, param, sizeof(pp_parameters_t) );
pthread_mutex_unlock (&this->lock);
+#endif
return 1;
}
static int get_parameters (xine_post_t *this_gen, void *param_gen) {
+#ifdef PP_PARAMETERS_T
post_plugin_pp_t *this = (post_plugin_pp_t *)this_gen;
pp_parameters_t *param = (pp_parameters_t *)param_gen;
memcpy( param, &this->params, sizeof(pp_parameters_t) );
+#endif
return 1;
}
@@ -202,8 +212,8 @@
if(cpu_caps & MM_ACCEL_X86_3DNOW)
this->pp_flags |= PP_CPU_CAPS_3DNOW;
- this->pp_mode = NULL;
- this->pp_context = NULL;
+ this->our_mode = NULL;
+ this->our_context = NULL;
pthread_mutex_init (&this->lock, NULL);
@@ -248,13 +258,13 @@
post_plugin_pp_t *this = (post_plugin_pp_t *)this_gen;
if (_x_post_dispose(this_gen)) {
- if(this->pp_mode) {
- pp_free_mode(this->pp_mode);
- this->pp_mode = NULL;
+ if(this->our_mode) {
+ pp_free_mode(this->our_mode);
+ this->our_mode = NULL;
}
- if(this->pp_context) {
- pp_free_context(this->pp_context);
- this->pp_context = NULL;
+ if(this->our_context) {
+ pp_free_context(this->our_context);
+ this->our_context = NULL;
}
free(this);
}
@@ -304,7 +314,7 @@
pthread_mutex_lock (&this->lock);
- if( !this->pp_context ||
+ if( !this->our_context ||
this->frame_width != yv12_frame->width ||
this->frame_height != yv12_frame->height ) {
@@ -312,32 +322,32 @@
this->frame_height = yv12_frame->height;
pp_flags = this->pp_flags;
- if(this->pp_context)
- pp_free_context(this->pp_context);
+ if(this->our_context)
+ pp_free_context(this->our_context);
- this->pp_context = pp_get_context(frame->width, frame->height, pp_flags);
+ this->our_context = pp_get_context(frame->width, frame->height,
pp_flags);
- if(this->pp_mode) {
- pp_free_mode(this->pp_mode);
- this->pp_mode = NULL;
+ if(this->our_mode) {
+ pp_free_mode(this->our_mode);
+ this->our_mode = NULL;
}
}
- if(!this->pp_mode)
- this->pp_mode = pp_get_mode_by_name_and_quality(this->params.mode,
+ if(!this->our_mode)
+ this->our_mode = pp_get_mode_by_name_and_quality(this->params.mode,
this->params.quality);
- if(this->pp_mode)
+ if(this->our_mode)
pp_postprocess(yv12_frame->base, yv12_frame->pitches,
out_frame->base, out_frame->pitches,
(frame->width+7)&(~7), frame->height,
NULL, 0,
- this->pp_mode, this->pp_context,
+ this->our_mode, this->our_context,
0 /*this->av_frame->pict_type*/);
pthread_mutex_unlock (&this->lock);
- if(this->pp_mode) {
+ if(this->our_mode) {
skip = out_frame->draw(out_frame, stream);
_x_post_frame_copy_up(frame, out_frame);
} else {
xine-lib-1.1.3-optflags.patch:
configure | 2 +-
m4/optimizations.m4 | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
Index: xine-lib-1.1.3-optflags.patch
===================================================================
RCS file: xine-lib-1.1.3-optflags.patch
diff -N xine-lib-1.1.3-optflags.patch
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ xine-lib-1.1.3-optflags.patch 7 Dec 2013 18:36:30 -0000 1.3
@@ -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
Index: xine-lib-extras-freeworld.spec
===================================================================
RCS file: xine-lib-extras-freeworld.spec
diff -N xine-lib-extras-freeworld.spec
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ xine-lib-extras-freeworld.spec 7 Dec 2013 18:36:30 -0000 1.55
@@ -0,0 +1,359 @@
+# TODO:
+# - external dvdnav - not compatible as of 1.1.11 and 4.1.1
+
+%define plugin_abi 1.28
+
+%if 0%{?fedora} > 6 || 0%{?rhel} > 4
+%define _with_external_ffmpeg --with-external-ffmpeg
+%define _with_external_libfaad --with-external-libfaad
+%endif
+
+Name: xine-lib-extras-freeworld
+Summary: Extra codecs for the Xine multimedia library
+Version: 1.1.18.1
+Release: 2%{?dist}
+License: GPLv2+
+Group: System Environment/Libraries
+URL:
http://xinehq.de/
+Source0:
http://downloads.sourceforge.net/xine/xine-lib-%{version}.tar.bz2
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+Patch0: xine-lib-1.1.3-optflags.patch
+Patch1: xine-lib-1.1.18-ffmpeg.patch
+Patch6: xine-lib-1.1.1-deepbind-939.patch
+
+## upstreamable patches
+
+BuildRequires: pkgconfig
+BuildRequires: zlib-devel
+BuildRequires: gawk
+%if 0%{?_with_external_libfaad:1}
+BuildRequires: faad2-devel
+%endif
+%if 0%{?_with_external_ffmpeg:1}
+BuildRequires: ffmpeg-devel >= 0.4.9-0.22.20060804
+%endif
+BuildRequires: a52dec-devel
+BuildRequires: libmad-devel
+BuildRequires: libdca-devel
+# X11 for DXR3 output (#1258), libXt-devel needed in FC5
+BuildRequires: libXt-devel
+BuildRequires: libXext-devel
+BuildRequires: libXinerama-devel
+# vcdimager reads and writes MPEG
+BuildRequires: vcdimager-devel >= 0.7.23
+BuildRequires: sed
+# Obsolete DXR3 deps, better handled by ffmpeg
+BuildConflicts: rte-devel
+BuildConflicts: libfame-devel
+
+Requires: vcdimager >= 0.7.23
+Requires: xine-lib(plugin-abi)%{?_isa} = %{plugin_abi}
+
+# obsolete old livna package
+Provides: xine-lib-extras-nonfree = %{version}-%{release}
+Obsoletes: xine-lib-extras-nonfree < 1.1.15-2
+
+# obsolete old freshrpms package
+Provides: xine-lib-moles = %{version}-%{release}
+Obsoletes: xine-lib-moles < 1.1.15-2
+
+%description
+This package contains extra codecs for the Xine multimedia library. These
+are free and opensource but left out of the official Fedora repository for
+one reason or another. Once installed, applications using the xine library
+will automatically regcognize and use these additional codecs.
+
+
+%prep
+%setup -q -n xine-lib-%{version}
+
+touch -r m4/optimizations.m4 m4/optimizations.m4.stamp
+%patch0 -p1 -b .optflags
+touch -r m4/optimizations.m4.stamp m4/optimizations.m4
+%patch1 -p1 -b .ffmpeg
+# when compiling with external ffmpeg and internal libfaad #939.
+#patch6 -p1 -b .deepbind
+
+# Avoid standard rpaths on lib64 archs:
+sed -i -e 's|"/lib /usr/lib\b|"/%{_lib} %{_libdir}|' configure
+
+
+%build
+# Keep order of options the same as in ./configure --help for easy maintenance
+%configure \
+ --disable-dependency-tracking \
+ --enable-ipv6 \
+ --disable-opengl \
+ --disable-xvmc \
+ --disable-aalib \
+ --disable-caca \
+ --disable-sdl \
+ --disable-rte \
+ --disable-libfame \
+ --disable-speex \
+ --disable-flac \
+ --disable-mng \
+ --disable-imagemagick \
+ --disable-freetype \
+ --disable-alsa \
+ --disable-esd \
+ --disable-arts \
+ --disable-gnomevfs \
+ --disable-gdkpixbuf \
+ --disable-samba \
+ %{?_with_external_ffmpeg} \
+ --with-external-a52dec \
+ --with-external-libmad \
+ --with-external-libdts
+
+make %{?_smp_mflags}
+
+
+%install
+rm -rf %{buildroot}
+make install DESTDIR=%{buildroot}
+
+# Removing useless files
+rm -rf %{buildroot}%{_bindir}
+rm -rf %{buildroot}%{_includedir}
+rm -rf %{buildroot}%{_datadir}
+rm -rf %{buildroot}%{_libdir}/lib*
+rm -rf %{buildroot}%{_libdir}/pkgconfig
+
+#xineplug_dmx_mpeg
+#xineplug_dmx_mpeg_block
+#xineplug_dmx_mpeg_ts
+#xineplug_dmx_mpeg_elem
+#xineplug_dmx_mpeg_pes
+#xineplug_dmx_yuv4mpeg2
+
+# Plugins - credits go to the SuSE RPM maintainer, congrats
+cat > plugins << EOF
+#
+# libmad and MPEG related plugins
+xineplug_decode_mad
+xineplug_decode_mpeg2
+xineplug_inp_vcd
+xineplug_inp_vcdo
+#
+# NES Music File Format. free ??
+xineplug_decode_nsf
+#
+# AC3
+xineplug_decode_a52
+#
+# likely to have legal problems
+xineplug_decode_dvaudio
+xineplug_decode_faad
+xineplug_decode_ff
+xineplug_dmx_asf
+#
+# dxr3 plugin is more featureful with mpeg
+xineplug_decode_dxr3_spu
+xineplug_decode_dxr3_video
+xineplug_vo_out_dxr3
+#
+# DVD reading
+xineplug_inp_dvd
+#
+#
http://www.videolan.org/dtsdec.html
+xineplug_decode_dts
+#
+# MMS
+xineplug_inp_mms
+#
+# Don't build on the free rpm
+post/xineplug_post_planar
+post/xineplug_post_tvtime
+#
+EOF
+
+DIR="$(ls -1d %{buildroot}%{_libdir}/xine/plugins/*)"
+mv $DIR $DIR.temp
+mkdir -p $DIR/post
+grep -v ^# plugins | while read i; do
+ mv $DIR.temp/$i.so $DIR/$i.so
+done
+rm -rf $DIR.temp
+
+
+%clean
+rm -rf %{buildroot}
+
+
+%files
+%defattr(-,root,root,-)
+%doc doc/README.dxr3 doc/README.network_dvd
+%{_libdir}/xine/plugins/%{plugin_abi}/xineplug_*.so
+%{_libdir}/xine/plugins/%{plugin_abi}/post/xineplug_*.so
+
+
+%changelog
+* Sat Dec 07 2013 Robert Scheck <robert(a)fedoraproject.org> 1.1.18.1-2
+- Rebuild for Red Hat Enterprise Linux 6 (RFBZ #3052)
+
+* Sun Mar 07 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18.1-1
+- xine-lib-1.1.18.1
+
+* Tue Mar 02 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18-3
+- get missing/upstream compat.c
+
+* Mon Mar 01 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18-2
+- better dxr3_no_compat_c.patch (s/compat.c/compat.h/)
+
+* Wed Feb 24 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.18-1
+- xine-lib-1.1.18, plugin-abi 1.28
+
+* Fri Jan 22 2010 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.17-2
+- rebuild (libcdio)
+
+* Wed Dec 02 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.17-1
+- xine-lib-1.1.17, plugin-abi 1.27
+
+* Thu Jul 02 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-2
+- rebuild (DirectFB)
+
+* Fri Apr 03 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.3-1
+- xine-lib-1.1.16.3, plugin-abi 1.26
+
+* Fri Mar 27 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-4
+- rebuild (faad)
+
+* Mon Mar 16 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-3
+- Requires: xine-lib(plugin-abi)%%{?_isa} = ...
+
+* Thu Mar 12 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-2
+- respin for newer rpm/hashes
+
+* Tue Feb 10 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.2-1
+- xine-lib-1.1.16.2
+
+* Fri Jan 23 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16.1-1
+- xine-lib-1.1.16.1
+
+* Sun Jan 18 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-3
+- drop deepbind patch
+- --with-external-libfaad (fedora)
+
+* Thu Jan 08 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-2
+- drop ffmpeg_api patch (not needed)
+- internal_ffmpeg patch
+
+* Wed Jan 07 2009 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.16-1
+- xine-lib-1.1.16
+
+* Wed Dec 17 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-5
+- ffmpeg bits_per_sample patch
+
+* Thu Sep 25 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-4
+- Obsoletes: xine-lib-moles < 1.1.15-2
+
+* Thu Sep 25 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-3
+- drop "nonfree" verbage from summary/description
+
+* Thu Sep 04 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-2
+- bump Obsoletes: xine-lib-extras-nonfree
+- spec cosmetics
+
+* Mon Aug 18 2008 Rex Dieter <rdieter(a)fedoraproject.org> - 1.1.15-1
+- 1.1.15
+
+* Sun Aug 10 2008 Thorsten Leemhuis <fedora at leemhuis.info> - 1.1.12-2
+- rename to xine-lib-extras-freeworld
+- add provides and obsoletes for packages from livna and freshrpms
+
+* Wed Apr 16 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.12-1
+- 1.1.12.
+
+* Sun Mar 30 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.11.1-1
+- 1.1.11.1.
+- Require xine-lib(plugin-abi) instead of xine-lib.
+
+* Wed Mar 19 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.11-1
+- 1.1.11.
+- Specfile cleanups.
+
+* Fri Feb 8 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.10.1-2
+- Be explicit about using internal dvdnav for now.
+
+* Fri Feb 8 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.10.1-1
+- 1.1.10.1.
+
+* Sun Jan 27 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.10-2
+- Move spu, spucc, and spucmml decoders to main xine-lib.
+
+* Sun Jan 27 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.10-1
+- 1.1.10 (security update).
+
+* Sat Jan 12 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9.1-1
+- 1.1.9.1 (security update).
+
+* Sun Jan 6 2008 Ville Skyttä <ville.skytta at iki.fi> - 1.1.9-1
+- 1.1.9.
+
+* Wed Dec 5 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-6
+- Rebuild to fix crashes with new libdvdnav.
+
+* Sat Nov 24 2007 Thorsten Leemhuis <fedora[AT]leemhuis[DOT]info> - 1.1.8-5
+- rebuilt
+
+* Tue Nov 06 2007 Thorsten Leemhuis <fedora[AT]leemhuis[DOT]info> - 1.1.8-4
+- fix building against latest ffmpeg
+
+* Tue Nov 06 2007 Thorsten Leemhuis <fedora[AT]leemhuis[DOT]info> - 1.1.8-3
+- rebuild
+
+* Sat Sep 1 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-2
+- BuildRequires: gawk
+
+* Sat Sep 1 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.8-1
+- 1.1.8, "open" patch applied upstream.
+
+* Tue Aug 14 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.7-2
+- Protect "open" for glibc 2.6.90 and -D_FORTIFY_SOURCE=2.
+- License: GPLv2+
+
+* Thu Jun 7 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.7-1
+- 1.1.7.
+
+* Wed Apr 18 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.6-1
+- 1.1.6.
+
+* Wed Apr 11 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.5-1
+- 1.1.5, GSM 06.10 decoder moved to Fedora xine-lib.
+
+* Wed Jan 31 2007 Ville Skyttä <ville.skytta at iki.fi> - 1.1.4-1
+- 1.1.4.
+
+* Tue Dec 19 2006 Ville Skyttä <ville.skytta at iki.fi> - 1.1.3-4
+- Use system libdca.
+
+* Sun Dec 17 2006 Ville Skyttä <ville.skytta at iki.fi> - 1.1.3-3
+- Fix build time libpostproc version check.
+
+* Sun Dec 17 2006 Ville Skyttä <ville.skytta at iki.fi> - 1.1.3-2
+- Don't run autotools during build.
+
+* Sat Dec 9 2006 Ville Skyttä <ville.skytta at iki.fi> - 1.1.3-1
+- 1.1.3, require same version of xine-lib.
+
+* Mon Nov 6 2006 Ville Skyttä <ville.skytta at iki.fi> - 1.1.2-5
+- Build DXR3 output with X11 (#1258).
+- Explicitly disable building aRts stuff.
+
+* Fri Nov 03 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-4
+- require xine-lib >= 1.1.2-17 to ease transition
+
+* Wed Nov 1 2006 Ville Skyttä <ville.skytta at iki.fi> - 1.1.2-3
+- Explicitly disable quite a few features we don't want in this package.
+- Drop multilib devel patch, it's a no-op here.
+
+* Wed Nov 01 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-2
+- remove vdr stuff (unmaintained)
+
+* Tue Oct 31 2006 Aurelien Bompard <abompard(a)fedoraproject.org> 1.1.2-1
+- initial rpm as xine-extras-nonfree
+
+* Fri Aug 18 2006 Ville Skyttä <ville.skytta at iki.fi> - 1.1.2-11
+- Apply patch from upstream CVS to take advantage of new ffmpeg goodies.
--- dead.package DELETED ---