diff --git a/pkgs/applications/misc/ipatool/default.nix b/pkgs/applications/misc/ipatool/default.nix new file mode 100644 index 000000000000..95735294deab --- /dev/null +++ b/pkgs/applications/misc/ipatool/default.nix @@ -0,0 +1,52 @@ +{ lib +, buildGoModule +, fetchFromGitHub +, nix-update-script +, testers +, ipatool +}: + +buildGoModule rec { + pname = "ipatool"; + version = "2.1.3"; + + src = fetchFromGitHub { + owner = "majd"; + repo = "ipatool"; + rev = "v${version}"; + hash = "sha256-kIFKVIhH+Vjt05XzR5jNwYQokNLSckdiWJ97A03Lgqc="; + }; + + vendorHash = "sha256-ZTz3eW/rs3bV16Ugd4kUOW7NaXzBa5c9qTIqRCanPRU="; + + ldflags = [ + "-s" + "-w" + "-X github.com/majd/ipatool/v2/cmd.version=${version}" + ]; + + # go generate ./... fails because of a missing module: github.com/golang/mock/mockgen + # which is required to run the tests, check if next release fixes it. + # preCheck = '' + # go generate ./... + # ''; + doCheck = false; + + passthru = { + updateScript = nix-update-script { }; + tests.version = testers.testVersion { + inherit version; + package = ipatool; + command = "ipatool --version"; + }; + }; + + meta = with lib; { + description = "Command-line tool that allows searching and downloading app packages (known as ipa files) from the iOS App Store"; + homepage = "https://github.com/majd/ipatool"; + changelog = "https://github.com/majd/ipatool/blob/${src.rev}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ gaelreyrol ]; + mainProgram = "ipatool"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d38c23ade0aa..6194bb7a42aa 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9077,6 +9077,8 @@ with pkgs; ipmiutil = callPackage ../tools/system/ipmiutil { }; + ipatool = callPackage ../applications/misc/ipatool { }; + ipmicfg = callPackage ../applications/misc/ipmicfg { }; ipmiview = callPackage ../applications/misc/ipmiview { };