unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Help needed updating vlc to version 3.0.1.
@ 2018-04-21  8:36 Mark H Weaver
  2018-04-21 19:53 ` Chris Marusich
  2018-04-23 22:00 ` Roel Janssen
  0 siblings, 2 replies; 6+ messages in thread
From: Mark H Weaver @ 2018-04-21  8:36 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1303 bytes --]

Hello Guix,

Below I've attached a draft patch to update vlc to 3.0.1, and also to
add several more inputs based on reading the output of the 'configure'
script.

It builds successfully and mostly works except for one problem: the
icons are missing from the control buttons on the main window of the Qt
interface.  The icons in question are .svg files in the source tarball,
but are converted into data structures within C++ source code using
'rcc'.

strace reveals that vlc is performing 'stat' system calls on bogus file
names beginning with ":/", e.g. ":/toolbar/play_b.svg".  These
correspond to the missing icons.  According to
<https://doc.qt.io/archives/qt-4.8/resources.html>, these names that
begin with ":/" are meant to be references to resources that were
imported using 'rcc'.

I can't afford to spend more time on this right now.  I don't use vlc
myself, but for security reasons I think it's important to keep our
media players up-to-date, especially media players like vlc that bundle
their own codecs.  I expect that vlc is quite popular, which makes it
all the more important.

I'm hoping that someone with more knowledge of Qt will step up to debug
this problem.  Any volunteers?

Note, this patch is based on core-updates, but hopefully it would work
on 'master' too.

       Mark



[-- Attachment #2: [PATCH] DRAFT: gnu: vlc: Update to 3.0.1, and add more inputs --]
[-- Type: text/x-patch, Size: 8149 bytes --]

From 0adef8dc0f128dc6eb16106ef653215cfdd7fa31 Mon Sep 17 00:00:00 2001
From: Mark H Weaver <mhw@netris.org>
Date: Wed, 18 Apr 2018 21:32:46 -0400
Subject: [PATCH] DRAFT: gnu: vlc: Update to 3.0.1, and add more inputs.

---
 gnu/packages/video.scm | 74 +++++++++++++++++++++++++++++++++++-------
 1 file changed, 62 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index ad7e12079..862d36510 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2014, 2015, 2016 David Thompson <davet@gnu.org>
-;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2015 Andy Patterson <ajpatter@uwaterloo.ca>
@@ -63,6 +63,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)
@@ -94,6 +95,7 @@
   #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages iso-codes)
+  #:use-module (gnu packages libidn)
   #:use-module (gnu packages libreoffice)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lua)
@@ -110,7 +112,9 @@
   #:use-module (gnu packages python-crypto)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages qt)
+  #:use-module (gnu packages rdesktop)
   #: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)
@@ -118,6 +122,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)
@@ -813,7 +818,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
@@ -821,55 +826,90 @@ 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
+     `(("flex" ,flex)
+       ("bison" ,bison)
+       ("gettext" ,gettext-minimal)
+       ("git" ,git) ; needed for a test
        ("pkg-config" ,pkg-config)))
     ;; FIXME: Add optional inputs once available.
     (inputs
      `(("alsa-lib" ,alsa-lib)
        ("avahi" ,avahi)
        ("dbus" ,dbus)
+       ("eudev" ,eudev)
        ("flac" ,flac)
-       ("ffmpeg" ,ffmpeg-2.8)               ;fails to build against ffmpeg 3.0
+       ("ffmpeg" ,ffmpeg)
        ("fontconfig" ,fontconfig)
        ("freetype" ,freetype)
+       ("fribidi" ,fribidi)
        ("gnutls" ,gnutls)
        ("liba52" ,liba52)
+       ("libarchive" ,libarchive)
+       ("libass" ,libass)
+       ("libavc1394" ,libavc1394)
+       ("libbluray" ,libbluray)
+       ("libcaca" ,libcaca)
        ("libcddb" ,libcddb)
+       ("libdca" ,libdca)
        ("libdvbpsi" ,libdvbpsi)
+       ("libdvdnav" ,libdvdnav)
+       ("libdvdread" ,libdvdread)
+       ("libebml" ,libebml)
        ("libgcrypt" ,libgcrypt)
+       ("libidn" ,libidn)
        ("libkate" ,libkate)
        ("libmad" ,libmad)
+       ("libmatroska" ,libmatroska)
+       ("libmodplug" ,libmodplug)
+       ("libmpeg2" ,libmpeg2)
        ("libogg" ,libogg)
        ("libpng" ,libpng)
+       ("libraw1394" ,libraw1394)
+       ("librsvg" ,librsvg)
        ("libsamplerate" ,libsamplerate)
+       ("libsecret" ,libsecret)
        ("libssh2" ,libssh2)
+       ("libupnp" ,libupnp)
+       ("libva" ,libva)
+       ("libvdpau" ,libvdpau)
        ("libvorbis" ,libvorbis)
+       ("libvpx" ,libvpx)
        ("libtheora" ,libtheora)
+       ("libx264" ,libx264)
        ("libxext" ,libxext)
        ("libxi" ,libxi)
        ("libxinerama" ,libxinerama)
        ("libxml2" ,libxml2)
        ("libxpm" ,libxpm)
        ("livemedia-utils" ,livemedia-utils)
-       ("lua" ,lua-5.1)
+       ("lua" ,lua-5.2)
        ("mesa" ,mesa)
        ("opus" ,opus)
        ("perl" ,perl)
        ("pulseaudio" ,pulseaudio)
        ("python" ,python-wrapper)
        ("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)
        ("qtx11extras" ,qtx11extras)
+       ("samba" ,samba)
        ("sdl" ,sdl)
        ("sdl-image" ,sdl-image)
        ("speex" ,speex)
+       ("speexdsp" ,speexdsp)
+       ("taglib" ,taglib)
+       ("twolame" ,twolame)
+       ("unzip" ,unzip)
+       ("wayland" ,wayland)
+       ("wayland-protocols" ,wayland-protocols)
        ("x265" ,x265)
        ("xcb-util-keysyms" ,xcb-util-keysyms)))
     (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
@@ -886,11 +926,21 @@ 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>"))
+               ;; The check_POTFILES.sh test fails for vlc-3.0.1 with the
+               ;; message: "modules/gui/qt/ui/about.h: source file missing!".
+               ;; FIXME: Try removing this for vlc >= 3.0.2.
+               (substitute* "test/Makefile.in"
+                 (("^TESTS =(.*) check_POTFILES.sh(.*)" all pre post)
+                  (string-append "TESTS =" pre post)))
+               ;; modules/text_renderer/freetype/text_layout.c uses a
+               ;; now-deprecated interface 'fribidi_get_par_embedding_levels'
+               ;; from fribidi.h, so for now we enable the use of deprecated
+               ;; fribidi interfaces from this file.
+               ;; FIXME: Try removing this for vlc >= 3.0.2.
+               (substitute* "modules/text_renderer/freetype/text_layout.c"
+                 (("# define FRIBIDI_NO_DEPRECATED 1") ""))
                #t)))
-         (add-after 'install 'regenerate-plugin-cache
+         (add-after 'strip 'regenerate-plugin-cache
            (lambda* (#:key outputs #:allow-other-keys)
              ;; The 'install-exec-hook' rule in the top-level Makefile.am
              ;; generates 'lib/vlc/plugins/plugins.dat', a plugin cache, using
@@ -907,9 +957,9 @@ audio/video codec library.")
                (for-each (lambda (file)
                            (let ((s (lstat file)))
                              (unless (eq? (stat:type s) 'symlink)
-                               (utime file 0 0 0 0))))
+                               (utime file 1 1))))
                          (find-files plugindir))
-               (zero? (system* cachegen plugindir))))))))
+               (invoke cachegen plugindir)))))))
     (home-page "https://www.videolan.org/")
     (synopsis "Audio and video framework")
     (description "VLC is a cross-platform multimedia player and framework
-- 
2.17.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: Help needed updating vlc to version 3.0.1.
  2018-04-21  8:36 Help needed updating vlc to version 3.0.1 Mark H Weaver
@ 2018-04-21 19:53 ` Chris Marusich
  2018-04-21 20:20   ` Mark H Weaver
  2018-04-23 22:00 ` Roel Janssen
  1 sibling, 1 reply; 6+ messages in thread
From: Chris Marusich @ 2018-04-21 19:53 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 487 bytes --]

Hi Mark,

Mark H Weaver <mhw@netris.org> writes:

> Below I've attached a draft patch to update vlc to 3.0.1, and also to
> add several more inputs based on reading the output of the 'configure'
> script.

Thank you for working on this!  I don't have a solution, but I wanted to
ask: why not post this to guix-patches@gnu.org?  That way, it's less
likely we will forget about it, and it is more likely that somebody
perusing the patches might pick it up later.

-- 
Chris

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Help needed updating vlc to version 3.0.1.
  2018-04-21 19:53 ` Chris Marusich
@ 2018-04-21 20:20   ` Mark H Weaver
  0 siblings, 0 replies; 6+ messages in thread
From: Mark H Weaver @ 2018-04-21 20:20 UTC (permalink / raw)
  To: Chris Marusich; +Cc: guix-devel

Chris Marusich <cmmarusich@gmail.com> writes:

> Mark H Weaver <mhw@netris.org> writes:
>
>> Below I've attached a draft patch to update vlc to 3.0.1, and also to
>> add several more inputs based on reading the output of the 'configure'
>> script.
>
> Thank you for working on this!  I don't have a solution, but I wanted to
> ask: why not post this to guix-patches@gnu.org?  That way, it's less
> likely we will forget about it, and it is more likely that somebody
> perusing the patches might pick it up later.

Indeed, you are right.  'guix-patches' is the proper venue for this.
I will post it there after crafting a proper commit log.

    Thanks,
      Mark

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Help needed updating vlc to version 3.0.1.
  2018-04-21  8:36 Help needed updating vlc to version 3.0.1 Mark H Weaver
  2018-04-21 19:53 ` Chris Marusich
@ 2018-04-23 22:00 ` Roel Janssen
  2018-04-23 22:09   ` Roel Janssen
  1 sibling, 1 reply; 6+ messages in thread
From: Roel Janssen @ 2018-04-23 22:00 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guix-devel


Mark H Weaver <mhw@netris.org> writes:

> Hello Guix,
>
> Below I've attached a draft patch to update vlc to 3.0.1, and also to
> add several more inputs based on reading the output of the 'configure'
> script.
>
> It builds successfully and mostly works except for one problem: the
> icons are missing from the control buttons on the main window of the Qt
> interface.  The icons in question are .svg files in the source tarball,
> but are converted into data structures within C++ source code using
> 'rcc'.
>
> strace reveals that vlc is performing 'stat' system calls on bogus file
> names beginning with ":/", e.g. ":/toolbar/play_b.svg".  These
> correspond to the missing icons.  According to
> <https://doc.qt.io/archives/qt-4.8/resources.html>, these names that
> begin with ":/" are meant to be references to resources that were
> imported using 'rcc'.
>
> I can't afford to spend more time on this right now.  I don't use vlc
> myself, but for security reasons I think it's important to keep our
> media players up-to-date, especially media players like vlc that bundle
> their own codecs.  I expect that vlc is quite popular, which makes it
> all the more important.
>
> I'm hoping that someone with more knowledge of Qt will step up to debug
> this problem.  Any volunteers?
>
> Note, this patch is based on core-updates, but hopefully it would work
> on 'master' too.

Thanks a lot for working on this!  I applied your patch to ‘master’ and
built VLC.  It is missing the icons.

Then I manually built it inside a ‘guix environment vlc’.
Launching it shows the icons.  Leaving the environment and running the
same executable misses the icons.

Could it be that we need to propagate an input?
I'll try to dissect it further.

Kind regards,
Roel Janssen

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Help needed updating vlc to version 3.0.1.
  2018-04-23 22:00 ` Roel Janssen
@ 2018-04-23 22:09   ` Roel Janssen
  2018-04-23 22:29     ` Roel Janssen
  0 siblings, 1 reply; 6+ messages in thread
From: Roel Janssen @ 2018-04-23 22:09 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guix-devel


Roel Janssen <roel@gnu.org> writes:

> Mark H Weaver <mhw@netris.org> writes:
>
>> Hello Guix,
>>
>> Below I've attached a draft patch to update vlc to 3.0.1, and also to
>> add several more inputs based on reading the output of the 'configure'
>> script.
>>
>> It builds successfully and mostly works except for one problem: the
>> icons are missing from the control buttons on the main window of the Qt
>> interface.  The icons in question are .svg files in the source tarball,
>> but are converted into data structures within C++ source code using
>> 'rcc'.
>>
>> strace reveals that vlc is performing 'stat' system calls on bogus file
>> names beginning with ":/", e.g. ":/toolbar/play_b.svg".  These
>> correspond to the missing icons.  According to
>> <https://doc.qt.io/archives/qt-4.8/resources.html>, these names that
>> begin with ":/" are meant to be references to resources that were
>> imported using 'rcc'.
>>
>> I can't afford to spend more time on this right now.  I don't use vlc
>> myself, but for security reasons I think it's important to keep our
>> media players up-to-date, especially media players like vlc that bundle
>> their own codecs.  I expect that vlc is quite popular, which makes it
>> all the more important.
>>
>> I'm hoping that someone with more knowledge of Qt will step up to debug
>> this problem.  Any volunteers?
>>
>> Note, this patch is based on core-updates, but hopefully it would work
>> on 'master' too.
>
> Thanks a lot for working on this!  I applied your patch to ‘master’ and
> built VLC.  It is missing the icons.
>
> Then I manually built it inside a ‘guix environment vlc’.
> Launching it shows the icons.  Leaving the environment and running the
> same executable misses the icons.
>
> Could it be that we need to propagate an input?
> I'll try to dissect it further.

After setting QT_PLUGIN_PATH outside of the environment, the icons
appear in the Guix-compiled vlc-3.0.1.  I think the files in
QT_PLUGIN_PATH do not originate from VLC, but instead from Qt and
QtSvg.

Should we wrap the executable so that QT_PLUGIN_PATH is defined?

Thanks!

Kind regards,
Roel Janssen

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Help needed updating vlc to version 3.0.1.
  2018-04-23 22:09   ` Roel Janssen
@ 2018-04-23 22:29     ` Roel Janssen
  0 siblings, 0 replies; 6+ messages in thread
From: Roel Janssen @ 2018-04-23 22:29 UTC (permalink / raw)
  To: Mark H Weaver; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 2319 bytes --]


Roel Janssen <roel@gnu.org> writes:

> Roel Janssen <roel@gnu.org> writes:
>
>> Mark H Weaver <mhw@netris.org> writes:
>>
>>> Hello Guix,
>>>
>>> Below I've attached a draft patch to update vlc to 3.0.1, and also to
>>> add several more inputs based on reading the output of the 'configure'
>>> script.
>>>
>>> It builds successfully and mostly works except for one problem: the
>>> icons are missing from the control buttons on the main window of the Qt
>>> interface.  The icons in question are .svg files in the source tarball,
>>> but are converted into data structures within C++ source code using
>>> 'rcc'.
>>>
>>> strace reveals that vlc is performing 'stat' system calls on bogus file
>>> names beginning with ":/", e.g. ":/toolbar/play_b.svg".  These
>>> correspond to the missing icons.  According to
>>> <https://doc.qt.io/archives/qt-4.8/resources.html>, these names that
>>> begin with ":/" are meant to be references to resources that were
>>> imported using 'rcc'.
>>>
>>> I can't afford to spend more time on this right now.  I don't use vlc
>>> myself, but for security reasons I think it's important to keep our
>>> media players up-to-date, especially media players like vlc that bundle
>>> their own codecs.  I expect that vlc is quite popular, which makes it
>>> all the more important.
>>>
>>> I'm hoping that someone with more knowledge of Qt will step up to debug
>>> this problem.  Any volunteers?
>>>
>>> Note, this patch is based on core-updates, but hopefully it would work
>>> on 'master' too.
>>
>> Thanks a lot for working on this!  I applied your patch to ‘master’ and
>> built VLC.  It is missing the icons.
>>
>> Then I manually built it inside a ‘guix environment vlc’.
>> Launching it shows the icons.  Leaving the environment and running the
>> same executable misses the icons.
>>
>> Could it be that we need to propagate an input?
>> I'll try to dissect it further.
>
> After setting QT_PLUGIN_PATH outside of the environment, the icons
> appear in the Guix-compiled vlc-3.0.1.  I think the files in
> QT_PLUGIN_PATH do not originate from VLC, but instead from Qt and
> QtSvg.
>
> Should we wrap the executable so that QT_PLUGIN_PATH is defined?

The attached patch adds such a wrap phase, with which running ‘vlc’ the
icons work again.

Kind regards,
Roel Janssen


[-- Attachment #2: 0001-DRAFT-gnu-vlc-Update-to-3.0.1-and-add-more-inputs.patch --]
[-- Type: text/x-patch, Size: 8306 bytes --]

From 47d20a29bd237a211f2805d470fb4db9726103d6 Mon Sep 17 00:00:00 2001
From: Roel Janssen <roel@gnu.org>
Date: Tue, 24 Apr 2018 00:26:42 +0200
Subject: [PATCH] DRAFT: gnu: vlc: Update to 3.0.1, and add more inputs.

---
 gnu/packages/video.scm | 81 +++++++++++++++++++++++++++++++++++-------
 1 file changed, 69 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index dc5a37566..e90207185 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -1,7 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2014, 2015, 2016 David Thompson <davet@gnu.org>
-;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2014, 2015, 2016, 2018 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
 ;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2015 Andy Patterson <ajpatter@uwaterloo.ca>
@@ -63,6 +63,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)
@@ -94,6 +95,7 @@
   #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages iso-codes)
+  #:use-module (gnu packages libidn)
   #:use-module (gnu packages libreoffice)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lua)
@@ -110,7 +112,9 @@
   #:use-module (gnu packages python-crypto)
   #:use-module (gnu packages python-web)
   #:use-module (gnu packages qt)
+  #:use-module (gnu packages rdesktop)
   #: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)
@@ -118,6 +122,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)
@@ -805,7 +810,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
@@ -813,55 +818,90 @@ 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
+     `(("flex" ,flex)
+       ("bison" ,bison)
+       ("gettext" ,gettext-minimal)
+       ("git" ,git) ; needed for a test
        ("pkg-config" ,pkg-config)))
     ;; FIXME: Add optional inputs once available.
     (inputs
      `(("alsa-lib" ,alsa-lib)
        ("avahi" ,avahi)
        ("dbus" ,dbus)
+       ("eudev" ,eudev)
        ("flac" ,flac)
-       ("ffmpeg" ,ffmpeg-2.8)               ;fails to build against ffmpeg 3.0
+       ("ffmpeg" ,ffmpeg)
        ("fontconfig" ,fontconfig)
        ("freetype" ,freetype)
+       ("fribidi" ,fribidi)
        ("gnutls" ,gnutls)
        ("liba52" ,liba52)
+       ("libarchive" ,libarchive)
+       ("libass" ,libass)
+       ("libavc1394" ,libavc1394)
+       ("libbluray" ,libbluray)
+       ("libcaca" ,libcaca)
        ("libcddb" ,libcddb)
+       ("libdca" ,libdca)
        ("libdvbpsi" ,libdvbpsi)
+       ("libdvdnav" ,libdvdnav)
+       ("libdvdread" ,libdvdread)
+       ("libebml" ,libebml)
        ("libgcrypt" ,libgcrypt)
+       ("libidn" ,libidn)
        ("libkate" ,libkate)
        ("libmad" ,libmad)
+       ("libmatroska" ,libmatroska)
+       ("libmodplug" ,libmodplug)
+       ("libmpeg2" ,libmpeg2)
        ("libogg" ,libogg)
        ("libpng" ,libpng)
+       ("libraw1394" ,libraw1394)
+       ("librsvg" ,librsvg)
        ("libsamplerate" ,libsamplerate)
+       ("libsecret" ,libsecret)
        ("libssh2" ,libssh2)
+       ("libupnp" ,libupnp)
+       ("libva" ,libva)
+       ("libvdpau" ,libvdpau)
        ("libvorbis" ,libvorbis)
+       ("libvpx" ,libvpx)
        ("libtheora" ,libtheora)
+       ("libx264" ,libx264)
        ("libxext" ,libxext)
        ("libxi" ,libxi)
        ("libxinerama" ,libxinerama)
        ("libxml2" ,libxml2)
        ("libxpm" ,libxpm)
        ("livemedia-utils" ,livemedia-utils)
-       ("lua" ,lua-5.1)
+       ("lua" ,lua-5.2)
        ("mesa" ,mesa)
        ("opus" ,opus)
        ("perl" ,perl)
        ("pulseaudio" ,pulseaudio)
        ("python" ,python-wrapper)
        ("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)
        ("qtx11extras" ,qtx11extras)
+       ("samba" ,samba)
        ("sdl" ,sdl)
        ("sdl-image" ,sdl-image)
        ("speex" ,speex)
+       ("speexdsp" ,speexdsp)
+       ("taglib" ,taglib)
+       ("twolame" ,twolame)
+       ("unzip" ,unzip)
+       ("wayland" ,wayland)
+       ("wayland-protocols" ,wayland-protocols)
        ("x265" ,x265)
        ("xcb-util-keysyms" ,xcb-util-keysyms)))
     (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
@@ -878,11 +918,21 @@ 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>"))
+               ;; The check_POTFILES.sh test fails for vlc-3.0.1 with the
+               ;; message: "modules/gui/qt/ui/about.h: source file missing!".
+               ;; FIXME: Try removing this for vlc >= 3.0.2.
+               (substitute* "test/Makefile.in"
+                 (("^TESTS =(.*) check_POTFILES.sh(.*)" all pre post)
+                  (string-append "TESTS =" pre post)))
+               ;; modules/text_renderer/freetype/text_layout.c uses a
+               ;; now-deprecated interface 'fribidi_get_par_embedding_levels'
+               ;; from fribidi.h, so for now we enable the use of deprecated
+               ;; fribidi interfaces from this file.
+               ;; FIXME: Try removing this for vlc >= 3.0.2.
+               (substitute* "modules/text_renderer/freetype/text_layout.c"
+                 (("# define FRIBIDI_NO_DEPRECATED 1") ""))
                #t)))
-         (add-after 'install 'regenerate-plugin-cache
+         (add-after 'strip 'regenerate-plugin-cache
            (lambda* (#:key outputs #:allow-other-keys)
              ;; The 'install-exec-hook' rule in the top-level Makefile.am
              ;; generates 'lib/vlc/plugins/plugins.dat', a plugin cache, using
@@ -899,9 +949,16 @@ audio/video codec library.")
                (for-each (lambda (file)
                            (let ((s (lstat file)))
                              (unless (eq? (stat:type s) 'symlink)
-                               (utime file 0 0 0 0))))
+                               (utime file 1 1))))
                          (find-files plugindir))
-               (zero? (system* cachegen plugindir))))))))
+               (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)))))
     (home-page "https://www.videolan.org/")
     (synopsis "Audio and video framework")
     (description "VLC is a cross-platform multimedia player and framework
-- 
2.17.0


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-04-23 22:29 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-21  8:36 Help needed updating vlc to version 3.0.1 Mark H Weaver
2018-04-21 19:53 ` Chris Marusich
2018-04-21 20:20   ` Mark H Weaver
2018-04-23 22:00 ` Roel Janssen
2018-04-23 22:09   ` Roel Janssen
2018-04-23 22:29     ` Roel Janssen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).