gnu: vlc: Fix build.
* gnu/packages/patches/vlc-fix-test_libvlc_slaves.patch: New file. * gnu/local.mk (dist_patch_DATA): Reference new file. * gnu/packages/video.scm (vlc): Apply patch.
This commit is contained in:
parent
837547cbb6
commit
520b18e6fa
@ -1412,6 +1412,7 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/vinagre-newer-freerdp.patch \
|
||||
%D%/packages/patches/vinagre-newer-rdp-parameters.patch \
|
||||
%D%/packages/patches/virglrenderer-CVE-2017-6386.patch \
|
||||
%D%/packages/patches/vlc-fix-test_libvlc_slaves.patch \
|
||||
%D%/packages/patches/vorbis-tools-CVE-2014-9638+CVE-2014-9639.patch \
|
||||
%D%/packages/patches/vorbis-tools-CVE-2014-9640.patch \
|
||||
%D%/packages/patches/vorbis-tools-CVE-2015-6749.patch \
|
||||
|
35
gnu/packages/patches/vlc-fix-test_libvlc_slaves.patch
Normal file
35
gnu/packages/patches/vlc-fix-test_libvlc_slaves.patch
Normal file
@ -0,0 +1,35 @@
|
||||
From 4186c94104ee528abd6860611b49515f3e6ec644 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Guillem <thomas@gllm.fr>
|
||||
Date: Fri, 18 Oct 2019 10:34:07 +0200
|
||||
Subject: [PATCH] input/item: sort before attaching slaves
|
||||
|
||||
The order of readdir() is completely filesystem dependent.
|
||||
|
||||
Slaves should be attached using the same order across multiple OSses/access
|
||||
modules.
|
||||
|
||||
This fixes the test_libvlc_slaves on some system when the entry order from
|
||||
readdir() is different.
|
||||
|
||||
This patch need to be backported to VLC 3.0.
|
||||
---
|
||||
src/input/item.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/input/item.c b/src/input/item.c
|
||||
index e8db39ca28..fbd74cc95f 100644
|
||||
--- a/src/input/item.c
|
||||
+++ b/src/input/item.c
|
||||
@@ -1809,8 +1809,8 @@ void vlc_readdir_helper_finish(struct vlc_readdir_helper *p_rdh, bool b_success)
|
||||
{
|
||||
if (b_success)
|
||||
{
|
||||
- rdh_attach_slaves(p_rdh, p_rdh->p_node);
|
||||
rdh_sort(p_rdh->p_node);
|
||||
+ rdh_attach_slaves(p_rdh, p_rdh->p_node);
|
||||
}
|
||||
free(p_rdh->psz_ignored_exts);
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
@ -1088,20 +1088,26 @@ videoformats depend on the configuration flags of ffmpeg.")
|
||||
(name "vlc")
|
||||
(version "3.0.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://download.videolan.org/pub/videolan/vlc/"
|
||||
(car (string-split version #\-))
|
||||
"/vlc-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1xmxjpyzdhabchwncz6lvx3kzvl7fz9c42bkv3nbj68albs9w570"))))
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://download.videolan.org/pub/videolan/vlc/"
|
||||
(car (string-split version #\-))
|
||||
"/vlc-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1xmxjpyzdhabchwncz6lvx3kzvl7fz9c42bkv3nbj68albs9w570"))
|
||||
(patches
|
||||
(search-patches
|
||||
;; TODO: The test "libvlc_slaves" fails. Applied upstream as
|
||||
;; <https://git.videolan.org/?p=vlc.git;a=commit;h=4186c94104ee528abd6860611b49515f3e6ec644>.
|
||||
;; Try removing it in 3.0.9.
|
||||
"vlc-fix-test_libvlc_slaves.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("flex" ,flex)
|
||||
("bison" ,bison)
|
||||
("gettext" ,gettext-minimal)
|
||||
("git" ,git) ; needed for a test
|
||||
("git" ,git) ; needed for a test
|
||||
("pkg-config" ,pkg-config)))
|
||||
;; FIXME: Add optional inputs once available.
|
||||
(inputs
|
||||
@ -1182,7 +1188,7 @@ videoformats depend on the configuration flags of ffmpeg.")
|
||||
`("BUILDCC=gcc"
|
||||
,(string-append "LDFLAGS=-Wl,-rpath -Wl,"
|
||||
(assoc-ref %build-inputs "ffmpeg")
|
||||
"/lib")) ;needed for the tests
|
||||
"/lib")) ;needed for the tests
|
||||
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
@ -1233,11 +1239,11 @@ videoformats depend on the configuration flags of ffmpeg.")
|
||||
(invoke cachegen plugindir))))
|
||||
(add-after 'install 'wrap-executable
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(plugin-path (getenv "QT_PLUGIN_PATH")))
|
||||
(wrap-program (string-append out "/bin/vlc")
|
||||
`("QT_PLUGIN_PATH" ":" prefix (,plugin-path))))
|
||||
#t)))))
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(plugin-path (getenv "QT_PLUGIN_PATH")))
|
||||
(wrap-program (string-append out "/bin/vlc")
|
||||
`("QT_PLUGIN_PATH" ":" prefix (,plugin-path))))
|
||||
#t)))))
|
||||
(home-page "https://www.videolan.org/")
|
||||
(synopsis "Audio and video framework")
|
||||
(description "VLC is a cross-platform multimedia player and framework
|
||||
|
Loading…
Reference in New Issue
Block a user