Accepting request 661961 from home:plater

- 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.
- Rebase fix-non-x86-build.diff to fix arm build.
- Update to release 1.2.9 and add xine-lib-a52dec.patch.
- Moved xineplug_decode_mad and xineplug_decode_a52 into the main
  package as they are now unrestricted.
- Enabled sdl and jack subpackages.
- Upstream changes:
 * Add LIBXINE_VERBOSITY environment var override.
 * Add auto gapless switch. Play clips to their very end when that
   is likely what the user wants.
 * Add video single step feature.
 * Add generic keyframe index feature.
 * Add x32 (x86 32 on 64bit) support.
 * Add some more debug logging.
 * Join 4 network input plugins into a single file.
 * Matroska fixes.
 * Build fixes.
 * Directx2 audio fixes.
 * VAAPI fixes.
 * XCB video fixes and optimizations.
 * Return driver held video frames on shutdown properly.
 * FAAD audio compatibility fixes.
 * Fix VP9 playback.
 * Fix post filtering crash.
 * Make xml parser thread safe.
 * More user configuration safety.
 * Inline assembly fixes.
 * Failed memory allocation safety fixes.
 * Memory leak fixes.
 * Debug and LOG build fixes.
 * Again, lots of small fixes and optimizations.
 * Better multiengine client safety.
 * Hide yuv2rgb implementation details.
 * Use a single libyuv2rgb copy in both engine and plugins.
 * Minor ffmpeg optimization.
 * Lift a few video engine handbrakes. Less CPU load, fewer frame
   drops, faster seeking.
 * Optimize audio engine.
 * Optimize demux buffering system.
 * Optimize metronom clock.
 * Optimize port tickets.
 * Optimize sse/mmx2 memcpy.
 * Code simplification and cleanup.
 * Update german translation. * Add LIBXINE_VERBOSITY environment var override.
 * Add auto gapless switch. Play clips to their very end when that
   is likely what the user wants.
 * Add video single step feature.
 * Add generic keyframe index feature.
 * Add x32 (x86 32 on 64bit) support.
 * Add some more debug logging.
 * Join 4 network input plugins into a single file.
 * Matroska fixes.
 * Build fixes.
 * Directx2 audio fixes.
 * VAAPI fixes.
 * XCB video fixes and optimizations.
 * Return driver held video frames on shutdown properly.
 * FAAD audio compatibility fixes.
 * Fix VP9 playback.
 * Fix post filtering crash.
 * Make xml parser thread safe.
 * More user configuration safety.
 * Inline assembly fixes.
 * Failed memory allocation safety fixes.
 * Memory leak fixes.
 * Debug and LOG build fixes.
 * Again, lots of small fixes and optimizations.
 * Better multiengine client safety.
 * Hide yuv2rgb implementation details.
 * Use a single libyuv2rgb copy in both engine and plugins.
 * Minor ffmpeg optimization.
 * Lift a few video engine handbrakes. Less CPU load, fewer frame
   drops, faster seeking.
 * Optimize audio engine.
 * Optimize demux buffering system.
 * Optimize metronom clock.
 * Optimize port tickets.
 * Optimize sse/mmx2 memcpy.
 * Code simplification and cleanup.
 * Update german translation.
- Cleanup buildrequires so neither Mesa-devel nor xorg-x11-devel 
  meta/mega packages are required anymore.
- Build unconditionally with modplug and pulseaudio
- Remove dependency to gcc5
- Use simple bcond for ffmpeg
- Update to release 1.2.8
- Remove patches fixed upstream:
  xine-lib-crippled-ffmpeg3.0.patch, xine-lib-ffmpeg3.0.patch and
  xine-lib-link-xcb.patch.
- Removed precheckin_cripple_tarball.sh and integrated it into the
  spec file.
- Upstream changes:
  * Add HEVC to QT demuxer.
  * Add libOpenHEVC decoder.
  * Add h.265/HEVC decoding to VAAPI.
  * Detach VAAPI video out from ffmpeg.
  * VAAPI fixes.
  * Improved Matroska compatibility (TrueHD and PCM sound,
    HDMV/Text subtitles).
  * Add faad LATM support.
  * Add faad preamp gain control and channel mixer.
  * Update/fix internal libfaad.
  * Integrate 6 basic plugins into libxine.
  * ffmpeg fixes and optimizations.
  * Use external libdvdnav by default.
  * Optimize video out.
  * AVFormat demuxer fixes.
  * (XCB)XV video out fixes.
  * Lots of small fixes and optimizations.
  * Build fixes (newer automake, xcb, libdvdcss, dxr3, make dist,
    32+64bit dual install, gcc 4.x with GNU ld 2.26 ...).
  * Better C++ compatibility.
  * Add support for avi WAVE_FORMAT_EXTENSIBLE.
  * Add "Time Domain Audio Analyzer" Visualization Post Plugin.
  * Add support for compressed HDMV PGS subtitles in Matroska.
  * Add HW accelerated OSD for Raspberry Pi.
  * Add simple deep color (9/10bit) support via ffmpeg.
  * Join 15 video demuxers into a single multiplugin lib.
  * Join 5 vdpau decoders into a single multiplugin lib.
  * Join 3 raw video decoders into a single multiplugin lib.
  * Make ffmpeg/postproc optional.
  * Log individual items when loading multiplugin libs.
  * Improved qt/mp4 edit list handling.
  * Detect mp3 files with large id3v2 tags.
  * Auto recover from temporary DVB signal loss.
  * Fix demuxing low framerate mp4.
  * DVB AAC sound compatibility fix.
  * ffmpeg audio downmix level fix and optimization.
  * ffmpeg multithreading fixes.
  * ffmpeg compatibility fixes.
  * BluRay subtitle fixes.
  * Various small fixes.
  * OpenGL(2) video out fixes and optimizations.
  * Fix some issues with heavy stream seeking.
  * Build fixes, including missing vcd libs and much less warnings.
  * Code simplifications.
- fix build with ImageMagick 7
  + xine-lib-ImageMagick7.patch
- Fixed build in Leap:42.2 by building with gcc5.
- Removed conditinals for old openSUSE versions from spec file.
- Modified pre checkin script to enable build with the ffmpeg libs
  that are in the distribution.
- Added xine-lib-crippled-ffmpeg3.0.patch to enable leap and above
  to build with ffmpeg3.
- Removed unused build flags.
- Accept any ffmpeg version in BuildRequires
- 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
- 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.
- 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.
- Replace implicit Requires from old ffmpeg with BuildRequires to
  fix build in packman
- 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
- 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
- detect smbclient
- 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)
- update license to new format
- Added xine-lib-theora.patch to add fourcc code to xine
- fix build for non-x86 architectures (disable deinterlace plugin)
- don't include .la files in libxine-devel to avoid bogus libtool errors
- provide and obsolete xine-devel and xine-lib for backward compat
- 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.
- updated crippled version, removed mad and a52dec
- Remove dependency from libxine-devel to libffmpeg-devel
- 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.
- first build of xine-lib-12 for packman

OBS-URL: https://build.opensuse.org/request/show/661961
OBS-URL: https://build.opensuse.org/package/show/multimedia:xine/xine-lib?expand=0&rev=112
This commit is contained in:
Dave Plater 2018-12-29 13:26:53 +00:00 committed by Git OBS Bridge
parent cd1f223be2
commit 51e5f1903a
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