206 lines
6.6 KiB
RPMSpec
206 lines
6.6 KiB
RPMSpec
|
|
Name: mpv
|
|
Version: 0.41.0
|
|
Release: 0
|
|
License: GPL-2.0-or-later AND LGPL-2.1-or-later AND BSD-2-Clause AND BSD-3-Clause AND ISC AND MIT
|
|
Summary: Movie player playing most video formats and DVDs
|
|
URL: https://%{name}.io/
|
|
Source0: https://github.com/%{name}-player/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz
|
|
|
|
BuildRequires: gcc
|
|
BuildRequires: appstream-glib
|
|
BuildRequires: libatomic
|
|
BuildRequires: meson
|
|
BuildRequires: python3-docutils
|
|
BuildRequires: pkgconfig(alsa)
|
|
# BuildRequires: pkgconfig(caca)
|
|
BuildRequires: pkgconfig(dvdnav)
|
|
BuildRequires: pkgconfig(egl)
|
|
BuildRequires: pkgconfig(ffnvcodec)
|
|
BuildRequires: pkgconfig(gbm)
|
|
BuildRequires: pkgconfig(gl)
|
|
# BuildRequires: pkgconfig(jack)
|
|
BuildRequires: pkgconfig(lcms2)
|
|
BuildRequires: pkgconfig(libarchive) >= 3.4.0
|
|
BuildRequires: pkgconfig(libass)
|
|
BuildRequires: pkgconfig(libavcodec) >= 60.31.102
|
|
BuildRequires: pkgconfig(libavdevice) >= 60.3.100
|
|
BuildRequires: pkgconfig(libavfilter) >= 9.12.100
|
|
BuildRequires: pkgconfig(libavformat) >= 60.16.100
|
|
BuildRequires: pkgconfig(libavutil) >= 58.29.100
|
|
# BuildRequires: pkgconfig(libbluray)
|
|
# BuildRequires: pkgconfig(libcdio)
|
|
# BuildRequires: pkgconfig(libcdio_paranoia)
|
|
BuildRequires: pkgconfig(libdrm)
|
|
BuildRequires: pkgconfig(libdisplay-info)
|
|
BuildRequires: pkgconfig(libjpeg)
|
|
BuildRequires: pkgconfig(libpipewire-0.3) >= 0.3.57
|
|
BuildRequires: pkgconfig(libplacebo) >= 6.338.2
|
|
BuildRequires: pkgconfig(libpulse)
|
|
BuildRequires: pkgconfig(libswresample) >= 4.12.100
|
|
BuildRequires: pkgconfig(libswscale) >= 7.5.100
|
|
BuildRequires: pkgconfig(libva)
|
|
# BuildRequires: pkgconfig(lua-5.1)
|
|
# BuildRequires: pkgconfig(mujs)
|
|
# BuildRequires: pkgconfig(openal)
|
|
# BuildRequires: pkgconfig(rubberband)
|
|
BuildRequires: pkgconfig(sdl2)
|
|
# BuildRequires: pkgconfig(uchardet)
|
|
# BuildRequires: pkgconfig(vapoursynth)
|
|
BuildRequires: pkgconfig(vulkan)
|
|
BuildRequires: pkgconfig(wayland-client)
|
|
BuildRequires: pkgconfig(wayland-cursor)
|
|
BuildRequires: pkgconfig(wayland-egl)
|
|
BuildRequires: pkgconfig(wayland-protocols)
|
|
BuildRequires: pkgconfig(wayland-scanner)
|
|
BuildRequires: pkgconfig(x11)
|
|
BuildRequires: pkgconfig(xdamage)
|
|
BuildRequires: pkgconfig(xext)
|
|
BuildRequires: pkgconfig(xinerama)
|
|
BuildRequires: pkgconfig(xkbcommon)
|
|
BuildRequires: pkgconfig(xrandr)
|
|
BuildRequires: pkgconfig(zimg) >= 2.9
|
|
BuildRequires: pkgconfig(zlib)
|
|
|
|
Requires: hicolor-icon-theme
|
|
Provides: mplayer-backend
|
|
Recommends: (yt-dlp or youtube-dl)
|
|
Suggests: 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.
|
|
|
|
Mpv has an OpenGL, Vulkan, and D3D11 based video output that is capable of many
|
|
features loved by videophiles, such as video scaling with popular high quality
|
|
algorithms, color management, frame timing, interpolation, HDR, and more.
|
|
|
|
While mpv strives for minimalism and provides no real GUI, it has a small
|
|
controller on top of the video for basic control.
|
|
|
|
Mpv can leverage most hardware decoding APIs on all platforms. Hardware
|
|
decoding can be enabled at runtime on demand.
|
|
|
|
Powerful scripting capabilities can make the player do almost anything. There
|
|
is a large selection of user scripts on the wiki.
|
|
|
|
A straightforward C API was designed from the ground up to make mpv usable as
|
|
a library and facilitate easy integration into other applications.
|
|
|
|
%package libs
|
|
Summary: Dynamic library for Mpv frontends
|
|
Recommends: (yt-dlp or youtube-dl)
|
|
Suggests: yt-dlp
|
|
|
|
%description libs
|
|
This package contains the dynamic library libmpv, which provides access to Mpv.
|
|
|
|
%package devel
|
|
Summary: Development package for libmpv
|
|
Provides: %{name}-libs-devel = %{?epoch:%{epoch}:}%{version}-%{release}
|
|
Obsoletes: %{name}-libs-devel < %{?epoch:%{epoch}:}%{version}-%{release}
|
|
Requires: %{name}-libs%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
|
|
|
%description devel
|
|
This package contains development header files and libraries for Mpv.
|
|
|
|
%prep
|
|
%autosetup -p1
|
|
sed -e "s|/usr/local/etc|%{_sysconfdir}/%{name}|" -i etc/%{name}.conf
|
|
|
|
%build
|
|
%meson --auto-features=auto \
|
|
-Dalsa=enabled \
|
|
-Dbuild-date=false \
|
|
-Dcaca=disabled \
|
|
-Dcdda=disabled \
|
|
-Dcplayer=true \
|
|
-Dcplugins=enabled \
|
|
-Dcuda-hwaccel=enabled \
|
|
-Dcuda-interop=enabled \
|
|
-Ddmabuf-wayland=enabled \
|
|
-Ddrm=enabled \
|
|
-Ddvbin=enabled \
|
|
-Ddvdnav=enabled \
|
|
-Degl-drm=enabled \
|
|
-Degl-wayland=enabled \
|
|
-Degl=enabled \
|
|
-Dgbm=enabled \
|
|
-Dgl=enabled \
|
|
-Dhtml-build=enabled \
|
|
-Diconv=enabled \
|
|
-Djack=disabled \
|
|
-Djavascript=disabled \
|
|
-Djpeg=enabled \
|
|
-Dlcms2=enabled \
|
|
-Dlibarchive=enabled \
|
|
-Dlibavdevice=enabled \
|
|
-Dlibbluray=disabled \
|
|
-Dlibmpv=true \
|
|
-Dlua=disabled \
|
|
-Dmanpage-build=enabled \
|
|
-Dopenal=disabled \
|
|
-Dopensles=disabled \
|
|
-Doss-audio=disabled \
|
|
-Dpipewire=enabled \
|
|
-Dplain-gl=enabled \
|
|
-Dpulse=enabled \
|
|
-Drubberband=disabled \
|
|
-Dsdl2-audio=enabled \
|
|
-Dsdl2-gamepad=enabled \
|
|
-Dsdl2-video=enabled \
|
|
-Dshaderc=disabled \
|
|
-Dsndio=disabled \
|
|
-Dspirv-cross=disabled \
|
|
-Duchardet=disabled \
|
|
-Dvaapi-drm=enabled \
|
|
-Dvaapi-wayland=enabled \
|
|
-Dvaapi=enabled \
|
|
-Dvapoursynth=disabled \
|
|
-Dvector=enabled \
|
|
-Dvulkan=disabled \
|
|
-Dwayland=enabled \
|
|
-Dwerror=false \
|
|
-Dzimg=enabled \
|
|
-Dzlib=enabled
|
|
%meson_build
|
|
%install
|
|
%meson_install
|
|
install -d -m 0755 %{buildroot}%{_sysconfdir}/%{name}
|
|
|
|
%check
|
|
if command -v appstream-util >/dev/null 2>&1; then
|
|
if [ -f "%{buildroot}%{_datadir}/metainfo/%{name}.metainfo.xml" ]; then
|
|
appstream-util validate-relax --nonet %{buildroot}%{_datadir}/metainfo/%{name}.metainfo.xml
|
|
fi
|
|
fi
|
|
if command -v desktop-file-validate >/dev/null 2>&1; then
|
|
desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
|
|
fi
|
|
|
|
%files
|
|
%docdir %{_docdir}/%{name}/
|
|
%license LICENSE.GPL LICENSE.LGPL Copyright
|
|
%{_docdir}/%{name}/
|
|
%{_bindir}/%{name}
|
|
%{_datadir}/applications/%{name}.desktop
|
|
%{_datadir}/icons/hicolor/*/apps/%{name}*.*
|
|
%{_datadir}/bash-completion/completions/%{name}
|
|
%{_datadir}/zsh/site-functions/_%{name}
|
|
%{_datadir}/fish/vendor_completions.d/%{name}.fish
|
|
%{_mandir}/man1/%{name}.*
|
|
%{_datadir}/metainfo/%{name}.metainfo.xml
|
|
%dir %{_sysconfdir}/%{name}/
|
|
|
|
%files libs
|
|
%license LICENSE.GPL LICENSE.LGPL Copyright
|
|
%{_libdir}/lib%{name}.so.2{,.*}
|
|
|
|
%files devel
|
|
%{_includedir}/%{name}/
|
|
%{_libdir}/lib%{name}.so
|
|
%{_libdir}/pkgconfig/%{name}.pc
|