From 733fc8ecebe7ddfa8ad65514fd3cac690d074324 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 30 Nov 2025 19:31:59 +0100 Subject: [PATCH] gnu: vlc: Fix build with newer livemedia-utils. This is a follow-up to commit 4be2dc6bd32f6a99b53580aea3c4ab3968801b52 . * gnu/packages/patches/vlc-livemedia-2024.11.28.patch: New file. * gnu/local.mk (dist_patch_DATA): Register patch. * gnu/packages/video.scm (vlc)[source]: Use patch. Fixes: guix/guix#4579 Change-Id: Ibee73a199f0d47324d30839a6a6f00b71a72a000 --- gnu/local.mk | 1 + .../patches/vlc-livemedia-2024.11.28.patch | 45 +++++++++++++++++++ gnu/packages/video.scm | 3 +- 3 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/vlc-livemedia-2024.11.28.patch diff --git a/gnu/local.mk b/gnu/local.mk index e3964f85abb0b44065b2635dabd8130b555fe397..4c26080e2d3053dac6806227b13b1a324125ad03 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -2441,6 +2441,7 @@ dist_patch_DATA = \ %D%/packages/patches/vcmi-disable-privacy-breach.patch \ %D%/packages/patches/vinagre-newer-freerdp.patch \ %D%/packages/patches/vinagre-newer-rdp-parameters.patch \ + %D%/packages/patches/vlc-livemedia-2024.11.28.patch \ %D%/packages/patches/vsearch-unbundle-cityhash.patch \ %D%/packages/patches/vst3sdk-3.7.7-allow-winelib-compilation.patch \ %D%/packages/patches/vte-CVE-2012-2738-pt1.patch \ diff --git a/gnu/packages/patches/vlc-livemedia-2024.11.28.patch b/gnu/packages/patches/vlc-livemedia-2024.11.28.patch new file mode 100644 index 0000000000000000000000000000000000000000..824673d0a52c986e307adf47b6f2335c85576c56 --- /dev/null +++ b/gnu/packages/patches/vlc-livemedia-2024.11.28.patch @@ -0,0 +1,45 @@ +From upstream vlc. + +From 8befcbfa834b809602db24c9ba7456d8cfc25cdb Mon Sep 17 00:00:00 2001 +From: Florian Albrechtskirchinger +Date: Sun, 2 Mar 2025 08:30:43 +0100 +Subject: [PATCH] live555: fix build with versions >= 2024.11.28 + +In the 2024.11.28 release (version 1732752000), live555 introduced +`EventLoopWatchVariable` as a typedef for `std::atomic`, replacing +direct use of `char` in earlier versions. Add a conditional typedef to +define it as `char` for older versions, and update `event_rtsp` and +`event_data` to use `EventLoopWatchVariable`. +--- + modules/access/live555.cpp | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/modules/access/live555.cpp b/modules/access/live555.cpp +index 461766661e..cacea3c469 100644 +--- a/modules/access/live555.cpp ++++ b/modules/access/live555.cpp +@@ -194,6 +194,10 @@ class RTSPClientVlc; + #define CAP_SUBSESSION_PAUSE (1 << 3) + #define CAPS_DEFAULT CAP_RATE_CONTROL + ++#if LIVEMEDIA_LIBRARY_VERSION_INT < 1732752000 // 2024.11.28 ++typedef char EventLoopWatchVariable; ++#endif ++ + struct demux_sys_t + { + char *p_sdp; /* XXX mallocated */ +@@ -232,8 +236,8 @@ struct demux_sys_t + bool b_no_data; /* if we never received any data */ + int i_no_data_ti; /* consecutive number of TaskInterrupt */ + +- char event_rtsp; +- char event_data; ++ EventLoopWatchVariable event_rtsp; ++ EventLoopWatchVariable event_data; + + bool b_get_param; /* Does the server support GET_PARAMETER */ + bool b_paused; /* Are we paused? */ +-- +2.52.0 + diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index d619b9c1414b65d9b95a4f0ce27f38101de3f643..7d4e1526c05f2f94a700e743cec9ae2e301a5c55 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -2473,7 +2473,8 @@ media, 2D/3D graphics and ECMAScript.") "/vlc-" version ".tar.xz")) (sha256 (base32 - "1c7vbbicx95nymrybgvd2d3p65q0wayhpvsx9ncs1vpsglfvxnr4")))) + "1c7vbbicx95nymrybgvd2d3p65q0wayhpvsx9ncs1vpsglfvxnr4")) + (patches (search-patches "vlc-livemedia-2024.11.28.patch")))) (build-system gnu-build-system) (native-inputs (list flex bison gettext-minimal pkg-config))