diff --git a/pkgs/by-name/pa/packetry/package.nix b/pkgs/by-name/pa/packetry/package.nix new file mode 100644 index 00000000000000..2fbad7f76ad2ef --- /dev/null +++ b/pkgs/by-name/pa/packetry/package.nix @@ -0,0 +1,63 @@ +{ + fetchFromGitHub, + lib, + stdenv, + rustPlatform, + gtk4, + pkg-config, + pango, + wrapGAppsHook4, + darwin, + versionCheckHook, +}: + +rustPlatform.buildRustPackage rec { + pname = "packetry"; + version = "0.3.0"; + + src = fetchFromGitHub { + owner = "greatscottgadgets"; + repo = "packetry"; + rev = "refs/tags/v${version}"; + hash = "sha256-yar4HusBSaiKj2QMwtt83jmbfzwt+oFTQ6UVVbOZbYQ="; + }; + + cargoHash = "sha256-W3J3MnRPxhXXc7MBQemnYKloVnuU52p48vrNsd+FCY4="; + + nativeBuildInputs = [ + pkg-config + wrapGAppsHook4 + ]; + + buildInputs = + [ + gtk4 + pango + ] + ++ lib.optionals stdenv.isDarwin [ + darwin.apple_sdk_11_0.frameworks.AppKit + ]; + + # Disable test_replay tests as they need a gui + preCheck = '' + sed -i 's:#\[test\]:#[test] #[ignore]:' src/test_replay.rs + ''; + + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgramArg = "--version"; + doInstallCheck = true; + + # packetry-cli is only necessary on windows https://github.com/greatscottgadgets/packetry/pull/154 + postInstall = '' + rm $out/bin/packetry-cli + ''; + + meta = { + description = "USB 2.0 protocol analysis application for use with Cynthion"; + homepage = "https://github.com/greatscottgadgets/packetry"; + license = lib.licenses.bsd3; + maintainers = with lib.maintainers; [ carlossless ]; + mainProgram = "packetry"; + platforms = lib.platforms.linux ++ lib.platforms.darwin; + }; +}