From a0dd9713e31bf2dfbe33ed50f2915d1c654344db Mon Sep 17 00:00:00 2001 From: Peter Hoeg Date: Mon, 16 Apr 2018 17:34:07 +0800 Subject: vlc: 2.2.8 -> 3.0.1 --- pkgs/applications/video/vlc/default.nix | 99 ++++++++++++++++----------------- 1 file changed, 47 insertions(+), 52 deletions(-) (limited to 'pkgs/applications/video') diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix index 44c4d317d36a..6cc26baf70c0 100644 --- a/pkgs/applications/video/vlc/default.nix +++ b/pkgs/applications/video/vlc/default.nix @@ -1,86 +1,81 @@ -{ stdenv, fetchurl, xz, bzip2, perl, xorg, libdvdnav, libbluray +{ stdenv, fetchurl, autoreconfHook +, libarchive, perl, xorg, libdvdnav, libbluray , zlib, a52dec, libmad, faad2, ffmpeg, alsaLib , pkgconfig, dbus, fribidi, freefont_ttf, libebml, libmatroska -, libvorbis, libtheora, speex, lua5, libgcrypt, libupnp +, libvorbis, libtheora, speex, lua5, libgcrypt, libgpgerror, libupnp , libcaca, libpulseaudio, flac, schroedinger, libxml2, librsvg -, mpeg2dec, udev, gnutls, avahi, libcddb, libjack2, SDL, SDL_image +, mpeg2dec, systemd, gnutls, avahi, libcddb, libjack2, SDL, SDL_image , libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, liboggz -, libass, libva, libdvbpsi, libdc1394, libraw1394, libopus -, libvdpau, libsamplerate, live555, fluidsynth -, qt4 ? null -, withQt5 ? false, qtbase ? null, qtx11extras ? null +, libass, libva-full, libdvbpsi, libdc1394, libraw1394, libopus +, libvdpau, libsamplerate, live555, fluidsynth, wayland, wayland-protocols +, onlyLibVLC ? false +, withQt5 ? true, qtbase ? null, qtsvg ? null, qtx11extras ? null , jackSupport ? false , fetchpatch }: with stdenv.lib; -assert (withQt5 -> qtbase != null && qtx11extras != null); -assert (!withQt5 -> qt4 != null); +assert (withQt5 -> qtbase != null && qtsvg != null && qtx11extras != null); stdenv.mkDerivation rec { name = "vlc-${version}"; - version = "2.2.8"; + version = "3.0.1"; src = fetchurl { url = "http://get.videolan.org/vlc/${version}/${name}.tar.xz"; - sha256 = "1v32snw46rkgbdqdy3dssl2y13i8p2cr1cw1i18r6vdmiy24dw4v"; + sha256 = "008krfhykm9447wc1kkw82bsw3f6ikljgrqyb1sinwlxnkghqw6f"; }; - # Comment-out the Qt 5.5 version check, as we do apply the relevant patch. - # https://trac.videolan.org/vlc/ticket/16497 - postPatch = if (!withQt5) then null else - "sed '/I78ef29975181ee22429c9bd4b11d96d9e68b7a9c/s/^/: #/' -i configure"; - - buildInputs = - [ xz bzip2 perl zlib a52dec libmad faad2 ffmpeg alsaLib libdvdnav libdvdnav.libdvdread - libbluray dbus fribidi libvorbis libtheora speex lua5 libgcrypt - libupnp libcaca libpulseaudio flac schroedinger libxml2 librsvg mpeg2dec - udev gnutls avahi libcddb SDL SDL_image libmtp unzip taglib - libkate libtiger libv4l samba liboggz libass libdvbpsi libva - xorg.xlibsWrapper xorg.libXv xorg.libXvMC xorg.libXpm xorg.xcbutilkeysyms - libdc1394 libraw1394 libopus libebml libmatroska libvdpau libsamplerate live555 - fluidsynth - ] - ++ [(if withQt5 then qtbase else qt4)] - ++ optional withQt5 qtx11extras + # VLC uses a *ton* of libraries for various pieces of functionality, many of + # which are not included here for no other reason that nobody has mentioned + # needing them + buildInputs = [ + zlib a52dec libmad faad2 ffmpeg alsaLib libdvdnav libdvdnav.libdvdread + libbluray dbus fribidi libvorbis libtheora speex lua5 libgcrypt libgpgerror + libupnp libcaca libpulseaudio flac schroedinger libxml2 librsvg mpeg2dec + systemd gnutls avahi libcddb SDL SDL_image libmtp unzip taglib libarchive + libkate libtiger libv4l samba liboggz libass libdvbpsi libva-full + xorg.xlibsWrapper xorg.libXv xorg.libXvMC xorg.libXpm xorg.xcbutilkeysyms + libdc1394 libraw1394 libopus libebml libmatroska libvdpau libsamplerate live555 + fluidsynth wayland wayland-protocols + ] ++ optionals withQt5 [ qtbase qtsvg qtx11extras ] ++ optional jackSupport libjack2; - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ autoreconfHook perl pkgconfig ]; + + enableParallelBuilding = true; LIVE555_PREFIX = live555; - preConfigure = '' - sed -e "s@/bin/echo@echo@g" -i configure - '' + optionalString withQt5 '' - # Make sure we only *add* "-std=c++11" to CXXFLAGS instead of overriding the - # values figured out by configure (for example "-g -O2"). - sed -i -re '/^ *CXXFLAGS=("[^$"]+")? *$/s/CXXFLAGS="?/&-std=c++11 /' \ - configure - ''; + # vlc depends on a c11-gcc wrapper script which we don't have so we need to + # set the path to the compiler + BUILDCC = "${stdenv.cc}/bin/gcc"; - configureFlags = - [ "--enable-alsa" - "--with-kde-solid=$out/share/apps/solid/actions" - "--enable-dc1394" - "--enable-ncurses" - "--enable-vdpau" - "--enable-dvdnav" - "--enable-samplerate" - ]; + postPatch = '' + substituteInPlace configure \ + --replace /bin/echo echo - enableParallelBuilding = true; + substituteInPlace modules/text_renderer/freetype/platform_fonts.h --replace \ + /usr/share/fonts/truetype/freefont ${freefont_ttf}/share/fonts/truetype + ''; - preBuild = '' - substituteInPlace modules/text_renderer/freetype.c --replace \ - /usr/share/fonts/truetype/freefont/FreeSerifBold.ttf \ - ${freefont_ttf}/share/fonts/truetype/FreeSerifBold.ttf + # https://github.com/NixOS/nixpkgs/pull/35124#issuecomment-370552830 + postFixup = '' + find $out/lib/vlc/plugins -exec touch -d @1 '{}' ';' + $out/lib/vlc/vlc-cache-gen $out/vlc/plugins ''; + # Most of the libraries are auto-detected so we don't need to set a bunch of + # "--enable-foo" flags here + configureFlags = [ + "--with-kde-solid=$out/share/apps/solid/actions" + ] ++ optional onlyLibVLC "--disable-vlc"; + meta = with stdenv.lib; { description = "Cross-platform media player and streaming server"; homepage = http://www.videolan.org/vlc/; - platforms = platforms.linux; license = licenses.lgpl21Plus; + platforms = platforms.linux; }; } -- cgit 1.4.1