Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ 2 lib, 3 buildPythonPackage, 4 elasticsearch, 5 fastavro, 6 fetchFromGitHub, 7 lz4, 8 msgpack, 9 pytest7CheckHook, 10 pythonOlder, 11 setuptools, 12 setuptools-scm, 13 zstandard, 14}: 15 16buildPythonPackage rec { 17 pname = "flow-record"; 18 version = "3.15"; 19 pyproject = true; 20 21 disabled = pythonOlder "3.8"; 22 23 src = fetchFromGitHub { 24 owner = "fox-it"; 25 repo = "flow.record"; 26 rev = "refs/tags/${version}"; 27 hash = "sha256-j5N66p7feB9Ae+Fu5RhVzh8XCHiq55jJMg0Fe+C6Jvg="; 28 }; 29 30 build-system = [ 31 setuptools 32 setuptools-scm 33 ]; 34 35 dependencies = [ msgpack ]; 36 37 passthru.optional-dependencies = { 38 compression = [ 39 lz4 40 zstandard 41 ]; 42 elastic = [ elasticsearch ]; 43 avro = [ fastavro ] ++ fastavro.optional-dependencies.snappy; 44 }; 45 46 nativeCheckInputs = [ 47 pytest7CheckHook 48 ] ++ lib.flatten (builtins.attrValues passthru.optional-dependencies); 49 50 pythonImportsCheck = [ "flow.record" ]; 51 52 disabledTestPaths = [ 53 # Test requires rdump 54 "tests/test_rdump.py" 55 ]; 56 57 disabledTests = [ "test_rdump_fieldtype_path_json" ]; 58 59 meta = with lib; { 60 description = "Library for defining and creating structured data"; 61 homepage = "https://github.com/fox-it/flow.record"; 62 changelog = "https://github.com/fox-it/flow.record/releases/tag/${version}"; 63 license = licenses.agpl3Only; 64 maintainers = with maintainers; [ fab ]; 65 }; 66}