llyyr
93bda8acd4
This will be upstreamed soon so we can get rid of it then. - Update to version 0.39.0+git20240923.b64c53f730bd: * ci/lint-commit-msg: make some minor adjustments to the rules * Update MPV_VERSION * Release 0.39.0 * TOOLS/gen-interface-changes: small usability improvement * ci/msys2: disable some features for 32-bit build * console.lua: fix the height calculation with --video-osd=no * meson: use relative file paths for file2string * ytdl_hook: make path and json available to other scripts * select.lua: don't use add_forced_key_binding * ytdl_hook: fix typo (chapters -> chapter) * DOCS/man/options.rst: further tweak sub-ass-use-video-data description * TOOLS/cycle-deinterlace-pullup.lua: fix removing the filter * options: fix missing comma in default watch_later_options values * workflows/comment: fix workflow syntax * Revert "mp_image: don't restore image params if they're unknown" * f_hwtransfer: filter out unsupported hwuploads from p->fmts * hwdec/vaapi: additionally probe hwupload format conversions * wayland: properly use tranche_formats when getting compositor formats * vo_dmabuf_wayland: reject formats not supported by the GPU * wayland: rename wayland_format to compositor_format * sub/sd_ass: don't override event attributes to mpv defaults * TOOLS/gen-mpv-desktop.py: set --no-config when probing protocols * f_auto_filters: don't set interlaced-only for userdeint * DOCS/man/options.rst: fix nono typo * vo_gpu_next: allow setting antiring value for cscale * DOCS/man/options.rst: clarify sub-ass-use-video-data a bit * DOCS/interface-changes: fix format for sub-ass-use-video-data * console.lua: respect --video-osd=no * console.lua: truncate more characters with --msg-module and --msg-time * console.lua: fix highlighting the selected item with --msg-module * osdep/terminal-win: reset tmp_buffers_key when uninit * player/main: revert msg uninit order changes * DOCS/man/options.rst: update description of `hwdec=auto` behaviour * sub/osd: add log if osd rendering takes too long time * meson: require Vulkan loader/headers >= 1.3.238 * vd_lavc: add Vulkan hardware decoding to autoprobe * console.lua: sync colors after msg.c change * msg: don't use bold colors and instead use bright ones * console.lua: fix completing empty --dscale and --cscale * vo_gpu{,_next}: convert scale options to type choice * stream: don't mark stdin as a filesystem file * vulkan: don't tolerate suboptimal swapchain configurations * ao_alsa: assume device lost if we couldn't recover after 10 attempts * ao_alsa: don't early exit out of the loop if we have an error * ytdl_hook: add some more yt-dlp tags * sub: add ass-video-aspect-override option * sub: merge vsfilter-aspect and vsfilter-blur-compat options * vf_d3d11vpp: adjust options for userdeint filter * wayland: fix vertical resizing * various: use talloc_replace * ta_utils: add talloc_replace * ta_talloc: remove non-existent function prototype * stats.lua: don't use ASS tags when use_ass is false * player/main: uninit input after terminal uninit * video/out/wayland_common: set key state only on keyboard_enter keys * input: add MP_KEY_STATE_SET_ONLY * input/keycodes: fix typo * ci/win32: add dav1d * stats.lua: fix text size/alignment for key bindings page * DOCS/man/options: update defaults for `--hwdec-codecs` * DOCS/man/options: fix deinterlacing typo * input: fix use of bstr like null terminated one * osdep/io: redefine off_t for Windows build * sub: remove dead code * vo_gpu: restore dovi mapping directly on image_params after init * mp_image: don't restore image params if they're unknown * etc/mpv.conf: update stale comment about mpv config location * vo_libmpv: use fallback colorspace for Dolby Vision * input.conf: swap the positions of values for `ctrl+h` binding * vf_d3d11vpp: add output format selection * vf_format: restore image params before dovi mapping * vo_gpu: use fallback colorspace for Dolby Vision * mp_image: save fallback colorspace when dovi metadata is present * ci/linux: disable leak detector temporarily * command: expand ~ paths in load-config-file * video/out/gpu/video: use video rectangle for video-target-params * video/out/wayland_common: don't pass mouse inputs on resizing edges * fuzzer_options_parser: add options parser fuzzing * DOCS/vf: update obsolete note hwdec in d3d11vpp * f_hwtransfer: fix best upload format selection * vf_d3d11vpp: skip conversion mode selection if not requested * vf_d3d11vpp: don't force nv12 output * vf_d3d11vpp: alloc output frames through AVHWFramesContext * vulkan/context_display: don't fake avalibity of callbacks * video/csputils: remove space from choice option for chroma loc * DOCS/man/vf: don't document removed vf_format field * console.lua: pre-filter searched commands if the line is filled * playlist: fix setting current item with autocreate-playlist * demux_mkv: fix av_parser_codec leak * console.lua: add numpad + - * / keybindings * vf_d3d11vpp: ensure width and height is even * vf_d3d11vpp: add support for Intel VSR and NVIDIA RTX scaling modes * vf_d3d11vpp: add support for scaling * DOCS/man/options.rst: add a note about the effective limit of --pitch * DOCS/man/mpv.rst: add documentation for the numpad volume key bindings * DOCS/interface-changes: fix KP_DIVIDE typo * github/issue_template: don't use markdown for "Important Information" * github/issue_template: ask users to check for already supported features * hwdec_vulkan: allow using multiple decoding family queues * hwdec_vulkan: update to new libavutil queue family API * console.lua: implement history search * Revert "ci/mingw: don't run test on 32-bit binary" * ci/{mingw,win32}: specify nasm as it seems to be required now by libass * img_format: prevent an offset >= MP_MAX_PLANES into bpp * common/playlist: add missing playlist_dir clear * player/loadfile: don't clear watch later for auto playlist parent file * context_drm_egl: always use drmModeAddFB2WithModifiers * drm_prime: fix use of formats with modifiers * input.conf: add KP_DIVIDE/KP_MULTIPLY key bindings * various: handle numpad add/subtract/multiply/divide keycodes * input/keycodes: add KP_ADD/SUBTRACT/MULTIPLY/DIVIDE keycodes * demux_playlist: use --directory-filter-types for --autocreate-playlist * common/playlist: add playlist_set_current() * player/misc: add str_in_list() and use it * demux_playlist: add only media files when opening directory * options: add --{video,audio,image}-exts * demux_playlist: add --directory-filter-types * demux_playlist: add --autocreate-playlist-{video,audio,image}-exts * demux: add --autocreate-playlist * video: hwdec: extend look up of hwdecs to consider device type as well * vo: hwdec: add AVHWDeviceType property to hwdecs * DOCS/man: improve explanation on how to shift notes with --pitch * audio: add pitch-shifting feature * ci/freebsd: update to 14.1 * ci/win32: update to FFmpeg 7.0 * workflows/fuzz: report OOMs and timeouts * console.lua: guard user-data/osc/margins value * DOCS/man/input: document user-data/osc/margins * DOCS/man/input: reserve user-data/osc and user-data/mpv sub-paths * {osc,select}.lua: show playlist entries with trailing / * input: fix inverted condition * input: don't mutate 'section' variable inside a loop * vo_libmpv: don't steal pointer provided by the API user * fuzzer_set_property: ensure idle is enabled * loadfile: fix relative file open exclusion for fuzzing * input: use bstr for section name * demux_mf: disable glob for fuzzing * loadfile,select.lua: print only one bitrate * player/audio: invert audio_started boolean * ad_spdif: update list of DTS_HD profiles * TOOLS/stats-conv: minor cleanup * TOOLS/stats-conv: silence linter messages * TOOLS/stats-conv: convert to pyqt6 * github/workflows/{build,fuzz}: exclude pr/issue template paths * github/issue_template: fix paragraph spacing * win32/smtc: add thumbnail support * ci/{msys2,win32}: explicitly enable win32-smtc * win32: add Media Control support * ci/msys2: install cppwinrt * osdep/threads-win32: cast function type directly to avoid warnings * build: bump minimal Windows version to 10 * VERSION: rename to MPV_VERSION to avoid standard library header conflict * meson: define WINRT_NO_SOURCE_LOCATION * meson: minor adjustment for compatibility * input/ipc: use bstr for fd parsing * input/ipc-win: support fd:// for --input-ipc-client * DOCS/man: add more --input-ipc-client references * player/scripting: remove outdated comment about posix_spawn * meson: check for vulkan headers * DOCS/compile-windows.md: fix MSYS2 packages * build: detect VT_GETMODE on OpenBSD * github/issue_template: add a note about log file * player/command: fix --force-window=yes acting like immediate * player: don't decrement --ab-loop-count=N and add remaining-ab-loops * player: don't decrement --loop-file=N and add remaining-file-loops * player: remove empty line from --help * options/m_config_frontend: remove empty line from --show-profile * options: move all wayland specific options to vo_opts * various: allow changing GPU API options at runtime * m_option: add UPDATE_VO flag * external_files: allow specifying --cover-art-whitelist filenames * DOCS/options: remove misdirection in `sub-color` * sd_ass: fix margin y scale with font size * DOCS/man/options: clarify subtitle scale options * sd_ass: fix sub scale with window when use_margins is enabled * command: remove deprecated packet-*-bitrate properties * loadfile,select.lua: print bitrates of tracks * various: sync shown track flags * various: print Image instead or Video for image tracks * osc.lua: don't hide osc when touch is active * player: remove empty line from --version * fuzzer: stop player after 5 seconds of playback * playloop: move run_command_opts to command_event for playback-restart * command: run input commands after idle state is ready * workflows/fuzz: run all sanitizers * vo_gpu_next: support --gamma-factor * ci/mingw: update dependency versions * test/libmpv_lifetime: don't re-define ASAN macro * player/command: don't return ill-formed node if there is no default val * fuzzer_set_property: reset sstep to 0 to avoid seeking loop * test/libmpv_lifetime: activate test on macOS * mac/vulkan: error out on context creation without an NSApplication * demux/ebml: bump ebml size limit to 512 MiB * ci: add fuzzing of pull requests for 20 minutes * player/command: fix M_PROPERTY_KEY_ACTION for filter metadata * DOCS/input: fix filter name without label * wayland: avoid potential floating point errors while scaling * player/{command,scripting}: log subprocess execution * demux_mf: don't run glob() on urls * demux_mf: support URLs in @listfile and filemask * x11_common: handle runtime keepaspect/keepaspect-window change * sub: add (sub/osd)-border-style; renaming sub options * ytdl_hook.lua: fix hook triggering while it shouldn't * input.conf: add zoom, pan, scale and rotate keybinds for numpad * player/core: add core thread handle to MPContext * fuzzer_set_property: set duration to 0.1s * test/libmpv_lifetime: add test to test libmpv ability to reinit itself * win32: unregister window class on dll detach * vo/opengl/context_win: fix crash on init failure * demux_mkv: ignore duplicated BlockAdditions to avoid memory leak * player/loadfile: prevent fuzzers from loading absolute directories * player/loadfile: cancel playback cleanly if thread fails to start * demux_edl: don't try to extract dirname from self-expanding protocols * vo_dmabuf_wayland: don't use -ve margins in window size calculation * DOCS/input: fix "does does" typo * ao: don't add buffer length to timeout twice * ao: use the right type for pending samples * demux/ebml: fix ebml size check * stream_bluray: check fread return value * test/libmpv_encode: check fread return value * wayland: use wl_list_empty instead of wl_list_length * wayland: bump wayland-protocol requirement to 1.31 * ao_pipewire: bump minimum libpipewire version to 0.3.57 * ytdl_hook.lua: allow changing try_ytdl_first during runtime OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/mpv?expand=0&rev=311
233 lines
7.8 KiB
RPMSpec
233 lines
7.8 KiB
RPMSpec
#
|
|
# spec file for package mpv
|
|
#
|
|
# Copyright (c) 2024 SUSE LLC
|
|
# Copyright (c) 2015 Packman Team <packman@links2linux.de>
|
|
# Copyright (c) 2012 Jiri Slaby <jslaby@suse.de>
|
|
# Copyright (c) 2011-2012 Pascal Bleser <pascal.bleser@opensuse.org>
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%define lname libmpv2
|
|
Name: mpv
|
|
Version: 0.39.0+git20240923.b64c53f730bd
|
|
Release: 0
|
|
Summary: Advanced general-purpose multimedia player
|
|
License: GPL-2.0-or-later
|
|
Group: Productivity/Multimedia/Video/Players
|
|
URL: http://mpv.io
|
|
Source: %{name}-%{version}.tar.xz
|
|
Source2: %{name}.changes
|
|
# PATCH-FIX-OPENSUSE do not require equal libav versions, obs rebuilds as needed
|
|
Patch0: mpv-make-ffmpeg-version-check-non-fatal.patch
|
|
Patch1: https://patch-diff.githubusercontent.com/raw/mpv-player/mpv/pull/14904.patch
|
|
BuildRequires: bash
|
|
BuildRequires: hicolor-icon-theme
|
|
BuildRequires: linux-kernel-headers
|
|
BuildRequires: meson >= 0.60.3
|
|
# Needed any lua to convert the bash-completion
|
|
BuildRequires: lua
|
|
BuildRequires: perl
|
|
BuildRequires: pkgconfig
|
|
BuildRequires: python3-docutils
|
|
BuildRequires: update-desktop-files
|
|
BuildRequires: pkgconfig(alsa) >= 1.0.18
|
|
BuildRequires: pkgconfig(caca) >= 0.99.beta18
|
|
BuildRequires: pkgconfig(dri)
|
|
BuildRequires: pkgconfig(dvdnav) >= 4.2.0
|
|
BuildRequires: pkgconfig(dvdread) >= 4.1.0
|
|
BuildRequires: pkgconfig(egl) >= 1.4
|
|
BuildRequires: pkgconfig(ffnvcodec) >= 11.1.5.1
|
|
BuildRequires: pkgconfig(gbm) >= 17.1.0
|
|
BuildRequires: pkgconfig(gl)
|
|
BuildRequires: pkgconfig(jack)
|
|
BuildRequires: pkgconfig(lcms2) >= 2.6
|
|
BuildRequires: pkgconfig(libarchive) >= 3.4.0
|
|
BuildRequires: pkgconfig(libass) >= 0.12.2
|
|
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(libavif) >= 0.11.1
|
|
BuildRequires: pkgconfig(libavutil) >= 58.29.100
|
|
BuildRequires: pkgconfig(libbluray) >= 0.3.0
|
|
BuildRequires: pkgconfig(libcdio)
|
|
BuildRequires: pkgconfig(libcdio_cdda)
|
|
BuildRequires: pkgconfig(libcdio_paranoia)
|
|
BuildRequires: pkgconfig(libdrm) >= 2.4.105
|
|
BuildRequires: pkgconfig(libiso9660)
|
|
BuildRequires: pkgconfig(libjpeg)
|
|
BuildRequires: pkgconfig(libjxl)
|
|
BuildRequires: pkgconfig(libjxl_threads)
|
|
BuildRequires: pkgconfig(libpulse) >= 1.0
|
|
BuildRequires: pkgconfig(libsixel) >= 1.5
|
|
BuildRequires: pkgconfig(libswresample) >= 4.12.100
|
|
BuildRequires: pkgconfig(libswscale) >= 7.5.100
|
|
BuildRequires: pkgconfig(libva) >= 1.1.0
|
|
BuildRequires: pkgconfig(lua5.1)
|
|
BuildRequires: pkgconfig(openal) >= 1.13
|
|
BuildRequires: pkgconfig(python3)
|
|
BuildRequires: pkgconfig(rubberband) >= 3.0.0
|
|
BuildRequires: pkgconfig(uchardet)
|
|
BuildRequires: pkgconfig(vapoursynth) >= 56
|
|
BuildRequires: pkgconfig(vapoursynth-script) >= 56
|
|
BuildRequires: pkgconfig(vdpau) >= 0.2
|
|
BuildRequires: pkgconfig(x11) >= 1.0.0
|
|
BuildRequires: pkgconfig(xext) >= 1.0.0
|
|
BuildRequires: pkgconfig(xkbcommon) >= 0.3.0
|
|
BuildRequires: pkgconfig(xpresent) >= 1.0.0
|
|
BuildRequires: pkgconfig(xrandr) >= 1.4.0
|
|
BuildRequires: pkgconfig(xscrnsaver) >= 1.0.0
|
|
BuildRequires: pkgconfig(xv)
|
|
BuildRequires: pkgconfig(zimg) >= 2.9
|
|
BuildRequires: pkgconfig(zlib)
|
|
Requires: hicolor-icon-theme
|
|
Requires(post): hicolor-icon-theme
|
|
Requires(post): update-desktop-files
|
|
Requires(postun): hicolor-icon-theme
|
|
Requires(postun): update-desktop-files
|
|
# Used via LUA scripts
|
|
Recommends: yt-dlp
|
|
Conflicts: mpv-plugin-mpris < 0.4
|
|
# Obsoletion of mplayer2 that is dead for 2 years now
|
|
Provides: mplayer2 = 20140101
|
|
Obsoletes: mplayer2 < 20140101
|
|
BuildRequires: pkgconfig(libpipewire-0.3) >= 0.3.48
|
|
BuildRequires: pkgconfig(libplacebo) >= 6.338.2
|
|
BuildRequires: pkgconfig(libva-wayland) >= 1.1.0
|
|
BuildRequires: pkgconfig(mujs)
|
|
BuildRequires: pkgconfig(shaderc)
|
|
BuildRequires: pkgconfig(vulkan) >= 1.3.238
|
|
BuildRequires: pkgconfig(wayland-client) >= 1.20.0
|
|
BuildRequires: pkgconfig(wayland-cursor) >= 1.20.0
|
|
BuildRequires: pkgconfig(wayland-egl) >= 9.0.0
|
|
BuildRequires: pkgconfig(wayland-protocols) >= 1.25
|
|
BuildRequires: pkgconfig(wayland-scanner)
|
|
BuildRequires: pkgconfig(wayland-server)
|
|
# JIT for lua.
|
|
%ifarch aarch64 %{ix86} x86_64
|
|
BuildRequires: pkgconfig(luajit)
|
|
%else
|
|
BuildRequires: pkgconfig(lua5.1)
|
|
%endif
|
|
|
|
%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.
|
|
|
|
%package bash-completion
|
|
Summary: Bash Completion for %{name}
|
|
Group: Productivity/Multimedia/Video/Players
|
|
Requires: %{name} = %{version}
|
|
Requires: bash-completion
|
|
Recommends: xrandr
|
|
Supplements: (mpv and bash)
|
|
BuildArch: noarch
|
|
|
|
%description bash-completion
|
|
Bash command line completion support for %{name}.
|
|
|
|
%package zsh-completion
|
|
Summary: ZSH Completion for %{name}
|
|
Group: Productivity/Multimedia/Video/Players
|
|
Requires: %{name} = %{version}
|
|
Supplements: (mpv and zsh)
|
|
BuildArch: noarch
|
|
|
|
%description zsh-completion
|
|
ZSH command line completion support for %{name}.
|
|
|
|
%package devel
|
|
Summary: A library to link together with mpv player
|
|
Group: Development/Libraries/C and C++
|
|
Requires: %{lname} = %{version}
|
|
|
|
%description devel
|
|
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.
|
|
|
|
This package contains all the development files.
|
|
|
|
%package -n %{lname}
|
|
Summary: A library to link together with mpv player
|
|
Group: System/Libraries
|
|
|
|
%description -n %{lname}
|
|
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.
|
|
|
|
This package contains a library that can other apps use to utilize the mpv
|
|
features.
|
|
|
|
%prep
|
|
%autosetup -p1
|
|
|
|
# I hate UNKNOWN so lets put decent info there.
|
|
MODIFIED="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{SOURCE2}")"
|
|
DATE="$(date -d "$MODIFIED" "+%%b %%e %%Y")"
|
|
sed -i "s|UNKNOWN|$DATE|g;s|VERSION|\"%{version}\"|g" common/version.c
|
|
|
|
%build
|
|
# We don't want to rebuild all the time.
|
|
myopts=" -Dbuild-date=false"
|
|
%meson \
|
|
--auto-features=auto \
|
|
-Dcdda=enabled \
|
|
-Dlibmpv=true \
|
|
-Ddvbin=enabled \
|
|
-Ddvdnav=enabled \
|
|
-Dopenal=enabled \
|
|
${myopts} \
|
|
%{?nil}
|
|
%meson_build
|
|
|
|
%install
|
|
%meson_install
|
|
mkdir -p %{buildroot}/%{_defaultdocdir}/%{name}
|
|
mv %{buildroot}/%{_datadir}/doc/%{name}/* %{buildroot}/%{_defaultdocdir}/%{name}/
|
|
|
|
%check
|
|
%meson_test
|
|
|
|
%post -n %{lname} -p /sbin/ldconfig
|
|
%postun -n %{lname} -p /sbin/ldconfig
|
|
|
|
%files
|
|
%license LICENSE.GPL Copyright
|
|
%doc README.md RELEASE_NOTES
|
|
%doc %{_defaultdocdir}/%{name}/*
|
|
%dir %{_sysconfdir}/%{name}/
|
|
%config %{_sysconfdir}/%{name}/encoding-profiles.conf
|
|
%{_bindir}/%{name}
|
|
%{_datadir}/applications/%{name}.desktop
|
|
%{_datadir}/icons/hicolor
|
|
%{_datadir}/metainfo/mpv.metainfo.xml
|
|
%{_mandir}/man?/%{name}.?%{?ext_man}
|
|
|
|
%files zsh-completion
|
|
%{_datadir}/zsh/site-functions/_mpv
|
|
|
|
%files bash-completion
|
|
%{_datadir}/bash-completion/completions/mpv
|
|
|
|
%files -n %{lname}
|
|
%{_libdir}/*.so.*
|
|
|
|
%files devel
|
|
%{_includedir}/%{name}/
|
|
%{_libdir}/*.so
|
|
%{_libdir}/pkgconfig/%{name}.pc
|
|
|
|
%changelog
|