%define major 2 %define libname %mklibname %{name} %{major} %define devname %mklibname %{name} -d Summary: Movie player playing most video formats and DVDs Name: mpv Version: 0.36.0 Release: %mkrel 1 License: GPLv2+ and LGPLv2+ Group: Video/Players Url: https://mpv.io/ Source0: https://github.com/%{name}-player/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz # # Security Patches # P100 -> ... # # CVE-20yy-z #Patch100: xxx BuildRequires: desktop-file-utils BuildRequires: hicolor-icon-theme BuildRequires: imagemagick BuildRequires: python3-docutils BuildRequires: meson BuildRequires: ladspa-devel BuildRequires: ffmpeg-devel >= 5.1 BuildRequires: pkgconfig(libjpeg) BuildRequires: pkgconfig(krb5) BuildRequires: pkgconfig(libmng) BuildRequires: pkgconfig(libmpg123) BuildRequires: pkgconfig(libv4lconvert) BuildRequires: linux-userspace-headers BuildRequires: pkgconfig(lua) BuildRequires: pkgconfig(ncurses) BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(caca) BuildRequires: pkgconfig(dri) BuildRequires: pkgconfig(dvdnav) BuildRequires: pkgconfig(dvdread) BuildRequires: pkgconfig(enca) BuildRequires: pkgconfig(jack) BuildRequires: pkgconfig(lcms2) BuildRequires: pkgconfig(libarchive) BuildRequires: pkgconfig(libbluray) BuildRequires: pkgconfig(libbs2b) BuildRequires: pkgconfig(libcdio) BuildRequires: pkgconfig(libcdio_cdda) BuildRequires: pkgconfig(libcdio_paranoia) BuildRequires: pkgconfig(libguess) BuildRequires: pkgconfig(libiso9660) BuildRequires: pkgconfig(libudf) BuildRequires: pkgconfig(libva) BuildRequires: pkgconfig(libva-x11) BuildRequires: pkgconfig(luajit) BuildRequires: pkgconfig(openal) BuildRequires: pkgconfig(portaudio-2.0) BuildRequires: pkgconfig(sndio) BuildRequires: pkgconfig(uchardet) BuildRequires: pkgconfig(vdpau) BuildRequires: pkgconfig(egl) BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(libass) BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-cursor) BuildRequires: pkgconfig(wayland-protocols) BuildRequires: pkgconfig(wayland-scanner) BuildRequires: pkgconfig(wayland-server) BuildRequires: pkgconfig(wayland-egl) BuildRequires: wayland-tools BuildRequires: pkgconfig(rubberband) >= 3.0.0 BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xpresent) BuildRequires: pkgconfig(xinerama) BuildRequires: pkgconfig(xkbcommon) BuildRequires: pkgconfig(xscrnsaver) BuildRequires: pkgconfig(xv) BuildRequires: pkgconfig(xxf86vm) BuildRequires: pkgconfig(zlib) BuildRequires: perl BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(sdl2) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(libpipewire-0.3) %if 0%{?mageia} >= 10 || 0%{!?has_pandoc:1} BuildRequires: mesaegl-devel BuildRequires: pkgconfig(liblircclient0) # Why is libquvi necessary? # It's abandoned and doesn't seem to be used in mpv. BuildRequires: pkgconfig(libquvi-0.9) BuildRequires: pkgconfig(smbclient) BuildRequires: pkgconfig(xorg-server) BuildRequires: yasm %endif Requires: hicolor-icon-theme Requires: %{libname} = %{version}-%{release} Recommends: (youtube-dl or yt-dlp) %description Mpv is a movie player based on MPlayer and mplayer2. It supports a wide variety of video file formats, audio and video codecs, and subtitle types. Special input URL types are available to read input from a variety of sources other than disk files. Depending on platform, a variety of different video and audio output methods are supported. %files %doc README.md RELEASE_NOTES etc/input.conf DOCS/edl-mpv.rst DOCS/encoding.rst DOCS/interface-changes.rst DOCS/mplayer-changes.rst DOCS/release-policy.md %license LICENSE.GPL LICENSE.LGPL Copyright %{_docdir}/%{name}/mplayer-input.conf %{_docdir}/%{name}/mpv.conf %{_docdir}/%{name}/restore-old-bindings.conf %{_bindir}/%{name} %{_datadir}/applications/%{name}.desktop %{_datadir}/bash-completion/completions/mpv %{_datadir}/icons/hicolor/*/apps/%{name}.* %{_datadir}/icons/hicolor/*/apps/%{name}-symbolic.svg %dir %{_datadir}/zsh/site-functions %{_datadir}/zsh/site-functions/_mpv %{_mandir}/man1/%{name}.* %dir %{_sysconfdir}/%{name} %{_sysconfdir}/%{name}/encoding-profiles.conf %{_datadir}/metainfo/mpv.metainfo.xml #------------------------------------ %package -n %{libname} Summary: Library for %{name} Group: System/Libraries %description -n %{libname} Mpv is a movie player based on MPlayer and mplayer2. It supports a wide variety of video file formats, audio and video codecs, and subtitle types. Special input URL types are available to read input from a variety of sources other than disk files. Depending on platform, a variety of different video and audio output methods are supported. %files -n %{libname} %doc README.md %license LICENSE.GPL LICENSE.LGPL Copyright %{_libdir}/*.so.%{major}{,.*} #------------------------------------ %package -n %{devname} Summary: Development files for %{name} Group: Development/C Requires: %{libname} = %{version}-%{release} Provides: %{name}-devel = %{version}-%{release} %description -n %{devname} Mpv is a movie player based on MPlayer and mplayer2. It supports a wide variety of video file formats, audio and video codecs, and subtitle types. Special input URL types are available to read input from a variety of sources other than disk files. Depending on platform, a variety of different video and audio output methods are supported. %files -n %{devname} %doc README.md DOCS/client-api-changes.rst DOCS/compatibility.rst DOCS/contribute.md DOCS/interface-changes.rst DOCS/tech-overview.txt DOCS/waf-buildsystem.rst %license LICENSE.GPL LICENSE.LGPL Copyright %dir %{_includedir}/%{name} %{_includedir}/%{name}/client.h %{_includedir}/%{name}/render.h %{_includedir}/%{name}/render_gl.h %{_includedir}/%{name}/stream_cb.h %{_libdir}/*.so %{_libdir}/pkgconfig/%{name}.pc #---------------------------------------------------------------------------- %prep %setup -q %autopatch -p1 %build %meson \ -Dbuild-date=false \ -Dopenal=enabled \ -Dcdda=enabled \ -Ddvbin=enabled \ -Ddvdnav=enabled \ -Dpulse=enabled \ -Dwayland=enabled \ -Degl-wayland=enabled \ -Degl-x11=enabled \ -Dvaapi=enabled \ -Dlibmpv=true \ -Dsdl2=enabled \ -Ddrm=enabled \ -Dlua=luajit \ --auto-features=auto %meson_build %install %meson_install desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop