diff --git a/pkgs/by-name/be/betterdisplay/package.nix b/pkgs/by-name/be/betterdisplay/package.nix index cd8b19725270..937988cd135f 100644 --- a/pkgs/by-name/be/betterdisplay/package.nix +++ b/pkgs/by-name/be/betterdisplay/package.nix @@ -4,15 +4,18 @@ fetchurl, undmg, nix-update-script, + versionCheckHook, + writeShellScript, + xcbuild, }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "betterdisplay"; - version = "3.2.1"; + version = "3.3.0"; src = fetchurl { url = "https://github.com/waydabber/BetterDisplay/releases/download/v${finalAttrs.version}/BetterDisplay-v${finalAttrs.version}.dmg"; - hash = "sha256-UQLVRCeUznTqT6qDR6sZRZ5xMVgs0Th2iRRpnF0pqVI="; + hash = "sha256-A0kh3XNdl5kJ32Kxwb0PAgxfGJR+EZEoaP+gspRJEcU="; }; dontPatch = true; @@ -32,6 +35,15 @@ stdenvNoCC.mkDerivation (finalAttrs: { runHook postInstall ''; + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgram = writeShellScript "version-check" '' + ${xcbuild}/bin/PlistBuddy -c "Print :CFBundleShortVersionString" "$1" + ''; + versionCheckProgramArg = [ + "${placeholder "out"}/Applications/BetterDisplay.app/Contents/Info.plist" + ]; + doInstallCheck = true; + passthru.updateScript = nix-update-script { }; meta = {