Search
j0ke.net Open Build Service
>
Projects
>
multimedia
:
SL11
>
MPlayer
> MPlayer.spec
Sign Up
|
Log In
Username
Password
Cancel
Overview
Repositories
Revisions
Requests
Users
Advanced
Attributes
Meta
File MPlayer.spec of Package MPlayer
# vim: set sw=4 ts=4 et: %define _libexecdir %{_usr}/lib %define suseversion %(echo "openSUSE Linux `echo "scale=1; %{suse_version}/100" | bc 2>/dev/null || echo UNKNOWN` (%{_build_cpu})") %define revision 34277 %define x264_rev 20111029 Name: MPlayer License: GNU General Public License version 2 (GPL v2) Group: Productivity/Multimedia/Video/Players Version: 1.0rc4_r%{revision} Release: 1.1 Summary: Multimedia Player Summary(de): Multimedia-Abspielprogramm ## Source0: http://www1.mplayerhq.hu/MPlayer/releases/MPlayer-%{version}.tar.bz2 # svn://svn.mplayerhq.hu/mplayer/trunk Source0: MPlayer-%{version}.tar.bz2 Source1: http://www1.mplayerhq.hu/MPlayer/skins/Blue-1.7.tar.bz2 Source2: http://www1.mplayerhq.hu/MPlayer/skins/Clearlooks-1.2.tar.bz2 Patch0: MPlayer-decl.patch Patch1: MPlayer-1.0rc4-warn.patch Patch3: MPlayer-pci_linux_gnu_source.patch Patch4: MPlayer-amd64-detection.patch Patch5: bug490-demux_lavf.patch Patch6: MPlayer-config.patch Patch11: MPlayer-pa-volume-fix.patch Patch12: MPlayer-disable_subrip.patch Patch13: MPlayer-fix_win32_pointer_casts.patch Patch14: MPlayer-x264_pkgconfig.patch Patch20: MPlayer-svn_version.patch ## git://git.videolan.org/ffmpeg.git Source10: ffmpeg-49aa397414eb4dbe5da292fcdb8a6084f71ae949.tar.bz2 Patch30: ffmpeg-fix_sequence-point.patch Source11: ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-%{x264_rev}-2245.tar.bz2 Source100: MPlayer-rpmlintrc URL: http://www.mplayerhq.hu BuildRoot: %{_tmppath}/%{name}-%{version}-build #BuildRequires: -post-build-checks BuildRequires: enca-devel %ifarch %ix86 %if %suse_version <= 1120 BuildRequires: w32codec-all %endif %endif BuildRequires: libmp3lame-devel libogg-devel libtheora-devel libsmbclient-devel SDL-devel ladspa aalib-devel esound-devel gtk2-devel BuildRequires: glib2-devel dvb libdca-devel libdv libxvidcore-devel gcc-c++ libmng-devel BuildRequires: xorg-x11-proto-devel BuildRequires: SDL_image-devel BuildRequires: yasm BuildRequires: DirectFB-devel bc cdparanoia-devel lzo lzo-devel fribidi-devel speex-devel BuildRequires: libfaac-devel twolame-devel gettext-devel libopencore-amr-devel libfaad-devel pkgconfig BuildRequires: libvstream-client-devel libdvdnav4 libdvdnav-devel BuildRequires: libvdpau-devel BuildRequires: libpng-devel BuildRequires: libvpx-devel >= 0.9.6 #BuildRequires: libx264-devel >= 0.115svn20110520 BuildRequires: live libjack-devel giflib giflib-devel libjpeg-devel BuildRequires: krb5-devel openldap2-devel libgssapi libdv-devel libcaca-devel libpulse-devel BuildRequires: coreutils BuildRequires: libmpg123-devel BuildRequires: libbluray-devel BuildRequires: librtmp-devel BuildRequires: liba52-devel BuildRequires: bs2b-devel BuildRequires: libdvdcss-devel BuildRequires: libcrystalhd-devel %if 0%{?suse_version} >= 1130 BuildRequires: linux-glibc-devel kernel-devel %endif BuildRequires: libcrystalhd-devel %if %suse_version > 1110 BuildRequires: lirc-devel %else BuildRequires: lirc %endif # for TOOLS: BuildRequires: termcap ncurses-devel BuildRequires: update-desktop-files # FIXME get rid of fam-devel when its fixed in libschroedinger-devel BuildRequires: fam-devel # Toni builds dirac from 10.3 on upwards %if %{suse_version} >= 1030 BuildRequires: dirac-devel schroedinger-devel %endif Provides: mplayer = %{version}-%{release} Provides: mplayer-gui = %{version}-%{release} Provides: %{name}-gui = %{version}-%{release} Provides: mencoder = %{version}-%{release} Conflicts: MPlayer-unstable Conflicts: mplayer-unstable Recommends: gmplayer = %{version} %description MPlayer plays most MPEG/VOB, AVI, Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, RealMedia, Matroska, NuppelVideo, FLI, YUV4MPEG, FILM, RoQ, PVA files, supported by many native, XAnim, and Win32 DLL codecs. You can watch VideoCD, SVCD, DVD, 3ivx, DivX 3/4/5 and even WMV movies.. Note that the GUI frontend "gmplayer" is not part of this package. Instead, you must also install the package "gmplayer". %package -n gmplayer Summary: GUI Frontend for the %{name} Multimedia Player Group: Productivity/Multimedia/Video/Players Requires: %{name} = %{version} %description -n gmplayer MPlayer plays most MPEG/VOB, AVI, Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, RealMedia, Matroska, NuppelVideo, FLI, YUV4MPEG, FILM, RoQ, PVA files, supported by many native, XAnim, and Win32 DLL codecs. You can watch VideoCD, SVCD, DVD, 3ivx, DivX 3/4/5 and even WMV movies.. This subpackage contains the GUI frontend "gmplayer". %package doc Summary: Multimedia Player Group: Productivity/Multimedia/Video/Players Requires: %{name} = %{version} %description doc MPlayer plays most MPEG/VOB, AVI, Ogg/OGM, VIVO, ASF/WMA/WMV, QT/MOV/MP4, RealMedia, Matroska, NuppelVideo, FLI, YUV4MPEG, FILM, RoQ, PVA files, supported by many native, XAnim, and Win32 DLL codecs. You can watch VideoCD, SVCD, DVD, 3ivx, DivX 3/4/5 and even WMV movies.. This subpackage contains technical documentation about codecs, formats, and MPlayer implementation details. %prep %setup -q -a 1 -a 2 -a 10 -a 11 %patch0 ### fix me! ### %if %suse_version >= 1110 %patch1 -F2 %else %patch1 %endif %patch3 %patch4 %patch5 %patch6 %if 0%{?revision} < 30000 %patch11 %endif %patch12 %patch13 %patch14 # only apply if packaging an SVN snapshot: %if 0%{?revision} %patch20 %endif # ffmpeg patches: pushd ffmpeg %if 0%{?suse_version} < 1120 %patch30 %endif popd #ffmpeg %__ln_s "x264-snapshot-%{x264_rev}-2245" x264 %build X264_INST="$PWD/x264_inst" pushd x264 FAKE_BUILDDATE=$(LC_ALL=C date -u -r %{_sourcedir}/%{name}.changes '+%%b %%e %%Y') sed -i "s/__DATE__/\"$FAKE_BUILDDATE\"/" x264.c CFLAGS="%{optflags}" CCFLAGS="%{optflags}" \ ./configure --prefix="$X264_INST" --libdir="$X264_INST/lib" --disable-shared --enable-static --enable-pic %__make %{?_smp_flags} %__install -d "$X264_INST" %__make install popd #x264 export PKG_CONFIG_PATH="$X264_INST/lib/pkgconfig:$PKG_CONFIG_PATH" %if 0%{?revision} %__sed -i 's|@@SVN_REVISION@@|%{revision}|g;s|@@SUSE_VERSION@@|%{suseversion}-Packman|g' ./version.sh %else %__awk '{gsub ("%{version}-","%{version}-%{suseversion}-Packman-"); print $0}' <version.sh >version.sh.patched %__mv version.sh.patched version.sh %endif %__sed -i 's|-O4|%{optflags}|g' configure /bin/uname -s export SUSE_ASNEEDED=0 ./configure \ --enable-debug \ --prefix="%{_prefix}" \ --confdir="%{_sysconfdir}/mplayer" \ --datadir="%{_datadir}/mplayer" \ --libdir="%{_libdir}" \ --mandir="%{_mandir}" \ --disable-libdvdcss-internal \ %ifarch %ix86 x86_64 --enable-runtime-cpudetection \ %endif --enable-bl --enable-fbdev \ --enable-gui --enable-menu --language=all \ --enable-xvmc --with-xvmclib=XvMCW \ --enable-smb --enable-joystick \ --enable-radio --enable-radio-capture \ --enable-dvdnav \ --disable-nemesi \ --disable-wii \ --enable-faad \ %if 0%{?suse_version} > 1140 --disable-tv-v4l1 \ --enable-v4l2 \ --disable-zr \ %else --enable-zr \ %endif %ifarch %ix86 --enable-qtx \ %else --disable-qtx \ %endif --disable-arts \ 2>&1 | tee conflog # # Make sure that certain features have been properly detected # and enabled by ./configure, by grepping patterns from the # ./configure output (tee'd in ./conflog) # missing="" for tag in \ GUI \ x264 \ 'OggTheora support' \ '.*libdvdnav.*' \ Xv \ XvMC \ Xinerama \ VIDIX \ SDL \ OpenGL \ 'OSS Audio' \ EsounD \ JACK \ 'ALSA audio' \ 'VCD support' \ 'Blu-ray support' \ dvdread \ cdparanoia \ Xvid \ Twolame \ 'SSA/ASS support' \ ENCA \ 'vstream client' \ %if %{suse_version} >= 1030 libdirac \ libschroedinger \ %endif pulse \ VDPAU \ 'mpg123 support' \ RTMPDump'.*' \ 'OggVorbis support' \ 'OggTheora support' \ 'mp3lib support' \ 'mpg123 support' \ 'libdca support' \ 'FAAC support' \ 'FAAD2 support' \ 'LADSPA plugin support' \ %ifarch %ix86 'Win32 codecs' \ %endif 'XAnim codecs' \ 'RealPlayer codecs' \ LIVE555'.*' \ FFmpeg \ libopencore_amr'.*' \ libdv'.*' \ x264 \ libmp3lame \ mencoder \ 'UnRAR executable' \ ftp \ 'vstream client' \ GUI \ 'DVD support.*' \ 'liba52 support' \ 'libbs2b.*' \ libvpx \ CrystalHD \ ; do grep -E "^Checking for ${tag} \.\.\. yes" conflog || missing="$missing $tag" done missing="${missing% }" if [ -n "$missing" ]; then echo "ERROR: missing support for the following: $missing" >&2 echo "-------------------------------------------------------------------" >&2 cat conflog >&2 echo "-------------------------------------------------------------------" >&2 exit 1 fi for tag in \ 'internal libdvdcss' \ %ifarch x86_64 'Win32 codecs' \ %endif ; do grep -E "^Checking for ${tag} \.\.\. no" conflog || shouldbemissing="$shouldbemissing $tag" done shouldbemissing="${shouldbemissing% }" if [ -n "$shouldbemissing" ]; then echo "ERROR: support for the following is enabled while it shouldn't be: $shouldbemissing" >&2 echo "-------------------------------------------------------------------" >&2 cat conflog >&2 echo "-------------------------------------------------------------------" >&2 exit 1 fi # see http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2008-March/056913.html %ifarch %ix86 %__sed -i 's|^\(QTX_EMULATION *= *\).*$|\1yes|' config.mak %endif %__chmod 0755 ./version.sh %__make version.h %__make %{?jobs:-j%{jobs}} %__make %{?jobs:-j%{jobs}} tools %install %makeinstall MANDIR="%{buildroot}%{_mandir}" INSTALLSTRIP="" # skin %__install -m 755 -d "%{buildroot}%{_datadir}/mplayer/skins" %__cp -r Blue "%{buildroot}%{_datadir}/mplayer/skins/default" %__cp -r Clearlooks "%{buildroot}%{_datadir}/mplayer/skins/" # configs %__install -m 644 etc/example.conf "%{buildroot}%{_sysconfdir}/mplayer/mplayer.conf" echo "fontconfig=yes" >> "%{buildroot}%{_sysconfdir}/mplayer/mplayer.conf" %__install -m 644 etc/input.conf "%{buildroot}%{_sysconfdir}/mplayer/" %__install -m 644 etc/menu.conf "%{buildroot}%{_sysconfdir}/mplayer/" # mencvcd %__install -m 755 TOOLS/mencvcd.sh "%{buildroot}%{_bindir}/mencvcd" # TOOLS pushd TOOLS %__rm -f \ alaw-gen alaw-gen.c \ binary_codecs.sh \ bmovl-test bmovl-test.c \ calcbpp.pl \ checktree.sh \ compare compare.c \ fastmemcpybench fastmemcpybench.c \ modify_reg.c \ mphelp_check.py \ plotpsnr.pl \ vfw2menc.c popd #TOOLS %__install -d "%{buildroot}%{_libexecdir}/mplayer" for f in TOOLS/*; do if [ -f "$f" -a -x "$f" ]; then %__mv "$f" "%{buildroot}%{_libexecdir}/mplayer/" \ && %__ln_s "%{_libexecdir}/mplayer/${f##*/}" TOOLS/ fi done %__rm -rf DOCS/man DOCS/xml MANPAGES="$PWD/manpages.lst" GMANPAGES="$PWD/gmanpages.lst" echo -n > "$MANPAGES" echo -n > "$GMANPAGES" pushd "%{buildroot}%{_mandir}" for f in */man?/*; do lang=${f%%/*} case $f in *gmplayer*) MPFILE="$GMANPAGES" ;; *) MPFILE="$MANPAGES" ;; esac echo "%doc %lang(${lang}) %{_mandir}/${f}*" >>"$MPFILE" done popd %suse_update_desktop_file -n -r mplayer AudioVideo Player echo -n >docfiles.lst %__install -d "%{buildroot}%{_docdir}/%{name}" for x in TOOLS README AUTHORS Changelog; do %__cp -a "$x" "%{buildroot}%{_docdir}/%{name}/" echo "%doc %{_docdir}/%{name}/${x}" >>docfiles.lst done %__cp -a DOCS/tech "%{buildroot}%{_docdir}/%{name}/" cat manpages.lst docfiles.lst > mainpackagefiles.lst %clean %{?buildroot:%__rm -rf "%{buildroot}"} %files -f mainpackagefiles.lst %defattr(-, root, root) %doc %dir %{_docdir}/%{name} %dir %{_sysconfdir}/mplayer %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mplayer/mplayer.conf %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mplayer/input.conf %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/mplayer/menu.conf %doc %{_mandir}/man1/mplayer.1%{ext_man} %doc %{_mandir}/man1/mencoder.1%{ext_man} %{_bindir}/mplayer %{_bindir}/mencoder %{_bindir}/mencvcd %dir %{_datadir}/mplayer %{_libexecdir}/mplayer %lang(cs) %doc %dir %{_mandir}/cs %lang(cs) %doc %dir %{_mandir}/cs/man1 %lang(hu) %doc %dir %{_mandir}/hu %lang(hu) %doc %dir %{_mandir}/hu/man1 %lang(pl) %doc %dir %{_mandir}/pl %lang(pl) %doc %dir %{_mandir}/pl/man1 %lang(ru) %doc %dir %{_mandir}/ru %lang(ru) %doc %dir %{_mandir}/ru/man1 %lang(zh_CN) %doc %dir %{_mandir}/zh_CN %lang(zh_CN) %doc %dir %{_mandir}/zh_CN/man1 %files -n gmplayer -f gmanpages.lst %defattr(-, root, root) %{_bindir}/gmplayer %dir %{_datadir}/mplayer/skins %{_datadir}/mplayer/skins/* %{_datadir}/applications/mplayer.desktop %{_datadir}/pixmaps/mplayer.png %files doc %defattr(-, root, root) %doc %{_docdir}/%{name}/tech %changelog