diff --git a/pkgs/by-name/vi/vital/package.nix b/pkgs/by-name/vi/vital/package.nix index e52b265c8bb7..1b271c81ad39 100644 --- a/pkgs/by-name/vi/vital/package.nix +++ b/pkgs/by-name/vi/vital/package.nix @@ -2,9 +2,9 @@ lib, stdenv, fetchzip, + fetchurl, autoPatchelfHook, makeBinaryWrapper, - alsa-lib, libjack2, curl, @@ -12,8 +12,15 @@ libGL, freetype, zenity, + makeDesktopItem, + copyDesktopItems, }: - +let + icon = fetchurl { + url = "https://vital.audio/images/apple_touch_icon.png"; + hash = "sha256-NZ/AQ2gjBXUPUj3ITbowD7HuxRmEDuATOWidLqLNrww="; + }; +in stdenv.mkDerivation (finalAttrs: { pname = "vital"; version = "1.5.5"; @@ -24,10 +31,25 @@ stdenv.mkDerivation (finalAttrs: { }/VitalInstaller.zip"; hash = "sha256-hCwXSUiBB0YpQ1oN6adLprwAoel6f72tBG5fEb61OCI="; }; + desktopItems = [ + (makeDesktopItem { + type = "Application"; + name = "vital"; + desktopName = "Vital"; + comment = "Spectral warping wavetable synth"; + icon = "Vital"; + exec = "Vital"; + categories = [ + "Audio" + "AudioVideo" + ]; + }) + ]; nativeBuildInputs = [ autoPatchelfHook makeBinaryWrapper + copyDesktopItems ]; buildInputs = [ @@ -46,6 +68,8 @@ stdenv.mkDerivation (finalAttrs: { installPhase = '' runHook preInstall + install -Dm444 ${icon} $out/share/pixmaps/Vital.png + # copy each output to its destination (individually) mkdir -p $out/{bin,lib/{clap,vst,vst3}} for f in bin/Vital lib/{clap/Vital.clap,vst/Vital.so,vst3/Vital.vst3}; do @@ -68,15 +92,16 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstall ''; - meta = with lib; { + meta = { description = "Spectral warping wavetable synth"; homepage = "https://vital.audio/"; - sourceProvenance = with sourceTypes; [ binaryNativeCode ]; - license = with licenses; [ - unfree # https://vital.audio/eula/ - ]; + sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; + license = lib.licenses.unfree; # https://vital.audio/eula/ platforms = [ "x86_64-linux" ]; - maintainers = with maintainers; [ PowerUser64 ]; + maintainers = with lib.maintainers; [ + PowerUser64 + l1npengtul + ]; mainProgram = "Vital"; }; })