diff options
Diffstat (limited to 'pkgs/applications/video')
-rw-r--r-- | pkgs/applications/video/vlc/default.nix | 99 | ||||
-rw-r--r-- | pkgs/applications/video/vlc/plugin.nix | 34 |
2 files changed, 47 insertions, 86 deletions
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; }; } diff --git a/pkgs/applications/video/vlc/plugin.nix b/pkgs/applications/video/vlc/plugin.nix deleted file mode 100644 index 583d978a5514..000000000000 --- a/pkgs/applications/video/vlc/plugin.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ stdenv, fetchgit, vlc, autoconf, automake, libtool, pkgconfig, npapi_sdk, -libxcb, xlibsWrapper, gtk}: - -with stdenv.lib; - -stdenv.mkDerivation rec { - name = "vlc-plugin-${version}"; - version = "2.2.2"; # This 2.2.2 builds fine with vlc 2.2.4 - - src = fetchgit { - url = "https://code.videolan.org/videolan/npapi-vlc.git"; - rev = "5fa6fbc11cf5bad983f57656c0085e47e18fbf20"; - sha256 = "0k4s0657kv1mx1md8vj87scs0hz59xy7syqdsxb48w3w8gnfljs0"; - }; - - preConfigure = "sh autogen.sh"; - - nativeBuildInputs = [ pkgconfig ]; - buildInputs = [ vlc autoconf automake libtool npapi_sdk libxcb - xlibsWrapper gtk ]; - - enableParallelBuilding = true; - - passthru = { - mozillaPlugin = "/lib/mozilla/plugins"; - }; - - meta = with stdenv.lib; { - description = "Webplugins based on libVLC (for firefox, npapi)"; - homepage = https://code.videolan.org/videolan/npapi-vlc; - platforms = platforms.linux; - license = licenses.gpl2Plus; - }; -} |