Sisyphus repository
Last update: 1 october 2023 | SRPMs: 18631 | Visits: 37421258
en ru br
ALT Linux repos
S:1.5-alt1.38416.2
D:1.0-alt35.27330.1
5.0: 1.0-alt35.27654.3
4.1: 1.0-alt35.26470.1
4.0: 1.0-alt35.23722.M40.1

Group :: Video
RPM: mplayer

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs and FR  Repocop 

%define set_disable() %{expand:%%force_disable %{1}} %{expand:%%undefine _enable_%{1}}
%define set_enable() %{expand:%%force_enable %{1}} %{expand:%%undefine _disable_%{1}}
%define set_without() %{expand:%%force_without %{1}} %{expand:%%undefine _with_%{1}}
%define subst_enable_to() %{expand:%%{?_enable_%{1}:--enable-%{2}}} %{expand:%%{?_disable_%{1}:--disable-%{2}}}
%define subst_o() %{expand:%%{?_enable_%{1}:%{1},}}
%define subst_o_pre() %{expand:%%{?_enable_%{2}:%{1}%{2},}}
%define subst_o_post() %{expand:%%{?_enable_%{1}:%{1}%{2},}}

#define prerel rc2try2

%define svnrev 26470
%define ffmpeg_svnrev 12910

#---------------------- BEGIN OF PARAMETERS -------------------------------------


# Optional features:

%def_enable mplayer
%def_enable mencoder
%def_enable lame
%def_enable gui
%def_disable gtk1
%def_enable largefiles
%def_disable devfs
%def_enable termcap
%def_enable termios
%def_enable iconv
%def_enable langinfo
%def_enable lirc
%def_disable lircc
%def_enable joystick
%def_enable xf86keysym
%def_enable tv
%def_enable v4l1
%def_enable v4l2
%def_enable radio
%def_enable radio_v4l1
%def_enable radio_v4l2
%def_enable radio_capture
%def_disable bsdbt848
%def_enable teletext
%def_disable pvr
%def_enable rtc
%def_enable network
%def_disable winsock2
%def_enable smb
%def_enable live
%def_enable dvdnav
%def_enable dvdread
%define dvdreadlib ext
%def_enable cdparanoia
%def_enable bitmap_font
%def_enable freetype
%def_enable fontconfig
%def_enable unrarexec
%def_enable osdmenu
%def_enable sortsub
%def_enable fribidi
%def_enable enca
%def_disable macosx
%def_disable macosx_finder
%def_disable macosx_bundle
%def_disable IPv6
%def_enable gethostbyname2
%def_enable ftp
%def_disable vstream
%def_enable pthreads
%def_enable ass
%def_disable rpath

# Codecs:

%def_enable gif
%def_enable png
%def_enable jpeg
%def_enable libcdio
%def_enable lzo
%def_enable win32
%def_enable qtx
%def_enable xanim
%def_enable real
%def_enable xvid
%def_enable x264
%def_enable ffmpeg
%def_disable shared_ffmpeg
%def_disable faad_ext
%def_enable faad_int
%def_disable faad_fixed
%def_disable tremor_internal
%def_disable tremor_low
%def_disable tremor_external
%def_enable vorbis
%def_enable speex
%def_enable theora
%def_enable faac
%def_enable ladspa
%def_enable libdv
%def_enable mad
%def_disable toolame
%def_disable twolame
%def_enable xmms
%def_enable mp3lib
%def_enable liba52
%def_enable libmpeg2
%def_enable musepack
%def_enable dirac
%def_enable nut

# Video output:

%def_enable vidix
%define vidixlib ext
%def_enable gl
%def_disable dga1
%def_enable dga2
%def_disable vesa
%def_enable svga
%def_enable sdl
%def_enable aa
%def_enable caca
%def_disable ggi
%def_disable ggiwmh
%def_disable directx
%def_disable dxr2
%def_disable dxr3
%def_disable ivtv
%def_enable dvb
%def_enable dvbhead
%def_enable mga
%def_enable xmga
%def_enable xv
%def_enable xvmc
%define xvmclib XvMCW
%def_enable vm
%def_enable xinerama
%def_enable x11
%def_enable xshape
%def_enable fbdev
%def_disable mlib
%def_enable 3dfx
%def_enable tdfxfb
%def_enable s3fb
%def_enable directfb
%def_disable zr
%def_disable bl
%def_enable tdfxvid
%def_enable tga
%def_enable pnm
%def_enable md5sum

# Audio output:

%def_enable alsa
%def_enable oss
%def_enable arts
%def_enable esd
%def_enable pulse
%def_enable jack
%def_enable openal
%def_enable nas
%def_disable sgiaudio
%def_disable sunaudio
%def_disable waveout
%def_enable select

# Miscellaneous options:

%def_enable cpu_detection
%define ccomp gcc
%define asm as
%define charset UTF-8
%define language all

# Advanced options:

%def_enable mmx
%def_enable mmxext
%def_enable 3dnow
%def_enable 3dnowext
%def_enable sse
%def_enable sse2
%def_disable altivec
%def_enable fastmemcpy
%def_disable debug
%def_disable profile
%def_enable sighandler
%def_disable gdb
%def_enable dynamic_plugins

%define termcaplib tinfo

# Other parameters

%def_enable nls
%def_without soundwrapper
%def_with htmldocs
%def_with tools
%define default_vo %{subst_o xv}%{subst_o sdl}%{subst_o gl2}%{subst_o gl}%{subst_o x11}%{subst_o_pre x vidix}%{subst_o mga}%{subst_o dfbmga}%{subst_o tdfxfb}%{subst_o 3dfx}%{subst_o s3fb}%{subst_o_pre c vidix}%{subst_o_post fbdev 2}%{subst_o vesa}%{subst_o caca}%{subst_o aa}null
%define default_ao %{subst_o alsa}%{subst_o oss}%{subst_o openal}%{subst_o sdl}%{subst_o pulse}%{subst_o nas}null
#define odml_chunklen 0x40000000

#---------------------- END OF PARAMETERS ---------------------------------------


%{?_disable_mencoder:%set_disable lame}

%if_disabled tv
%set_disable v4l1
%set_disable v4l2
%set_disable bsdbt848
%set_disable teletext
%set_disable pvr
%endif

%if_disabled network
%set_disable live
%set_disable ftp
%endif

%if_disabled macosx
%set_disable macosx_finder
%set_disable macosx_bundle
%endif

%{?_enable_shared_ffmpeg:%set_disable zr}

%if_enabled nls
%define awk gawk
%set_enable iconv
%{!?charset:%define charset UTF-8}
%undefine language
%define language en
%else
%define awk awk
%endif

%{?_disable_ffmpeg:%set_disable ffmpeg_shared}
%{?_disable_iconv:%set_disable freetype}
%{?_disable_freetype:%set_disable fontconfig}

%if_disabled vidix
%ifdef vidixlib
%undefine vidixlib
%endif
%define vidixlib none
%else
%ifnarch %ix86 x86_64
%ifdef vidixlib
%undefine vidixlib
%endif
%define vidixlib int
%endif
%endif
%if %vidixlib == none
%set_disable vidix
%endif

%{?_enable_tremor_external:%set_disable tremor_low}

%ifnarch %ix86
%set_disable win32
%endif

%ifnarch ppc
%set_disable altivec
%endif

%define win32_libdir %_libdir/w32codec
%define xanim_libdir %_libdir/xanim
%define real_libdir %_libdir/real

%{?_disable_win32:%set_disable qtx}
%{?_enable_faad_int:%set_disable faad_ext}

%if_disabled x11
%set_disable xv
%set_disable xvmc
%set_disable xinerama
%set_disable xf86keysym
%set_disable vm
%set_disable dga1
%set_disable dga2
%endif

%{?_disable_mplayer:%set_without tools}


%define lname mplayer
%define Name MPlayer
Name: %lname
Version: 1.0
%define rel 35
%define subrel 1
%ifdef svnrev
Release: alt%rel.%svnrev.%subrel
%define pkgver svn-r%svnrev
%else
Release: alt%rel
%define pkgver %version%prerel
%endif
Summary: Media player
Summary(uk_UA.CP1251): Медіаплейер
Summary(ru_RU.CP1251): Медиаплейер
License: GPL
Group: Video
URL: http://www.mplayerhq.hu
%if %name != %Name
Provides: %Name = %version-%release
Obsoletes: %Name
%endif
%if_enabled freetype
%{?_disable_fontconfig:Requires: fonts-type1-urw}
Conflicts: %Name-fonts < 1.0-alt28
Conflicts: %name-i18n < 1.0-35.22229.1
Obsoletes: %Name-fonts
%else
Requires: %name-fonts
%endif

%ifdef svnrev
Source0: %lname-svn-r%svnrev.tar.bz2
%else
Source0: %Name-%version%prerel.tar.bz2
%endif
# svn checkout svn.mplayerhq.hu/mplayer/trunk
%{?ffmpeg_svnrev:%{?_disable_shared_ffmpeg:Source1: ffmpeg-svn-r%ffmpeg_svnrev.tar.bz2}}
Source3: %lname.sh
Source4: standard-1.9.tar.bz2
Source5: %lname.conf.in
Source6: mp_help2msg.awk.gz
Source7: mp_msg2po.awk.gz
Patch0: %lname-svn-r22221-subreader.patch
Patch1: %lname-svn-r26470-dirac-0.9.1.patch
Patch2: %lname-dvd-ru-svn19389.patch.gz
Patch3: %Name-1.0pre4-alt-explicit_gif.patch
Patch4: %lname-svn-r26450-gui.patch
Patch5: %lname-svn-r25454-vo_vidix.patch
Patch6: %lname-svn-r21128-alt-artsc_ldflags.patch.gz
Patch7: %lname-svn-r23099-demux_nut.patch
Patch8: %lname-svn-r23722-VIDM-win32-codec.patch
Patch11: %lname-svn-r24081-nls.patch
Patch12: %lname-uni-svn25678.patch
Patch13: %Name-svn-20060711-vbe.patch.gz
Patch14: %lname-svn-r26450-gui_nls.patch
Patch16: %lname-svn-r26450-configure.patch
Patch17: %lname-svn-r26454-ext_ffmpeg.patch
Patch27: %lname-svn-r26450-builddocs.patch
%if_disabled shared_ffmpeg
%{?_enable_dirac:Patch31: ffmpeg-svn-r12807-dirac-0.9.x.patch}
Patch32: ffmpeg-svn-r12807-xvmc-vld.patch
Patch33: ffmpeg-svn-r12807-amr.patch
%endif

# Automatically added by buildreq on Wed Apr 16 2008

#BuildRequires: ImageMagick aalib-devel docbook-dtds docbook-style-xsl esound-devel gcc-c++ kdelibs ladspa_sdk libSDL-devel libSDL_image-devel libXScrnSaver-devel libXinerama-devel libXvMC-devel libXxf86dga-devel libamrnb-devel libamrwb-devel libarts-devel libaudio-devel libcaca-devel libcdparanoia-devel libdca-devel libdirac-devel libdv-devel libdvdnav-devel libenca-devel libfaac-devel libfribidi-devel libgpm-devel libgtk+2-devel libjpeg-devel liblame-devel liblirc-devel liblive555-devel liblzo2-devel libmesa-devel libmpcdec-devel libnut-devel libopenal-devel libpulseaudio-devel libslang-devel libsmbclient-devel libspeex-devel libtheora-devel libungif-devel libvidix-devel libx264-devel libxmms-devel libxvid-devel subversion svgalib-devel xsltproc

BuildRequires: %awk libncurses-devel libslang-devel zlib-devel
BuildRequires: libdca-devel
BuildRequires: cpp >= 3.3 gcc >= 3.3 gcc-c++ >= 3.3
%{?svnrev:%{?_with_htmldocs:BuildRequires: docbook-style-xsl xsltproc sgml-common docbook-dtds}}

%{?_enable_mencoder:%{?_enable_lame:BuildRequires: liblame-devel}}
%{?_enable_termcap:BuildRequires: libtinfo-devel}
%{?_enable_smb:BuildRequires: libsmbclient-devel >= 3.0.3}
%{?_enable_live:BuildRequires: liblive555-devel >= 0.0.0-alt0.2006.03.03}
%{?_enable_dvdnav:BuildRequires: libdvdnav-devel >= 0.1.10-alt4}
%{?_enable_dvdread:BuildRequires: libdvdread-devel}
%{?_enable_cdparanoia:BuildRequires: libcdparanoia-devel}
%{?_enable_vstream:BuildRequires: libvstream-client-devel}
%if_enabled mplayer
%{?_enable_lirc:BuildRequires: liblirc-devel}
%{?_enable_freetype:BuildRequires: libfreetype-devel >= 2.0.9}
%{?_enable_fontconfig:BuildRequires: fontconfig-devel}
%{?_enable_fribidi:BuildRequires: libfribidi-devel}
%{?_enable_enca:BuildRequires: libenca-devel}
%endif

%{?_enable_gif:BuildRequires: libungif-devel}
%{?_enable_png:BuildRequires: libpng-devel}
%{?_enable_jpeg:BuildRequires: libjpeg-devel}
%{?_enable_libcdio:BuildRequires: libcdio-devel}
%{?_enable_lzo:BuildRequires: liblzo2-devel}
%{?_enable_xvid:BuildRequires: libxvid-devel}
%{?_enable_x264:BuildRequires: libx264-devel}
%{?_enable_shared_ffmpeg:BuildRequires: libffmpeg-devel >= 1:0.5.0-alt0.12828.1}
%{?_enable_tremor_external:BuildRequires: libtremor-devel}
%{?_enable_vorbis:BuildRequires: libvorbis-devel}
%{?_enable_speex:BuildRequires: libspeex-devel}
%{?_enable_theora:BuildRequires: libtheora-devel}
%{?_enable_faad_ext:BuildRequires: libfaad-devel}
%{?_enable_faac:BuildRequires: libfaac-devel}
%{?_enable_ladspa:BuildRequires: ladspa_sdk}
%{?_enable_libdv:BuildRequires: libdv-devel}
%{?_enable_mad:BuildRequires: libmad-devel}
%{?_enable_xmms:BuildRequires: libxmms-devel}
%{?_enable_liba52:BuildRequires: liba52-devel}
%{?_enable_libmpeg2:BuildRequires: libmpeg2-devel}
%{?_enable_musepack:BuildRequires: libmpcdec-devel >= 1.2.1}
%{?_enable_nut:BuildRequires: libnut-devel >= 0.0-alt0.272}
%{?_enable_dirac:BuildRequires: libdirac-devel >= 0.9}

%{?_enable_xvmc:BuildRequires: libXvMC-devel}
%if_enabled mplayer
%if %vidixlib == ext
BuildRequires: libvidix-devel
%endif
%{?_enable_gl:BuildRequires: libmesa-devel libGLwrapper}
%{?_enable_vesa:BuildRequires: libvbe-devel}
%{?_enable_svga:BuildRequires: svgalib-devel}
%{?_enable_sdl:BuildRequires: libSDL-devel >= 1.1.7 libSDL_mixer-devel}
%{?_enable_aa:BuildRequires: aalib-devel libgpm-devel libslang-devel libX11-devel}
%{?_enable_caca:BuildRequires: libcaca-devel libslang-devel libX11-devel}
%{?_enable_ggi:BuildRequires: libggi-devel}
%{?_enable_dxr3:BuildRequires: libdxr3-devel}
%{?_enable_xv:BuildRequires: libXv-devel}
%{?_enable_vm:BuildRequires: libXxf86vm-devel}
%{?_enable_xinerama:BuildRequires: libXinerama-devel}
%{?_enable_x11:BuildRequires: libXt-devel libXScrnSaver-devel}
%{?_enable_dga1:BuildRequires: libXxf86dga-devel}
%{?_enable_dga2:BuildRequires: libXxf86dga-devel}
%{?_enable_directfb:BuildRequires: libdirectfb-devel}
%{?_enable_pnm:BuildRequires: libnetpbm-devel}

%{?_enable_alsa:BuildRequires: libalsa-devel}
%{?_enable_arts:BuildRequires: libarts-devel}
%{?_enable_esd:BuildRequires: esound-devel}
%{?_enable_pulse:BuildRequires: libpulseaudio-devel >= 0.9}
%{?_enable_jack:BuildRequires: jackit-devel}
%{?_enable_openal:BuildRequires: libopenal-devel}
%{?_enable_nas:BuildRequires: libaudio-devel}

%if_enabled gui
BuildRequires: ImageMagick desktop-file-utils
%if_enabled gtk1
BuildRequires: gtk+-devel
%else
BuildRequires: libgtk+2-devel
%endif
%endif
%endif

%{?_enable_nls:BuildRequires: gettext-tools}

%if_with tools
BuildRequires: perl-libwww perl-Math-BigInt libSDL_image-devel
BuildRequires: normalize sox termutils vcdimager mjpegtools
%endif

%description
%Name is a movie and animation player that supports a wide range of file
formats, including AVI, MPEG, and Quicktime. It has many MMX/SSE/3DNow! etc.
optimized native audio and video codecs, but allows using XAnim's and
RealPlayer's binary codec plugins, and Win32 codec DLLs. It has basic
VCD/DVD playback functionality, including DVD subtitles, but supports many
text-based subtitle formats too.

For video and audio output, nearly every existing interface is
supported including some low-level card-specific drivers
(for Matrox, Nvidia, 3Dfx and Radeon, Mach64, Permedia3), hardware AC3
decoding and few hardware MPEG decoding boards such as DVB and
DXR3/Hollywood+.

It also supports video grabbing from V4L devices.

This package provides only console version of the %Name. Install
%name-gui *instead* if you need a nice skinnable GUI player.

%description -l ru_RU.CP1251
%Name - это видеопроигрыватель, который поддерживает широкий спектр
форматов файлов, в том числе AVI, MPEG и Quicktime. В него включено
множество аудио- и видеокодеков, оптимизированных для MMX, SSE, 3DNow!
и.т.п. Кроме этого, имеется возможность использования внешних кодеков:
XAnim, RealPlayer и Win32. Реализованы основные функции для
проигрывания VCD/DVD, включая субтитры DVD, а также множества других
текстовых форматов субтитров.

Поддерживаются практически все способы вывода изображения и звука в
юниксоподобных системах. Имеются низкоуровневые специализированные
драйвера для некоторых видеокарт: Matrox, Nvidia, 3Dfx, Radeon,
Mach64, Permedia3, - аппаратного декодирования AC3, а также нескольких
плат, аппаратно декодирующих MPEG, таких как DVB и DXR3/Hollywood+.

Кроме этого, %Name способен захватывать сигнал с устройств V4L.

Этот пакет содержит только консольную версию %Name. Вам следует
устанавливать пакет %name-gui *вместо* данного пакета, если Вам
требуется видеопроигрыватель с хорошим настраиваемым GUI (графическим
интерфейсом пользователя).


%if_enabled mplayer
%if_enabled gui
%package gui
%define gname g%lname
Summary:  %Name (GUI version)
Summary(uk_UA.CP1251): Медіаплейер (GUI вариант)
Summary(ru_RU.CP1251): Медиаплейер (GUI вариант)
Group: Video
Requires: %name >= 1.0
Provides: %gname = %version-%release
Obsoletes: %Name-skin-default
%if %name != %Name
Provides: %Name-gui = %version-%release
Obsoletes: %Name-gui
%endif

%description gui
%Name is a movie and animation player that supports a wide range of
file formats, including AVI, MPEG, and Quicktime. It has many
MMX/SSE/3DNow! etc. optimized native audio and video codecs, but allows
using XAnim's and RealPlayer's binary codec plugins, and Win32 codec
DLLs. It has basic VCD/DVD playback functionality, including DVD
subtitles, but supports many text-based subtitle formats too.
For video and audio output, nearly every existing interface is
supported including some low-level card-specific drivers (for Matrox,
Nvidia, 3Dfx and Radeon, Mach64, Permedia3), hardware AC3 decoding and
few hardware MPEG decoding boards such as DVB and DXR3/Hollywood+.
It also supports video grabbing from V4L devices.
This package provides GUI version of the %Name. A console-only
version with trimmed down dependencies is also available as %name.

%description gui -l ru_RU.CP1251
%Name - это видеопроигрыватель, который поддерживает широкий спектр
форматов файлов, в том числе AVI, MPEG и Quicktime. В него включено
множество аудио- и видеокодеков, оптимизированных для MMX, SSE, 3DNow!
и т.п. Кроме этого, имеется возможность использования внешних кодеков:
XAnim, RealPlayer и Win32. Реализованы основные функции для
проигрывания VCD/DVD, включая субтитры DVD, а также множества других
текстовых форматов субтитров.
Поддерживаются практически все способы вывода изображения и звука в
юниксоподобных системах. Имеются низкоуровневые специализированные
драйвера для некоторых видеокарт: Matrox, Nvidia, 3Dfx, Radeon,
Mach64, Permedia3, - аппаратного декодирования AC3, а также нескольких
плат, аппаратно декодирующих MPEG, таких как DVB и DXR3/Hollywood+.
Кроме этого, %Name способен захватывать сигнал с устройств V4L.
Этот пакет содержит версию %Name c GUI (графическим интерфейсом).
Также имеется %name - консольная версия пакета с меньшим числом
зависимостей.
%endif
%endif


%if_enabled mencoder
%package -n mencoder
Group: Video
Summary: Movie encoder for Unix.
Summary(ru_RU.CP1251): Кодировщик фильмов для Unix.
Provides: MEncoder = %version-%release
Conflicts: %Name < 1.0-alt28

%description -n mencoder
MEncoder a movie encoder for Unix and is a part of the %name package.
%endif


%if_with htmldocs
%package docs
Group: Documentation
Summary: %Name all docs
Requires: %name-doc-tech
Requires: %name-doc-en
Requires: %name-doc-world
Requires: %name-doc-ru
%if %name != %Name
Provides: %Name-docs
Obsoletes: %Name-docs
%endif

%description docs
%Name all docs.


%package doc-tech
Group: Documentation
Summary: %Name Tech docs

%description doc-tech
%Name Tech docs.


%package doc-en
Group: Documentation
Summary: %Name English docs
Obsoletes: %Name-doc
Provides: %Name-doc
%if %name != %Name
Provides: %Name-doc-en = %version-%release
Obsoletes: %Name-doc-en
%endif

%description doc-en
%Name English docs.


%package doc-world
Group: Documentation
Summary: %Name docs
Conflicts: %name-doc-cs %name-doc-de %name-doc-es %name-doc-fr
Conflicts: %name-doc-hu %name-doc-it %name-doc-pl %name-doc-zh_CN

%description doc-world
%Name docs (exept English and Russian.


%package doc-ru
Group: Documentation
Summary: %Name Russian docs
%if %name != %Name
Provides: %Name-doc-ru = %version-%release
Obsoletes: %Name-doc-ru
%endif

%description doc-ru
%Name Russian docs.
%endif


%package i18n
Group: Video
Summary: Languages support for %Name
%{?_enable_mencoder:Provides: mencoder-i18n = %version-%release}
Requires: %name-i18n-world = %version-%release
Requires: %name-i18n-ru = %version-%release
%{?_enable_nls:Requires: %name-i18n-uk = %version-%release}

%description i18n
Languages support for %Name.


%package i18n-world
Group: Video
Summary: Languages support for %Name
Conflicts: %name-i18n < 1.0-35.22229.1
%{?_enable_mencoder:Provides: mencoder-i18n-world = %version-%release}

%description i18n-world
Languages support for %Name (except ru%{?_enable_nls: and uk}).


%package i18n-ru
Group: Video
Summary: Russian language support for %Name
Requires: man-pages-ru
Conflicts: %name-i18n < 1.0-35.22229.1
%{?_enable_mencoder:Provides: mencoder-i18n-ru = %version-%release}

%description i18n-ru
Russian language support for %Name.


%if_enabled nls
%package i18n-uk
Group: Video
Summary: Ukrainian language support for %Name
Conflicts: %name-i18n < 1.0-35.22229.1
%{?_enable_mencoder:Provides: mencoder-i18n-uk = %version-%release}

%description i18n-uk
Ukrainian language support for %Name.
%endif


%if_enabled mplayer
%if_with tools
%package tools
Group: Video
Summary: %Name/MEncoder tools
%if_enabled mencoder
Provides: mencoder-tools = %version-%release
Requires: mencoder
%endif
Requires: %name

%description tools
Nice scripts and code that makes using %Name and MEncoder easier, for
example scripts for DVD track encoding in three pass mode or creating
SVCDs from a movie.
%endif
%endif


%prep
%ifdef svnrev
%if_enabled shared_ffmpeg
%setup -q -n %lname-%pkgver
%else
%setup -q -n %lname-%pkgver -a 1
mv ffmpeg-svn-r%ffmpeg_svnrev/lib{av{codec,format,util},postproc} .
%endif
%else
%setup -q -n %Name-%pkgver
%endif

%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch16 -p1
%patch17 -p1
%patch27 -p1
%if_disabled shared_ffmpeg
%patch31 -p1
%patch32 -p1
%patch33 -p1
%endif

%{?_enable_dvdnav:subst 's/--minilibs/--libs/g' configure}
%{?odml_chunklen:sed -r -i -e 's/^(#[[:blank:]]*define[[:blank:]]+ODML_CHUNKLEN[[:blank:]]+)0x[[:xdigit:]]+/\1%odml_chunklen/' libmpdemux/muxer_avi.c}

%{?svnrev:subst 's/UNKNOWN/%svnrev/' version.sh}
iconv -f cp1251 -t utf-8 >> etc/%lname.desktop <<__MENU__
Comment[ru]=Проигрыватель мультимедиа
Comment[uk]=Програвач мультимедіа
X-MultipleArgs=true
StartupNotify=true
__MENU__
sed -i -e '/^MimeType=/s|$|video/3gpp;application/x-flash-video;|' -e '/^Icon=/s/\.xpm$//' etc/%lname.desktop

%if_enabled nls
install -d -m 0755 po
gzip -dc %SOURCE6 > po/mp_help2msg.awk
gzip -dc %SOURCE7 > po/mp_msg2po.awk
%endif

%if %dvdreadlib == ext
#mv dvdread dvdread.internal
%endif

subst 's|\\/\\/|//|g' help/help_mp-zh_??.h


%build
%define _optlevel 3
%add_optflags %optflags_notraceback %optflags_fastmath -finline-functions -frename-registers
%ifarch x86_64
%add_optflags -mtune=k8 -DARCH_X86_64
%else
%ifarch %ix86
%add_optflags -DARCH_X86_32
%endif
%endif
export CFLAGS="%optflags"
./configure \
--target=%_target \
--prefix=%_prefix \
--bindir=%_bindir \
--mandir=%_mandir \
--libdir=%_libdir \
--datadir=%_datadir/%name \
--confdir=%_sysconfdir/%name \
%{subst_enable mplayer} \
%{subst_enable mencoder} \
%{subst_enable gui} \
%{subst_enable gtk1} \
%{subst_enable largefiles} \
%{subst_enable_to devfs linux-devfs} \
%{subst_enable termcap} \
%{subst_enable termios} \
%{subst_enable nls} \
%{subst_enable iconv} \
%{subst_enable langinfo} \
%{subst_enable lirc} \
%{subst_enable lircc} \
%{subst_enable joystick} \
%{subst_enable xf86keysym} \
%{subst_enable tv} \
%{subst_enable_to v4l1 tv-v4l1} \
%{subst_enable_to v4l2 tv-v4l2} \
               %{subst_enable radio} \
%{subst_enable_to radio_v4l1 radio-v4l} \
%{subst_enable_to radio_v4l2 radio-v4l2} \
%{subst_enable_to radio_capture radio-capture} \
%{subst_enable_to bsdbt848 tv-bsdbt848} \
%{subst_enable_to teletext tv-teletext} \
%{subst_enable pvr} \
%{subst_enable rtc} \
%{subst_enable network} \
%{subst_enable winsock2} \
%{subst_enable smb} \
%{subst_enable live} \
%{subst_enable dvdnav} \
%{subst_enable dvdread} \
%if %dvdreadlib == int
--enable-dvdread-internal \
%else
--disable-dvdread-internal \
%endif
%{subst_enable cdparanoia} \
%{subst_enable_to bitmap_font bitmap-font} \
%{subst_enable freetype} \
%{subst_enable fontconfig} \
%{subst_enable unrarexec} \
%{subst_enable_to osdmenu menu} \
%{subst_enable sortsub} \
%{subst_enable fribidi} \
%{?_enable_fribidi:--with-fribidi-config="pkg-config fribidi"} \
%{subst_enable enca} \
%{subst_enable macosx} \
%{subst_enable_to macosx_finder macosx-finder-support} \
%{subst_enable_to macosx_bundle macosx-bundle} \
%{subst_enable_to IPv6 inet6} \
%{subst_enable gethostbyname2} \
%{subst_enable ftp} \
%{subst_enable vstream} \
%{subst_enable pthreads} \
%{subst_enable ass} \
%{subst_enable rpath} \
%{subst_enable gif} \
%{subst_enable png} \
%{subst_enable jpeg} \
%{subst_enable libcdio} \
%{subst_enable_to lzo liblzo} \
%{subst_enable_to win32 win32dll} \
%{?_enable_win32:--win32codecsdir=%win32_libdir} \
%{subst_enable qtx} \
%{subst_enable xanim} \
%{?_enable_xanim:--xanimcodecsdir=%xanim_libdir} \
%{subst_enable real} \
%{?_enable_real:--realcodecsdir=%real_libdir} \
%{subst_enable xvid} \
%{subst_enable x264} \
%if_enabled ffmpeg
%if_enabled shared_ffmpeg
--disable-libavcodec_a \
--disable-libavformat_a \
--disable-libavutil_a \
--disable-libpostproc_a \
--disable-libswscale_a \
--enable-libavcodec_so \
--enable-libavformat_so \
--enable-libavutil_so \
--enable-libpostproc_so \
--enable-libswscale_so \
%else
--disable-libavcodec_so \
--disable-libavformat_so \
--disable-libavutil_so \
--disable-libpostproc_so \
--disable-libswscale_so \
--enable-libavcodec_a \
--enable-libavformat_a \
--enable-libavutil_a \
--enable-libpostproc_a \
--enable-libswscale_a \
%endif
%else
--disable-libavcodec_a \
--disable-libavformat_a \
--disable-libavutil_a \
--disable-libpostproc_a \
--disable-libswscale_a \
--disable-libavcodec_so \
--disable-libavformat_so \
--disable-libavutil_so \
--disable-libpostproc_so \
--disable-libswscale_so \
%endif
%{subst_enable_to tremor_internal tremor-internal} \
%{subst_enable_to tremor_low tremor-low} \
%{subst_enable_to tremor_external tremor-external} \
%{subst_enable_to vorbis libvorbis} \
%{subst_enable speex} \
%{subst_enable theora} \
%{?_enable_faad_int:--enable-faad-internal --disable-faad-external %{subst_enable_to faad_fixed faad-fixed}} \
%{?_enable_faad_ext:--enable-faad-external --disable-faad-internal} \
%{subst_enable faac} \
%{subst_enable dirac} \
%{subst_enable ladspa} \
%{subst_enable libdv} \
%{subst_enable mad} \
%{subst_enable toolame} \
%{subst_enable twolame} \
%{subst_enable xmms} \
%{subst_enable mp3lib} \
%{subst_enable liba52} \
%{subst_enable libmpeg2} \
%{subst_enable musepack} \
%{subst_enable_to nut libnut} \
%if_enabled vidix
%if %vidixlib == ext
--enable-vidix-external --disable-vidix-internal \
%else
--disable-vidix-external --enable-vidix-internal \
%endif
%else
--disable-vidix-external --disable-vidix-internal \
%endif
%{subst_enable gl} \
%{subst_enable dga1} \
%{subst_enable dga2} \
%{subst_enable vesa} \
%{subst_enable svga} \
%{subst_enable sdl} \
%{subst_enable aa} \
%{subst_enable caca} \
%{subst_enable ggi} \
%{subst_enable ggiwmh} \
%{subst_enable directx} \
%{subst_enable dxr2} \
%{subst_enable dxr3} \
%{subst_enable ivtv} \
%{subst_enable dvb} \
%{subst_enable dvbhead} \
%{subst_enable mga} \
       %{subst_enable xmga} \
%{subst_enable xv} \
%{subst_enable xvmc} \
%{?_enable_xvmc:%{?xvmclib:--with-xvmclib=%xvmclib}} \
%{subst_enable vm} \
%{subst_enable xinerama} \
%{subst_enable x11} \
%{subst_enable xshape} \
%{subst_enable fbdev} \
%{subst_enable mlib} \
%{subst_enable 3dfx} \
%{subst_enable tdfxfb} \
%{subst_enable s3fb} \
%{subst_enable directfb} \
%{subst_enable zr} \
%{subst_enable bl} \
%{subst_enable tdfxvid} \
%{subst_enable tga} \
%{subst_enable pnm} \
%{subst_enable md5sum} \
%{subst_enable alsa} \
%{subst_enable_to oss ossaudio} \
%{subst_enable arts} \
%{subst_enable esd} \
%{subst_enable pulse} \
%{subst_enable jack} \
%{subst_enable openal} \
%{subst_enable nas} \
%{subst_enable sgiaudio} \
%{subst_enable sunaudio} \
%{subst_enable_to waveout win32waveout} \
%{subst_enable select} \
%{subst_enable_to cpu_detection runtime-cpudetection} \
--cc=%ccomp \
--as=%asm \
--charset=%charset \
--language="%language" \
%{subst_enable mmx} \
%{subst_enable mmxext} \
%{subst_enable 3dnow} \
%{subst_enable 3dnowext} \
%{subst_enable sse} \
%{subst_enable sse2} \
%{subst_enable altivec} \
%{subst_enable fastmemcpy} \
%if_enabled debug
--enable-debug=3 \
%else
--disable-debug \
%endif
%{subst_enable prifile} \
%{subst_enable sighandler} \
%{subst_enable_to gdb crash-debug} \
%{subst_enable_to dynamic_plugins dynamic-plugins} \
--with-extraincdir=%_includedir/vidix:%_includedir/directfb

subst 's|^#\(CFLAGS .*\) -Isvgalib_helper/|\1|' vidix/Makefile
%make_build

# make conf file

sed -e 's/^ at VO at /vo = %default_vo/' \
   -e 's/^ at AO at /ao = %default_ao/' \
   -e 's| at CONF_FILE at |%_sysconfdir/%name/%lname.conf|g' \
   -e 's| at SKINS_DIR at |%_datadir/%name/skins|g' \
   %SOURCE5 \
   > etc/%lname.conf
%if_enabled fontconfig
echo "fontconfig = yes" >> etc/%lname.conf
%else
echo "fontconfig = no" >> etc/%lname.conf
%endif

%if_enabled mplayer
%if_with tools
%make_build -C TOOLS alaw-gen asfinfo avi-fix avisubdump bmovl-test dump_mp4 movinfo
%endif
%endif

%if_with htmldocs
%ifdef svnrev
# build HTML documentation from XML files
pushd DOCS/xml
cp -fL %_sysconfdir/sgml/catalog ./
echo 'CATALOG "/usr/share/xml/xml-iso-entities-8879.1986/catalog"' >> ./catalog
./configure
%make_build html-chunked
popd
%endif
%endif

%if_enabled nls
pushd po
gawk -f ./mp_help2msg.awk ../help/help_mp-en.h > en.msg
for h in $(ls ../help/help_mp-*.h | grep -v '..help/help_mp-en.h$'); do
   l=$(basename ${h/help_mp-} .h)
   gawk -f ./mp_help2msg.awk $h | awk -f ./mp_msg2po.awk en.msg > $l.po
   msgfmt -o $l.gmo $l.po
done
popd
%endif

%if_enabled gui
for s in 128 64 48 32 24 22 16; do
   convert -border 0x13 -bordercolor none gui/mplayer/pixmaps/MPlayer_mini.xpm \
-resize ${s}x$s! -depth 8 gui/mplayer/pixmaps/%{lname}_$s.png
done
%endif


%install
%make_install DESTDIR=%buildroot install

%if_enabled mplayer
install -d -m 0755 %buildroot%_datadir/%name/skins
tar -C %buildroot%_datadir/%name/skins -xjf %SOURCE4
ln -s standard %buildroot%_datadir/%name/skins/default
%{?_enable_freetype:%{?_disable_fontconfig:ln -s ../fonts/default/Type1/n019003l.pfb %buildroot%_datadir/%name/subfont.ttf}}
%endif

install -m 0644 etc/{codecs,input,%lname}.conf %buildroot%_sysconfdir/%name/

%if_enabled mplayer
%{?_enable_osdmenu:install -m 0644 etc/menu.conf %buildroot%_sysconfdir/%name/}
%{?_enable_dvb:install -m 0644 etc/dvb-menu.conf %buildroot%_sysconfdir/%name/}

%if_with tools
install -m 0755 TOOLS/{aconvert,alaw-gen,asfinfo,avi-fix,avisubdump,bmovl-test,calcbpp.pl,countquant.pl,divx2svcd,dump_mp4,encode2mpeglight,mencvcd,midentify,movinfo,mpconsole,mplmult.sh,plotpsnr.pl,psnr-video.sh,subedit.pl,subsearch.sh,vobshift.py,w32codec_dl.pl,wma2ogg.pl} %buildroot/%_bindir/
%{?_enable_mencoder:install -m 0755 TOOLS/{dvd2divxscript.pl,qepdvcd.sh} %buildroot/%_bindir/}
install -pD -m 0644 TOOLS/README %buildroot%_docdir/%name-tools-%version/README
%endif

%{?_with_soundwrapper:install -pD -m 0755 %SOURCE3 %buildroot%_sysconfdir/bashrc.d/%lname.sh}
%endif

# docs

bzip2 --best --force --keep -- Changelog
for l in $(ls DOCS/man | grep -v 'en'); do
%if_enabled mplayer
   install -pD -m 0644 DOCS/man/$l/%lname.1 %buildroot%_mandir/$l/man1/%lname.1
   %{?_enable_mencoder:ln -sf %lname.1 %buildroot%_mandir/$l/man1/mencoder.1}
%else
   %{?_enable_mencoder:install -pD -m 0644 DOCS/man/$l/mencoder.1 %buildroot%_mandir/$l/man1/mencoder.1}
%endif
done
rm -f %buildroot%_man1dir/mencoder.1
%{?_enable_mencoder:install -m 0644 DOCS/man/en/%lname.1 %buildroot%_man1dir/mencoder.1}
%if_with htmldocs
for l in cs de en es fr hu it pl ru zh_CN; do
   install -d %buildroot%_docdir/%name-doc-%version/$l
   install -m 0644 DOCS/HTML/$l/{*.html,*.css} %buildroot%_docdir/%name-doc-%version/$l/
done
%endif
install -d %buildroot%_docdir/%name-doc-%version/tech/realcodecs
install -m 0644 DOCS/tech/{MAINTAINERS,TODO,*.txt,mpsub.sub,playtree,wishlist} %buildroot%_docdir/%name-doc-%version/tech/
install -m 0644 DOCS/tech/realcodecs/{TODO,*.txt} %buildroot%_docdir/%name-doc-%version/tech/realcodecs/
%find_lang --with-man %lname %lname-man

%if_enabled nls
for l in po/*.gmo; do
install -pD -m 0644 $l %buildroot%_datadir/locale/$(basename $l .gmo)/LC_MESSAGES/%name.mo
done
%endif

%{?_enable_mplayer:%add_verify_elf_skiplist %_libdir/%lname/vidix/*}

%if_enabled gui
for s in 128 64 48 32 24 22 16; do
   install -D -m 0644 {gui/mplayer/pixmaps/%{lname}_$s,%buildroot%_iconsdir/hicolor/${s}x$s/apps/%lname}.png
done
install -D -m 0644 {etc/%lname,%buildroot%_desktopdir/%name}.desktop
ln -sf %lname %buildroot%_bindir/g%lname
%endif


%if_enabled mplayer
%if_enabled gui
%post gui
%update_menus
%update_desktopdb

%postun gui
%clean_menus
%clean_desktopdb
%endif
%endif


%if_enabled mplayer
%files
%doc README AUTHORS Changelog.*
%_bindir/%lname
%_man1dir/%lname.*
%dir %_sysconfdir/%name
%config %_sysconfdir/%name/codecs.conf
%config(noreplace) %verify(not size mtime md5) %_sysconfdir/%name/%lname.conf
%config(noreplace) %verify(not size mtime md5) %_sysconfdir/%name/input.conf
%{?_enable_osdmenu:%config(noreplace) %verify(not size mtime md5) %_sysconfdir/%name/menu.conf}
%{?_enable_dvb:%config(noreplace) %verify(not size mtime md5) %_sysconfdir/%name/dvb-menu.conf}
%{?_with_soundwrapper:%_sysconfdir/bashrc.d/*}
%dir %_datadir/%name
%if_disabled fontconfig
%if_enabled freetype
%config(missingok,noreplace) %verify(not link size mtime md5) %_datadir/%name/subfont.ttf
%else
%_datadir/%name/font
%endif
%endif


%if_enabled gui
%files gui
%_bindir/%gname
%_desktopdir/*
#%%_datadir/pixmaps/*
%_iconsdir/hicolor/*/apps/*
%dir %_datadir/%name/skins
%_datadir/%name/skins/standard
%_datadir/%name/skins/default
%endif
%endif


%if_enabled mencoder
%files -n mencoder
%_bindir/mencoder
%_man1dir/mencoder.*
%if_disabled mplayer
%doc README AUTHORS Changelog.*
%dir %_sysconfdir/%name
%config %_sysconfdir/%name/codecs.conf
%endif
%endif


%if_with htmldocs
%files docs


%files doc-world
%dir %_docdir/%name-doc-%version
%lang(cs) %_docdir/%name-doc-%version/cs
%lang(de) %_docdir/%name-doc-%version/de
%lang(es) %_docdir/%name-doc-%version/es
%lang(fr) %_docdir/%name-doc-%version/fr
%lang(hu) %_docdir/%name-doc-%version/hu
%lang(it) %_docdir/%name-doc-%version/it
%lang(pl) %_docdir/%name-doc-%version/pl
%lang(zh_CN) %_docdir/%name-doc-%version/zh_CN


%files doc-tech
%dir %_docdir/%name-doc-%version
%_docdir/%name-doc-%version/tech


%files doc-en
%dir %_docdir/%name-doc-%version
%_docdir/%name-doc-%version/en


%files doc-ru
%dir %_docdir/%name-doc-%version
%_docdir/%name-doc-%version/ru
%endif


%files i18n


%files i18n-ru
%_mandir/ru/man1/*
%{?_enable_nls:%_datadir/locale/ru/LC_MESSAGES/*}


%if_enabled nls
%files i18n-uk
%_datadir/locale/uk/LC_MESSAGES/*
%endif


%files i18n-world
%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(zh) %_mandir/zh/man1/*
%if_enabled nls
%lang(bg) %_datadir/locale/bg/LC_MESSAGES/*
%lang(cs) %_datadir/locale/cs/LC_MESSAGES/*
%lang(de) %_datadir/locale/de/LC_MESSAGES/*
%lang(dk) %_datadir/locale/dk/LC_MESSAGES/*
%lang(el) %_datadir/locale/el/LC_MESSAGES/*
%lang(es) %_datadir/locale/es/LC_MESSAGES/*
%lang(fr) %_datadir/locale/fr/LC_MESSAGES/*
%lang(hu) %_datadir/locale/hu/LC_MESSAGES/*
%lang(it) %_datadir/locale/it/LC_MESSAGES/*
%lang(ja) %_datadir/locale/ja/LC_MESSAGES/*
%lang(ko) %_datadir/locale/ko/LC_MESSAGES/*
%lang(mk) %_datadir/locale/mk/LC_MESSAGES/*
%lang(nb) %_datadir/locale/nb/LC_MESSAGES/*
%lang(nl) %_datadir/locale/nl/LC_MESSAGES/*
%lang(pl) %_datadir/locale/pl/LC_MESSAGES/*
%lang(pt) %_datadir/locale/pt_BR/LC_MESSAGES/*
%lang(ro) %_datadir/locale/ro/LC_MESSAGES/*
%lang(sk) %_datadir/locale/sk/LC_MESSAGES/*
%lang(sv) %_datadir/locale/sv/LC_MESSAGES/*
%lang(sk) %_datadir/locale/sk/LC_MESSAGES/*
%lang(tr) %_datadir/locale/tr/LC_MESSAGES/*
%lang(zh_CN) %_datadir/locale/zh_CN/LC_MESSAGES/*
%lang(zh_TW) %_datadir/locale/zh_TW/LC_MESSAGES/*
%endif


%if_enabled mplayer
%if_with tools
%files tools
%_docdir/%name-tools-%version
#mplayer
%_bindir/mencvcd
%_bindir/midentify
%_bindir/mpconsole
%_bindir/mplmult.sh
%_bindir/psnr-video.sh
%_bindir/wma2ogg.pl
%if_enabled mencoder
#mencoder
%_bindir/dvd2divxscript.pl
%_bindir/qepdvcd.sh
%endif
#common
%_bindir/aconvert
%_bindir/divx2svcd
%_bindir/dump_mp4
%_bindir/encode2mpeglight
#other
%_bindir/alaw-gen
%_bindir/asfinfo
%_bindir/avi-fix
%_bindir/avisubdump
%_bindir/bmovl-test
%_bindir/calcbpp.pl
%_bindir/countquant.pl
%_bindir/movinfo
%_bindir/plotpsnr.pl
%_bindir/subedit.pl
%_bindir/subsearch.sh
%_bindir/vobshift.py
%_bindir/w32codec_dl.pl
%endif
%endif


%changelog

Full changelog you can see here

 
design & coding: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
current maintainer: Michael Shigorin