Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 installShellFiles, 6 python3, 7}: 8 9python3.pkgs.buildPythonApplication rec { 10 pname = "ssh-mitm"; 11 version = "5.0.1"; 12 pyproject = true; 13 14 src = fetchFromGitHub { 15 owner = "ssh-mitm"; 16 repo = "ssh-mitm"; 17 tag = version; 18 hash = "sha256-FmxVhYkPRZwS+zFwuId9nRGN832LRkgCNgDYb8Pg01U="; 19 }; 20 21 pythonRelaxDeps = [ "paramiko" ]; 22 23 build-system = with python3.pkgs; [ 24 hatchling 25 hatch-requirements-txt 26 ]; 27 28 nativeBuildInputs = [ installShellFiles ]; 29 30 dependencies = 31 with python3.pkgs; 32 [ 33 appimage 34 argcomplete 35 colored 36 packaging 37 paramiko 38 pytz 39 pyyaml 40 python-json-logger 41 rich 42 tkinter 43 setuptools 44 sshpubkeys 45 wrapt 46 ] 47 ++ lib.optionals stdenv.hostPlatform.isDarwin [ setuptools ]; 48 # fix for darwin users 49 50 # Module has no tests 51 doCheck = false; 52 53 # Install man page 54 postInstall = '' 55 installManPage man1/* 56 ''; 57 58 pythonImportsCheck = [ "sshmitm" ]; 59 60 meta = { 61 description = "Tool for SSH security audits"; 62 homepage = "https://github.com/ssh-mitm/ssh-mitm"; 63 changelog = "https://github.com/ssh-mitm/ssh-mitm/blob/${version}/CHANGELOG.md"; 64 license = lib.licenses.gpl3Only; 65 maintainers = with lib.maintainers; [ fab ]; 66 }; 67}