From 66ebc65cd3fd91eba18e43e4cc37ddfecbddba95 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Mon, 17 Nov 2014 19:33:10 -0600 Subject: [PATCH] phonon-backend-vlc: add Qt 5 support --- pkgs/applications/video/vlc/default.nix | 15 ++++++++--- .../libraries/phonon-backend-vlc/default.nix | 27 +++++++++++++------ pkgs/top-level/all-packages.nix | 10 ++++++- 3 files changed, 39 insertions(+), 13 deletions(-) diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix index 71db3d40a46..f1d3cf836ad 100644 --- a/pkgs/applications/video/vlc/default.nix +++ b/pkgs/applications/video/vlc/default.nix @@ -1,14 +1,20 @@ { stdenv, fetchurl, xz, bzip2, perl, xlibs, libdvdnav, libbluray , zlib, a52dec, libmad, faad2, ffmpeg, alsaLib -, pkgconfig, dbus, fribidi, qt4, freefont_ttf, libebml, libmatroska +, pkgconfig, dbus, fribidi, freefont_ttf, libebml, libmatroska , libvorbis, libtheora, speex, lua5, libgcrypt, libupnp , libcaca, pulseaudio, flac, schroedinger, libxml2, librsvg , mpeg2dec, udev, gnutls, avahi, libcddb, jack2, SDL, SDL_image , libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, liboggz , libass, libva, libdvbpsi, libdc1394, libraw1394, libopus , libvdpau +, onlyLibVLC ? false +, qt4 ? null, qt5 ? null, withQt5 ? false }: +with stdenv.lib; + +assert (withQt5 -> qt5 != null); assert (!withQt5 -> qt4 != null); + stdenv.mkDerivation rec { name = "vlc-${version}"; version = "2.1.5"; @@ -20,13 +26,13 @@ stdenv.mkDerivation rec { buildInputs = [ xz bzip2 perl zlib a52dec libmad faad2 ffmpeg alsaLib libdvdnav libdvdnav.libdvdread - libbluray dbus fribidi qt4 libvorbis libtheora speex lua5 libgcrypt + libbluray dbus fribidi libvorbis libtheora speex lua5 libgcrypt libupnp libcaca pulseaudio flac schroedinger libxml2 librsvg mpeg2dec udev gnutls avahi libcddb jack2 SDL SDL_image libmtp unzip taglib libkate libtiger libv4l samba liboggz libass libdvbpsi libva xlibs.xlibs xlibs.libXv xlibs.libXvMC xlibs.libXpm xlibs.xcbutilkeysyms libdc1394 libraw1394 libopus libebml libmatroska libvdpau - ]; + ] ++ [(if withQt5 then qt5 else qt4)]; nativeBuildInputs = [ pkgconfig ]; @@ -36,7 +42,8 @@ stdenv.mkDerivation rec { "--enable-dc1394" "--enable-ncurses" "--enable-vdpau" - ]; + ] + ++ optional onlyLibVLC "--disable-vlc"; preConfigure = ''sed -e "s@/bin/echo@echo@g" -i configure''; diff --git a/pkgs/development/libraries/phonon-backend-vlc/default.nix b/pkgs/development/libraries/phonon-backend-vlc/default.nix index 8a196463639..8883f5c11d9 100644 --- a/pkgs/development/libraries/phonon-backend-vlc/default.nix +++ b/pkgs/development/libraries/phonon-backend-vlc/default.nix @@ -1,26 +1,37 @@ -{ stdenv, fetchurl, xz, qt4, vlc, automoc4, cmake, pkgconfig, phonon }: +{ stdenv, fetchurl, xz, vlc, automoc4, cmake, pkgconfig, phonon +, qt4 ? null, qt5 ? null, withQt5 ? false }: + +with stdenv.lib; + +assert (withQt5 -> qt5 != null); assert (!withQt5 -> qt4 != null); let pname = "phonon-backend-vlc"; - v = "0.7.2"; - vlc_ = vlc.override { inherit qt4; }; #Force using the same qt version + v = "0.8.1"; + # Force same Qt version in phonon and VLC + vlc_ = vlc.override { inherit qt4 qt5 withQt5; }; + phonon_ = phonon.override { inherit qt4 qt5 withQt5; }; in stdenv.mkDerivation { name = "${pname}-${v}"; src = fetchurl { - url = "mirror://kde/stable/phonon/${pname}/${v}/src/${pname}-${v}.tar.xz"; - sha256 = "1acmbn8pmmq16gcz825dlzaf3haj6avp1bmcxzpkjd1fvxh86y0a"; + url = "mirror://kde/stable/phonon/${pname}/${v}/${pname}-${v}.tar.xz"; + sha256 = "1fyfh7qyb6rld350v2fgz452ld96d3z5ifchr323q0vc3hb9k222"; }; nativeBuildInputs = [ cmake pkgconfig automoc4 xz ]; - buildInputs = [ qt4 vlc_ phonon ]; + buildInputs = [ vlc_ phonon_ (if withQt5 then qt5 else qt4)]; + + cmakeFlags = optional withQt5 "-DPHONON_BUILD_PHONON4QT5=ON"; meta = { + homepage = http://phonon.kde.org/; description = "VideoLAN backend for Phonon multimedia framework"; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.urkud ]; + platforms = platforms.linux; + maintainers = with maintainers; [ ttuegel urkud ]; + license = licenses.lgpl21Plus; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f3b9331ce98..340852ff356 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6530,7 +6530,13 @@ let qt4 = null; }; - phonon_backend_vlc = callPackage ../development/libraries/phonon-backend-vlc { }; + phonon_backend_vlc = callPackage ../development/libraries/phonon-backend-vlc { inherit qt4; }; + + phonon_qt5_backend_vlc = phonon_backend_vlc.override { + withQt5 = true; + inherit qt5; + qt4 = null; + }; physfs = callPackage ../development/libraries/physfs { }; @@ -10890,6 +10896,8 @@ let ffmpeg = ffmpeg_2_3; }; + libvlc = vlc.override { onlyLibVLC = true; }; + vmpk = callPackage ../applications/audio/vmpk { }; vnstat = callPackage ../applications/networking/vnstat { };