mactracker: 7.13 -> 7.13.2 (#371090)

authored by misuzu.tngl.sh and committed by GitHub 3f14b854 8824306a

+34 -2
+34 -2
pkgs/by-name/ma/mactracker/package.nix
··· 3 stdenvNoCC, 4 fetchurl, 5 unzip, 6 }: 7 8 stdenvNoCC.mkDerivation (finalAttrs: { 9 pname = "mactracker"; 10 - version = "7.13"; 11 12 src = fetchurl { 13 url = "https://mactracker.ca/downloads/Mactracker_${finalAttrs.version}.zip"; 14 - hash = "sha256-GbaGhYF9Pf3EpzoLQd9fkWYxHFwCkYdlRyy33lieUxM="; 15 }; 16 17 dontPatch = true; ··· 30 unzip -d $out/Applications $src -x '__MACOSX/*' 31 runHook postInstall 32 ''; 33 34 meta = { 35 description = "Mactracker provides detailed information on every Apple Macintosh, iPod, iPhone, iPad, and Apple Watch ever made";
··· 3 stdenvNoCC, 4 fetchurl, 5 unzip, 6 + writeShellApplication, 7 + curl, 8 + cacert, 9 + libxml2, 10 + xmlstarlet, 11 + common-updater-scripts, 12 + versionCheckHook, 13 + writeShellScript, 14 + xcbuild, 15 }: 16 17 stdenvNoCC.mkDerivation (finalAttrs: { 18 pname = "mactracker"; 19 + version = "7.13.2"; 20 21 src = fetchurl { 22 url = "https://mactracker.ca/downloads/Mactracker_${finalAttrs.version}.zip"; 23 + hash = "sha256-Ns2es6uMqfHKmeVV6ehGXV0pNtv2T3eNYLnRvsjOhpE="; 24 }; 25 26 dontPatch = true; ··· 39 unzip -d $out/Applications $src -x '__MACOSX/*' 40 runHook postInstall 41 ''; 42 + 43 + passthru.updateScript = lib.getExe (writeShellApplication { 44 + name = "mactracker-update-script"; 45 + runtimeInputs = [ 46 + curl 47 + cacert 48 + libxml2 49 + xmlstarlet 50 + common-updater-scripts 51 + ]; 52 + text = '' 53 + url="https://mactracker.ca/releasenotes-mac.html" 54 + version=$(curl -s "$url" | xmllint -html -xmlout - | xmlstarlet sel -t -v "//faq/h5[1]") 55 + update-source-version mactracker "$version" 56 + ''; 57 + }); 58 + 59 + nativeInstallCheckInputs = [ versionCheckHook ]; 60 + versionCheckProgram = writeShellScript "version-check" '' 61 + ${xcbuild}/bin/PlistBuddy -c "Print :CFBundleVersion" "$1" 62 + ''; 63 + versionCheckProgramArg = [ "${placeholder "out"}/Applications/Mactracker.app/Contents/Info.plist" ]; 64 + doInstallCheck = true; 65 66 meta = { 67 description = "Mactracker provides detailed information on every Apple Macintosh, iPod, iPhone, iPad, and Apple Watch ever made";