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.604";
src = fetchFromGitHub {
owner = "blacktop";
repo = "ipsw";
rev = "v${version}";
hash = "sha256-W0NEK/eJxLy859Y1AHaEJ61E+YnWo6B6yGrBq36NFO4=";
};
vendorHash = "sha256-JwuAbPaeNdwGH1LD2jikhDmCJbJdMubdjpvvSbrhcfU=";
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;
};
}