mactracker: 7.13 -> 7.13.2 (#371090)

This commit is contained in:
misuzu
2025-01-10 19:53:30 +02:00
committed by GitHub
+34 -2
View File
@@ -3,15 +3,24 @@
stdenvNoCC,
fetchurl,
unzip,
writeShellApplication,
curl,
cacert,
libxml2,
xmlstarlet,
common-updater-scripts,
versionCheckHook,
writeShellScript,
xcbuild,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "mactracker";
version = "7.13";
version = "7.13.2";
src = fetchurl {
url = "https://mactracker.ca/downloads/Mactracker_${finalAttrs.version}.zip";
hash = "sha256-GbaGhYF9Pf3EpzoLQd9fkWYxHFwCkYdlRyy33lieUxM=";
hash = "sha256-Ns2es6uMqfHKmeVV6ehGXV0pNtv2T3eNYLnRvsjOhpE=";
};
dontPatch = true;
@@ -31,6 +40,29 @@ stdenvNoCC.mkDerivation (finalAttrs: {
runHook postInstall
'';
passthru.updateScript = lib.getExe (writeShellApplication {
name = "mactracker-update-script";
runtimeInputs = [
curl
cacert
libxml2
xmlstarlet
common-updater-scripts
];
text = ''
url="https://mactracker.ca/releasenotes-mac.html"
version=$(curl -s "$url" | xmllint -html -xmlout - | xmlstarlet sel -t -v "//faq/h5[1]")
update-source-version mactracker "$version"
'';
});
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgram = writeShellScript "version-check" ''
${xcbuild}/bin/PlistBuddy -c "Print :CFBundleVersion" "$1"
'';
versionCheckProgramArg = [ "${placeholder "out"}/Applications/Mactracker.app/Contents/Info.plist" ];
doInstallCheck = true;
meta = {
description = "Mactracker provides detailed information on every Apple Macintosh, iPod, iPhone, iPad, and Apple Watch ever made";
homepage = "https://mactracker.ca";