12 swift-corelibs-libdispatch,
13 # deadbeef can use either gtk2 or gtk3
18 gsettings-desktop-schemas,
36 wavpackSupport ? false,
38 ffmpegSupport ? false,
45 artworkSupport ? true,
47 hotkeysSupport ? true,
54 pulseSupport ? config.pulseaudio or true,
56 pipewireSupport ? true,
59 resamplerSupport ? true,
61 overloadSupport ? true,
68 assert gtk2Support || gtk3Support;
71 inherit (lib) optionals;
75 clangStdenv.mkDerivation {
79 src = fetchFromGitHub {
80 owner = "DeaDBeeF-Player";
82 fetchSubmodules = true;
84 hash = "sha256-Q6hL4fOFPHn26ZqvrebgTMTgQZrhbXCEhM4ZFzNeyJE=";
90 swift-corelibs-libdispatch
92 ++ optionals gtk2Support [
95 ++ optionals gtk3Support [
97 gsettings-desktop-schemas
99 ++ optionals vorbisSupport [
102 ++ optionals mp123Support [
105 ++ optionals flacSupport [
108 ++ optionals wavSupport [
111 ++ optionals cdaSupport [
115 ++ optionals aacSupport [
118 ++ optionals opusSupport [
121 ++ optionals zipSupport [
124 ++ optionals ffmpegSupport [
127 ++ optionals apeSupport [
130 ++ optionals artworkSupport [
133 ++ optionals hotkeysSupport [
136 ++ optionals osdSupport [
139 ++ optionals alsaSupport [
142 ++ optionals pulseSupport [
145 ++ optionals pipewireSupport [
148 ++ optionals resamplerSupport [
151 ++ optionals overloadSupport [
154 ++ optionals wavpackSupport [
157 ++ optionals remoteSupport [
169 ++ optionals gtk3Support [
173 enableParallelBuilding = true;
180 # Fix the build on c++17 compiler:
181 # https://github.com/DeaDBeeF-Player/deadbeef/issues/3012
182 # TODO: remove after 1.9.5 release.
183 substituteInPlace plugins/adplug/Makefile.am --replace 'adplug_la_CXXFLAGS = ' 'adplug_la_CXXFLAGS = -std=c++11 '
187 description = "Ultimate Music Player for GNU/Linux";
188 mainProgram = "deadbeef";
189 homepage = "http://deadbeef.sourceforge.net/";
190 downloadPage = "https://github.com/DeaDBeeF-Player/deadbeef";
191 license = licenses.gpl2;
196 maintainers = [ maintainers.abbradar ];