diff options
author | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2019-11-02 21:10:40 +0100 |
---|---|---|
committer | Nicolas Goaziou <mail@nicolasgoaziou.fr> | 2019-11-02 21:13:43 +0100 |
commit | 520b18e6fa8415b9b8fc07611c3c885035739633 (patch) | |
tree | 8635c39dc0956149f749f1475121937a5543a3ac /gnu/packages | |
parent | 837547cbb67730687dee2b50a6dea6236961cce6 (diff) | |
download | guix-patches-520b18e6fa8415b9b8fc07611c3c885035739633.tar guix-patches-520b18e6fa8415b9b8fc07611c3c885035739633.tar.gz |
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.
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/patches/vlc-fix-test_libvlc_slaves.patch | 35 | ||||
-rw-r--r-- | gnu/packages/video.scm | 36 |
2 files changed, 56 insertions, 15 deletions
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 |