diff --git a/pkgs/by-name/ex/exegol/package.nix b/pkgs/by-name/ex/exegol/package.nix index fd0b774384bd..2e1ce5db9f38 100644 --- a/pkgs/by-name/ex/exegol/package.nix +++ b/pkgs/by-name/ex/exegol/package.nix @@ -1,17 +1,19 @@ { - fetchPypi, lib, + fetchFromGitHub, python3Packages, xorg, }: python3Packages.buildPythonApplication rec { pname = "exegol"; - version = "4.3.11"; + version = "5.1.1"; pyproject = true; - src = fetchPypi { - inherit pname version; - hash = "sha256-+LnZSFRW7EvG+cPwMStgO6qD4AjOGkLzCarXBrW3Aak="; + src = fetchFromGitHub { + owner = "ThePorgs"; + repo = "Exegol"; + tag = version; + hash = "sha256-q84uWxVooQ+tFA2NhQ5N30h8LPhT+fJfxVmcpMzOQVk="; }; build-system = with python3Packages; [ pdm-backend ]; @@ -19,20 +21,27 @@ python3Packages.buildPythonApplication rec { pythonRelaxDeps = [ "rich" "argcomplete" + "supabase" ]; dependencies = with python3Packages; [ - pyyaml - gitpython + argcomplete + cryptography docker + gitpython + ifaddr + pydantic + pyjwt + pyyaml requests rich - argcomplete - tzlocal + supabase ] - ++ [ xorg.xhost ]; + ++ pyjwt.optional-dependencies.crypto + ++ [ xorg.xhost ] + ++ lib.optional (!stdenv.hostPlatform.isLinux) tzlocal; doCheck = true; @@ -49,8 +58,17 @@ python3Packages.buildPythonApplication rec { stylish macOS users and corporate Windows pros to UNIX-like power users. ''; homepage = "https://github.com/ThePorgs/Exegol"; - changelog = "https://github.com/ThePorgs/Exegol/releases/tag/${version}"; - license = lib.licenses.gpl3Only; + changelog = "https://github.com/ThePorgs/Exegol/releases/tag/${src.tag}"; + license = with lib.licenses; [ + gpl3Only + { + fullName = "Exegol Software License (ESL) - Version 1.0"; + url = "https://docs.exegol.com/legal/software-license"; + # Please use exegol4 if you prefer to avoid the unfree version of Exegol. + free = false; + redistributable = false; + } + ]; mainProgram = "exegol"; maintainers = with lib.maintainers; [ _0b11stan diff --git a/pkgs/by-name/ex/exegol4/package.nix b/pkgs/by-name/ex/exegol4/package.nix new file mode 100644 index 000000000000..fd0b774384bd --- /dev/null +++ b/pkgs/by-name/ex/exegol4/package.nix @@ -0,0 +1,60 @@ +{ + fetchPypi, + lib, + python3Packages, + xorg, +}: +python3Packages.buildPythonApplication rec { + pname = "exegol"; + version = "4.3.11"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-+LnZSFRW7EvG+cPwMStgO6qD4AjOGkLzCarXBrW3Aak="; + }; + + build-system = with python3Packages; [ pdm-backend ]; + + pythonRelaxDeps = [ + "rich" + "argcomplete" + ]; + + dependencies = + with python3Packages; + [ + pyyaml + gitpython + docker + requests + rich + argcomplete + tzlocal + ] + ++ [ xorg.xhost ]; + + doCheck = true; + + pythonImportsCheck = [ "exegol" ]; + + meta = { + description = "Fully featured and community-driven hacking environment"; + longDescription = '' + Exegol is a community-driven hacking environment, powerful and yet + simple enough to be used by anyone in day to day engagements. Exegol is + the best solution to deploy powerful hacking environments securely, + easily, professionally. Exegol fits pentesters, CTF players, bug bounty + hunters, researchers, beginners and advanced users, defenders, from + stylish macOS users and corporate Windows pros to UNIX-like power users. + ''; + homepage = "https://github.com/ThePorgs/Exegol"; + changelog = "https://github.com/ThePorgs/Exegol/releases/tag/${version}"; + license = lib.licenses.gpl3Only; + mainProgram = "exegol"; + maintainers = with lib.maintainers; [ + _0b11stan + charB66 + ]; + }; +}