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 ++++++++++++++++------ pkgs/top-level/all-packages.nix | 1 - 2 files changed, 16 insertions(+), 7 deletions(-) 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/; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f8382928e0b9..9333685fdeb8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8774,7 +8774,6 @@ let dd-agent = callPackage ../tools/networking/dd-agent { inherit (pythonPackages) tornado; }; deadbeef = callPackage ../applications/audio/deadbeef { - gtk = gtk3; pulseSupport = config.pulseaudio or true; }; -- cgit 1.4.1