Patchwork gnu: vlc: Add inputs.

login
register
mail settings
Submitter Alex Vong
Date Sept. 2, 2016, 4:22 a.m.
Message ID <87oa479bhc.fsf@gmail.com>
Download mbox | patch
Permalink /patch/15173/
State New
Headers show

Comments

Alex Vong - Sept. 2, 2016, 4:22 a.m.
Hi guix,

While test-driving vlc on my laptop, I notice our vlc isn't build with
subtitle support. So, I go ahead and add as many inputs as possible.

There are 3 points to pay attention:
1. Add liba52 as input and remove the old FIXME
2. Add a new FIXME since gnome-vfs is not detected by the vlc build system
3. Our vlc was built with fast-math disabled as explained in the
comment. However, this is actually not necessary, vlc would built with
'-ffast-math -fno-finite-math-only'.
The next thing to do would be adding free-software intel drivers for libva!


Cheers,
Alex
David Craven - Sept. 3, 2016, 4:15 p.m.
Hi Alex,

I'm not sure we need all those dependencies =) Can you explain what
they are for? If you are adding dependencies to vlc why did you leave
libinput-minimal off the list? ;)

> 3. Our vlc was built with fast-math disabled as explained in the
> comment. However, this is actually not necessary, vlc would built with
> '-ffast-math -fno-finite-math-only'.

This should probably be a separate patch, and will probably have a
easier path to master...

Thanks!
Efraim Flashner - Sept. 5, 2016, 7:56 p.m.
On Sat, Sep 03, 2016 at 06:15:48PM +0200, David Craven wrote:
> Hi Alex,
> 
> I'm not sure we need all those dependencies =) Can you explain what
> they are for? If you are adding dependencies to vlc why did you leave
> libinput-minimal off the list? ;)
> 
> > 3. Our vlc was built with fast-math disabled as explained in the
> > comment. However, this is actually not necessary, vlc would built with
> > '-ffast-math -fno-finite-math-only'.
> 
> This should probably be a separate patch, and will probably have a
> easier path to master...
> 
> Thanks!
> 

also check the closure size with and without samba. A long time ago we
removed samba from mpv and it drastically slimmed down the size of the
closure. IIRC it meant we could no longer do `mpv smb://...'
Alex Vong - Sept. 6, 2016, 10:36 a.m.
Hi David and Efraim,

Thanks for the review.

Efraim Flashner <efraim@flashner.co.il> writes:

> On Sat, Sep 03, 2016 at 06:15:48PM +0200, David Craven wrote:
>> Hi Alex,
>> 
>> I'm not sure we need all those dependencies =) Can you explain what
>> they are for? If you are adding dependencies to vlc why did you leave
>> libinput-minimal off the list? ;)
>>
Sorry, I don't understand what do you mean by libinput-minimal? I didn't
add any packages with a "-minial" suffice. As for the necessities of
those dependencies, those dependencies are added one by one. The
procedure is as followed:
1. I build from source and check for something like "WARNING: XXX not found"
2. Add dependency(s) to silent the warning
3. Repeat


>> > 3. Our vlc was built with fast-math disabled as explained in the
>> > comment. However, this is actually not necessary, vlc would built with
>> > '-ffast-math -fno-finite-math-only'.
>> 
>> This should probably be a separate patch, and will probably have a
>> easier path to master...
>>
Sure!

>> Thanks!
>> 
>
> also check the closure size with and without samba. A long time ago we
> removed samba from mpv and it drastically slimmed down the size of the
> closure. IIRC it meant we could no longer do `mpv smb://...'

I haven't checked that. I will check it now.

Cheers,
Alex
David Craven - Sept. 6, 2016, 11:11 a.m.
> Sorry, I don't understand what do you mean by libinput-minimal? I didn't
> add any packages with a "-minial" suffice. As for the necessities of
> those dependencies, those dependencies are added one by one. The
> procedure is as followed:
> 1. I build from source and check for something like "WARNING: XXX not found"
> 2. Add dependency(s) to silent the warning
> 3. Repeat

You should get the same warning for libinput too...
Alex Vong - Sept. 10, 2016, 2:27 a.m.
David Craven <david@craven.ch> writes:

>> Sorry, I don't understand what do you mean by libinput-minimal? I didn't
>> add any packages with a "-minial" suffice. As for the necessities of
>> those dependencies, those dependencies are added one by one. The
>> procedure is as followed:
>> 1. I build from source and check for something like "WARNING: XXX not found"
>> 2. Add dependency(s) to silent the warning
>> 3. Repeat
>
> You should get the same warning for libinput too...

Hmm, I don't get the waraning for libinput for some reason. The complete
list of warnings is as followed:


checking for LUA... no
configure: WARNING: No package 'lua5.2' found, trying lua 5.1 instead
checking for LUA... no
configure: WARNING: No package 'lua5.1' found, trying lua >= 5.1 instead
checking for LUA... no
configure: WARNING: No package 'lua' found, trying manual detection instead
checking lua.h usability... yes
checking lua.h presence... yes
checking for lua.h... yes
checking lauxlib.h usability... yes
checking lauxlib.h presence... yes
checking for lauxlib.h... yes
checking lualib.h usability... yes
checking lualib.h presence... yes
checking for lualib.h... yes
checking for luaL_newstate in -llua5.2 ... no
checking for luaL_newstate in -llua5.1 ... no
checking for luaL_newstate in -llua51 ... no
checking for luaL_newstate in -llua ... yes
checking for luac... /gnu/store/awvlsvab8g2cjxz214gn8ddz2y61al87-lua-5.1.5/bin/luac
checking for LIVE555... no
configure: WARNING: No package 'live555' found.
checking for live555 version 1324598400 or later... no
configure: WARNING: live555 is missing or its installed version is too old:
Version 2011.12.23 or later is required to proceed.
You can get an updated one from http://www.live555.com/liveMedia .
checking for DC1394... no
configure: WARNING: Library libdc1394-2 >= 2.1.0 needed for dc1394 was not found
checking for DV1394... yes
checking for LINSYS_SDI... no
configure: WARNING: No package 'zvbi-0.2' found.
checking for DVDREAD... yes
checking for DVDNAV... yes
checking for dvdnav_stream_cb in dvdnav/dvdnav.h... yes
checking for BLURAY... yes
checking for OPENCV... no
configure: WARNING: Library opencv > 2.0 needed for opencv was not found
checking for SMBCLIENT... yes
checking for SFTP... yes
checking linux/videodev2.h usability... yes
checking linux/videodev2.h presence... yes
checking for linux/videodev2.h... yes
checking sys/videoio.h usability... no
checking sys/videoio.h presence... no
checking for sys/videoio.h... no
checking DeckLinkAPIDispatch.cpp usability... no
checking DeckLinkAPIDispatch.cpp presence... no
checking for DeckLinkAPIDispatch.cpp... no
configure: WARNING: Blackmagic DeckLink SDI include files not found
checking for GNOMEVFS... no
configure: WARNING: Library gnome-vfs-2.0 needed for gnomevfs was not found
checking for cdrom_msf0 in linux/cdrom.h... yes
checking for scsireq in sys/scsiio.h... no
checking for ioc_toc_header in sys/cdio.h... no
checking for LIBCDDB... yes
checking for Linux DVB version 5.1... yes
checking for VNC... no
configure: WARNING: Library libvncclient >= 0.9.9 needed for vnc was not found
checking for FREERDP... no
configure: WARNING: Library freerdp >= 1.0.1 needed for freerdp was not found
checking for ASDCP... no
checking for DVBPSI... no
checking gme/gme.h usability... no
checking gme/gme.h presence... no
checking for gme/gme.h... no
checking for SID... no
configure: WARNING: No package 'libsidplay2' found (required for sid).
checking for OGG... yes
checking for LIBVORBIS... yes
checking for OGG... yes
checking for MUX_OGG... yes
checking for SHOUT... yes
checking ebml/EbmlVersion.h usability... no
checking ebml/EbmlVersion.h presence... no
checking for ebml/EbmlVersion.h... no
checking for LIBMODPLUG... yes
checking mpc/mpcdec.h usability... no
checking mpc/mpcdec.h presence... no
checking for mpc/mpcdec.h... no
checking mpcdec/mpcdec.h usability... no
checking mpcdec/mpcdec.h presence... no
checking for mpcdec/mpcdec.h... no
checking for SHINE... no
configure: WARNING: Library shine >= 3.0.0 needed for shine was not found
checking interface/mmal/mmal.h usability... no
checking interface/mmal/mmal.h presence... no
checking for interface/mmal/mmal.h... no
configure: WARNING: Cannot find development headers for mmal...
checking for libcrystalhd/libcrystalhd_if.h... no
checking mad.h usability... yes
checking mad.h presence... yes
checking for mad.h... yes
checking for mad_bit_init in -lmad... yes
checking for libavutil variant... ffmpeg
checking for GST_APP... yes
checking for GST_VIDEO... yes
checking for AVCODEC... yes
checking libavcodec/avcodec.h usability... yes
checking libavcodec/avcodec.h presence... yes
checking for libavcodec/avcodec.h... yes
checking libavutil/avutil.h usability... yes
checking libavutil/avutil.h presence... yes
checking for libavutil/avutil.h... yes
checking for LIBVA_DRM... yes
checking for LIBVA_X11... yes
checking libavcodec/vaapi.h usability... yes
checking libavcodec/vaapi.h presence... yes
checking for libavcodec/vaapi.h... yes
configure: VA API acceleration activated
checking for AVFORMAT... yes
checking libavformat/avformat.h usability... yes
checking libavformat/avformat.h presence... yes
checking for libavformat/avformat.h... yes
checking libavformat/avio.h usability... yes
checking libavformat/avio.h presence... yes
checking for libavformat/avio.h... yes
checking for libavcodec/avcodec.h... (cached) yes
checking for libavutil/avutil.h... (cached) yes
checking for SWSCALE... yes
checking libswscale/swscale.h usability... yes
checking libswscale/swscale.h presence... yes
checking for libswscale/swscale.h... yes
checking for libavutil/avutil.h... (cached) yes
checking for POSTPROC... yes
checking postproc/postprocess.h usability... no
checking postproc/postprocess.h presence... no
checking for postproc/postprocess.h... no
checking faad.h usability... yes
checking faad.h presence... yes
checking for faad.h... yes
checking for faacDecOpen in -lfaad... no
checking for NeAACDecOpen in -lfaad... yes
checking for VPX... no
checking for TWOLAME... yes
checking a52dec/a52.h usability... yes
checking a52dec/a52.h presence... yes
checking for a52dec/a52.h... yes
checking for a52_free in -la52... yes
checking for DCA... yes
checking for FLAC... yes
checking for LIBMPEG2... yes
checking for VORBIS... yes
checking for SPEEX... yes
checking for SPEEXDSP... yes
checking for OPUS... yes
checking for THEORA... yes
checking for SCHROEDINGER... no
configure: WARNING: Library schroedinger-1.0 >= 1.0.10 needed for schroedinger was not found
checking png.h usability... yes
checking png.h presence... yes
checking for png.h... yes
checking for png_set_rows in -lpng... yes
checking jpeglib.h usability... yes
checking jpeglib.h presence... yes
checking for jpeglib.h... yes
checking for X262... no
checking for X265... no
configure: WARNING: Library x265 needed for x265 was not found
checking for X26410B... no
checking for X264... no
checking for MFX... no
configure: WARNING: Library libmfx needed for mfx was not found
checking for FLUIDSYNTH... yes
checking for ZVBI... no
configure: WARNING: No package 'zvbi-0.2' found. Enabling the telx module instead.
checking for LIBASS... yes
checking fontconfig/fontconfig.h usability... yes
checking fontconfig/fontconfig.h presence... yes
checking for fontconfig/fontconfig.h... yes
checking for KATE... yes
checking for TIGER... no
checking for EGL... yes
checking for GL... yes
checking for X... libraries , headers 
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... no
checking X11/Xlib.h usability... yes
checking X11/Xlib.h presence... yes
checking for X11/Xlib.h... yes
checking for XCB... yes
checking for XCB_SHM... yes
checking for XCB_COMPOSITE... yes
checking for XPROTO... yes
checking for XCB_XV... yes
checking for XCB_RANDR... yes
checking for XCB_KEYSYMS... yes
checking for VDPAU... yes
configure: VDPAU decoding acceleration activated
checking for SDL... yes
checking for SDL_IMAGE... yes
checking for FREETYPE... yes
checking Carbon/Carbon.h usability... no
checking Carbon/Carbon.h presence... no
checking for Carbon/Carbon.h... no
checking for fontconfig/fontconfig.h... (cached) yes
checking for FRIBIDI... yes
checking for SVG... yes
checking for SVGDEC... yes
checking linux/fb.h usability... yes
checking linux/fb.h presence... yes
checking for linux/fb.h... yes
checking for CACA... yes
checking kva.h usability... no
checking kva.h presence... no
checking for kva.h... no
checking for interface/mmal/mmal.h... (cached) no
configure: WARNING: Cannot find development headers for mmal...
checking for PULSE... yes
checking for ALSA... yes
checking sndio.h usability... no
checking sndio.h presence... no
checking for sndio.h... no
checking audioclient.h usability... no
checking audioclient.h presence... no
checking for audioclient.h... no
checking for JACK... yes
checking for SAMPLERATE... yes
checking kai.h usability... no
checking kai.h presence... no
checking for kai.h... no
checking for CHROMAPRINT... no
configure: WARNING: Library libchromaprint >= 0.6.0 needed for chromaprint was not found
checking for QT... yes
checking for QTX11... yes
checking for XI... yes
checking for moc-qt5... no
checking for moc... /gnu/store/l76cmwmjz19pkxbwxqy48xyyqwl0qhrl-qt-5.6.1-1/bin/moc
checking for rcc-qt5... no
checking for rcc... /gnu/store/l76cmwmjz19pkxbwxqy48xyyqwl0qhrl-qt-5.6.1-1/bin/rcc
checking for uic-qt5... no
checking for uic... /gnu/store/l76cmwmjz19pkxbwxqy48xyyqwl0qhrl-qt-5.6.1-1/bin/uic
checking whether Qt uses Xlib... no
checking for XPM... yes
checking for XINERAMA... yes
checking for XEXT... yes
checking libtar.h usability... no
checking libtar.h presence... no
checking for libtar.h... no
checking for NCURSES... no
checking for GOOM... no
configure: WARNING: Library libgoom2 needed for goom was not found
checking for PROJECTM... no
configure: WARNING: No package 'libprojectM' found.
checking for VSXU... no
configure: WARNING: No package 'libvsxu' found.
checking for BONJOUR... yes
checking for UDEV... yes
checking for MTP... yes
checking for UPNP... yes
checking for LIBXML2... yes
checking whether GCRYCTL_SET_THREAD_CBS is declared... yes
checking for gcry_control in -lgcrypt... yes
checking for GNUTLS... yes
checking for TAGLIB... yes
checking for NOTIFY... yes
checking whether byte ordering is bigendian... no

Patch

From 56ca3c305354522fdfb7fd9a7fe1e8d57f1a8d87 Mon Sep 17 00:00:00 2001
From: Alex Vong <alexvong1995@gmail.com>
Date: Tue, 30 Aug 2016 02:30:57 +0800
Subject: [PATCH] gnu: vlc: Add inputs.

* gnu/packages/video.scm (vlc)[inputs]: Add eudev, faad2, fluidsynth,
  gnome-vfs, gst-plugins-base, gtk+-2, jack-2, liba52, libass,
  libavc1394, libbluray, libcaca, libdca, libdvdnav, libdvdread,
  libmpeg2, libmodplug, libmtp, libnotify, libraw1394, libshout,
  librsvg, libupnp, libva, libvdpau, samba, taglib, twolame.
  [arguments]: Pass "CFLAGS=-ffast-math -fno-finite-math-only" and
  "CXXFLAGS=-ffast-math -fno-finite-math-only" to #:configure-flags.
---
 gnu/packages/video.scm | 42 ++++++++++++++++++++++++++++++++++++++----
 1 file changed, 38 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 5c59ee2..da03b71 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -6,7 +6,7 @@ 
 ;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2015 Andy Patterson <ajpatter@uwaterloo.ca>
 ;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2015 Alex Vong <alexvong1995@gmail.com>
+;;; Copyright © 2015, 2016 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
 ;;; Copyright © 2016 Kei Kebreau <kei@openmailbox.org>
 ;;; Copyright © 2016 Dmitry Nikolaev <cameltheman@gmail.com>
@@ -60,9 +60,13 @@ 
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages guile)
+  #:use-module (gnu packages gnome)
   #:use-module (gnu packages gnupg)
+  #:use-module (gnu packages gstreamer)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages libupnp)
+  #:use-module (gnu packages libusb)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages mp3)
@@ -74,6 +78,7 @@ 
   #:use-module (gnu packages pulseaudio)
   #:use-module (gnu packages python)
   #:use-module (gnu packages qt)
+  #:use-module (gnu packages samba)
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages ssh)
   #:use-module (gnu packages texinfo)
@@ -611,19 +616,44 @@  audio/video codec library.")
      `(("alsa-lib" ,alsa-lib)
        ("avahi" ,avahi)
        ("dbus" ,dbus)
+       ("eudev" ,eudev)
+       ("faad2" ,faad2)
        ("flac" ,flac)
        ("ffmpeg" ,ffmpeg-2.8)               ;fails to build against ffmpeg 3.0
+       ("fluidsynth" ,fluidsynth)
        ("fontconfig" ,fontconfig)
        ("freetype" ,freetype)
+       ("gnome-vfs" ,gnome-vfs) ; FIXME: the build system cannot detect it
        ("gnutls" ,gnutls)
+       ("gst-plugins-base" ,gst-plugins-base)
+       ("gtk+" ,gtk+-2)
+       ("jack" ,jack-2)
+       ("liba52" ,liba52)
+       ("libass" ,libass)
+       ("libavc1394" ,libavc1394)
+       ("libbluray" ,libbluray)
+       ("libcaca" ,libcaca)
+       ("libdca" ,libdca)
        ("libcddb" ,libcddb)
+       ("libdvdnav" ,libdvdnav)
+       ("libdvdread" ,libdvdread)
        ("libgcrypt" ,libgcrypt)
        ("libkate" ,libkate)
        ("libmad" ,libmad)
+       ("libmpeg2" ,libmpeg2)
+       ("libmodplug" ,libmodplug)
+       ("libmtp" ,libmtp)
+       ("libnotify" ,libnotify)
        ("libogg" ,libogg)
        ("libpng" ,libpng)
+       ("libraw1394" ,libraw1394)
        ("libsamplerate" ,libsamplerate)
+       ("libshout" ,libshout)
        ("libssh2" ,libssh2)
+       ("librsvg" ,librsvg)
+       ("libupnp" ,libupnp)
+       ("libva" ,libva)
+       ("libvdpau" ,libvdpau)
        ("libvorbis" ,libvorbis)
        ("libtheora" ,libtheora)
        ("libxext" ,libxext)
@@ -640,18 +670,22 @@  audio/video codec library.")
        ("qt" ,qt) ; FIXME: reenable modular qt after update - requires building
        ;("qtbase" ,qtbase) with -std=gnu++11.
        ;("qtx11extras" ,qtx11extras)
+       ("samba" ,samba)
        ("sdl" ,sdl)
        ("sdl-image" ,sdl-image)
        ("speex" ,speex)
+       ("taglib" ,taglib)
+       ("twolame" ,twolame)
        ("xcb-util-keysyms" ,xcb-util-keysyms)))
     (arguments
      `(#:configure-flags
-       `("--disable-a52" ; FIXME: reenable once available
-
-         ;; Gross workaround for <https://trac.videolan.org/vlc/ticket/16907>.
+       `(;; Gross workaround for <https://trac.videolan.org/vlc/ticket/16907>.
          ;; In our case, this led to a test failure:
          ;;   test_libvlc_equalizer: libvlc/equalizer.c:122: test_equalizer: Assertion `isnan(libvlc_audio_equalizer_get_amp_at_index (equalizer, u_bands))' failed.
          "ac_cv_c_fast_math=no"
+         ;; To compensate, we enable:
+         "CFLAGS=-ffast-math -fno-finite-math-only"
+         "CXXFLAGS=-ffast-math -fno-finite-math-only"
 
          ,(string-append "LDFLAGS=-Wl,-rpath -Wl,"
                          (assoc-ref %build-inputs "ffmpeg")
-- 
2.9.3