Accepting request 661963 from multimedia:xine

Work around build failure caused by new perl.

OBS-URL: https://build.opensuse.org/request/show/661963
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/xine-lib?expand=0&rev=72
This commit is contained in:
Dominique Leuenberger 2019-01-03 17:06:44 +00:00 committed by Git OBS Bridge
commit 044a809bce
3 changed files with 64 additions and 24 deletions

View File

@ -0,0 +1,11 @@
Index: contrib/Makefile.am
===================================================================
--- contrib/Makefile.am.orig 2018-01-11 14:49:46.000000000 +0200
+++ contrib/Makefile.am 2018-12-29 14:25:07.143736494 +0200
@@ -1,5 +1,4 @@
-SUBDIRS = libmpcdec libxdg-basedir libdca nosefart gsm610 libmad a52dec \
- libfaad
+SUBDIRS = libmpcdec libxdg-basedir libdca nosefart gsm610 libmad a52dec
if BUILD_DHA_KMOD

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Sat Dec 29 12:53:21 UTC 2018 - davejplater@gmail.com
- Patched up crippled build with new perl, the perl scripts no
longer work.
- Added xine-lib-nukefaadetc.patch for the same reason.
- Build with libmpeg2.
-------------------------------------------------------------------
Sat Jun 2 23:32:45 UTC 2018 - bjorn.lie@gmail.com

View File

@ -28,6 +28,7 @@ Name: xine-lib
%bcond_with onlynondistributable
%if 0%{?suse_version} > 1320
BuildRequires: gcc
BuildRequires: pkgconfig(libmpeg2)
%else
# Leap 42.3+
%if 0%{?leap_version} >= 420300
@ -125,7 +126,7 @@ Version: 1.2.9
Release: 0
%define abiversion 2.7
Summary: Video Player with Plug-Ins
License: GPL-2.0+ and SUSE-Public-Domain
License: GPL-2.0-or-later AND SUSE-Public-Domain
Group: Productivity/Multimedia/Video/Players
Url: https://www.xine-project.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -148,6 +149,10 @@ Patch4: xine-lib-theora.patch
Patch8: xine-lib-ImageMagick7.patch
# PATCH-FIX-UPSTREAM xine-lib-a52dec.patch davejplater@gmail.com -- Change in a52dec api.
Patch6: xine-lib-a52dec.patch
%if %{with distributable}
#PATCH-Workaround xine-lib-nukefaadetc.patch davejplater@gmail.com - supliment do_nukeentry().
Patch7: xine-lib-nukefaadetc.patch
%endif
%description
<p>Great video and multimediaplayer, supports DVD, MPEG, AVI, DivX, VCD, Quicktime ...</p><p>You need a frontend for xine-lib like <a href=http://packman.links2linux.de/package/xine-ui>xine-ui</a>, <a href=http://packman.links2linux.de/package/gxine>gxine</a>, <a href=http://packman.links2linux.de/package/kaffeine>kaffeine</a> or <a href=http://packman.links2linux.de/package/totem>totem</a>.</p><p>Since 1-rc6 the package number is reduced, all you may miss, is in the base package</p><p>If you want to play css encrypted Video-DVD's, you need to install <a href=http://packman.links2linux.de/package/libdvdcss2>libdvdcss</a>.</p>
@ -157,7 +162,7 @@ Patch6: xine-lib-a52dec.patch
%package -n libxine2
Summary: Video Player with Plug-Ins
License: GPL-2.0+
License: GPL-2.0-or-later
Group: Productivity/Multimedia/Video/Players
Provides: libxine2-syncfb = %{version}-%{release}
Obsoletes: libxine2-syncfb < %{version}-%{release}
@ -212,7 +217,7 @@ Autoren:
%package -n libxine-devel
Summary: Development environment for xine-based media players
License: GPL-2.0+ and SUSE-Public-Domain
License: GPL-2.0-or-later AND SUSE-Public-Domain
Group: Development/Libraries/C and C++
Requires: freetype2-devel
Requires: glibc-devel
@ -275,7 +280,7 @@ Autoren:
%package -n libxine2-pulse
Summary: Pulseaudio plugin for xine
License: GPL-2.0+ and SUSE-Public-Domain
License: GPL-2.0-or-later AND SUSE-Public-Domain
Group: Productivity/Multimedia/Video/Players
Requires: libxine2 = %{version}
Supplements: packageand(libpulse0:libxine2)
@ -302,7 +307,7 @@ Autoren:
%package -n libxine2-sdl
Summary: SDL plugin for xine
License: GPL-2.0+ and SUSE-Public-Domain
License: GPL-2.0-or-later AND SUSE-Public-Domain
Group: Productivity/Multimedia/Video/Players
Requires: libxine2 = %{version}
@ -329,7 +334,7 @@ Autoren:
%package -n libxine2-aa
Summary: Aalib and libcaca plugin for xine
License: GPL-2.0+ and SUSE-Public-Domain
License: GPL-2.0-or-later AND SUSE-Public-Domain
Group: Productivity/Multimedia/Video/Players
Requires: libxine2 = %{version}
@ -356,7 +361,7 @@ Autoren:
%package -n libxine2-esd
Summary: Esd plugin for xine
License: GPL-2.0+ and SUSE-Public-Domain
License: GPL-2.0-or-later AND SUSE-Public-Domain
Group: Productivity/Multimedia/Video/Players
Requires: libxine2 = %{version}
@ -383,7 +388,7 @@ Autoren:
%package -n libxine2-jack
Summary: Jack plugin for xine
License: GPL-2.0+ and SUSE-Public-Domain
License: GPL-2.0-or-later AND SUSE-Public-Domain
Group: Productivity/Multimedia/Video/Players
Requires: libxine2 = %{version}
@ -410,7 +415,7 @@ Autoren:
%package -n libxine2-directfb
Summary: Directfb plugin for xine
License: GPL-2.0+ and SUSE-Public-Domain
License: GPL-2.0-or-later AND SUSE-Public-Domain
Group: Productivity/Multimedia/Video/Players
Requires: libxine2 = %{version}
@ -437,7 +442,7 @@ Autoren:
%package -n libxine2-gnome-vfs
Summary: Gnome-vfs plugin for xine
License: GPL-2.0+ and SUSE-Public-Domain
License: GPL-2.0-or-later AND SUSE-Public-Domain
Group: Productivity/Multimedia/Video/Players
Requires: libxine2 = %{version}
@ -453,7 +458,7 @@ Eingabeplugin welches xine ermöglicht Gnome-vfs zu benutzen
%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
License: GPL-2.0-or-later AND SUSE-Public-Domain
Group: Productivity/Multimedia/Video/Players
Requires: libxine2 = %{version}
Provides: libxine2-dvd = %{version}-%{release}
@ -516,14 +521,26 @@ modplug: %{with modplug}
EOF
%setup -q
%if %{with distributable}
%patch7
# Taken from precheckin_cripple_tarball.sh
# $1: files $2: entries $3: prefix $4: postfix
# NOTE: the perl do_nukeentry has stopped working with the latest perl
# I've left it here hoping someone will fix it. Thanks
# Don't forget to remove xine-lib-nukefaadetc.patch when the perl scripts are functioning again.
%if 1 == 0
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
perl -i -e 'undef $/; $_=<>; for $e (qw|'"$2"'|) { s|(?<=[^-a-zA-Z0-9_./])'"$3"'$e'"$4"'(?=[^-a-zA-Z0-9_./])||g }; print' ${d}
done
}
%else
do_nukeentry() {
for i in ${2};do
cat ${1}|grep -v ${i} >${1}n;mv ${1}n ${1}
done
}
%endif
# $1: files $2: entries $3: prefix $4: postfix
do_nukeline() {
for d in $1 ; do
@ -543,7 +560,7 @@ popd >/dev/null
# combined/ffmpeg
echo 1>&2 "Crippling..."
c_subdirs="dxr3 libdts libfaad libffmpeg libmpeg2 libspucc libspudec libspudvb libw32dll input/vcd"
c_subdirs="faad planar dxr3 asf dmx_video libdts libfaad libffmpeg libspucc libspudec libspudvb libw32dll input/vcd"
c_demuxers="group_video.c demux_elem.c 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"
@ -551,6 +568,8 @@ c_libxineadec="xineplug_decode_gsm610.la xineplug_decode_nsf.la gsm610.c nsf.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_subdirs"
do_nukeentry contrib/Makefile.am "$c_subdirs"
do_nukeentry src/demuxers/Makefile.am "$c_demuxers"
do_remove src/demuxers "$c_demuxers"
do_nukeentry src/input/Makefile.am "$c_input"
@ -559,9 +578,9 @@ do_remove src/input "$c_input"
#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"
do_nukeentry src/post/Makefile.am "planar"
#do_nukeline src/post/planar/planar.c "pp_init_plugin pp_special_info"
do_remove src/post/planar "*"
%endif
@ -678,8 +697,16 @@ xineplug_inp_rtp
xineplug_decode_rawvideo
%if !%{with distributable}
xineplug_decode_vdpau
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
xineplug_dmx_video
%endif
#end new
xineplug_decode_lpcm
xineplug_decode_real
@ -721,14 +748,6 @@ 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
@ -840,7 +859,9 @@ rm -rf %{buildroot}
%doc %{_mandir}/man1/xine-list-*.gz
#%%doc %%{_mandir}/man5/xine.*
%{_defaultdocdir}/xine
%if !%{with distributable}
%dir %{_libdir}/xine/plugins/%{abiversion}/post
%endif
%{_libdir}/xine/plugins/%{abiversion}/mime.types
#
# xine fonts