22 pipewireSupport ? !stdenv.hostPlatform.isDarwin,
28 systemdSupport ? lib.meta.availableOn stdenv.hostPlatform systemd,
31 coreaudioSupport ? stdenv.hostPlatform.isDarwin,
35 ffmpeg = ffmpeg-headless;
37 stdenv.mkDerivation (finalAttrs: {
41 src = fetchFromGitHub {
44 rev = finalAttrs.version;
45 hash = "sha512-ibpSrzbn2yGNgWnjAh4sG9ZRFImxjE2sq6tu9k0w1QAAr/OWSTwtaIuK71ClT6yt4HKyRk1KSaXa+/IzOHI6Kg==";
74 ++ lib.optionals systemdSupport [ systemd ]
75 ++ lib.optionals stdenv.hostPlatform.isLinux [
79 ++ lib.optionals stdenv.hostPlatform.isDarwin (
80 with darwin.apple_sdk.frameworks;
86 ++ lib.optionals coreaudioSupport (with darwin.apple_sdk.frameworks; [ CoreAudio ])
87 ++ lib.optionals sndioSupport [ sndio ]
88 ++ lib.optionals pipewireSupport [ pipewire ];
90 cmakeFlags = [ "-DDISABLE_STRIP=true" ];
92 postFixup = lib.optionalString stdenv.hostPlatform.isDarwin ''
93 install_name_tool -add_rpath $out/share/musikcube $out/share/musikcube/musikcube
94 install_name_tool -add_rpath $out/share/musikcube $out/share/musikcube/musikcubed
98 description = "Terminal-based music player, library, and streaming audio server";
99 homepage = "https://musikcube.com/";
100 maintainers = with lib.maintainers; [
104 mainProgram = "musikcube";
105 license = lib.licenses.bsd3;
106 platforms = lib.platforms.all;