guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/01: gnu: vlc: Fix build.


From: guix-commits
Subject: 01/01: gnu: vlc: Fix build.
Date: Sat, 2 Nov 2019 16:14:09 -0400 (EDT)

ngz pushed a commit to branch master
in repository guix.

commit 520b18e6fa8415b9b8fc07611c3c885035739633
Author: Nicolas Goaziou <address@hidden>
Date:   Sat Nov 2 21:10:40 2019 +0100

    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.
---
 gnu/local.mk                                       |  1 +
 .../patches/vlc-fix-test_libvlc_slaves.patch       | 35 +++++++++++++++++++++
 gnu/packages/video.scm                             | 36 +++++++++++++---------
 3 files changed, 57 insertions(+), 15 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index 96b570a..5fa97c7 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 0000000..9bc6d35
--- /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 <address@hidden>
+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 7e62ab6..b5f81e2 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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]