aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Goaziou <mail@nicolasgoaziou.fr>2019-11-02 21:10:40 +0100
committerNicolas Goaziou <mail@nicolasgoaziou.fr>2019-11-02 21:13:43 +0100
commit520b18e6fa8415b9b8fc07611c3c885035739633 (patch)
tree8635c39dc0956149f749f1475121937a5543a3ac
parent837547cbb67730687dee2b50a6dea6236961cce6 (diff)
downloadguix-520b18e6fa8415b9b8fc07611c3c885035739633.tar.gz
guix-520b18e6fa8415b9b8fc07611c3c885035739633.zip
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.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/vlc-fix-test_libvlc_slaves.patch35
-rw-r--r--gnu/packages/video.scm36
3 files changed, 57 insertions, 15 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 96b570a759..5fa97c7673 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -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 \
diff --git a/gnu/packages/patches/vlc-fix-test_libvlc_slaves.patch b/gnu/packages/patches/vlc-fix-test_libvlc_slaves.patch
new file mode 100644
index 0000000000..9bc6d35f18
--- /dev/null
+++ b/gnu/packages/patches/vlc-fix-test_libvlc_slaves.patch
@@ -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
+
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 7e62ab69ef..b5f81e2cb3 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -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