From 1cc3fc871e4c53b05681dc19b6179795ed811fe8 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Thu, 2 Oct 2014 23:55:50 +0400 Subject: deadbeef: fix gtk3, use gtk2 by default, allow simultaneous --- pkgs/applications/audio/deadbeef/default.nix | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'pkgs/applications/audio') diff --git a/pkgs/applications/audio/deadbeef/default.nix b/pkgs/applications/audio/deadbeef/default.nix index b09ef2bc711e..ca8ce453e63d 100644 --- a/pkgs/applications/audio/deadbeef/default.nix +++ b/pkgs/applications/audio/deadbeef/default.nix @@ -1,4 +1,7 @@ -{ stdenv, fetchurl, intltool, pkgconfig, gtk +{ stdenv, fetchurl, intltool, pkgconfig +# deadbeef can use either gtk2 or gtk3 +, gtk2Support ? true, gtk2 ? null +, gtk3Support ? false, gtk3 ? null, gsettings_desktop_schemas ? null, makeWrapper ? null # input plugins , vorbisSupport ? true, libvorbis ? null , mp123Support ? true, libmad ? null @@ -23,6 +26,9 @@ , remoteSupport ? true, curl ? null }: +assert gtk2Support || gtk3Support; +assert gtk2Support -> gtk2 != null; +assert gtk3Support -> gtk3 != null && gsettings_desktop_schemas != null && makeWrapper != null; assert vorbisSupport -> libvorbis != null; assert mp123Support -> libmad != null; assert flacSupport -> flac != null; @@ -41,9 +47,6 @@ assert overloadSupport -> zlib != null; assert wavpackSupport -> wavpack != null; assert remoteSupport -> curl != null; -# DeaDBeeF installs working .desktop file(s) all by itself, so we don't need to -# handle that. - stdenv.mkDerivation rec { name = "deadbeef-0.6.2"; @@ -53,7 +56,8 @@ stdenv.mkDerivation rec { }; buildInputs = with stdenv.lib; - [ gtk ] + optional gtk2Support gtk2 + ++ optionals gtk3Support [gtk3 gsettings_desktop_schemas] ++ optional vorbisSupport libvorbis ++ optional mp123Support libmad ++ optional flacSupport flac @@ -73,10 +77,16 @@ stdenv.mkDerivation rec { ++ optional remoteSupport curl ; - nativeBuildInputs = [ intltool pkgconfig ]; + nativeBuildInputs = with stdenv.lib; [ intltool pkgconfig ] + ++ optional gtk3Support makeWrapper; enableParallelBuilding = true; + postInstall = if !gtk3Support then "" else '' + wrapProgram "$out/bin/deadbeef" \ + --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH" + ''; + meta = with stdenv.lib; { description = "Ultimate Music Player for GNU/Linux"; homepage = http://deadbeef.sourceforge.net/; -- cgit 1.4.1