Skip to content

Commit 3f14b85

Browse files
authored
mactracker: 7.13 -> 7.13.2 (#371090)
2 parents 8824306 + 2b2be7f commit 3f14b85

File tree

1 file changed

+34
-2
lines changed

1 file changed

+34
-2
lines changed

pkgs/by-name/ma/mactracker/package.nix

Lines changed: 34 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,24 @@
33
stdenvNoCC,
44
fetchurl,
55
unzip,
6+
writeShellApplication,
7+
curl,
8+
cacert,
9+
libxml2,
10+
xmlstarlet,
11+
common-updater-scripts,
12+
versionCheckHook,
13+
writeShellScript,
14+
xcbuild,
615
}:
716

817
stdenvNoCC.mkDerivation (finalAttrs: {
918
pname = "mactracker";
10-
version = "7.13";
19+
version = "7.13.2";
1120

1221
src = fetchurl {
1322
url = "https://mactracker.ca/downloads/Mactracker_${finalAttrs.version}.zip";
14-
hash = "sha256-GbaGhYF9Pf3EpzoLQd9fkWYxHFwCkYdlRyy33lieUxM=";
23+
hash = "sha256-Ns2es6uMqfHKmeVV6ehGXV0pNtv2T3eNYLnRvsjOhpE=";
1524
};
1625

1726
dontPatch = true;
@@ -31,6 +40,29 @@ stdenvNoCC.mkDerivation (finalAttrs: {
3140
runHook postInstall
3241
'';
3342

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+
3466
meta = {
3567
description = "Mactracker provides detailed information on every Apple Macintosh, iPod, iPhone, iPad, and Apple Watch ever made";
3668
homepage = "https://mactracker.ca";

0 commit comments

Comments
 (0)