%bcond_without live # LIVE555 Streaming Media support
%bcond_without mencoder # mencoder (a/v encoder) compilation
%bcond_without nemesi # NeMeSi Streaming Media support
-%bcond_with on2 # patches from On2 Flix Engine for Linux
%bcond_without osd # osd menu support
%bcond_without rtmp # RTMPDump Streaming Media support
%bcond_with shared # experimental libmplayer.so support
%bcond_without lzo # LZO support (requires lzo 2.x)
%bcond_without mad # mad (audio MPEG) support
%bcond_without mpg123 # libmpg123 MP3 decoding support
-%bcond_with musepack # libmpcdec support (derecated in favour of libavcodec)
+%bcond_with musepack # libmpcdec support (deprecated in favour of libavcodec)
%bcond_without openjpeg # OpenJPEG (JPEG2000) input/output support
%bcond_without quicktime # binary quicktime dll support
%bcond_without real # Real* 8/9 codecs support
%bcond_without vorbis # Ogg Vorbis audio support (both tremor and libvorbis)
-%bcond_with system_vorbis # use system libvorbis instead of internal tremor
+%bcond_with tremor # use tremor instead of libvorbis
%bcond_without theora # Ogg Theora video support
%bcond_without win32 # Win32 codecs support
%bcond_without x264 # x264 support
%undefine with_select
%endif
%if %{without vorbis}
-%undefine with_system_vorbis
+%undefine with_tremor
%endif
%ifnarch %{ix86}
%undefine with_crystalhd
%endif
-%if %{_lib} == "lib64"
-%define binsuf 64
+%if %{_lib} != "lib"
+%define binsuf %(lib=%{_lib} ; echo ${lib#lib})
%else
+%ifarch %{ix86} ppc sparc sparcv9 s390
%define binsuf 32
+%else
+%define binsuf %{nil}
+%endif
%endif
+# date from directory inside of tarball (like mplayer-export-2014-04-29)
+%define snap 2018-05-22
+%define ssnap %(echo %{snap} | tr -d -)
+%define rel 2
Summary: MPlayer - THE Movie Player for UN*X
Summary(de.UTF-8): MPlayer ist ein unter der freien GPL-Lizenz stehender Media-Player
Summary(es.UTF-8): Otro reproductor de películas
Summary(pl.UTF-8): Odtwarzacz filmów dla systemów uniksowych
Summary(pt_BR.UTF-8): Reprodutor de filmes
Name: mplayer
-Version: 1.1.1
-Release: 3
+Version: 1.3
+Release: 1.%{ssnap}.%{rel}
# DO NOT increase epoch unless it's really neccessary!
# especially such changes like pre7->pre7try2, increase Release instead!
# PS: $ rpmvercmp pre7try2 pre7
Epoch: 3
License: GPL
Group: Applications/Multimedia
-# for snapshots:
-# svn export svn://svn.mplayerhq.hu/mplayer/trunk mplayer-rXXX
-# cd mplayer-rXXX && git clone git://git.videolan.org/ffmpeg.git
-# tar -cvJf mplayer-rXXX.tar.xz mplayer-rXXX
-Source0: http://mplayerhq.hu/MPlayer/releases/MPlayer-%{version}.tar.xz
-# Source0-md5: 39dd55f30eb5403f219a606e79a6648a
+# Source0: http://mplayerhq.hu/MPlayer/releases/MPlayer-%{version}.tar.xz
+Source0: ftp://ftp.mplayerhq.hu/MPlayer/releases/mplayer-export-snapshot.tar.bz2
+# Source0-md5: d7447a6838ff3055d5ccb93534b88609
+Source1: http://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2
+# Source1-md5: b1b71cc56b15da49cee1ede9a7b8134e
Source3: ftp://ftp1.mplayerhq.hu/MPlayer/releases/fonts/font-arial-iso-8859-2.tar.bz2
# Source3-md5: 7b47904a925cf58ea546ca15f3df160c
Source5: g%{name}.desktop
# Source6-md5: 1ecd31d17b51f16332b1fcc7da36b312
Source7: %{name}.png
Source8: %{name}.desktop
-# http://www.on2.com/gpl/mplayer/
-Source9: http://support.on2.com/gpl/mplayer/2009-10-08-mencoder-on2flixenglinux.tar.bz2
-# Source9-md5: 07774a2663a8fda07c308df0c6569b56
# build (configure / Makefile) related:
Patch10: %{name}-ldflags.patch
Patch11: %{name}-altivec.patch
Patch12: %{name}-check-byteswap.patch
Patch13: %{name}-visibility-hidden-fix.patch
-Patch14: %{name}-ffmpeg.patch
-Patch15: %{name}-live.patch
-Patch16: %{name}-libcdio.patch
+Patch14: cflags.patch
+Patch15: %{name}-live555-async.patch
+
Patch17: %{name}-gsm.patch
-Patch18: %{name}-openjpeg.patch
+
Patch19: %{name}-shared.patch
Patch20: %{name}-vstream.patch
-Patch23: vstream-format-security.patch
# codecs, outputs, demuxers:
Patch21: %{name}-auto-expand.patch
# update, hard to fix right now because of gnome bug 579430:
# https://bugzilla.gnome.org/show_bug.cgi?id=579430
#Patch32: %{name}-gnome-screensaver.patch
-Patch33: %{name}-growing-files.patch
-Patch100: %{name}-on2flix.patch
Patch101: %{name}-link.patch
-Patch102: %{name}-build.patch
URL: http://www.mplayerhq.hu/
-%{?with_directfb:BuildRequires: DirectFB-devel}
+%{?with_directfb:BuildRequires: DirectFB-devel >= 0.9.22}
+BuildRequires: EGL-devel
BuildRequires: OpenAL-devel
-BuildRequires: OpenGL-devel
+BuildRequires: OpenGL-GLX-devel
%{?with_sdl:BuildRequires: SDL-devel >= 1.1.7}
+# checked, but seems actually not used
+#%{?with_sdl:BuildRequires: SDL_image-devel}
BuildRequires: a52dec-libs-devel
%{?with_aalib:BuildRequires: aalib-devel}
%{?with_alsa:BuildRequires: alsa-lib-devel}
%{?with_arts:BuildRequires: artsc-devel}
+BuildRequires: binutils >= 2.10.1
%{?with_ssse3:BuildRequires: binutils >= 3:2.16.92}
BuildRequires: bzip2-devel
#%{?with_cdparanoia:BuildRequires: cdparanoia-III-devel}
%{?with_gnomess:BuildRequires: dbus-glib-devel}
-BuildRequires: dirac-devel
-%{?with_doc:BuildRequires: docbook-dtd412-xml}
+%{?with_doc:BuildRequires: docbook-dtd45-xml}
%{?with_doc:BuildRequires: docbook-style-xsl}
%{?with_dxr2:BuildRequires: dxr2-driver-devel}
%{?with_dxr3:BuildRequires: em8300-devel}
BuildRequires: fribidi-devel
%{?with_altivec:BuildRequires: gcc >= 5:4.1}
%{?with_gif:BuildRequires: giflib-devel}
-%{?with_gui:BuildRequires: gtk+2-devel}
+%{?with_gui:BuildRequires: glib2-devel >= 1:2.6.0}
+BuildRequires: gnutls-devel
+%{?with_gui:BuildRequires: gtk+2-devel >= 2:2.4.0}
%{?with_jack:BuildRequires: jack-audio-connection-kit-devel}
%{?with_ladspa:BuildRequires: ladspa-devel}
BuildRequires: lame-libs-devel
%{?with_smb:BuildRequires: libsmbclient-devel}
%{?with_theora:BuildRequires: libtheora-devel}
%{?with_vdpau:BuildRequires: libvdpau-devel}
-%{?with_system_vorbis:BuildRequires: libvorbis-devel}
+%if %{with vorbis} && %{without tremor}
+BuildRequires: libvorbis-devel
+%endif
BuildRequires: libvpx-devel
+# build >= 118
%{?with_x264:BuildRequires: libx264-devel >= 0.1.3}
BuildRequires: libxslt-progs
+# with v4l2 headers
+BuildRequires: linux-libc-headers >= 7:2.6.22
%{?with_lirc:BuildRequires: lirc-devel}
-%{?with_live:BuildRequires: live-devel >= 2006.03.03}
-# "synchronous" RTSPClient interface removed finally in 2013.05.30
-%{?with_live:BuildRequires: live-devel < 2013.05.30}
+%{?with_live:BuildRequires: live-devel >= 2:2011.01.10}
%{?with_lzo:BuildRequires: lzo-devel >= 2.0}
%{?with_nas:BuildRequires: nas-devel}
BuildRequires: ncurses-devel
%{?with_amr:BuildRequires: opencore-amr-devel}
-%{?with_openjpeg:BuildRequires: openjpeg-devel}
+%{?with_openjpeg:BuildRequires: openjpeg2-devel >= 2.1.0}
+BuildRequires: opus-devel
BuildRequires: pkgconfig
%{?with_pulseaudio:BuildRequires: pulseaudio-devel >= 0.9}
BuildRequires: rpm >= 4.4.9-56
BuildRequires: rpmbuild(macros) >= 1.527
-BuildRequires: schroedinger-devel
BuildRequires: speex-devel >= 1.1
%{?with_svga:BuildRequires: svgalib-devel}
BuildRequires: tar >= 1:1.22
+%{?with_tremor:BuildRequires: tremor-devel}
BuildRequires: twolame-devel
%{?with_vidix:BuildRequires: vidix-devel}
%{?with_vstream:BuildRequires: vstream-client-devel}
+BuildRequires: webrtc-libilbc-devel
%{?with_xmms:BuildRequires: xmms-devel}
BuildRequires: xorg-lib-libX11-devel
BuildRequires: xorg-lib-libXScrnSaver-devel
%endif
BuildRequires: zlib-devel
Requires: %{name}-common = %{epoch}:%{version}-%{release}
-Requires: OpenGL
+%{?with_openjpeg:Requires: openjpeg2 >= 2.1.0}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _noautoreqdep libGL.so.1 libGLU.so.1
%define specflags_ia32 -fomit-frame-pointer
%if %{with altivec}
%define specflags_ppc -maltivec
MEncoder to koder filmów dla Linuksa będący częścią pakietu MPlayer.
%prep
-%setup -q -n MPlayer-%{version} -a3 -a6 -a9
+%setup -q -n %{name}-export-%{snap} -a1 -a3 -a6
cp -f etc/codecs.conf etc/codecs.win32.conf
# build (configure / Makefile) related:
%patch11 -p1
%patch12 -p1
%patch13 -p1
-%{?with_system_ffmpeg:%patch14 -p1}
+%patch14 -p1
%patch15 -p1
-%patch16 -p1
+
%patch17 -p1
-%patch18 -p1
+
%{?with_shared:%patch19 -p1}
%patch20 -p1
-%patch23 -p0
# codecs, outputs, demuxers:
%patch21 -p1
%patch30 -p0
%patch31 -p1
#%{with_gnomess:%patch32 -p1}
-%patch33 -p1
-
-# on2flix
-mv mencoder-on2flixenglinux{-*-*-*,}
-%if %{with on2}
-#%%patch100 -p1
-cp -a mencoder-on2flixenglinux/patch/new_files/libmpdemux/* libmpdemux
-# remove broken patches:
-# - first set does not apply
-# - second set beakes build
-for PATCH in asf-correct_movielength avi_check_idxflags \
- demux_lavf-add_dv_mts_preferred demux_lavf-probe_small_files \
- mencoder_07_demux_update_pts mencoder_10_correct_pts \
- mpegvideo-revert_r18381 \
- \
- reduce_spurious_logging
-do
- rm mencoder-on2flixenglinux/patch/$PATCH.diff
-done
-for a in mencoder-on2flixenglinux/patch/*.diff; do
- patch -p0 < $a
-done
-%endif
%patch101 -p1
-%patch102 -p1
cat etc/example.conf > etc/mplayer.conf
cat <<'CONFIGADD' >> etc/mplayer.conf
%if %{with system_ffmpeg}
# using external ffmpeg, but mplayer adds these to includepath
-%{__rm} -r ffmpeg
+%{__rm} -rf ffmpeg
%endif
%build
CFLAGS="%{rpmcflags} %{?with_hidden_visibility:-fvisibility=hidden} %{?with_shared:-fvisibility=default -fPIC}"
-CFLAGS="$CFLAGS -I%{_includedir}/xvid%{?with_directfb::%{_includedir}/directfb}"
+CFLAGS="$CFLAGS -I%{_includedir}/xvid%{?with_directfb::%{_includedir}/directfb} -DHAVE_GSM_H=1"
# NOTE:
# - lircc refers to obsolete liblircc library (used in LIRCCD < 0.9)
# - toolame is obsolete predecessor of twolame
+# - libcdio-paranoia is preferred over cdparanoia-III libs
build() {
set -x
--extra-ldflags="%{?_x_libraries:-L%{_x_libraries}}" \
--language=all \
%if %{with system_ffmpeg}
- --disable-libavutil_a \
- --disable-libavcodec_a \
- --disable-libavformat_a \
- --disable-libpostproc_a \
- --enable-libavutil_so \
- --enable-libavcodec_so \
- --enable-libavformat_so \
- --enable-libpostproc_so \
+ --disable-ffmpeg_a \
%endif
%ifnarch %{ix86} %{x8664}
--disable-3dnow \
--enable-tdfxvid \
%{__disable theora} \
--disable-toolame \
- --disable-tremor \
- %{__disable vorbis tremor-internal} \
- %{__disable_if system_vorbis tremor-internal} \
+ %{!?with_tremor:--disable-tremor} \
--enable-unrarexec \
%{__disable vdpau} \
%{__disable vidix} \
%if %{with gui}
# build GUI version
build --enable-gui --disable-mencoder
-mv -f mplayer gmplayer
+%{__mv} mplayer gmplayer
%{__make} distclean
%endif
rm -rf $RPM_BUILD_ROOT
install -d \
$RPM_BUILD_ROOT{%{_bindir},%{_pixmapsdir},%{_sysconfdir}/mplayer} \
- $RPM_BUILD_ROOT%{_mandir}/{cs,de,es,fr,hu,it,pl,sv,zh_CN,}/man1 \
+ $RPM_BUILD_ROOT%{_mandir}/{cs,de,es,fr,hu,it,pl,ru,sv,zh_CN,}/man1 \
$RPM_BUILD_ROOT%{_datadir}/%{name}/skins \
$RPM_BUILD_ROOT%{_desktopdir}
install etc/{codecs,mplayer%{?with_osd:,menu},input}.conf $RPM_BUILD_ROOT%{_sysconfdir}/mplayer
# executables
-%if %{with mencoder}
-install mencoder $RPM_BUILD_ROOT%{_bindir}/mencoder%{binsuf}
-ln -sf mencoder%{binsuf} $RPM_BUILD_ROOT%{_bindir}/mencoder
-%endif
-install mplayer $RPM_BUILD_ROOT%{_bindir}/mplayer%{binsuf}
-ln -sf mplayer%{binsuf} $RPM_BUILD_ROOT%{_bindir}/mplayer
-%if %{with gui}
-install gmplayer $RPM_BUILD_ROOT%{_bindir}/gmplayer%{binsuf}
-ln -sf gmplayer%{binsuf} $RPM_BUILD_ROOT%{_bindir}/gmplayer
+for prog in mplayer %{?with_mencoder:mencoder} %{?with_gui:gmplayer} ; do
+install $prog $RPM_BUILD_ROOT%{_bindir}/${prog}%{binsuf}
+%if "%{binsuf}" != ""
+ln -sf ${prog}%{binsuf} $RPM_BUILD_ROOT%{_bindir}/$prog
%endif
+done
%if %{with shared}
install -d $RPM_BUILD_ROOT%{_libdir}
install DOCS/man/hu/*.1 $RPM_BUILD_ROOT%{_mandir}/hu/man1
install DOCS/man/it/*.1 $RPM_BUILD_ROOT%{_mandir}/it/man1
install DOCS/man/pl/*.1 $RPM_BUILD_ROOT%{_mandir}/pl/man1
+install DOCS/man/ru/*.1 $RPM_BUILD_ROOT%{_mandir}/ru/man1
#install DOCS/man/sv/*.1 $RPM_BUILD_ROOT%{_mandir}/sv/man1
-#install DOCS/man/zh/*.1 $RPM_BUILD_ROOT%{_mandir}/zh_CN/man1
+install DOCS/man/zh_CN/*.1 $RPM_BUILD_ROOT%{_mandir}/zh_CN/man1
%clean
rm -rf $RPM_BUILD_ROOT
%lang(es) %doc DOCS/HTML/es
%lang(fr) %doc DOCS/HTML/fr
%lang(hu) %doc DOCS/HTML/hu
+%lang(it) %doc DOCS/HTML/it
%lang(pl) %doc DOCS/HTML/pl
%lang(ru) %doc DOCS/HTML/ru
-#%lang(zh_CN) %doc DOCS/zh
+%lang(zh_CN) %doc DOCS/HTML/zh_CN
%endif
%files common
%dir %{_sysconfdir}/%{name}
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.conf
-%{_mandir}/man1/*
-%lang(cs) %{_mandir}/cs/man1/*
-%lang(de) %{_mandir}/de/man1/*
-%lang(es) %{_mandir}/es/man1/*
-%lang(fr) %{_mandir}/fr/man1/*
-%lang(hu) %{_mandir}/hu/man1/*
-%lang(it) %{_mandir}/it/man1/*
-%lang(pl) %{_mandir}/pl/man1/*
-#%lang(sv) %{_mandir}/sv/man1/*
-#%lang(zh_CN) %{_mandir}/zh_CN/man1/*
+%{_mandir}/man1/mplayer.1*
+%lang(cs) %{_mandir}/cs/man1/mplayer.1*
+%lang(de) %{_mandir}/de/man1/mplayer.1*
+%lang(es) %{_mandir}/es/man1/mplayer.1*
+%lang(fr) %{_mandir}/fr/man1/mplayer.1*
+%lang(hu) %{_mandir}/hu/man1/mplayer.1*
+%lang(it) %{_mandir}/it/man1/mplayer.1*
+%lang(pl) %{_mandir}/pl/man1/mplayer.1*
+%lang(ru) %{_mandir}/ru/man1/mplayer.1*
+#%lang(sv) %{_mandir}/sv/man1/mplayer.1*
+%lang(zh_CN) %{_mandir}/zh_CN/man1/mplayer.1*
%{_desktopdir}/mplayer.desktop
%{_pixmapsdir}/mplayer.png
%dir %{_datadir}/%{name}