# TODO:
# - nut support (http://www.nut.hu/ - currently down, but see svn.mplayerhq.hu/nut/)
# - update for lzo 2
-# - try to use external ffmpeg, lrmi and few other libs:
+# - try to use external lrmi and few other libs:
# http://www.cyberlink.com/english/products/powercinema/pcm-linux/license/mplayer-10_copyright.htm
# - segfaults on amd64:
# mencoder -oac pcm -af dummy -ovc raw -vf format=yv12 -of ogg -mc 0 -quiet -o /tmp/out1 l.avi
%bcond_with ggi # with ggi video output
%bcond_with nas # with NAS audio output
%bcond_with svga # with svgalib video output
-%bcond_with osd # with osd menu support
+%bcond_without osd # with osd menu support
%bcond_without altivec # without altivec support
%bcond_without x264 # without x264 support
%bcond_with xmms # with XMMS inputplugin support
%bcond_without arts # without arts audio output
%bcond_without caca # without libcaca video output
%bcond_without cdparanoia # without cdparanoia support
-%bcond_without dshow # disable DirectShow support
%bcond_without enca # disable using ENCA charset oracle library
%bcond_without esd # disable EsounD sound support
%bcond_without faad # disable FAAD2 (AAC) support
%bcond_without libdts # disable libdts support
%bcond_without libdv # disable libdv en/decoding support
%bcond_without lirc # without lirc support
-%bcond_without live # without live.com libraries
-%bcond_with lzo # with LZO support (requires lzo 1.x)
+%bcond_with live # without LIVE555 libraries
+%bcond_without lzo # with LZO support (requires lzo 2.x)
%bcond_without mad # without mad (audio MPEG) support
-%bcond_without pulseaudio # without pulseaudio output
+%bcond_without pulseaudio # without pulseaudio output
%bcond_without quicktime # without binary quicktime dll support
%bcond_without real # without Real* 8/9 codecs support
%bcond_without runtime # disable runtime cpu detection, just detect CPU
%bcond_with shared # experimental libmplayer.so support
%bcond_with amr # enable 3GPP Adaptive Multi Rate (AMR) speech codec support
%bcond_without gnomess # disable controling gnome screensaver
+%bcond_with ssse3 # sse3 optimizations (needs binutils >= 2.16.92)
+%bcond_with system_ffmpeg # use ffmpeg-devel, rather bundled sources (needs more work or mplayer snapshot)
%ifnarch %{ix86}
%undefine with_win32
%undefine with_vidix
%endif
-%ifarch %{x8664}
+%ifnarch %{ix86} %{x8664} ppc ppc64
%undefine with_runtime
%endif
%if %{_lib} == "lib64"
-%define _suf 64
+%define _suf 64
%else
-%define _suf 32
+%define _suf 32
%endif
-%define sname MPlayer
-%define snap %{nil}
-
-%define _rc rc1
-%define _rel 7
+%define subver rc2
+%define rel 15
Summary: MPlayer - THE Movie Player for UN*X
Summary(de.UTF-8): MPlayer ist ein unter der freien GPL-Lizenz stehender Media-Player
Summary(pt_BR.UTF-8): Reprodutor de filmes
Name: mplayer
Version: 1.0
-Release: 4.%{_rc}.%{_rel}
+Release: 5.%{subver}.%{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
-Source0: ftp://ftp2.mplayerhq.hu/MPlayer/releases/%{sname}-%{version}%{_rc}.tar.bz2
-# Source0-md5: 18c05d88e22c3b815a43ca8d7152ccdc
+Source0: ftp://ftp2.mplayerhq.hu/MPlayer/releases/MPlayer-%{version}%{subver}.tar.bz2
+# Source0-md5: 7e27e535c2d267637df34898f1b91707
Source3: ftp://ftp1.mplayerhq.hu/MPlayer/releases/fonts/font-arial-iso-8859-2.tar.bz2
# Source3-md5: 7b47904a925cf58ea546ca15f3df160c
Source5: g%{name}.desktop
Source7: %{name}.png
Source8: %{name}.desktop
# http://www.on2.com/gpl/mplayer/
-Source9: http://www.on2.com/gpl/mplayer/2006-11-29-mencoder-on2flixenglinux.tar.bz2
-# Source9-md5: 66fd6987f36f0b0cec6a28366ac3141c
+Source9: http://www.on2.com/gpl/mplayer/2007-10-09-mencoder-on2flixenglinux.tar.bz2
+# Source9-md5: 2361e56b40f52dfc20131e458e2aed38
Patch1: %{name}-cp1250-fontdesc.patch
-Patch2: %{name}-codec.patch
-Patch3: %{name}-home_etc.patch
+#Patch2: %{name}-codec.patch
+#Patch3: %{name}-home_etc.patch
Patch4: %{name}-350.patch
Patch5: %{name}-configure.patch
+# outdated via ffmpeg?
Patch6: %{name}-system-amr.patch
Patch8: %{name}-altivec.patch
-Patch10: %{name}-pcmsplit.patch
-Patch11: ffmpeg-x264-symbol.patch
-Patch12: %{name}-pulse.patch
-Patch13: %{name}-mythtv.patch
+#Patch10: %{name}-pcmsplit.patch
+#Patch13: %{name}-mythtv.patch
Patch14: %{name}-shared.patch
#http://www.openchrome.org/snapshots/mplayer/
-Patch15: %{name}-xvmc.patch
-Patch16: %{name}-kill-mabi_altivec.patch
+#Patch15: %{name}-xvmc.patch
Patch17: %{name}-auto-expand.patch
-Patch18: %{name}-gnome-screensaver.patch
+# update
+#Patch18: %{name}-gnome-screensaver.patch
Patch19: %{name}-on2flix.patch
-Patch20: http://www.mplayerhq.hu/MPlayer/patches/asmrules_fix_20061231.diff
-Patch21: http://www.mplayerhq.hu/MPlayer/patches/cddb_fix_20070605.diff
+Patch22: %{name}-ffmpeg.patch
+Patch23: %{name}-live.patch
+Patch24: %{name}-fontconfig_sub.patch
+Patch25: http://www.mplayerhq.hu/MPlayer/patches/stream_cddb_fix_20080120.diff
+Patch26: %{name}-check-byteswap.patch
+Patch27: http://www.mplayerhq.hu/MPlayer/patches/demux_mov_fix_20080129.diff
+Patch28: http://www.ocert.org/patches/2008-013/mplayer_demux_real.patch
+Patch29: %{name}-x264.patch
URL: http://www.mplayerhq.hu/
%{?with_directfb:BuildRequires: DirectFB-devel}
BuildRequires: OpenAL-devel
BuildRequires: amrwb-devel >= 5.3.0
%endif
%{?with_arts:BuildRequires: artsc-devel}
+%{?with_ssse3:BuildRequires: binutils >= 3:2.16.92}
%{?with_cdparanoia:BuildRequires: cdparanoia-III-devel}
%{?with_doc:BuildRequires: docbook-style-xsl}
+%{?with_doc:BuildRequires: docbook-dtd412-xml}
%{?with_dxr3:BuildRequires: em8300-devel}
%{?with_enca:BuildRequires: enca-devel}
%{?with_esd:BuildRequires: esound-devel}
BuildRequires: faac-devel
%{?with_faad:BuildRequires: faad2-devel >= 2.0}
+%{?with_system_ffmpeg:BuildRequires: ffmpeg-devel >= 0.4.9-3.20070626.1.1}
BuildRequires: freetype-devel
BuildRequires: fribidi-devel
%{?with_vidix:BuildRequires: vidix-devel}
%endif
%{?with_gnomess:BuildRequires: dbus-glib-devel}
%{?with_jack:BuildRequires: jack-audio-connection-kit-devel}
+%{?with_jack:%requires_eq jack-audio-connection-kit-libs}
BuildRequires: lame-libs-devel
%{?with_caca:BuildRequires: libcaca-devel}
%{?with_libdts:BuildRequires: libdts-devel}
BuildRequires: libmpcdec-devel >= 1.2.1
BuildRequires: libpng-devel
%{?with_smb:BuildRequires: libsmbclient-devel}
-%{?with_dshow:BuildRequires: libstdc++-devel}
%{?with_theora:BuildRequires: libtheora-devel}
# tremor is used by default, internal as we don't have system one
#%{?with_vorbis:BuildRequires: libvorbis-devel}
-%{?with_x264:BuildRequires: libx264-devel >= 0.1.2-1.20060828_2245.1}
+%{?with_x264:BuildRequires: libx264-devel >= 0.1.2-1.20081023_2245.1}
BuildRequires: libxslt-progs
%{?with_lirc:BuildRequires: lirc-devel}
%{?with_live:BuildRequires: live}
-%{?with_lzo:BuildRequires: lzo-devel < 2.0}
+%{?with_lzo:BuildRequires: lzo-devel >= 2.0}
%{?with_nas:BuildRequires: nas-devel}
BuildRequires: ncurses-devel
BuildRequires: pkgconfig
Group: X11/Applications/Multimedia
Requires: %{name}-common = %{epoch}:%{version}-%{release}
Requires: %{name}-skin
-Provides: %{name} = %{epoch}:%{version}-%{release}
%description -n gmplayer
MPlayer with GUI GTK+ interface.
MEncoder to koder filmów dla Linuksa będący częścią pakietu MPlayer.
%prep
-%setup -q -n %{sname}-%{version}%{_rc} -a3 -a6 -a9
+%setup -q -n MPlayer-%{version}%{subver} -a3 -a6 -a9
cp -f etc/codecs.conf etc/codecs.win32.conf
%patch1 -p0
-##%patch2 -p1
-##%patch3 -p1 -- old home_etc behavior
+#%%patch2 -p1 -- still needed?
+##%%patch3 -p1 -- old home_etc behavior
%patch4 -p1
%patch5 -p1
-%patch6 -p1
+#%%patch6 -p1 # - try ffmpeg
%patch8 -p1
#%%patch10 -p1
-%patch11 -p1
-%patch12 -p0
-#%patch13 -p1 # TODO
+#%%patch13 -p1 # TODO
%if %{with shared}
%patch14 -p1
%endif
-#%patch15 -p0 # TODO
-%patch16 -p1
+#%%patch15 -p0 # TODO
%patch17 -p1
%if %{with gnomess}
-%patch18 -p1
-%endif
-
-%if 0%{?snap}
-find . -type d -name CVS -print | xargs rm -rf
+#%%patch18 -p1
%endif
# on2flix
cp -a mencoder-on2flixenglinux/new_files/libmpdemux/* libmpdemux
+rm -f mencoder-on2flixenglinux/version.diff
%patch19 -p1
for a in mencoder-on2flixenglinux/*.diff; do
patch -p0 < $a
done
-%patch20 -p0
-%patch21 -p0
+%{?with_system_ffmpeg:%patch22 -p1}
+%patch23 -p1
+%patch24 -p0
+%patch25 -p0
+%patch26 -p1
+%patch27 -p0
+%patch28 -p0
+%patch29 -p1
+
+# recent dvdnav-config doesn't support --minilibs.
+sed -i 's:--minilibs:--libs:g' configure
+
+sed -e '/Delete this default/d' etc/example.conf > etc/mplayer.conf
+rm -f font-*/runme
+
+%if %{with system_ffmpeg}
+# using external ffmpeg, but mplayer adds these to includepath
+rm -rf libavcodec libavdevice libavformat libavutil libpostproc libswscale
+%endif
%build
%if %{with shared}
--prefix=%{_prefix} \
--confdir=%{_sysconfdir}/mplayer \
--with-extraincdir=%{_includedir}/xvid \
- --enable-menu \
+ --with-extralibdir=%{?_x_libraries}%{!?_x_libraries:%{_libdir}} \
+%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 \
+%endif
%ifnarch %{ix86} %{x8664}
--disable-mmx \
--disable-mmxext \
--disable-sse2 \
--disable-fastmemcpy \
%endif
+ %{!?with_ssse3:--disable-ssse3} \
%ifarch ppc
-%{!?with_altivec:--disable-altivec} \
+ %{!?with_altivec:--disable-altivec} \
%endif
-%{!?with_amr:--disable-amr_nb --disable-amr_wb} \
-%{?with_amr:--enable-amr_nb --enable-amr_wb} \
-%{?with_directfb:--enable-directfb} \
-%{!?with_directfb:--disable-directfb} \
-%{!?with_dxr3:--disable-dxr3} \
-%{!?with_ggi:--disable-ggi} \
-%{?with_live:--enable-live --with-livelibdir=%{_libdir}/liveMedia --with-extraincdir=/usr/include/liveMedia} \
-%{!?with_live:--disable-live} \
-%{!?with_lzo:--disable-liblzo} \
-%{!?with_nas:--disable-nas} \
-%{!?with_svga:--disable-svga} \
-%{!?with_aalib:--disable-aa} \
-%{!?with_jack:--disable-jack} \
-%{!?with_alsa:--disable-alsa} \
-%{?with_alsa:--enable-alsa --disable-select} \
-%{!?with_arts:--disable-arts} \
-%{!?with_caca:--disable-caca} \
-%{!?with_cdparanoia:--disable-cdparanoia} \
-%{!?with_dshow:--disable-dshow} \
-%{!?with_enca:--disable-enca} \
-%{!?with_esd:--disable-esd} \
-%{!?with_faad:--disable-faad-external --disable-faad-internal} \
-%{?with_faad:--disable-faad-internal} \
-%{!?with_gif:--disable-gif} \
-%{?with_joystick:--enable-joystick} \
-%{!?with_libdv:--disable-libdv} \
-%{!?with_libdts:--disable-libdts} \
---%{?with_lirc:en}%{!?with_lirc:dis}able-lirc \
-%{!?with_mad:--disable-mad} \
-%{!?with_pulseaudio:--disable-pulse} \
-%{!?with_quicktime:--disable-qtx} \
-%{!?with_real:--disable-real} \
---%{?with_runtime:en}%{!?with_runtime:dis}able-runtime-cpudetection \
-%{!?with_select:--disable-select} \
-%{!?with_smb:--disable-smb} \
-%{!?with_win32:--disable-win32} \
-%{!?with_vorbis:--disable-vorbis} \
-%{?with_osd:--enable-menu} \
-%{!?with_theora:--disable-theora} \
-%{!?with_x264:--disable-x264} \
-%{?with_xmms:--enable-xmms --with-xmmsplugindir=%{_libdir}/xmms/Input --with-xmmslibdir=%{_libdir}} \
-%{!?with_xvid:--disable-xvid} \
-%{!?with_vidix:--disable-vidix-external --disable-vidix-internal} \
-%{?with_vidix:--disable-vidix-internal} \
-%{!?with_mencoder:--disable-mencoder} \
- --enable-dga \
+ %{!?with_amr:--disable-libamr_nb --disable-libamr_wb} \
+ %{?with_amr:--enable-libamr_nb --enable-libamr_wb} \
+ %{?with_directfb:--enable-directfb} \
+ %{!?with_directfb:--disable-directfb} \
+ %{!?with_dxr3:--disable-dxr3} \
+ %{!?with_ggi:--disable-ggi} \
+ %{?with_live:--enable-live --with-extraincdir=/usr/include/liveMedia} \
+ %{!?with_live:--disable-live} \
+ %{!?with_lzo:--disable-liblzo} \
+ %{!?with_nas:--disable-nas} \
+ %{!?with_svga:--disable-svga} \
+ %{!?with_aalib:--disable-aa} \
+ %{!?with_jack:--disable-jack} \
+ %{!?with_alsa:--disable-alsa} \
+ %{?with_alsa:--enable-alsa --disable-select} \
+ %{!?with_arts:--disable-arts} \
+ %{!?with_caca:--disable-caca} \
+ %{!?with_cdparanoia:--disable-cdparanoia} \
+ %{!?with_enca:--disable-enca} \
+ %{!?with_esd:--disable-esd} \
+ %{!?with_faad:--disable-faad-external --disable-faad-internal} \
+ %{?with_faad:--disable-faad-internal} \
+ %{!?with_gif:--disable-gif} \
+ %{?with_joystick:--enable-joystick} \
+ %{!?with_libdv:--disable-libdv} \
+ %{!?with_libdts:--disable-libdts} \
+ --%{?with_lirc:en}%{!?with_lirc:dis}able-lirc \
+ %{!?with_mad:--disable-mad} \
+ %{!?with_pulseaudio:--disable-polyp} \
+ %{!?with_quicktime:--disable-qtx} \
+ %{!?with_real:--disable-real} \
+ --%{?with_runtime:en}%{!?with_runtime:dis}able-runtime-cpudetection \
+ %{!?with_select:--disable-select} \
+ %{!?with_smb:--disable-smb} \
+ %{!?with_win32:--disable-win32dll} \
+ %{!?with_vorbis:--disable-vorbis} \
+ %{?with_osd:--enable-menu} \
+ %{!?with_theora:--disable-theora} \
+ %{!?with_x264:--disable-x264} \
+ %{?with_xmms:--enable-xmms --with-xmmsplugindir=%{_libdir}/xmms/Input --with-xmmslibdir=%{_libdir}} \
+ %{!?with_xvid:--disable-xvid} \
+ %{!?with_vidix:--disable-vidix-external --disable-vidix-internal} \
+ %{?with_vidix:--disable-vidix-internal} \
+ %{!?with_mencoder:--disable-mencoder} \
+ --enable-dga1 \
+ --enable-dga2 \
+ --enable-dvdnav \
--enable-fbdev \
--enable-gl \
--enable-mga \
--enable-dynamic-plugins \
--enable-largefiles \
--language=all \
- --with-codecsdir=%{_libdir}/codecs \
+ --codecsdir=%{_libdir}/codecs \
--with-xvmclib=XvMCW \
"$@"
%if %{with gui}
# build GUI version
-build --enable-gui
+build --enable-gui --disable-mencoder
mv -f mplayer gmplayer
%{__make} distclean
%endif
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%{_datadir}/mplayer/Skin \
+ $RPM_BUILD_ROOT%{_datadir}/mplayer/skins \
$RPM_BUILD_ROOT%{_desktopdir}
# default config files
-sed -e '/Delete this default/d' etc/example.conf > etc/mplayer.conf
install etc/{codecs,mplayer%{?with_osd:,menu},input}.conf $RPM_BUILD_ROOT%{_sysconfdir}/mplayer
# executables
%endif
# fonts
-rm -f font-*/runme
cp -r font-* $RPM_BUILD_ROOT%{_datadir}/mplayer
ln -sf font-arial-iso-8859-2/font-arial-24-iso-8859-2 $RPM_BUILD_ROOT%{_datadir}/mplayer/font
%if %{with gui}
-ln -s Blue $RPM_BUILD_ROOT%{_datadir}/%{name}/Skin/default
-%endif
-
-# X-files
-%if %{with gui}
+touch $RPM_BUILD_ROOT%{_datadir}/%{name}/skins/default
install %{SOURCE5} $RPM_BUILD_ROOT%{_desktopdir}
%endif
install %{SOURCE8} $RPM_BUILD_ROOT%{_desktopdir}
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/sv/*.1 $RPM_BUILD_ROOT%{_mandir}/sv/man1
+#install DOCS/man/sv/*.1 $RPM_BUILD_ROOT%{_mandir}/sv/man1
install DOCS/man/zh/*.1 $RPM_BUILD_ROOT%{_mandir}/zh_CN/man1
%clean
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/gmplayer*
%{_desktopdir}/gmplayer.desktop
-%dir %{_datadir}/%{name}/Skin
-%ghost %{_datadir}/%{name}/Skin/default
+%dir %{_datadir}/%{name}/skins
+%ghost %{_datadir}/%{name}/skins/default
%endif
%if %{with mencoder}
%files common
%defattr(644,root,root,755)
-# HTML and XML-generated docs
-%doc DOCS/HTML/en
%doc DOCS/tech
%if %{with win32}
%doc etc/codecs.win32.conf
%endif
+%if %{with doc}
+# HTML and XML-generated docs
+%doc DOCS/HTML/en
%lang(cs) %doc DOCS/HTML/cs
%lang(de) %doc DOCS/HTML/de
%lang(es) %doc DOCS/HTML/es
%lang(hu) %doc DOCS/HTML/hu
%lang(pl) %doc DOCS/HTML/pl
%lang(ru) %doc DOCS/HTML/ru
-%lang(zh_CN) %doc DOCS/zh
-%doc AUTHORS ChangeLog README
+#%lang(zh_CN) %doc DOCS/zh
+%endif
+%doc AUTHORS README
%dir %{_sysconfdir}/%{name}
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.conf
%lang(hu) %{_mandir}/hu/man1/*
%lang(it) %{_mandir}/it/man1/*
%lang(pl) %{_mandir}/pl/man1/*
-%lang(sv) %{_mandir}/sv/man1/*
+#%lang(sv) %{_mandir}/sv/man1/*
%lang(zh_CN) %{_mandir}/zh_CN/man1/*
%{_desktopdir}/mplayer.desktop
%{_pixmapsdir}/mplayer.png