Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib 2, stdenv 3, fetchFromGitHub 4, python3 5, cacert 6}: 7 8python3.pkgs.buildPythonApplication rec { 9 pname = "gallia"; 10 version = "1.1.4"; 11 format = "pyproject"; 12 13 src = fetchFromGitHub { 14 owner = "Fraunhofer-AISEC"; 15 repo = pname; 16 rev = "refs/tags/v${version}"; 17 hash = "sha256-McHzHK404kDB992T2f84dZHDxujpPIz4qglYMmv3kTw="; 18 }; 19 20 pythonRelaxDeps = [ 21 "aiofiles" 22 "argcomplete" 23 "msgspec" 24 ]; 25 26 nativeBuildInputs = with python3.pkgs; [ 27 poetry-core 28 pythonRelaxDepsHook 29 ]; 30 31 propagatedBuildInputs = with python3.pkgs; [ 32 aiofiles 33 aiohttp 34 aiosqlite 35 argcomplete 36 can 37 construct 38 msgspec 39 pydantic 40 pygit2 41 tabulate 42 tomli 43 zstandard 44 ]; 45 46 SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt"; 47 48 nativeCheckInputs = with python3.pkgs; [ 49 pytestCheckHook 50 pytest-asyncio 51 ]; 52 53 pythonImportsCheck = [ 54 "gallia" 55 ]; 56 57 preCheck = '' 58 export PATH=$out/bin:$PATH 59 ''; 60 61 meta = with lib; { 62 description = "Extendable Pentesting Framework for the Automotive Domain"; 63 homepage = "https://github.com/Fraunhofer-AISEC/gallia"; 64 changelog = "https://github.com/Fraunhofer-AISEC/gallia/releases/tag/v${version}"; 65 license = with licenses; [ asl20 ]; 66 maintainers = with maintainers; [ fab rumpelsepp ]; 67 platforms = platforms.linux; 68 }; 69}