Subject: [PATCH] Update VLC to 3.0.1 (Fixed submission - second try)
From: <[email-masked]>
To: "guix-patches" <[email-masked]>
Date: Fri, 02 Mar 2018 10:36:45 +0000 (GMT)
List-Id: <debbugs-submit.debbugs.gnu.org>

The uploaded attachment was empty >.< Now I've uploaded it properly.

----- Start Forwarded Message -----
Sent: Fri, 02 Mar 2018 10:32:56 +0000 (GMT)
From: <[email-masked]>
To: "guix-patches" <[email-masked]>
Subject: [PATCH] Update VLC to 3.0.1 (Fixed submission)

My original patch submission (from email address [email-masked]) got butchered by my email client, so I have instead uploaded it as an attachment.

----- End Forwarded Message -----

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 8190b0ffc..d668d8235 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -53,7 +53,6 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system glib-or-gtk)
   #:use-module (guix build-system meson)
-  #:use-module (guix build-system perl)
   #:use-module (guix build-system python)
   #:use-module (guix build-system waf)
   #:use-module (gnu packages)
@@ -61,6 +60,7 @@
   #:use-module (gnu packages audio)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages avahi)
+  #:use-module (gnu packages backup)
   #:use-module (gnu packages base)
   #:use-module (gnu packages bison)
   #:use-module (gnu packages boost)
@@ -89,10 +89,12 @@
   #:use-module (gnu packages gnupg)
   #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
+  #:use-module (gnu packages gcc)
   #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages iso-codes)
   #:use-module (gnu packages libreoffice)
+  #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages m4)
@@ -103,12 +105,14 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages popt)
+  #:use-module (gnu packages protobuf)
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages python-crypto)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages ruby)
+  #:use-module (gnu packages samba)
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages serialization)
   #:use-module (gnu packages shells)
@@ -116,6 +120,7 @@
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages tls)
+  #:use-module (gnu packages upnp)
   #:use-module (gnu packages version-control)
   #:use-module (gnu packages vulkan)
   #:use-module (gnu packages web)
@@ -810,7 +815,7 @@ audio/video codec library.")
 (define-public vlc
   (package
     (name "vlc")
-    (version "2.2.8")
+    (version "3.0.1")
     (source (origin
              (method url-fetch)
              (uri (string-append
@@ -818,10 +823,11 @@ audio/video codec library.")
                    version "/vlc-" version ".tar.xz"))
              (sha256
               (base32
-               "1v32snw46rkgbdqdy3dssl2y13i8p2cr1cw1i18r6vdmiy24dw4v"))))
+               "008krfhykm9447wc1kkw82bsw3f6ikljgrqyb1sinwlxnkghqw6f"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("git" ,git) ; needed for a test
+       ("gcc" ,gcc)
        ("pkg-config" ,pkg-config)))
     ;; FIXME: Add optional inputs once available.
     (inputs
@@ -829,7 +835,7 @@ audio/video codec library.")
        ("avahi" ,avahi)
        ("dbus" ,dbus)
        ("flac" ,flac)
-       ("ffmpeg" ,ffmpeg-2.8)               ;fails to build against ffmpeg 3.0
+       ("ffmpeg" ,ffmpeg)
        ("fontconfig" ,fontconfig)
        ("freetype" ,freetype)
        ("gnutls" ,gnutls)
@@ -857,16 +863,54 @@ audio/video codec library.")
        ("perl" ,perl)
        ("pulseaudio" ,pulseaudio)
        ("python" ,python-wrapper)
-       ("qtbase" ,qtbase)
+       ;; Qt required instead of just qtbase as it was
+       ;; before, otherwise check_POTFILES.sh test fails.
+       ("qt" ,qt) 
        ("qtx11extras" ,qtx11extras)
        ("sdl" ,sdl)
        ("sdl-image" ,sdl-image)
        ("speex" ,speex)
        ("x265" ,x265)
-       ("xcb-util-keysyms" ,xcb-util-keysyms)))
+       ("xcb-util-keysyms" ,xcb-util-keysyms)
+       ;Optional inputs
+       ;("lua" ,lua) ;Configure phase doesn't find this
+       ("libarchive" ,libarchive)
+       ("livemedia-utils" ,livemedia-utils)
+       ("libbluray" ,libbluray)
+       ("samba" ,samba)
+       ;("nfs-utils" ,(@ (gnu packages nfs) nfs-utils)) ;configure phase doesn't find this
+       ;("freerdp" ,(@ (gnu packages rdesktop) freerdp)) ;causes compilation failure
+       ("libshout" ,libshout)
+       ("libebml" ,libebml)
+       ("libmatroska" ,libmatroska)
+       ("libmodplug" ,libmodplug)
+       ("mpg123" ,mpg123)
+       ;("gstreamer"
+       ; ,(@ (gnu packages gstreamer) gstreamer)) ;configure phase doesn't find this.
+       ("libva" ,libva)
+       ("twolame" ,twolame)
+       ("libdca" ,libdca)
+       ("libmpeg2" ,libmpeg2)
+       ("speexdsp" ,speexdsp)
+       ("fluidsynth" ,fluidsynth)
+       ("libass" ,libass)
+       ("fribidi" ,fribidi)
+       ("librsvg" ,librsvg)
+       ("libcaca" ,libcaca)
+       ("jack" ,jack-1)
+       ("soxr" ,soxr)
+       ("chromaprint" ,chromaprint)
+       ("protobuf" ,protobuf)
+       ("eudev" ,eudev)
+       ("libmtp" ,libmtp)
+       ("libupnp" ,libupnp)
+       ("taglib" ,taglib)
+       ("libsecret" ,libsecret)
+       ("libnotify" ,libnotify)))
     (arguments
      `(#:configure-flags
        `("CXXFLAGS=-std=gnu++11"
+         "BUILDCC=gcc"
          ,(string-append "LDFLAGS=-Wl,-rpath -Wl,"
                          (assoc-ref %build-inputs "ffmpeg")
                          "/lib"))                 ;needed for the tests
@@ -883,10 +927,12 @@ audio/video codec library.")
                ;; which fails in our sandboxed build system
                (substitute* "test/run_vlc.sh"
                  (("./vlc --ignore-config") "echo"))
-               ;; XXX Likely not needed for >2.2.6.
-               (substitute* "modules/gui/qt4/components/interface_widgets.cpp"
-                 (("<qx11info_x11.h>") "<QtX11Extras/qx11info_x11.h>"))
                #t)))
+         (add-after 'build 'fix-misnamed-appdata
+           ;; vlc.appdata.xml.in gets created instead of vlc.appdata.xml, so
+	   ;; we copy it to the correct name - This solution is hacky, if the
+	   ;; root cause is found then please supply a patch.
+           (lambda _ (copy-file "share/vlc.appdata.xml.in" "share/vlc.appdata.xml")))
          (add-after 'install 'regenerate-plugin-cache
            (lambda* (#:key outputs #:allow-other-keys)
              ;; The 'install-exec-hook' rule in the top-level Makefile.am