From 9bf157cc307e5424fb04e4831da4672b4e230a83e4925d44a2f5c6fe05bd6f34 Mon Sep 17 00:00:00 2001 From: llyyr Date: Mon, 31 Jul 2023 11:56:12 +0000 Subject: [PATCH] Accepting request 1101508 from home:llyyr:branches:multimedia:apps - Remove waf build: removed upstream - Make meson a hard requirement now - Bump libplacebo requirement to 6.292.0 for Tumbleweed - Add patch 0001-Revert-meson-bump-required-version-to-0.62.patch to lower meson requirement for Leap - Update to version 0.36.0+git.20230730.1bbc7a2c: * ao_sndio: use sio_flush() to improve controls responsiveness * draw_bmp: fix overflowing coordinates in mark_rcs * Revert "audio: add AOCONTROL_UPDATE_MEDIA_ROLE" * Revert "ao_pipewire: handle AOCONTROL_UPDATE_MEDIA_ROLE" * meson: look for linux/input-event-codes.h with libwayland flags * version.py: fix build date * options: restore old default sub selection behavior * vo_gpu_next: fix assertion on wayland * vo_gpu_next: delay swapchain submit until flip_frame() * path-win: move state directory to %LOCALAPPDATA% * path-win: add subdirectory for cache * Revert "ci/msys2: double down on running meson through python3.11" * ad_spdif: fix segfault due to early deallocation * test: enhance libmpv test * player/video: check for track and decoder existence * video_writer: fix gamma for YUV screenshots * image_writer: log pixfmt conversion * encode_lavc: fix leak of codecpar * zimg: fix abort on subsampled input with odd heights * demux_mkv: add missing space to log msg * build: remove unneeded libdl requirement for vaapi * build: refactor vaapi handling * ci/mingw: reduce git clone depth to 1 * ci/mingw: use ccache * ci/mingw: disable fail-fast * ci/mingw: check if binary is runnable before packaging * language-posix: as a fallback, treat "C" as "en" * msg: print MSGL_WARN and higher error messages to stderr * build: vaapi-x-egl is not used anywhere, remove it * build: vaapi-egl should explicitly depend on egl * build: vaapi-drm and vaapi-wayland do not depend on egl * ci/mingw: update luajit to fix i686 crashes * wayland: restore xkb_keysym_to_utf8 handling * build: internally rename gl-wayland to egl-wayland * waf: remove waf as a build system OBS-URL: https://build.opensuse.org/request/show/1101508 OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/mpv?expand=0&rev=297 --- .gitattributes | 2 - ...-meson-bump-required-version-to-0.62.patch | 62 +++++++++++++++ _servicedata | 2 +- mpv-0.36.0+git.20230723.60a26324.tar.xz | 3 - mpv-0.36.0+git.20230730.1bbc7a2c.tar.xz | 3 + mpv.changes | 45 +++++++++++ mpv.spec | 77 ++++--------------- waf-2.0.24 | 3 - 8 files changed, 125 insertions(+), 72 deletions(-) create mode 100644 0001-Revert-meson-bump-required-version-to-0.62.patch delete mode 100644 mpv-0.36.0+git.20230723.60a26324.tar.xz create mode 100644 mpv-0.36.0+git.20230730.1bbc7a2c.tar.xz delete mode 100644 waf-2.0.24 diff --git a/.gitattributes b/.gitattributes index a205343..9b03811 100644 --- a/.gitattributes +++ b/.gitattributes @@ -21,5 +21,3 @@ *.xz filter=lfs diff=lfs merge=lfs -text *.zip filter=lfs diff=lfs merge=lfs -text *.zst filter=lfs diff=lfs merge=lfs -text -## Specific LFS patterns -waf-2.0.24 filter=lfs diff=lfs merge=lfs -text diff --git a/0001-Revert-meson-bump-required-version-to-0.62.patch b/0001-Revert-meson-bump-required-version-to-0.62.patch new file mode 100644 index 0000000..a85eb4e --- /dev/null +++ b/0001-Revert-meson-bump-required-version-to-0.62.patch @@ -0,0 +1,62 @@ +From b79288e109c7d792ff4b37dabf679afa81dbab9d Mon Sep 17 00:00:00 2001 +From: llyyr +Date: Mon, 31 Jul 2023 16:14:43 +0530 +Subject: [PATCH] Revert "meson: bump required version to 0.62" + +This reverts commit a3eb16330361396311f09c952095ea6280835399. +--- + meson.build | 16 ++++++++++------ + 1 file changed, 10 insertions(+), 6 deletions(-) + +diff --git a/meson.build b/meson.build +index 5a82220b38..1ef3a824cb 100644 +--- a/meson.build ++++ b/meson.build +@@ -2,7 +2,7 @@ project('mpv', + 'c', + license: ['GPL2+', 'LGPL2.1+'], + version: files('./VERSION'), +- meson_version: '>=0.62.0', ++ meson_version: '>=0.60.3', + default_options: [ + 'buildtype=debugoptimized', + 'b_lundef=false', +@@ -331,10 +331,10 @@ endif + + features += {'ta-leak-report': get_option('ta-leak-report')} + +-libdl = dependency('dl', required: false) +-features += {'libdl': libdl.found()} ++libdl_dep = cc.find_library('dl', required: false) ++features += {'libdl': cc.has_function('dlopen', dependencies: libdl_dep, prefix: '#include ')} + if features['libdl'] +- dependencies += libdl ++ dependencies += libdl_dep + endif + + cplugins = get_option('cplugins').require( +@@ -1621,7 +1621,10 @@ endif + rst2pdf = find_program('rst2pdf', required: get_option('pdf-build')) + features += {'pdf-build': rst2pdf.found()} + if features['pdf-build'] +- dependency_file = rst2pdf.version().version_compare('>=0.100') ++ rst2pdf_help = run_command( ++ rst2pdf, '--help', ++ check: true, capture: true ++ ).stdout() + datadir = get_option('datadir') + custom_target('pdf-manpages', + input: manpage, +@@ -1629,7 +1632,8 @@ if features['pdf-build'] + command: [ + docutils_wrapper, rst2pdf, + '-c', '-b', '1', '--repeat-table-rows', +- dependency_file ? ['--record-dependencies', '@DEPFILE@'] : [], ++ rst2pdf_help.contains('--record-dependencies') ? ++ ['--record-dependencies', '@DEPFILE@'] : [], + '@INPUT@', '-o', '@OUTPUT@'], + depfile: 'mpv.pdf.dep', + install: true, +-- +2.41.0 + diff --git a/_servicedata b/_servicedata index c070c99..a4f6ec6 100644 --- a/_servicedata +++ b/_servicedata @@ -1,4 +1,4 @@ https://github.com/mpv-player/mpv.git - 60a263246e03d23c894ae0ef6bbfa29a5f1855dc \ No newline at end of file + 1bbc7a2cd086e025d66d8f70e2399c58d26e9972 \ No newline at end of file diff --git a/mpv-0.36.0+git.20230723.60a26324.tar.xz b/mpv-0.36.0+git.20230723.60a26324.tar.xz deleted file mode 100644 index 831ba11..0000000 --- a/mpv-0.36.0+git.20230723.60a26324.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dca4f22e425332a85d645e06d737062dd0763a5ba7a80cf116dcf1805df3a0d7 -size 2366756 diff --git a/mpv-0.36.0+git.20230730.1bbc7a2c.tar.xz b/mpv-0.36.0+git.20230730.1bbc7a2c.tar.xz new file mode 100644 index 0000000..1932554 --- /dev/null +++ b/mpv-0.36.0+git.20230730.1bbc7a2c.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d1a4e24a8ccd239c167ff6ca7da6f27f2c3335ae73b80fa0e5f740af73216d8c +size 2337960 diff --git a/mpv.changes b/mpv.changes index 81cd061..2c468d9 100644 --- a/mpv.changes +++ b/mpv.changes @@ -1,3 +1,48 @@ +------------------------------------------------------------------- +Mon Jul 31 10:14:57 UTC 2023 - llyyr.public@gmail.com + +- Remove waf build: removed upstream +- Make meson a hard requirement now +- Bump libplacebo requirement to 6.292.0 for Tumbleweed +- Add patch 0001-Revert-meson-bump-required-version-to-0.62.patch + to lower meson requirement for Leap +- Update to version 0.36.0+git.20230730.1bbc7a2c: + * ao_sndio: use sio_flush() to improve controls responsiveness + * draw_bmp: fix overflowing coordinates in mark_rcs + * Revert "audio: add AOCONTROL_UPDATE_MEDIA_ROLE" + * Revert "ao_pipewire: handle AOCONTROL_UPDATE_MEDIA_ROLE" + * meson: look for linux/input-event-codes.h with libwayland flags + * version.py: fix build date + * options: restore old default sub selection behavior + * vo_gpu_next: fix assertion on wayland + * vo_gpu_next: delay swapchain submit until flip_frame() + * path-win: move state directory to %LOCALAPPDATA% + * path-win: add subdirectory for cache + * Revert "ci/msys2: double down on running meson through python3.11" + * ad_spdif: fix segfault due to early deallocation + * test: enhance libmpv test + * player/video: check for track and decoder existence + * video_writer: fix gamma for YUV screenshots + * image_writer: log pixfmt conversion + * encode_lavc: fix leak of codecpar + * zimg: fix abort on subsampled input with odd heights + * demux_mkv: add missing space to log msg + * build: remove unneeded libdl requirement for vaapi + * build: refactor vaapi handling + * ci/mingw: reduce git clone depth to 1 + * ci/mingw: use ccache + * ci/mingw: disable fail-fast + * ci/mingw: check if binary is runnable before packaging + * language-posix: as a fallback, treat "C" as "en" + * msg: print MSGL_WARN and higher error messages to stderr + * build: vaapi-x-egl is not used anywhere, remove it + * build: vaapi-egl should explicitly depend on egl + * build: vaapi-drm and vaapi-wayland do not depend on egl + * ci/mingw: update luajit to fix i686 crashes + * wayland: restore xkb_keysym_to_utf8 handling + * build: internally rename gl-wayland to egl-wayland + * waf: remove waf as a build system + ------------------------------------------------------------------- Sun Jul 23 17:18:43 UTC 2023 - llyyr.public@gmail.com diff --git a/mpv.spec b/mpv.spec index b2f4468..1659183 100644 --- a/mpv.spec +++ b/mpv.spec @@ -19,27 +19,24 @@ # -%define _waf_ver 2.0.24 %define lname libmpv2 Name: mpv -Version: 0.36.0+git.20230723.60a26324 +Version: 0.36.0+git.20230730.1bbc7a2c 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 -Source1: https://waf.io/waf-%{_waf_ver} 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: 0001-Revert-meson-bump-required-version-to-0.62.patch BuildRequires: bash BuildRequires: hicolor-icon-theme BuildRequires: libjpeg-devel BuildRequires: linux-kernel-headers -%if 0%{?suse_version} > 1500 BuildRequires: meson >= 0.60.3 -%endif # Needed any lua to convert the bash-completion BuildRequires: lua BuildRequires: perl @@ -116,22 +113,27 @@ Conflicts: mpv-plugin-mpris < 0.4 # Obsoletion of mplayer2 that is dead for 2 years now Provides: mplayer2 = 20140101 Obsoletes: mplayer2 < 20140101 -%if 0%{?suse_version} >= 1550 || 0%{?sle_version} > 150300 -BuildRequires: pkgconfig(libplacebo) >= 4.157 +# Use libplacebo v5.264 for Leap 15.5 +%if 0%{?sle_version} >= 150400 && 0%{?is_opensuse} +BuildRequires: (pkgconfig(libplacebo) >= 5 with pkgconfig(libplacebo) < 6.292.0) +%endif +# Use libplacebo v6.292 for Tumbleweed +%if 0%{?suse_version} >= 1550 +BuildRequires: pkgconfig(libplacebo) >= 6.292.0 %endif %if 0%{?suse_version} > 1500 BuildRequires: pkgconfig(mujs) %endif BuildRequires: pkgconfig(libva-wayland) >= 1.1.0 BuildRequires: pkgconfig(vulkan) >= 1.0.61 -BuildRequires: pkgconfig(wayland-client) >= 1.15.0 -BuildRequires: pkgconfig(wayland-cursor) >= 1.15.0 +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.15 +BuildRequires: pkgconfig(wayland-protocols) >= 1.25 BuildRequires: pkgconfig(wayland-scanner) BuildRequires: pkgconfig(wayland-server) %if 0%{?suse_version} >= 1550 || 0%{?sle_version} >= 150300 -BuildRequires: pkgconfig(libpipewire-0.3) >= 0.3.19 +BuildRequires: pkgconfig(libpipewire-0.3) >= 0.3.48 %endif # JIT for lua. %ifarch aarch64 %{ix86} x86_64 @@ -191,10 +193,7 @@ features. %prep %setup -q %patch0 -p1 - -# As we downloaded specific waf version we need to put and prepare it in place. -cp -f %{SOURCE1} waf -chmod a+x waf +%patch1 -p1 # I hate UNKNOWN so lets put decent info there. MODIFIED="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{SOURCE2}")" @@ -202,7 +201,6 @@ DATE="$(date -d "$MODIFIED" "+%%b %%e %%Y")" sed -i "s|UNKNOWN|$DATE|g;s|VERSION|\"%{version}\"|g" common/version.c %build -%if 0%{?suse_version} > 1500 # We don't want to rebuild all the time. myopts=" -Dbuild-date=false" # Disable pipwire for Leap because of build error @@ -254,59 +252,12 @@ myopts+=" -Dvulkan-interop=disabled" -Dwasapi=disabled \ -Dwin32-internal-pthreads=disabled \ ${myopts} - %meson_build -%else -# SDL: disable as it is pointless to have on Linux, it is Windows/OS X fallback. -myopts="--disable-sdl2" -# We don't want to rebuild all the time. -myopts+=" --disable-build-date" -# Debug just adds -g and we do that over optflags anyway. -myopts+=" --disable-debug" -# Disable pipwire for Leap because of build error -%if 0%{?suse_version} <= 1500 -myopts+=" --disable-pipewire" -%endif -# Vulkan support needs recent libplacebo -%if 0%{?suse_version} >= 1550 || 0%{?sle_version} > 150300 -myopts+=" --enable-vulkan" -%endif -export CFLAGS="%{optflags}" -python3 ./waf configure \ - --prefix="%{_prefix}" \ - --bindir="%{_bindir}" \ - --mandir="%{_mandir}" \ - --libdir="%{_libdir}" \ - --docdir="%{_docdir}/%{name}" \ - --confdir="%{_sysconfdir}/%{name}" \ - --enable-cdda \ - --enable-dvdnav \ - --enable-libmpv-shared \ - --enable-manpage-build \ - --enable-libarchive \ - --enable-dvbin \ - --enable-drm \ - --enable-x11 \ - --enable-openal \ - --enable-wayland \ - --enable-gl-wayland \ - --enable-gl-x11 \ - --enable-egl-x11 \ - --enable-egl-drm \ - --enable-zimg \ - ${myopts} - -python3 ./waf build --verbose %{?_smp_mflags} -%endif %install -%if 0%{?suse_version} > 1500 %meson_install install -dm755 %{buildroot}%{_defaultdocdir} mv %{buildroot}%{_datadir}/doc/mpv %{buildroot}%{_defaultdocdir}/%{name} -%else -python3 ./waf --destdir=%{buildroot} install -%endif install -D -m 0644 etc/input.conf %{buildroot}%{_sysconfdir}/%{name}/input.conf install -D -m 0644 etc/mpv.conf %{buildroot}%{_sysconfdir}/%{name}/mpv.conf diff --git a/waf-2.0.24 b/waf-2.0.24 deleted file mode 100644 index 0f9debe..0000000 --- a/waf-2.0.24 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:fa2771fed870fe9bf7a67dd13e09770725f4142fcd5481d9796e624759950483 -size 105409