From 4c451fd0b715b7f7a360c860b7fe03dac5902ac9 Mon Sep 17 00:00:00 2001 From: triallax Date: Thu, 27 Jul 2023 17:14:12 +0100 Subject: [PATCH 1/4] New package: python3-glad-2.0.4 --- srcpkgs/python3-glad/template | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 srcpkgs/python3-glad/template diff --git a/srcpkgs/python3-glad/template b/srcpkgs/python3-glad/template new file mode 100644 index 000000000000..35dee8cae6d0 --- /dev/null +++ b/srcpkgs/python3-glad/template @@ -0,0 +1,17 @@ +# Template file for 'python3-glad' +pkgname=python3-glad +version=2.0.4 +revision=1 +build_style=python3-pep517 +hostmakedepends="python3-setuptools python3-wheel" +depends="python3-Jinja2" +short_desc="Vulkan/GL/GLES/EGL/GLX/WGL Loader-Generator based on the official specs" +maintainer="Mohammed Anas" +license="MIT, Apache-2.0" +homepage="https://github.com/Dav1dde/glad" +distfiles="https://github.com/Dav1dde/glad/archive/refs/tags/v${version}.tar.gz" +checksum=02629644c242dcc27c58222bd2c001d5e2f3765dbbcfd796542308bddebab401 + +post_install() { + vlicense LICENSE +} From 0fc39d66d48d283296c166ca91dc821c1f5b21dc Mon Sep 17 00:00:00 2001 From: triallax Date: Thu, 27 Jul 2023 17:11:38 +0100 Subject: [PATCH 2/4] libplacebo: update to 5.264.1. --- common/shlibs | 2 +- srcpkgs/libplacebo/template | 23 +++++++++++++---------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/common/shlibs b/common/shlibs index ff764f411828..d7bfcd3029c4 100644 --- a/common/shlibs +++ b/common/shlibs @@ -3482,7 +3482,7 @@ libSoapySDR.so.0.8 SoapySDR-0.8.1_1 libeditorconfig.so.0 editorconfig-0.12.2_1 libcfitsio.so.10 cfitsio-4.2.0_1 libapparmor.so.1 libapparmor-2.12.0_1 -libplacebo.so.208 libplacebo-4.208.0_1 +libplacebo.so.264 libplacebo-5.264.1_1 libw2xc.so waifu2x-converter-cpp-5.2_1 libnova-0.15.so.0 libnova-0.15.0_1 libcue.so.2 libcue-2.2.0_1 diff --git a/srcpkgs/libplacebo/template b/srcpkgs/libplacebo/template index 9258c184247d..d18d96167f8e 100644 --- a/srcpkgs/libplacebo/template +++ b/srcpkgs/libplacebo/template @@ -1,22 +1,25 @@ # Template file for 'libplacebo' pkgname=libplacebo -version=4.208.0 +version=5.264.1 revision=1 build_style=meson -configure_args="-Dshaderc=enabled -Dvulkan=enabled - -Dlcms=$(vopt_if lcms en dis)abled -Dopengl=$(vopt_if opengl en dis)abled" -hostmakedepends="pkg-config python3-Mako Vulkan-Headers" -makedepends="shaderc Vulkan-Headers vulkan-loader $(vopt_if lcms lcms2-devel) - $(vopt_if opengl libepoxy-devel)" +configure_args="-Dshaderc=enabled -Dvulkan=enabled -Ddemos=false + $(vopt_feature lcms) $(vopt_feature opengl)" +hostmakedepends="pkg-config python3-Mako Vulkan-Headers python3-Jinja2 + $(vopt_if opengl python3-glad)" +makedepends="shaderc Vulkan-Headers vulkan-loader + $(vopt_if lcms lcms2-devel)" short_desc="Reusable library for GPU-accelerated video/image rendering" maintainer="Enrico Belleri " license="LGPL-2.1-or-later" homepage="https://code.videolan.org/videolan/libplacebo" distfiles="https://code.videolan.org/videolan/libplacebo/-/archive/v${version}/libplacebo-v${version}.tar.gz" -checksum=7b3c857934ee3d30f743e43d7f0606e10950806661ea0ea385f8a1f06cbab854 +checksum=9eb0c198f58d994f1c0d173dd37647d4d07d27972412c48ab758e984503c787b -if [ "$XBPS_TARGET_NO_ATOMIC8" ]; then - LDFLAGS+=" -latomic" +if [ "$XBPS_CHECK_PKGS" ]; then + configure_args+=" -Dtests=true" +else + configure_args+=" -Dtests=false" fi build_options="lcms opengl" @@ -25,7 +28,7 @@ desc_option_lcms="Enable support for LittleCMS 2 engine" libplacebo-devel_package() { depends="${sourcepkg}>=${version}_${revision} vulkan-loader - $(vopt_if lcms lcms2-devel) $(vopt_if opengl libepoxy-devel)" + $(vopt_if lcms lcms2-devel)" short_desc+=" - development files" pkg_install() { vmove usr/include From 5fe55143598aebb0e2301cadeed1a15791e6004c Mon Sep 17 00:00:00 2001 From: triallax Date: Thu, 27 Jul 2023 17:11:49 +0100 Subject: [PATCH 3/4] vlc: revbump for libplacebo-5.264.1. --- srcpkgs/vlc/patches/libplacebo-5.patch | 110 +++++++++++++++++++++++++ srcpkgs/vlc/template | 2 +- 2 files changed, 111 insertions(+), 1 deletion(-) create mode 100644 srcpkgs/vlc/patches/libplacebo-5.patch diff --git a/srcpkgs/vlc/patches/libplacebo-5.patch b/srcpkgs/vlc/patches/libplacebo-5.patch new file mode 100644 index 000000000000..3dce0889be05 --- /dev/null +++ b/srcpkgs/vlc/patches/libplacebo-5.patch @@ -0,0 +1,110 @@ +Taken from https://git.alpinelinux.org/aports/plain/community/vlc/libplacebo-5.patch. + +patch vaguely ported from: https://code.videolan.org/videolan/vlc/-/merge_requests/2233 + +diff --git a/modules/video_output/opengl/converter.h b/modules/video_output/opengl/converter.h +index 7000e1f..49fa667 100644 +--- a/modules/video_output/opengl/converter.h ++++ b/modules/video_output/opengl/converter.h +@@ -26,6 +26,9 @@ + #include + #include + ++#include ++#include ++ + /* if USE_OPENGL_ES2 is defined, OpenGL ES version 2 will be used, otherwise + * normal OpenGL will be used */ + #ifdef __APPLE__ +@@ -253,10 +256,6 @@ static inline bool HasExtension(const char *apis, const char *api) + return false; + } + +-struct pl_context; +-struct pl_shader; +-struct pl_shader_res; +- + /* + * Structure that is filled by "glhw converter" module probe function + * The implementation should initialize every members of the struct that are +@@ -273,7 +272,7 @@ struct opengl_tex_converter_t + vlc_gl_t *gl; + + /* libplacebo context, created by the caller (optional) */ +- struct pl_context *pl_ctx; ++ pl_log pl_log; + + /* Function pointers to OpenGL functions, set by the caller */ + const opengl_vtable_t *vt; +@@ -337,7 +336,7 @@ struct opengl_tex_converter_t + bool yuv_color; + GLfloat yuv_coefficients[16]; + +- struct pl_shader *pl_sh; ++ pl_shader pl_sh; + const struct pl_shader_res *pl_sh_res; + + /* Private context */ +diff --git a/modules/video_output/opengl/fragment_shaders.c b/modules/video_output/opengl/fragment_shaders.c +index ecf7226..29f4148 100644 +--- a/modules/video_output/opengl/fragment_shaders.c ++++ b/modules/video_output/opengl/fragment_shaders.c +@@ -611,7 +611,7 @@ opengl_fragment_shader_init_impl(opengl_tex_converter_t *tc, GLenum tex_target, + + #ifdef HAVE_LIBPLACEBO + if (tc->pl_sh) { +- struct pl_shader *sh = tc->pl_sh; ++ pl_shader sh = tc->pl_sh; + struct pl_color_map_params color_params = pl_color_map_default_params; + color_params.intent = var_InheritInteger(tc->gl, "rendering-intent"); + color_params.tone_mapping_algo = var_InheritInteger(tc->gl, "tone-mapping"); +@@ -634,7 +634,7 @@ opengl_fragment_shader_init_impl(opengl_tex_converter_t *tc, GLenum tex_target, + pl_color_space_from_video_format(&tc->fmt), + dst_space, NULL, false); + +- struct pl_shader_obj *dither_state = NULL; ++ pl_shader_obj dither_state = NULL; + int method = var_InheritInteger(tc->gl, "dither-algo"); + if (method >= 0) { + +diff --git a/modules/video_output/opengl/vout_helper.c b/modules/video_output/opengl/vout_helper.c +index 13d65e0..1ee99af 100644 +--- a/modules/video_output/opengl/vout_helper.c ++++ b/modules/video_output/opengl/vout_helper.c +@@ -570,8 +570,7 @@ opengl_deinit_program(vout_display_opengl_t *vgl, struct prgm *prgm) + + #ifdef HAVE_LIBPLACEBO + FREENULL(tc->uloc.pl_vars); +- if (tc->pl_ctx) +- pl_context_destroy(&tc->pl_ctx); ++ pl_log_destroy(&tc->pl_log); + #endif + + vlc_object_release(tc); +@@ -622,21 +621,21 @@ opengl_init_program(vout_display_opengl_t *vgl, struct prgm *prgm, + // create the main libplacebo context + if (!subpics) + { +- tc->pl_ctx = pl_context_create(PL_API_VER, &(struct pl_context_params) { ++ tc->pl_log = pl_log_create(PL_API_VER, &(struct pl_log_params) { + .log_cb = log_cb, + .log_priv = tc, + .log_level = PL_LOG_INFO, + }); +- if (tc->pl_ctx) { ++ if (tc->pl_log) { + # if PL_API_VER >= 20 +- tc->pl_sh = pl_shader_alloc(tc->pl_ctx, &(struct pl_shader_params) { ++ tc->pl_sh = pl_shader_alloc(tc->pl_log, &(struct pl_shader_params) { + .glsl.version = tc->glsl_version, + .glsl.gles = tc->is_gles, + }); + # elif PL_API_VER >= 6 +- tc->pl_sh = pl_shader_alloc(tc->pl_ctx, NULL, 0); ++ tc->pl_sh = pl_shader_alloc(tc->pl_log, NULL, 0); + # else +- tc->pl_sh = pl_shader_alloc(tc->pl_ctx, NULL, 0, 0); ++ tc->pl_sh = pl_shader_alloc(tc->pl_log, NULL, 0, 0); + # endif + } + } diff --git a/srcpkgs/vlc/template b/srcpkgs/vlc/template index 651c94a1353a..05fcd840343f 100644 --- a/srcpkgs/vlc/template +++ b/srcpkgs/vlc/template @@ -1,7 +1,7 @@ # Template file for 'vlc' pkgname=vlc version=3.0.18 -revision=4 +revision=5 build_style=gnu-configure configure_args="--disable-gme --disable-libtar --enable-jack --enable-live555 --disable-fluidsynth --enable-dvdread From 878f845cc026886d25c3b376ce62072e1c9c1d7a Mon Sep 17 00:00:00 2001 From: triallax Date: Thu, 27 Jul 2023 17:11:53 +0100 Subject: [PATCH 4/4] mpv: update to 0.36.0. --- srcpkgs/mpv/patches/fix-ytdl-fragment.patch | 26 ------- srcpkgs/mpv/patches/pipewire-native.patch | 78 --------------------- srcpkgs/mpv/patches/ytdl-fragment-log.patch | 37 ---------- srcpkgs/mpv/template | 6 +- 4 files changed, 3 insertions(+), 144 deletions(-) delete mode 100644 srcpkgs/mpv/patches/fix-ytdl-fragment.patch delete mode 100644 srcpkgs/mpv/patches/pipewire-native.patch delete mode 100644 srcpkgs/mpv/patches/ytdl-fragment-log.patch diff --git a/srcpkgs/mpv/patches/fix-ytdl-fragment.patch b/srcpkgs/mpv/patches/fix-ytdl-fragment.patch deleted file mode 100644 index d01421de7ead..000000000000 --- a/srcpkgs/mpv/patches/fix-ytdl-fragment.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 94c189dae76ba280d9883b16346c3dfb9720687e Mon Sep 17 00:00:00 2001 -From: Christoph Heinrich -Date: Fri, 3 Mar 2023 00:45:45 +0100 -Subject: [PATCH] ytdl_hook: init fragment requires other fragments - -With dash the first fragment was always considered an init fragment if -there wasn't a duration. However that only makes sense when there are -also other fragments, so check if there are other fragments in addition -to the lack of a duration. ---- - player/lua/ytdl_hook.lua | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/player/lua/ytdl_hook.lua b/player/lua/ytdl_hook.lua -index 27e5f4544b2..9e50b3a80b8 100644 ---- a/player/lua/ytdl_hook.lua -+++ b/player/lua/ytdl_hook.lua -@@ -297,7 +297,7 @@ local function edl_track_joined(fragments, protocol, is_live, base) - local args = "" - - -- assume MP4 DASH initialization segment -- if not fragments[1].duration then -+ if not fragments[1].duration and #fragments > 1 then - msg.debug("Using init segment") - args = args .. ",init=" .. edl_escape(join_url(base, fragments[1])) - offset = 2 diff --git a/srcpkgs/mpv/patches/pipewire-native.patch b/srcpkgs/mpv/patches/pipewire-native.patch deleted file mode 100644 index 8b2fe79530c5..000000000000 --- a/srcpkgs/mpv/patches/pipewire-native.patch +++ /dev/null @@ -1,78 +0,0 @@ -From ac6bb48728af60c706a6a92573ea13651adb6d7d Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Thomas=20Wei=C3=9Fschuh?= -Date: Sun, 23 Jul 2023 09:10:55 +0200 -Subject: [PATCH] ao_pipewire: for_each_sink: properly check termination - condition - -Doing a pw_thread_loop_wait() without checking conditions is invalid. -The thread loop could be signalled for other reasons and in this case -the wait needs to continue. - -PipeWire added such additional signaling in -commit 33be898130f0 ("thread-loop: signal when started"). - -This meant that for_each_sink would return before the callbacks have -fired and session_has_sink() would incorrectly return "false", failing -the initialization of ao_pipewire. - -Fixes #11995 ---- - audio/out/ao_pipewire.c | 19 +++++++++++++++---- - 1 file changed, 15 insertions(+), 4 deletions(-) - -diff --git a/audio/out/ao_pipewire.c b/audio/out/ao_pipewire.c -index 8e93dc5341b..0a39e4e1a59 100644 ---- a/audio/out/ao_pipewire.c -+++ b/audio/out/ao_pipewire.c -@@ -354,6 +354,11 @@ static void for_each_sink_registry_event_global(void *data, uint32_t id, - } - - -+struct for_each_done_ctx { -+ struct pw_thread_loop *loop; -+ bool done; -+}; -+ - static const struct pw_registry_events for_each_sink_registry_events = { - .version = PW_VERSION_REGISTRY_EVENTS, - .global = for_each_sink_registry_event_global, -@@ -361,8 +366,9 @@ static const struct pw_registry_events for_each_sink_registry_events = { - - static void for_each_sink_done(void *data, uint32_t it, int seq) - { -- struct pw_thread_loop *loop = data; -- pw_thread_loop_signal(loop, false); -+ struct for_each_done_ctx *ctx = data; -+ ctx->done = true; -+ pw_thread_loop_signal(ctx->loop, false); - } - - static const struct pw_core_events for_each_sink_core_events = { -@@ -376,12 +382,16 @@ static int for_each_sink(struct ao *ao, void (cb) (struct ao *ao, uint32_t id, - struct priv *priv = ao->priv; - struct pw_registry *registry; - struct spa_hook core_listener; -+ struct for_each_done_ctx done_ctx = { -+ .loop = priv->loop, -+ .done = false, -+ }; - int ret = -1; - - pw_thread_loop_lock(priv->loop); - - spa_zero(core_listener); -- if (pw_core_add_listener(priv->core, &core_listener, &for_each_sink_core_events, priv->loop) < 0) -+ if (pw_core_add_listener(priv->core, &core_listener, &for_each_sink_core_events, &done_ctx) < 0) - goto unlock_loop; - - registry = pw_core_get_registry(priv->core, PW_VERSION_REGISTRY, 0); -@@ -400,7 +410,8 @@ static int for_each_sink(struct ao *ao, void (cb) (struct ao *ao, uint32_t id, - if (pw_registry_add_listener(registry, ®istry_listener, &for_each_sink_registry_events, &revents_ctx) < 0) - goto destroy_registry; - -- pw_thread_loop_wait(priv->loop); -+ while (!done_ctx.done) -+ pw_thread_loop_wait(priv->loop); - - spa_hook_remove(®istry_listener); - diff --git a/srcpkgs/mpv/patches/ytdl-fragment-log.patch b/srcpkgs/mpv/patches/ytdl-fragment-log.patch deleted file mode 100644 index fb5e8bcec4f7..000000000000 --- a/srcpkgs/mpv/patches/ytdl-fragment-log.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 362256edbc4f95c63e69c1fa8c8dce9cc6c44288 Mon Sep 17 00:00:00 2001 -From: Christoph Heinrich -Date: Fri, 3 Mar 2023 00:50:58 +0100 -Subject: [PATCH] ytdl_hook: only log error when no fallback url available - -An error indicates that something doesn't work, but as long as a -safe url is available, playback is still expected to work. - -Thus reduce logging level of MP4 DASH without fragments message and -add a new error message for when there is no safe url available either. - -Also adds a missing space. ---- - player/lua/ytdl_hook.lua | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/player/lua/ytdl_hook.lua b/player/lua/ytdl_hook.lua -index 9e50b3a80b8..77f7446ed22 100644 ---- a/player/lua/ytdl_hook.lua -+++ b/player/lua/ytdl_hook.lua -@@ -309,7 +309,7 @@ local function edl_track_joined(fragments, protocol, is_live, base) - -- if not available in all, give up. - for i = offset, #fragments do - if not fragments[i].duration then -- msg.error("EDL doesn't support fragments" .. -+ msg.verbose("EDL doesn't support fragments " .. - "without duration with MP4 DASH") - return nil - end -@@ -423,6 +423,7 @@ local function formats_to_edl(json, formats, use_all_formats) - track.protocol, json.is_live, - track.fragment_base_url) - if not edl_track and not url_is_safe(track.url) then -+ msg.error("No safe URL or supported fragmented stream available") - return nil - end - diff --git a/srcpkgs/mpv/template b/srcpkgs/mpv/template index 80a5d524d9e6..cf4f60e1c444 100644 --- a/srcpkgs/mpv/template +++ b/srcpkgs/mpv/template @@ -1,7 +1,7 @@ # Template file for 'mpv' pkgname=mpv -version=0.35.1 -revision=3 +version=0.36.0 +revision=1 build_style=meson configure_args="-Dcdda=enabled -Ddvbin=enabled -Ddvdnav=enabled -Dlibmpv=true -Dcplugins=enabled @@ -41,7 +41,7 @@ license="GPL-2.0-or-later" homepage="https://mpv.io" changelog="https://github.com/mpv-player/mpv/releases" distfiles="https://github.com/mpv-player/mpv/archive/v${version}.tar.gz" -checksum=41df981b7b84e33a2ef4478aaf81d6f4f5c8b9cd2c0d337ac142fc20b387d1a9 +checksum=29abc44f8ebee013bb2f9fe14d80b30db19b534c679056e4851ceadf5a5e8bf6 build_options="alsa caca jack lcms lua openal pulseaudio pipewire sdl2 sndio vapoursynth vdpau vulkan wayland x11"