diff --git a/pkgs/applications/audio/deadbeef/default.nix b/pkgs/applications/audio/deadbeef/default.nix new file mode 100644 index 00000000000..b09ef2bc711 --- /dev/null +++ b/pkgs/applications/audio/deadbeef/default.nix @@ -0,0 +1,88 @@ +{ stdenv, fetchurl, intltool, pkgconfig, gtk +# input plugins +, vorbisSupport ? true, libvorbis ? null +, mp123Support ? true, libmad ? null +, flacSupport ? true, flac ? null +, wavSupport ? true, libsndfile ? null +, cdaSupport ? true, libcdio ? null, libcddb ? null +, aacSupport ? true, faad2 ? null +, wavpackSupport ? false, wavpack ? null +, ffmpegSupport ? false, ffmpeg ? null +# misc plugins +, zipSupport ? true, libzip ? null +, artworkSupport ? true, imlib2 ? null +, hotkeysSupport ? true, libX11 ? null +, osdSupport ? true, dbus ? null +# output plugins +, alsaSupport ? true, alsaLib ? null +, pulseSupport ? true, pulseaudio ? null +# effect plugins +, resamplerSupport ? true, libsamplerate ? null +, overloadSupport ? true, zlib ? null +# transports +, remoteSupport ? true, curl ? null +}: + +assert vorbisSupport -> libvorbis != null; +assert mp123Support -> libmad != null; +assert flacSupport -> flac != null; +assert wavSupport -> libsndfile != null; +assert cdaSupport -> (libcdio != null && libcddb != null); +assert aacSupport -> faad2 != null; +assert zipSupport -> libzip != null; +assert ffmpegSupport -> ffmpeg != null; +assert artworkSupport -> imlib2 != null; +assert hotkeysSupport -> libX11 != null; +assert osdSupport -> dbus != null; +assert alsaSupport -> alsaLib != null; +assert pulseSupport -> pulseaudio != null; +assert resamplerSupport -> libsamplerate != null; +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"; + + src = fetchurl { + url = "http://garr.dl.sourceforge.net/project/deadbeef/${name}.tar.bz2"; + sha256 = "06jfsqyakpvq0xhah7dlyvdzh5ym3hhb4yfczczw11ijd1kbjcrl"; + }; + + buildInputs = with stdenv.lib; + [ gtk ] + ++ optional vorbisSupport libvorbis + ++ optional mp123Support libmad + ++ optional flacSupport flac + ++ optional wavSupport libsndfile + ++ optionals cdaSupport [libcdio libcddb] + ++ optional aacSupport faad2 + ++ optional zipSupport libzip + ++ optional ffmpegSupport ffmpeg + ++ optional artworkSupport imlib2 + ++ optional hotkeysSupport libX11 + ++ optional osdSupport dbus + ++ optional alsaSupport alsaLib + ++ optional pulseSupport pulseaudio + ++ optional resamplerSupport libsamplerate + ++ optional overloadSupport zlib + ++ optional wavpackSupport wavpack + ++ optional remoteSupport curl + ; + + nativeBuildInputs = [ intltool pkgconfig ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "Ultimate Music Player for GNU/Linux"; + homepage = http://deadbeef.sourceforge.net/; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = [ maintainers.abbradar ]; + repositories.git = https://github.com/Alexey-Yakovenko/deadbeef; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 344a91abe12..ef3cd3d91f5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8656,6 +8656,11 @@ let dd-agent = callPackage ../tools/networking/dd-agent { inherit (pythonPackages) tornado; }; + deadbeef = callPackage ../applications/audio/deadbeef { + gtk = gtk3; + pulseSupport = config.pulseaudio or true; + }; + dia = callPackage ../applications/graphics/dia { inherit (pkgs.gnome) libart_lgpl libgnomeui; };