From ade078802c5da6aa08c38db7b5d64ea400ad6b68 Mon Sep 17 00:00:00 2001 From: Matteo Pacini Date: Tue, 14 Apr 2026 21:43:41 +0100 Subject: [PATCH] swiftlint: convert to finalAttrs, use sources.json --- pkgs/by-name/sw/swiftlint/package.nix | 18 ++++++++++++------ pkgs/by-name/sw/swiftlint/sources.json | 13 +++++++++++++ 2 files changed, 25 insertions(+), 6 deletions(-) create mode 100644 pkgs/by-name/sw/swiftlint/sources.json diff --git a/pkgs/by-name/sw/swiftlint/package.nix b/pkgs/by-name/sw/swiftlint/package.nix index 11d2d437779f..0e94621adb4f 100644 --- a/pkgs/by-name/sw/swiftlint/package.nix +++ b/pkgs/by-name/sw/swiftlint/package.nix @@ -7,13 +7,19 @@ nix-update-script, versionCheckHook, }: -stdenvNoCC.mkDerivation rec { +let + sources = lib.importJSON ./sources.json; + platform = + sources.platforms.${stdenvNoCC.hostPlatform.system} + or (throw "Unsupported platform: ${stdenvNoCC.hostPlatform.system}"); +in +stdenvNoCC.mkDerivation (finalAttrs: { pname = "swiftlint"; - version = "0.63.2"; + inherit (sources) version; src = fetchurl { - url = "https://github.com/realm/SwiftLint/releases/download/${version}/portable_swiftlint.zip"; - hash = "sha256-xZpAXIX5W5LO1nelAIBOCBWWpMrkpqSFr3YGVVfW7Sk="; + url = "https://github.com/realm/SwiftLint/releases/download/${finalAttrs.version}/${platform.filename}"; + inherit (platform) hash; }; dontPatch = true; @@ -54,7 +60,7 @@ stdenvNoCC.mkDerivation rec { matteopacini DimitarNestorov ]; - platforms = lib.platforms.darwin; + platforms = lib.attrNames sources.platforms; sourceProvenance = [ lib.sourceTypes.binaryNativeCode ]; }; -} +}) diff --git a/pkgs/by-name/sw/swiftlint/sources.json b/pkgs/by-name/sw/swiftlint/sources.json new file mode 100644 index 000000000000..2c6cf36a86d4 --- /dev/null +++ b/pkgs/by-name/sw/swiftlint/sources.json @@ -0,0 +1,13 @@ +{ + "version": "0.63.2", + "platforms": { + "x86_64-darwin": { + "filename": "portable_swiftlint.zip", + "hash": "sha256-xZpAXIX5W5LO1nelAIBOCBWWpMrkpqSFr3YGVVfW7Sk=" + }, + "aarch64-darwin": { + "filename": "portable_swiftlint.zip", + "hash": "sha256-xZpAXIX5W5LO1nelAIBOCBWWpMrkpqSFr3YGVVfW7Sk=" + } + } +}