dotfiles/pkgs/ipsw.nix

38 lines
903 B
Nix

{ buildGo124Module, lib, fetchFromGitHub, pkgs }:
# As of writing, this requires Go 1.24.
# `buildGoModule` currently uses Go 1.23.
buildGo124Module rec {
pname = "ipsw";
version = "3.1.613";
src = fetchFromGitHub {
owner = "blacktop";
repo = "ipsw";
rev = "v${version}";
hash = "sha256-QM9Z/h1IEWZJsMPfyKyL0xadf50AX1h0BinuFH9TJBU=";
};
vendorHash = "sha256-PfS/I4mSbhCcoenc12ZMeECT7Yqbfou6evuWux2THKQ=";
buildInputs = with pkgs; [
unicorn
];
# Only build the `ipsw` CLI tool.
# We do not need `ipswd`.
subPackages = [
"cmd/ipsw"
];
ldflags = [
"-X github.com/blacktop/ipsw/cmd/ipsw/cmd.AppVersion=v${version}"
# There's also `cmd.AppBuildCommit`, but this would be a hassle.
];
meta = {
description = "iOS/macOS Research Swiss Army Knife ";
homepage = "https://github.com/blacktop/ipsw";
license = lib.licenses.mit;
};
}