28 description = "Open source, cross-platform Spotify client compatible across multiple platforms";
30 Spotube is an open source, cross-platform Spotify client compatible across
31 multiple platforms utilizing Spotify's data API and YouTube (or Piped.video or JioSaavn)
32 as an audio source, eliminating the need for Spotify Premium
34 downloadPage = "https://github.com/KRTirtho/spotube/releases";
35 homepage = "https://spotube.krtirtho.dev/";
36 license = lib.licenses.bsdOriginal;
37 mainProgram = "spotube";
38 maintainers = with lib.maintainers; [ tomasajt ];
44 sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
50 url = "https://github.com/KRTirtho/spotube/releases/download/v${version}/${filename}";
54 darwin = stdenv.mkDerivation {
55 inherit pname version meta;
58 filename = "Spotube-macos-universal.dmg";
59 hash = "sha256-2nqWHQDxJ0PcwTiLAa8YZffqwsdnepMpXvpqRPX5JxM=";
71 mkdir -p $out/Applications $out/bin
72 cp -r spotube.app $out/Applications
73 makeBinaryWrapper $out/Applications/spotube.app/Contents/MacOS/spotube $out/bin/spotube
78 linux = stdenv.mkDerivation {
79 inherit pname version meta;
82 filename = "Spotube-linux-x86_64.deb";
83 hash = "sha256-kDPNWbspmORClVMH91Lt3dLVsRwGxiBtB49CHSHxQxI=";
103 dontWrapGApps = true;
113 patchelf $out/share/spotube/lib/libmedia_kit_native_event_loop.so \
114 --replace-needed libmpv.so.1 libmpv.so
118 makeWrapper $out/share/spotube/spotube $out/bin/spotube \
119 "''${gappsWrapperArgs[@]}" \
120 --prefix LD_LIBRARY_PATH : $out/share/spotube/lib:${lib.makeLibraryPath [ mpv-unwrapped ]} \
121 --prefix PATH : ${lib.makeBinPath [ xdg-user-dirs ]}
125 if stdenv.hostPlatform.isDarwin then darwin else linux