From b7b6f2549c4537312bc0af10a1452780e4c771ef9fb9f20da6c2e51eb249bdf7 Mon Sep 17 00:00:00 2001 From: Dave Plater Date: Sun, 31 Jul 2016 06:19:31 +0000 Subject: [PATCH] osc copypac from project:openSUSE:Factory package:xine-lib revision:63 OBS-URL: https://build.opensuse.org/package/show/multimedia:xine/xine-lib?expand=0&rev=89 --- baselibs.conf | 1 + fix-non-x86-build.diff | 8 + precheckin_cripple_tarball.sh | 101 ++++ project.diff | 29 -- xine-lib-1.2.6-crippled.tar.xz | 3 + xine-lib-1.2.6.tar.xz | 3 + xine-lib-ffmpeg3.0.patch | 51 ++ xine-lib-libdvdread_udf.diff | 122 +++++ xine-lib-link-xcb.patch | 36 ++ xine-lib-theora.patch | 13 + xine-lib-v4l-2.6.38.patch | 22 + xine-lib-without-ffmpeg.patch | 32 ++ xine-lib.changes | 207 ++++++++ xine-lib.spec | 892 +++++++++++++++++++++++++++++++++ 14 files changed, 1491 insertions(+), 29 deletions(-) create mode 100644 baselibs.conf create mode 100644 fix-non-x86-build.diff create mode 100644 precheckin_cripple_tarball.sh delete mode 100644 project.diff create mode 100644 xine-lib-1.2.6-crippled.tar.xz create mode 100644 xine-lib-1.2.6.tar.xz create mode 100644 xine-lib-ffmpeg3.0.patch create mode 100644 xine-lib-libdvdread_udf.diff create mode 100644 xine-lib-link-xcb.patch create mode 100644 xine-lib-theora.patch create mode 100644 xine-lib-v4l-2.6.38.patch create mode 100644 xine-lib-without-ffmpeg.patch create mode 100644 xine-lib.changes create mode 100644 xine-lib.spec diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..b583a14 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1 @@ +libxine2 diff --git a/fix-non-x86-build.diff b/fix-non-x86-build.diff new file mode 100644 index 0000000..a7327b4 --- /dev/null +++ b/fix-non-x86-build.diff @@ -0,0 +1,8 @@ +--- src/post/Makefile.am.orig 2012-06-21 09:47:14.910671806 +0200 ++++ src/post/Makefile.am 2012-06-21 09:47:21.119671933 +0200 +@@ -1,4 +1,4 @@ + include $(top_srcdir)/misc/Makefile.quiet + include $(top_srcdir)/misc/Makefile.common + +-SUBDIRS = planar goom visualizations mosaico deinterlace audio ++SUBDIRS = planar goom visualizations mosaico audio diff --git a/precheckin_cripple_tarball.sh b/precheckin_cripple_tarball.sh new file mode 100644 index 0000000..4a7f05a --- /dev/null +++ b/precheckin_cripple_tarball.sh @@ -0,0 +1,101 @@ +#!/bin/sh + +# The following source parts of xine-lib may not be distributed for legal +# reasons. +# Thus we have to cripple the source tree in a way that it still builds. + +# +# Helpers +# + +# $1: files $2: entries $3: prefix $4: postfix +do_nukeentry() { +for d in $1 ; do + perl -i -e 'undef $/; $_=<>; for $e (qw|'"$2"'|) { s|(?<=[^-a-zA-Z0-9_./])'"$3"'$e'"$4"'(?=[^-a-zA-Z0-9_./])||g }; print' $d +done +} + +# $1: files $2: entries $3: prefix $4: postfix +do_nukeline() { +for d in $1 ; do + perl -i -e 'undef $/; $_=<>; for $e (qw|'"$2"'|) { s|^.*(?<=[^-a-zA-Z0-9_./])'"$3"'$e'"$4"'(?=[^-a-zA-Z0-9_./]).*$||mg }; print' $d +done +} + +# $1: dir $2: files/dirs +do_remove() { +pushd "$1" >/dev/null || exit 1 +rm -rf $2 +popd >/dev/null +} + +# +# Main +# + +# Find source tarball + unpack + +tmp="/`mktemp -d`" +trap 'rm -rf $tmp; echo 1>&2 "$0 failed"' EXIT +test -d "$tmp" -a -w "$tmp" || exit +tarsource="`echo xine-lib-*[0-9].tar.xz`" +if [ ! -s "$tarsource" ] ; then + echo "Error: cannot find source tarball" + exit 1 +fi +tarbase="${tarsource%.tar.xz}" +tardest="$tarbase-crippled.tar.xz" + +rm -rf xine-lib-*-crippled.tar.xz +echo 1>&2 "Unpacking..." +tar -C "$tmp" -xJf $tarsource || exit 1 + +pushd $tmp/$tarbase >/dev/null || exit 1 + +# +# Cripple source +# + +echo 1>&2 "Crippling..." + +c_subdirs="dxr3 liba52 libdts libfaad libffmpeg libmad libmpeg2 libspucc libspudec libspudvb libw32dll input/vcd combined/ffmpeg" +c_demuxers="xineplug_dmx_asf.la asfheader.h asfheader.c demux_asf.c xineplug_dmx_mpeg.la demux_mpeg.c xineplug_dmx_mpeg_block.la demux_mpeg_block.c xineplug_dmx_mpeg_ts.la demux_ts.c xineplug_dmx_mpeg_elem.la demux_elem.c xineplug_dmx_mpeg_pes.la demux_mpeg_pes.c xineplug_dmx_yuv4mpeg2.la demux_yuv4mpeg2.c" +c_input="xineplug_inp_mms.la input_mms.c mms.c mmsh.c ../demuxers/asfheader.c mms.h mmsh.h xineplug_inp_vcdo.la input_vcd.c vcd" +c_libxineadec="xineplug_decode_gsm610.la xineplug_decode_nsf.la gsm610.c nsf.c gsm610 nosefart" +c_audiodec="xineplug_decode_a52.la xineplug_decode_mad.la xine_a52_decoder.c xine_mad_decoder.c" + +do_nukeentry src/Makefile.am "$c_subdirs" +do_nukeentry configure.ac "$c_subdirs" "src/" "/[a-zA-Z0-9_./]*Makefile" +do_remove src "$c_subdirs" +do_nukeentry src/demuxers/Makefile.am "$c_demuxers" +do_remove src/demuxers "$c_demuxers" +do_nukeentry src/input/Makefile.am "$c_input" +do_remove src/input "$c_input" +do_nukeentry src/audio_dec/Makefile.am "$c_audiodec" +do_remove src/audio_dec "$c_audiodec" +do_nukeentry src/combined/Makefile.am "ffmpeg" +do_remove src/combined "ffmpeg" +do_nukeentry src/post/planar/Makefile.am "pp\.c \S*/libpostproc/libpostprocess\.la" +do_nukeline src/post/planar/planar.c "pp_init_plugin pp_special_info" +do_remove src/post/planar "pp.c" + +echo 1>&2 "Autotools..." +autoreconf -fi || exit 1 + +# +# Create new (crippled) source tarball +# + +popd >/dev/null + +tar --owner=root --group=root -C $tmp -cJf $tardest $tarbase || exit 1 +rm -rf $tmp + +echo 1>&2 "" +echo 1>&2 "Successfully crippled tarball. :-(" +echo 1>&2 "" + +rm -rf $tmp +trap - EXIT +exit 0 +#EOF diff --git a/project.diff b/project.diff deleted file mode 100644 index dc817ac..0000000 --- a/project.diff +++ /dev/null @@ -1,29 +0,0 @@ ---- xine-lib.changes.orig -+++ xine-lib.changes -@@ -1,4 +1,9 @@ - ------------------------------------------------------------------- -+Sun Jul 24 15:48:08 UTC 2016 - olaf@aepfle.de -+ -+- Accept any ffmpeg version in BuildRequires -+ -+------------------------------------------------------------------- - Mon Jul 18 13:47:07 UTC 2016 - dimstar@opensuse.org - - - Add xine-lib-link-xcb.patch: fix linking of libxcb. As our code ---- xine-lib.spec.orig -+++ xine-lib.spec -@@ -72,11 +72,11 @@ BuildRequires: lirc - %endif - %if !%{with distributable} - BuildRequires: libfaad-devel --BuildRequires: pkgconfig(libavcodec) >= 57 --BuildRequires: pkgconfig(libavutil) >= 55 -+BuildRequires: pkgconfig(libavcodec) -+BuildRequires: pkgconfig(libavutil) - BuildRequires: pkgconfig(libbluray) >= 0.2.1 - BuildRequires: pkgconfig(libdts) --BuildRequires: pkgconfig(libpostproc) >= 54 -+BuildRequires: pkgconfig(libpostproc) - BuildRequires: pkgconfig(libva) - BuildRequires: pkgconfig(libva-glx) - BuildRequires: pkgconfig(mad) diff --git a/xine-lib-1.2.6-crippled.tar.xz b/xine-lib-1.2.6-crippled.tar.xz new file mode 100644 index 0000000..106c5ab --- /dev/null +++ b/xine-lib-1.2.6-crippled.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:eac3308b13f68bfdadcf85af5e104450b84fb346d5af95e29fa35c8339ff422e +size 4749220 diff --git a/xine-lib-1.2.6.tar.xz b/xine-lib-1.2.6.tar.xz new file mode 100644 index 0000000..e222b9f --- /dev/null +++ b/xine-lib-1.2.6.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bd041d738817c7c0c6392a3c0e5bda5a664a47e035135b5a449364f8c9b6a005 +size 5020964 diff --git a/xine-lib-ffmpeg3.0.patch b/xine-lib-ffmpeg3.0.patch new file mode 100644 index 0000000..3dd1b30 --- /dev/null +++ b/xine-lib-ffmpeg3.0.patch @@ -0,0 +1,51 @@ +--- src/combined/ffmpeg/ff_audio_decoder.c.orig 2014-06-09 ‏‎18:08:42.000000000 +0200 ++++ src/combined/ffmpeg/ff_audio_decoder.c 2016-02-26 14:31:45.000000000 +0100 +@@ -593,7 +593,7 @@ + int got_frame; + float gain = this->class->gain; + if (!this->av_frame) +- this->av_frame = avcodec_alloc_frame (); ++ this->av_frame = av_frame_alloc (); + + consumed = avcodec_decode_audio4 (this->context, this->av_frame, &got_frame, &avpkt); + if ((consumed >= 0) && got_frame) { +@@ -1071,7 +1071,7 @@ + /* try to reset the wma decoder */ + if( this->decoder_ok ) { + #if AVAUDIO > 3 +- avcodec_free_frame (&this->av_frame); ++ av_frame_free (&this->av_frame); + #endif + pthread_mutex_lock (&ffmpeg_lock); + avcodec_close (this->context); +@@ -1106,7 +1106,7 @@ + + if( this->context && this->decoder_ok ) { + #if AVAUDIO > 3 +- avcodec_free_frame (&this->av_frame); ++ av_frame_free (&this->av_frame); + #endif + pthread_mutex_lock (&ffmpeg_lock); + avcodec_close (this->context); +--- src/combined/ffmpeg/ff_video_decoder.c.orig 2014-06-24 ‏‎18:21:06.000000000 +0200 ++++ src/combined/ffmpeg/ff_video_decoder.c 2016-02-26 14:31:45.000000000 +0100 +@@ -2526,7 +2526,7 @@ + this->stream = stream; + this->class = (ff_video_class_t *) class_gen; + +- this->av_frame = avcodec_alloc_frame(); ++ this->av_frame = av_frame_alloc(); + this->context = avcodec_alloc_context(); + this->context->opaque = this; + #if AVPALETTE == 1 +--- src/dxr3/ffmpeg_encoder.c.orig 2014-03-13 ‏‎05:06:09.000000000 +0200 ++++ src/dxr3/ffmpeg_encoder.c 2016-02-26 14:31:45.000000000 +0100 +@@ -164,7 +164,7 @@ + "dxr3_mpeg_encoder: Couldn't start the ffmpeg library\n"); + return 0; + } +- this->picture = avcodec_alloc_frame(); ++ this->picture = av_frame_alloc(); + if (!this->picture) { + xprintf(drv->class->xine, XINE_VERBOSITY_LOG, + "dxr3_mpeg_encoder: Couldn't allocate ffmpeg frame\n"); diff --git a/xine-lib-libdvdread_udf.diff b/xine-lib-libdvdread_udf.diff new file mode 100644 index 0000000..562065f --- /dev/null +++ b/xine-lib-libdvdread_udf.diff @@ -0,0 +1,122 @@ +# HG changeset patch +# User Tobias Rautenkranz +# Date 1202208482 -3600 +# Node ID 100241ff36f0730a15018a58456fb86eb590bf18 +# Parent 07c29261ed98fdb710a241c6711dac0215b6074a +Fix playback of DVDs with a broken UDF file system (aka DVD-Movie-Protect). + +diff -r 07c29261ed98 -r 100241ff36f0 src/input/libdvdnav/dvd_udf.c +--- a/src/input/libdvdnav/dvd_udf.c Thu Jan 31 22:02:04 2008 +0000 ++++ b/src/input/libdvdnav/dvd_udf.c Tue Feb 05 11:48:02 2008 +0100 +@@ -38,9 +38,15 @@ + #include + #include + #include ++#ifndef __WIN32__ ++#include ++#endif + + #include "dvd_reader.h" + #include "dvd_udf.h" ++ ++#include "ifo_types.h" ++#include "ifo_read.h" + + /* Private but located in/shared with dvd_reader.c */ + extern int UDFReadBlocksRaw( dvd_reader_t *device, uint32_t lb_number, +@@ -774,7 +780,9 @@ static int UDFFindPartition( dvd_reader_ + return part->valid; + } + +-uint32_t UDFFindFile( dvd_reader_t *device, char *filename, ++ ++ ++static uint32_t UDFFindFileReal( dvd_reader_t *device, char *filename, + uint32_t *filesize ) + { + uint8_t LogBlock_base[ DVD_VIDEO_LB_LEN + 2048 ]; +@@ -856,6 +864,84 @@ uint32_t UDFFindFile( dvd_reader_t *devi + return partition.Start + File.Location; + } + ++/** ++ * Get the offset from the ifo files to allow playback of DVDs ++ * with a deliberately broken UDF file system (aka DVD-Movie-Protect). ++ * When the file is not an IFO or VOB, it calls the real UDF routine. ++ */ ++uint32_t UDFFindFile( dvd_reader_t *device, char *filename, ++ uint32_t *filesize ) ++{ ++#ifndef __WIN32__ ++ if (!fnmatch("/VIDEO_TS/VTS_[0-9][0-9]_[0-9].???", filename, FNM_PATHNAME)) { ++#else ++ if (strlen("/VIDEO_TS/VTS_01_1.VOB") == strlen(filename) ++ && !strncmp(filename, "/VIDEO_TS/VTS_", strlen("/VIDEO_TS/VTS_")) ) { ++#endif ++ size_t len = strlen(filename); ++ char *extension = &filename[len-3]; ++ if (!strcmp(extension, "IFO") || !strcmp(extension, "VOB")) { ++ int title = atoi(&filename[len-8]); ++ int part = atoi(&filename[len-5]); ++ ++ ifo_handle_t *ifo_handle = ifoOpen(device, 0); ++ if (0 == ifo_handle) ++ return 0; ++ ++ uint32_t tmp_filesize; ++ uint32_t offset = UDFFindFileReal(device, "/VIDEO_TS/VIDEO_TS.IFO", &tmp_filesize); ++ ++ int i; ++ for (i=0; itt_srpt->nr_of_srpts; i++) ++ if (title == ifo_handle->tt_srpt->title[i].title_set_nr) ++ break; ++ ++ if (i == ifo_handle->tt_srpt->nr_of_srpts) { ++ /* not found */ ++ ifoClose(ifo_handle); ++ return 0; ++ } ++ offset += ifo_handle->tt_srpt->title[i].title_set_sector; ++ ifoClose(ifo_handle); ++ ++ if (!strcmp(extension, "VOB")) { ++ ifo_handle = ifoOpen(device, title); ++ if (0 == ifo_handle) ++ return 0; ++ ++ switch(part) { ++ case 0: ++ if (0 == ifo_handle->vtsi_mat->vtsm_vobs) { ++ ifoClose(ifo_handle); ++ return 0; ++ } ++ offset += ifo_handle->vtsi_mat->vtsm_vobs; ++ break; ++ case 1: ++ if (0 == ifo_handle->vtsi_mat->vtstt_vobs) { ++ ifoClose(ifo_handle); ++ return 0; ++ } ++ offset += ifo_handle->vtsi_mat->vtstt_vobs; ++ break; ++ default: /* can't get other parts (also no need to) */ ++ offset = 0; ++ break; ++ } ++ ++ ifoClose(ifo_handle); ++ } ++ ++ ++ *filesize = 1000000; /* File size unknown */ ++ if (offset != 0) ++ return offset; ++ } ++ } ++ ++ return UDFFindFileReal( device, filename, filesize); ++} ++ + + + /** diff --git a/xine-lib-link-xcb.patch b/xine-lib-link-xcb.patch new file mode 100644 index 0000000..50662bf --- /dev/null +++ b/xine-lib-link-xcb.patch @@ -0,0 +1,36 @@ +# HG changeset patch +# User Dominique Leuenberger +# Date 1468914700 -7200 +# Tue Jul 19 09:51:40 2016 +0200 +# Node ID 434e1ff5323789560c210b0b417844b8ab232ab0 +# Parent 24fc93301077a2317d1d6deda3b7d895e6754e26 +build: Fix linking with new xcb versions + +As we make use of specific xcb and xcb_shm functions, it is our sole responsibility +to ensure we link against the right libs. Expecting xcb-shape to bring in all the +dependencies for us is wrong (and no longer works in all cases) + +diff -r 24fc93301077 -r 434e1ff53237 m4/video_out.m4 +--- a/m4/video_out.m4 Tue Jun 07 19:33:35 2016 +0200 ++++ b/m4/video_out.m4 Tue Jul 19 09:51:40 2016 +0200 +@@ -305,7 +305,7 @@ + dnl xcb + XINE_ARG_WITH([xcb], [Enable support for XCB video out plugins]) + if test x"$with_xcb" != x"no"; then +- PKG_CHECK_MODULES([XCB], [xcb-shape >= 1.0], [have_xcb=yes], [have_xcb=no]) ++ PKG_CHECK_MODULES([XCB], [xcb xcb-shape >= 1.0], [have_xcb=yes], [have_xcb=no]) + if test x"$hard_enable_xcb" = x"yes" && test x"$have_xcb" != x"yes"; then + AC_MSG_ERROR([XCB support requested, but XCB not found]) + elif test x"$have_xcb" = x"yes"; then +diff -r 24fc93301077 -r 434e1ff53237 src/video_out/Makefile.am +--- a/src/video_out/Makefile.am Tue Jun 07 19:33:35 2016 +0200 ++++ b/src/video_out/Makefile.am Tue Jul 19 09:51:40 2016 +0200 +@@ -147,7 +147,7 @@ + xineplug_vo_out_xcbshm_la_CFLAGS = $(AM_CFLAGS) $(XCB_CFLAGS) $(XCBSHM_CFLAGS) $(AVUTIL_CFLAGS) + + xineplug_vo_out_xcbxv_la_SOURCES = video_out_xcbxv.c $(XCBOSD) +-xineplug_vo_out_xcbxv_la_LIBADD = $(XINE_LIB) $(PTHREAD_LIBS) $(LTLIBINTL) $(XCBXV_LIBS) $(XCB_LIBS) ++xineplug_vo_out_xcbxv_la_LIBADD = $(XINE_LIB) $(PTHREAD_LIBS) $(LTLIBINTL) $(XCBXV_LIBS) $(XCB_LIBS) $(XCBSHM_LIBS) + xineplug_vo_out_xcbxv_la_CFLAGS = $(AM_CFLAGS) $(XCB_CFLAGS) $(XCBXV_CFLAGS) + + xineplug_vo_out_xshm_la_SOURCES = video_out_xshm.c $(X11OSD) diff --git a/xine-lib-theora.patch b/xine-lib-theora.patch new file mode 100644 index 0000000..7416b9e --- /dev/null +++ b/xine-lib-theora.patch @@ -0,0 +1,13 @@ +Index: src/xine-engine/buffer_types.c +=================================================================== +--- src/xine-engine/buffer_types.c.orig 2012-02-05 21:17:03.000000000 +0200 ++++ src/xine-engine/buffer_types.c 2012-07-16 15:39:19.681795420 +0200 +@@ -585,6 +585,8 @@ static const video_db_t video_db[] = { + }, + { + { ++ ME_FOURCC('t','h','e','o'), ++ ME_FOURCC('T','H','E','O'), + 0, + }, + BUF_VIDEO_THEORA, diff --git a/xine-lib-v4l-2.6.38.patch b/xine-lib-v4l-2.6.38.patch new file mode 100644 index 0000000..58baace --- /dev/null +++ b/xine-lib-v4l-2.6.38.patch @@ -0,0 +1,22 @@ +--- m4/input.m4 2014-02-26 16:49:10.000000000 +0100 ++++ m4/input.m4 2014-04-11 23:22:34.923765318 +0200 +@@ -96,7 +96,7 @@ + XINE_ARG_ENABLE([v4l], [Enable Video4Linux support]) + if test x"$enable_v4l" != x"no"; then + have_v4l=yes +- AC_CHECK_HEADERS([linux/videodev.h], , [have_v4l=no]) ++ AC_CHECK_HEADERS([libv4l1-videodev.h], , [have_v4l=no]) + AC_CHECK_HEADERS([asm/types.h]) + if test x"$hard_enable_v4l" = x"yes" && test x"$have_v4l" != x"yes"; then + AC_MSG_ERROR([Video4Linux support requested, but prerequisite headers not found.]) +--- src/input/input_v4l.c 2014-03-11 14:28:30.000000000 +0100 ++++ src/input/input_v4l.c 2014-04-11 23:22:34.926765238 +0200 +@@ -47,7 +47,7 @@ + */ + #define _LINUX_TIME_H + +-#include ++#include + #include + #include + #include diff --git a/xine-lib-without-ffmpeg.patch b/xine-lib-without-ffmpeg.patch new file mode 100644 index 0000000..9a20a50 --- /dev/null +++ b/xine-lib-without-ffmpeg.patch @@ -0,0 +1,32 @@ +diff -uNr xine-lib-1.2.1.orig/m4/decoders.m4 xine-lib-1.2.1/m4/decoders.m4 +--- xine-lib-1.2.1.orig/m4/decoders.m4 2012-02-04 01:41:43.000000000 +0100 ++++ xine-lib-1.2.1/m4/decoders.m4 2012-05-21 22:46:39.470861703 +0200 +@@ -85,9 +85,7 @@ + AM_CONDITIONAL([WITH_EXTERNAL_FAAD], [test x"$have_external_faad" = x"yes"]) + + dnl ffmpeg external version required +- PKG_CHECK_MODULES([FFMPEG], [libavcodec >= 51.68.0]) + PKG_CHECK_MODULES([AVUTIL], [libavutil >= 49.6.0]) +- PKG_CHECK_MODULES([FFMPEG_POSTPROC], [libpostproc]) + AC_DEFINE([HAVE_FFMPEG], 1, [Define this if you have ffmpeg library]) + + dnl Check presence of ffmpeg/avutil.h to see if it's old or new +diff -uNr xine-lib-1.2.1.orig/src/audio_dec/Makefile.am xine-lib-1.2.1/src/audio_dec/Makefile.am +--- xine-lib-1.2.1.orig/src/audio_dec/Makefile.am 2012-02-04 01:41:43.000000000 +0100 ++++ xine-lib-1.2.1/src/audio_dec/Makefile.am 2012-05-22 20:37:48.863941984 +0200 +@@ -49,7 +49,6 @@ + xineplug_LTLIBRARIES = \ + xineplug_decode_gsm610.la \ + xineplug_decode_lpcm.la \ +- xineplug_decode_dvaudio.la \ + $(musepack_module) \ + $(dts_module) \ + $(mad_module) \ +@@ -87,7 +86,3 @@ + xineplug_decode_faad_la_DEPENDENCIES = $(FAAD_DEPS) + xineplug_decode_faad_la_LIBADD = $(XINE_LIB) $(LTLIBINTL) $(FAAD_LIBS) -lm + xineplug_decode_faad_la_CFLAGS = $(FAAD_CFLAGS) +- +-xineplug_decode_dvaudio_la_SOURCES = ff_dvaudio_decoder.c +-xineplug_decode_dvaudio_la_LIBADD = $(XINE_LIB) $(LTLIBINTL) +-xineplug_decode_dvaudio_la_CPPFLAGS = $(AM_CPPFLAGS) $(FFMPEG_CFLAGS) diff --git a/xine-lib.changes b/xine-lib.changes new file mode 100644 index 0000000..80d86e7 --- /dev/null +++ b/xine-lib.changes @@ -0,0 +1,207 @@ +------------------------------------------------------------------- +Sun Jul 24 15:48:08 UTC 2016 - olaf@aepfle.de + +- Accept any ffmpeg version in BuildRequires + +------------------------------------------------------------------- +Mon Jul 18 13:47:07 UTC 2016 - dimstar@opensuse.org + +- Add xine-lib-link-xcb.patch: fix linking of libxcb. As our code + uses the functions, we must not rely on 3rd parties to hopefully + bring the right libraries to link. + https://bugs.xine-project.org/show_bug.cgi?id=573 + +------------------------------------------------------------------- +Fri Apr 15 12:18:02 UTC 2016 - dimstar@opensuse.org + +- Drop libsmbclient BuildRequires: requiring a library to build is + in any case wrong. It's the responsibility of a -devel package to + pull in the real libraries. + +------------------------------------------------------------------- +Fri Feb 26 15:12:34 UTC 2016 - joerg.lorenzen@ki.tng.de + +- Added xine-lib-ffmpeg3.0.patch to build against ffmpeg-3.0 + libraries on PMBS. +- Add pkgconfig(libva-glx) to BuildRequires because it's a separate + package for openSUSE > 13.2. + +------------------------------------------------------------------- +Mon Sep 21 06:40:47 UTC 2015 - olaf@aepfle.de + +- Replace implicit Requires from old ffmpeg with BuildRequires to + fix build in packman + +------------------------------------------------------------------- +Mon Feb 2 19:22:38 UTC 2015 - wbauer@tmo.at + +- update to 1.2.6 + * Add libmmal video output plugin for Raspberry Pi. + * Add libmmal HW video decoder plugin for Raspberry Pi. + * Add overlay colormatrix support. + * Add "sqare monitor pixels" config option. + * Add VAAPI colormatrix and fullrange video support. + * Add "radeonhd" XV colormatrix support. + * Add Opus audio support. + * Update german translation. + * Optimize OpenGL2 video out. + * Optimize raw RGB video decoder. + * Fix multithread ffmpeg video decoding. + * Fix/optimize DVB subtitles. + * Fix external text subtitles. + * BSD build fixes. + * Clang build fixes. + * Build optimization fixes (aliasing). + * AVformat demux build fix. + * More safety on memory allocation failure. + * Fix detection of and compilation with libcaca 0.99 beta 19. +- use the xz compressed tarball provided by upstream and change + precheckin_cripple_tarball.sh accordingly +- should fix boo#913588 + +------------------------------------------------------------------- +Fri Apr 11 00:00:00 UTC 2014 - Manfred.Tremmel@iiv.de + +- update to 1.2.5 + * Update german translation. + * Add bass downmix support to AC3 decoder. + * Add experimental YCgCo colorspace support. + * Add avformat demux plugin. + - Support for new formats and protocols. + - Proper rtsp support (with avformat+rtsp://, rtsp+tcp:// and rtsp+http:// mrls). + - by default native xine demux plugins are probed first. + This can be overridden in config, by selecting demuxer in mrl (#demux:avformat), + or by using "avformat+" mrl prefix. + * Add avio (libavformat) input plugin: + - Support for new protocols (https://, ftp://, sftp://, ...). + - Support for seekable http streams (with "avio+http://" mrl). + - By default native xine input plugins are used. This can be overridden in config or by using "avio+" mrl prefix. + * Recognise & use HEVC/H.265. (ffmpeg) + * Add support for HEVC/H.265 to the mpeg-ts demuxer. + * Add support for HEVC/H.265 and VP9 to the matroska demuxer. + * Add VP8/VP9 decoder using libvpx. + * Modernise Quicktime demuxer: + - Multiple user selectable audio traks. + - Support AC3, EAC3, vorbis, Purevoice audio. + - Support ISO fragment media files. + - More safety on broken files. + - Slightly faster. + * Recognise & use ADPCM G.726 and ATRAC3. (ffmpeg/libva) + * Build fixes. + * Fix HDMV subtitle channel. + * FFmpeg compatibility fixes. + * Some colour format conversion fixes. + * Fix RealVideo re-ordered PTS: pass through, let the decoder re-order it. + * Fix some problems with COOK audio. +- from 1.2.4 + * Some VAAPI plugin fixes (build, image size changes). + * ffmpeg multi-channel playback fixes: + - Handle channel configuration changes sooner. + - Generic layout if none provided; follow user changes. + - Defer opening output if nothing to play. + - Don't re-open with identical settings. + - Don't use the bits-per-sample value (may not match decoder output). + * ffmpeg video fixes: + - Default to square pixels, avoiding black bars & unnecessary scaling. + - Avoid CODEC_FLAG_EMU_EDGE (and some possible segfaults). + - Use MPEG2VIDEO. + * OpenGL2 output: don't render into invalid drawable. + * Fix a possible xine_play() hang related to display locking. + * FLV demuxer rewrite: + - Improved metadata parsing. + - PTS/DTS fixes. + - Large file support on 32-bit. + - Much improved seeking. + - Much optimisation. + - More codecs supported. + * audio_out speed control fixes. + * Optimised RGB→YUY2 conversion. + * Avoid a possible performance penalty where AVX-optimised memcpy is used. + * Add BD-J (BluRay Java) support with ARGB overlay capable video drivers (opengl2, vaapi, vdpau) + * Add support for theora 4:2:2 and 4:4:4 pixel formats +- Removed xine-lib-missing-include-1.2.3.patch, the missing file is now included in the upstream tarball + +------------------------------------------------------------------- +Wed Sep 11 13:19:26 UTC 2013 - pgajdos@suse.com + +- detect smbclient + +------------------------------------------------------------------- +Wed May 29 22:36:00 UTC 2013 - Manfred.Tremmel@iiv.de + +- update to 1.2.3 + * Add VAAPI HW decoding support + * Add OpenGL 2.0 output plugin + * Add crop support to XShm output plugins + * Add color matrix and full range support to OpenGL/Xv/XShm output plugins + * Add test image generator input plugin + * Add fast libjpeg based JPEG decoder + * Add max. Xv image size detection to Xv video output plugin + * Fix crash when trying to display too large jpeg image with Xv output plugin + * Fix possible crash when stopping playback with deinterlacing enabled + * Support large PAT in MPEG TS + * Handle EAC3 audio (via ffmpeg) + +------------------------------------------------------------------- +Fri Mar 1 06:14:15 UTC 2013 - coolo@suse.com + +- update license to new format + +------------------------------------------------------------------- +Wed Jul 18 10:54:59 UTC 2012 - davejplater@gmail.com + +- Added xine-lib-theora.patch to add fourcc code to xine + +------------------------------------------------------------------- +Thu Jun 21 07:58:03 UTC 2012 - adrian@suse.de + +- fix build for non-x86 architectures (disable deinterlace plugin) + +------------------------------------------------------------------- +Mon Jun 18 11:20:29 UTC 2012 - lnussel@suse.de + +- don't include .la files in libxine-devel to avoid bogus libtool errors + +------------------------------------------------------------------- +Thu Jun 14 20:20:01 UTC 2012 - coolo@suse.com + +- provide and obsolete xine-devel and xine-lib for backward compat + +------------------------------------------------------------------- +Sun Jun 10 14:45:00 UTC 2012 - Manfred.Tremmel@iiv.de + +- update to 1.2.2 + * Fix musepack decoder compilation if libmpcdec headers aren't available. + * Configure tests for xinerama & VideoCD support now soft-fail properly. + * The DVB plugin is working again. + * OpenGL OSD fix. + * YUV conversion MMX/SSE optimisations. + * YUV420 H.264 is playable now; YUVJ444P is correctly handled. + * Support FLAC in Matroska; support BMP. + * Various build fixes for Windows. + +------------------------------------------------------------------- +Wed Jun 06 21:17:00 UTC 2012 - Manfred.Tremmel@iiv.de + +- updated crippled version, removed mad and a52dec + +------------------------------------------------------------------- +Tue May 29 19:59:14 UTC 2012 - reddwarf@opensuse.org + +- Remove dependency from libxine-devel to libffmpeg-devel + +------------------------------------------------------------------- +Sat Feb 04 19:40:00 UTC 2012 - Manfred.Tremmel@iiv.de + +- update to 1.2.1 + * The "I'm at Tyneside LUG" release. + * Enable PulseAudio, JACK and VDPAU on the Hurd. + * Rewrite of VDPAU OSD handling. + * sndio plugin is now buildable. + * Various bug fixes. + +------------------------------------------------------------------- +Fri Jan 06 11:06:00 UTC 2012 - Manfred.Tremmel@iiv.de + +- first build of xine-lib-12 for packman + diff --git a/xine-lib.spec b/xine-lib.spec new file mode 100644 index 0000000..2153ed2 --- /dev/null +++ b/xine-lib.spec @@ -0,0 +1,892 @@ +# +# spec file for package xine-lib +# +# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via http://bugs.opensuse.org/ +# + + +Name: xine-lib +# %bcond_with = default off +# %bcond_without = default on +# +# --with distributable -> don't build libxine2-codecs +# --without distributable -> build libxine2-codecs +# +# default for buildservice is no patented codecs +%bcond_without distributable +%bcond_with onlynondistributable +%bcond_without pulseaudio +%bcond_with sdl +%bcond_with aalib +%bcond_with esd +%bcond_with jack +%bcond_without gnome_vfs +%bcond_with directfb +%bcond_without modplug +# +BuildRequires: ImageMagick-devel +BuildRequires: Mesa-devel +BuildRequires: alsa-devel +BuildRequires: flac-devel +BuildRequires: giflib-devel +BuildRequires: glib2-devel +BuildRequires: gnutls-devel +BuildRequires: gtk2-devel +BuildRequires: imlib2-devel +BuildRequires: krb5-devel +BuildRequires: libcdio-devel +BuildRequires: libdrm-devel +BuildRequires: libmng-devel +BuildRequires: libmpcdec-devel +BuildRequires: libsmbclient-devel +BuildRequires: libtheora-devel +BuildRequires: libtool +BuildRequires: libvorbis-devel +BuildRequires: readline-devel +BuildRequires: speex-devel +BuildRequires: update-desktop-files +BuildRequires: vcdimager-devel +BuildRequires: xorg-x11-devel +%if 0%{suse_version} >= 1210 +BuildRequires: libv4l-devel >= 0.8.4 +%else +%if 0%{suse_version} >= 1110 +BuildRequires: libv4l-devel +%endif +%endif +%if 0%{suse_version} >= 1030 +BuildRequires: lirc-devel +%else +BuildRequires: lirc +%endif +%if !%{with distributable} +BuildRequires: libfaad-devel +BuildRequires: pkgconfig(libavcodec) +BuildRequires: pkgconfig(libavutil) +BuildRequires: pkgconfig(libbluray) >= 0.2.1 +BuildRequires: pkgconfig(libdts) +BuildRequires: pkgconfig(libpostproc) +BuildRequires: pkgconfig(libva) +BuildRequires: pkgconfig(libva-glx) +BuildRequires: pkgconfig(mad) +BuildRequires: pkgconfig(vdpau) +%else +BuildRequires: libavutil-devel +%endif +%if %{with pulseaudio} +BuildRequires: libpulse-devel +%endif +%if %{with sdl} +BuildRequires: SDL-devel +%endif +%if %{with aalib} +BuildRequires: aalib-devel +BuildRequires: libcaca-devel +%endif +%if %{with esd} +BuildRequires: esound-devel +%endif +%if %{with gnome_vfs} +BuildRequires: gnome-vfs2-devel +%endif +%if %{with jack} +BuildRequires: libjack-devel +%endif +%if %{with directfb} +%if %suse_version >= 1020 +BuildRequires: DirectFB-devel +%else +BuildRequires: DirectFB +%endif +%endif +%if %{with modplug} +BuildRequires: libmodplug-devel +%endif +Version: 1.2.6 +Release: 0 +%define abiversion 2.5 +Summary: Video Player with Plug-Ins +License: GPL-2.0+ and SUSE-Public-Domain +Group: Productivity/Multimedia/Video/Players +Url: http://www.xine-project.org/home +BuildRoot: %{_tmppath}/%{name}-%{version}-build + +%if %{with distributable} +Source: xine-lib-%{version}-crippled.tar.xz +%else +Source: http://downloads.sourceforge.net/project/xine/xine-lib/%{version}/xine-lib-%{version}.tar.xz +%endif +Source1: baselibs.conf +Source99: precheckin_cripple_tarball.sh + +Patch0: xine-lib-libdvdread_udf.diff +Patch1: xine-lib-v4l-2.6.38.patch +Patch2: xine-lib-without-ffmpeg.patch +Patch3: fix-non-x86-build.diff +# Add theora FOURCC to libxine I found an avi container that xine wouldn't play. +Patch4: xine-lib-theora.patch +Patch5: xine-lib-ffmpeg3.0.patch +# PATCH-FIX-UPSTREAM xine-lib-link-xcb.patch https://bugs.xine-project.org/show_bug.cgi?id=573 dimstar@opensuse.org -- Look for xcb, not xcb-shape +Patch6: xine-lib-link-xcb.patch + +%description +

Great video and multimediaplayer, supports DVD, MPEG, AVI, DivX, VCD, Quicktime ...

You need a frontend for xine-lib like xine-ui, gxine, kaffeine or totem.

Since 1-rc6 the package number is reduced, all you may miss, is in the base package

If you want to play css encrypted Video-DVD's, you need to install libdvdcss.

+ +%description -l de +

Großartiger Video- und Multimediaplayer mit Support für DVD, MPEG, AVI, DivX, VCD,Quicktime ...

Bitte beachten Sie, dass Sie neben der xine-lib auch eine Bedienoberfläche wie xine-ui, gxine, kaffeine oder totem benötigen.

Seit 1-rc6 wurde die Zahl der Pakete reduziert, alles was sie eventuell vermissen, wurde in das Basispaket integriert.

Wenn Sie css verschlüsselte Video-DVDs abspielen wollen, müssen Sie zusätzlich die libdvdcss installieren.

+ +%package -n libxine2 +Summary: Video Player with Plug-Ins +License: GPL-2.0+ +Group: Productivity/Multimedia/Video/Players +Provides: libxine2-syncfb = %{version}-%{release} +Obsoletes: libxine2-syncfb < %{version}-%{release} +Provides: libxine2-xvmc = %{version}-%{release} +Obsoletes: libxine2-xvmc < %{version}-%{release} +Provides: libxine2-dvb = %{version}-%{release} +Obsoletes: libxine2-dvb < %{version}-%{release} +Provides: %{name} = %{version}-%{release} +Obsoletes: %{name} < %{version}-%{release} +Recommends: libxine2-codecs = %{version} +Recommends: opensuse-codecs-installer + +%description -n libxine2 +xine is a video player with a graphical front-end that supports a large +number of file formats (VCD and MPEG2, for example) using plug-ins. +Several plug-ins are included. Others can be installed after xine +installation. xine supports stereo sound using OSS and AC5.1 using +Alsa. + +%if %{with distributable} +This version of xine may lack certain features because of legal +requirements (potential patent violation). See also +http://www.opensuse.org/XINE#Legal_Matters +%endif + +More information about xine plug-ins can be found at +http://www.xine-project.org/home + +Authors: +-------- + Guenter Bartsch + +%description -n libxine2 -l de +xine ist ein Videoplayer mit grafischem Frontend und unterstützt +eine vielzahl an Dateiformaten (z.B. VCD und MPEG2) mit hilfe von +Plugins. Einige Plugins sind enthalten, andere können nach der +Installation von xine nachinstalliert werden. xine untersützt +Stereosound via OSS und AC5.1 per Alsa. + +%if %{with distributable} +Diese xine-Version lässt eventuell einige Funktione aus rechtlichen +Gründen vermissen (mögliche Patentverletzungen). Siehe dazu +http://www.opensuse.org/XINE#Legal_Matters +%endif + +Weitere Informationen über xine Plugins finden Sie unter +http://www.xine-project.org/home + +Autoren: +-------- + Guenter Bartsch + +%package -n libxine-devel +Summary: Development environment for xine-based media players +License: GPL-2.0+ and SUSE-Public-Domain +Group: Development/Libraries/C and C++ +Requires: freetype2-devel +Requires: glibc-devel +Requires: libv4l-devel +Requires: libxine2 = %{version} +Requires: zlib-devel +Obsoletes: libxine2-devel < %{version}-%{release} +Provides: libxine2-devel = %{version}-%{release} +Obsoletes: xine-lib2-devel < %{version}-%{release} +Provides: xine-lib2-devel = %{version}-%{release} +Obsoletes: xine-devel < %{version}-%{release} +Provides: xine-devel = %{version}-%{release} + +%description -n libxine-devel +This package contains all necessary include files, libraries and +configuration files needed to compile applications that use the xine +media player. + +xine is a video player which supports a large number of file formats +(i.e., VCD, MPEG2) using plug-ins. Several plug-ins are included. +Others can be post-installed. Supports stereo sound using OSS and AC5.1 +using Alsa. + +%if %{with distributable} +This version of xine may lack certain features because of legal +requirements (potential patent violation). See also +http://www.opensuse.org/XINE#Legal_Matters +%endif + +More information about xine plug-ins can be found at +http://www.xine-project.org/home + +Authors: +-------- + Guenter Bartsch + +%description -n libxine-devel -l de +Dieses Paket enthält alle nötigen Include Dateien, Biblioteken und +Konfigurationsdateien, die benötigt werden, um Anwendungen zu +kompilieren, die den xine Media Player verwenden. + +xine ist ein Videoplayer mit grafischem Frontend und unterstützt +eine vielzahl an Dateiformaten (z.B. VCD und MPEG2) mit hilfe von +Plugins. Einige Plugins sind enthalten, andere können nach der +Installation von xine nachinstalliert werden. xine untersützt +Stereosound via OSS und AC5.1 per Alsa. + +%if %{with distributable} +Diese xine-Version lässt eventuell einige Funktione aus rechtlichen +Gründen vermissen (mögliche Patentverletzungen). Siehe dazu +http://www.opensuse.org/XINE#Legal_Matters +%endif + +Weitere Informationen über xine Plugins finden Sie unter +http://www.xine-project.org/home + +Autoren: +-------- + Guenter Bartsch + +%if %{with pulseaudio} + +%package -n libxine2-pulse +Summary: Pulseaudio plugin for xine +License: GPL-2.0+ and SUSE-Public-Domain +Group: Productivity/Multimedia/Video/Players +Requires: libxine2 = %{version} +Supplements: packageand(libpulse0:libxine2) + +%description -n libxine2-pulse +libxine sound output plugin for the pulseaudio soundserver + + + +Authors: +-------- + Guenter Bartsch + +%description -n libxine2-pulse -l de +libxine Soundausgabeplugin für den Pulseaudio Soundserver + + + +Autoren: +-------- + Guenter Bartsch +%endif + +%if %{with sdl} + +%package -n libxine2-sdl +Summary: SDL plugin for xine +License: GPL-2.0+ and SUSE-Public-Domain +Group: Productivity/Multimedia/Video/Players +Requires: libxine2 = %{version} + +%description -n libxine2-sdl +SDL xine video output plugin + + + +Authors: +-------- + Guenter Bartsch + +%description -n libxine2-sdl -l de +SDL xine Video-Ausgabeplugin + + + +Autoren: +-------- + Guenter Bartsch +%endif + +%if %{with aalib} + +%package -n libxine2-aa +Summary: Aalib and libcaca plugin for xine +License: GPL-2.0+ and SUSE-Public-Domain +Group: Productivity/Multimedia/Video/Players +Requires: libxine2 = %{version} + +%description -n libxine2-aa +aalib and libcaca xine video-output plugin + + + +Authors: +-------- + Guenter Bartsch + +%description -n libxine2-aa -l de +aalib und libcaca xine Video-Ausgabeplugin + + + +Autoren: +-------- + Guenter Bartsch +%endif + +%if %{with esd} + +%package -n libxine2-esd +Summary: Esd plugin for xine +License: GPL-2.0+ and SUSE-Public-Domain +Group: Productivity/Multimedia/Video/Players +Requires: libxine2 = %{version} + +%description -n libxine2-esd +libxine sound output plugin for the esound soundserver + + + +Authors: +-------- + Guenter Bartsch + +%description -n libxine2-esd -l de +libxine Soundausgabeplugin für den esound Soundserver + + + +Autoren: +-------- + Guenter Bartsch +%endif + +%if %{with jack} + +%package -n libxine2-jack +Summary: Jack plugin for xine +License: GPL-2.0+ and SUSE-Public-Domain +Group: Productivity/Multimedia/Video/Players +Requires: libxine2 = %{version} + +%description -n libxine2-jack +xine sound output plugin for the jack soundserver + + + +Authors: +-------- + Guenter Bartsch + +%description -n libxine2-jack -l de +xine Soundausgabeplugin für den jack Soundserver + + + +Autoren: +-------- + Guenter Bartsch +%endif + +%if %{with directfb} + +%package -n libxine2-directfb +Summary: Directfb plugin for xine +License: GPL-2.0+ and SUSE-Public-Domain +Group: Productivity/Multimedia/Video/Players +Requires: libxine2 = %{version} + +%description -n libxine2-directfb +Directfb xine video-output plugin + + + +Authors: +-------- + Guenter Bartsch + +%description -n libxine2-directfb -l de +Directfb xine Video-Ausgabeplugin + + + +Autoren: +-------- + Guenter Bartsch +%endif + +%if %{with gnome_vfs} + +%package -n libxine2-gnome-vfs +Summary: Gnome-vfs plugin for xine +License: GPL-2.0+ and SUSE-Public-Domain +Group: Productivity/Multimedia/Video/Players +Requires: libxine2 = %{version} + +%description -n libxine2-gnome-vfs +Input plugin which enables xine to use Gnome-vfs + +%description -n libxine2-gnome-vfs -l de +Eingabeplugin welches xine ermöglicht Gnome-vfs zu benutzen +%endif + +%if !%{with distributable} + +%package -n libxine2-codecs +# these libs are possibly illegal and may not work without libdvdcss anyway +Summary: Xine plugins for watching DVDs, DivX and more +License: GPL-2.0+ and SUSE-Public-Domain +Group: Productivity/Multimedia/Video/Players +Requires: libxine2 = %{version} +Provides: libxine2-dvd = %{version}-%{release} +Obsoletes: libxine2-dvd < %{version}-%{release} +Provides: libxine2-dxr3 = %{version}-%{release} +Obsoletes: libxine2-dxr3 < %{version}-%{release} +%ifarch %{ix86} +Provides: libxine2-w32dll = %{version}-%{release} +Obsoletes: libxine2-w32dll < %{version}-%{release} +%endif +Recommends: libdvdcss2 >= 1.2.10 + +%description -n libxine2-codecs +With these xine plug-ins, you can watch DVDs and all other kind of +media using xine. More information about xine plug-ins can be found at +http://www.xine-project.org/home + + + +Authors: +-------- + Guenter Bartsch + +%description -n libxine2-codecs -l de +Mit diesem xine Plugins können Sie DVDs und alle von xine unterstützten +Medienverainten abspielen. Weitere Informationtne über xine Plugins +finden Sie unter +http://www.xine-project.org/home + + + +Autoren: +-------- + Guenter Bartsch +%endif + +%prep +%if %{with distributable} && %{with onlynondistributable} +%error need --without distributable for --with onlynondistributable +%endif +cat <= 1210 +%patch1 +%endif +%if %{with distributable} +%patch2 -p1 +%else +%patch5 -p0 +%endif +%ifnarch %ix86 x86_64 +%patch3 +%endif +%patch4 +%patch6 -p1 +rm -f m4/libtool15.m4 +sed -i -e 's|/tmp/vdr-xine|/var/lib/vdr-xine|g' src/vdr/input_vdr.c + +%build +export CFLAGS="${RPM_OPT_FLAGS} -fno-strict-aliasing -fno-force-addr `pkg-config --cflags smbclient`" +export CCASFLAGS=-Wa,--noexecstack +%if 0%{suse_version} < 1011 +echo 'AC_DEFUN([AC_REQUIRE_AUX_FILE])dnl' >> acinclude.m4 +%endif +%if 0%{?suse_version} < 1020 + # hack for sles10 + rm m4/gettext.m4 m4/intl.m4 + sed -i -e '/AM_GNU_GETTEXT_VERSION/s/0\.16\.1/0.14/' configure.ac +%endif +if [ ! -f configure ]; then + NO_CONFIGURE=1 ./autogen.sh +fi +AUTOPOINT=true autoreconf -fi +./configure --prefix=/usr \ + --libdir=%{_libdir} \ + --mandir=%{_mandir} \ +%if 0%{suse_version} > 1010 + --docdir=%{_defaultdocdir}/xine \ +%else + docdir=%{_defaultdocdir}/xine \ +%endif + --enable-fpic \ + --enable-antialiasing \ + --with-libflac \ + --with-freetype \ + --enable-v4l \ + %{?with_modplug:--enable-modplug} \ + %{?with_directfb:--enable-directfb} \ +%if !%{with sdl} + --without-sdl \ +%endif +%if !%{with distributable} + --with-external-ffmpeg \ + --enable-bluray \ +%else + --disable-faad \ + --disable-a52dec \ + --disable-vdpau \ + --disable-dxr3 \ +%endif +%ifarch %{ix86} + --with-w32-path=/usr/lib/win32 \ +%endif + --with-install-plugins-helper=${_prefix}/lib/opensuse-codecs-installer +%if 0%{?suse_version} < 1110 +# wtf libtool shit. $echo is unset. I guess there is a way to fix +# this properly, please tell me! +echo=echo \ +%endif +make %{?jobs:-j%{jobs}} + +%install +%if 0%{?suse_version} < 1110 +# same libtool problem here +echo=echo \ +%endif +make install DESTDIR=%{buildroot} +LIB="%{buildroot}%{_libdir}/xine/plugins/%{abiversion}" +# install documentation +#install -m 0644 %{SOURCE1} COPYING AUTHORS %{buildroot}%{_defaultdocdir}/xine/ +# remove usless READMEs +rm %{buildroot}%{_defaultdocdir}/xine/README.{irix,solaris,WIN32} +# remove .la files, they are evil +rm %{buildroot}%{_libdir}/*.la +%ifarch %{ix86} + mkdir -p %{buildroot}/usr/lib/win32 +%endif +# +# big plugin sorting +# +cat > plugins << EOF +# these plugins do not have legal problems +xineplug_ao_out_alsa +xineplug_ao_out_file +xineplug_ao_out_none +xineplug_ao_out_oss +xineplug_vo_out_fb +xineplug_vo_out_none +xineplug_vo_out_opengl +xineplug_vo_out_opengl2 +xineplug_vo_out_xshm +xineplug_vo_out_xv +%if 0%{suse_version} > 1020 +xineplug_vo_out_xcbshm +xineplug_vo_out_xcbxv +%endif +xineplug_vo_out_raw +%if !%{with distributable} +xineplug_vo_out_vdpau +%endif +xineplug_inp_dvb +xineplug_inp_dvd +xineplug_inp_v4l +xineplug_inp_v4l2 +xineplug_inp_file +xineplug_inp_http +xineplug_inp_net +xineplug_inp_pnm +xineplug_inp_cdda +xineplug_inp_smb +xineplug_inp_stdin_fifo +xineplug_inp_rtsp +xineplug_inp_pvr +xineplug_inp_rtp +xineplug_inp_test +xineplug_decode_bitplane +xineplug_decode_rgb +xineplug_decode_yuv +xineplug_decode_lpcm +xineplug_decode_real +xineplug_decode_mpc +xineplug_decode_gdk_pixbuf +xineplug_decode_spucmml +xineplug_decode_spuhdmv +xineplug_decode_libjpeg +# requires ImageMagick +xineplug_decode_image +xineplug_dmx_yuv_frames +xineplug_dmx_real +xineplug_dmx_audio +xineplug_dmx_iff +xineplug_dmx_avi +xineplug_dmx_flv +xineplug_dmx_image +xineplug_dmx_matroska +xineplug_dmx_fli +xineplug_dmx_nsv +xineplug_dmx_mng +xineplug_dmx_pva +xineplug_dmx_qt +xineplug_dmx_rawdv +xineplug_dmx_games +xineplug_dmx_slave +xineplug_dmx_modplug +xineplug_dmx_playlist +xineplug_dmx_vc1_es +xineplug_flac +xineplug_sputext +xineplug_xiph +xineplug_vdr +xineplug_vo_out_xxmc +xineplug_vo_out_xvmc +%ifarch %{ix86} +xineplug_vo_out_vidix +vidix/cyberblade_vid +vidix/mach64_vid +vidix/mga_crtc2_vid +vidix/mga_vid +vidix/nvidia_vid +vidix/pm2_vid +vidix/pm3_vid +vidix/radeon_vid +vidix/rage128_vid +vidix/savage_vid +vidix/sis_vid +vidix/unichrome_vid +%endif +post/xineplug_post_audio_filters +post/xineplug_post_goom +post/xineplug_post_mosaico +post/xineplug_post_switch +%ifarch %ix86 x86_64 +post/xineplug_post_tvtime +%endif +post/xineplug_post_visualizations +# +.pulse +xineplug_ao_out_pulseaudio +# +.esd +xineplug_ao_out_esd +# +.jack +xineplug_ao_out_jack +# +.aalib +xineplug_vo_out_aa +xineplug_vo_out_caca +# +.sdl +xineplug_vo_out_sdl +# +.gnome-vfs +xineplug_inp_gnome_vfs +# +.directfb +xineplug_vo_out_directfb +xineplug_vo_out_xdirectfb +# +.codecs +# libmad and MPEG related plugins +xineplug_decode_mad +xineplug_decode_spudvb +xineplug_inp_vcd +xineplug_inp_vcdo +xineplug_decode_mpeg2 +#xineplug_decode_mpeg2new +xineplug_dmx_mpeg +xineplug_dmx_mpeg_block +xineplug_dmx_mpeg_ts +xineplug_dmx_mpeg_elem +xineplug_dmx_mpeg_pes +xineplug_dmx_yuv4mpeg2 +# these plugins do have legal problems +xineplug_decode_a52 +xineplug_decode_dts +xineplug_decode_faad +xineplug_decode_ff +xineplug_decode_dvaudio +xineplug_dmx_asf +xineplug_inp_mms +xineplug_inp_bluray +# I am not sure about these plugins, they need to be checked +# Closed Captioning Decoder (EIA-608). Patented ??? +xineplug_decode_spucc +xineplug_decode_spu +# NES Music File Format. free ?? +xineplug_nsf +# Philips claimed intellectual property on GSM 06.10 +xineplug_decode_gsm610 +%ifarch %{ix86} +xineplug_decode_qt +xineplug_decode_w32dll +%endif +xineplug_decode_dxr3_video +xineplug_vo_out_dxr3 +xineplug_decode_dxr3_spu +xineplug_decode_vdpau_h264 +xineplug_decode_vdpau_h264_alter +xineplug_decode_vdpau_mpeg12 +xineplug_decode_vdpau_mpeg4 +xineplug_decode_vdpau_vc1 +xineplug_vo_out_vaapi +# unfortunately using external ffmpeg links the planar post +# processing plugin against ffmpeg libs +post/xineplug_post_planar +# +EOF +# +OUT_FILE="" +grep -v ^# plugins | while read i; do + [ "${i:0:1}" = "." ] && OUT_FILE=${i} && continue + echo %{_libdir}/xine/plugins/%{abiversion}/${i}.so >> files${OUT_FILE} +done +%find_lang libxine2 +cat libxine2.lang >>files +%if %{with distributable} +xargs -i+ rm -f %{buildroot}/+