Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib 2, stdenv 3, buildPythonPackage 4, fetchFromGitHub 5, rustPlatform 6, setuptools-rust 7, openssl 8, pkg-config 9, cyrus_sasl 10, protobuf 11, cmake 12, gcc 13, confluent-kafka 14, pytestCheckHook 15, pythonAtLeast 16}: 17 18buildPythonPackage rec { 19 pname = "bytewax"; 20 version = "0.16.0"; 21 format = "pyproject"; 22 23 disabled = pythonAtLeast "3.11"; 24 25 src = fetchFromGitHub { 26 owner = "bytewax"; 27 repo = pname; 28 rev = "v${version}"; 29 hash = "sha256-XdFkFhN8Z15Zw5HZ2wmnNFoTzyRtIbB7TAtOpKwuKyY="; 30 }; 31 32 # Remove docs tests, myst-docutils in nixpkgs is not compatible with package requirements. 33 # Package uses old version. 34 patches = [ ./remove-docs-test.patch ]; 35 36 cargoDeps = rustPlatform.fetchCargoTarball { 37 inherit src; 38 hash = "sha256-XGE1qPHi13/+8jjNCIgfzPudw561T0vUfJv5xnKySAg="; 39 }; 40 41 nativeBuildInputs = [ 42 cmake 43 pkg-config 44 rustPlatform.maturinBuildHook 45 rustPlatform.cargoSetupHook 46 ]; 47 48 dontUseCmakeConfigure = true; 49 50 buildInputs = [ 51 openssl 52 cyrus_sasl 53 protobuf 54 ]; 55 56 preCheck = '' 57 export PY_IGNORE_IMPORTMISMATCH=1 58 ''; 59 60 checkInputs = [ 61 pytestCheckHook 62 confluent-kafka 63 ]; 64 65 meta = with lib; { 66 description = "Python Stream Processing"; 67 homepage = "https://github.com/bytewax/bytewax"; 68 license = licenses.asl20; 69 maintainers = with maintainers; [ mslingsby kfollesdal ]; 70 # mismatched type expected u8, found i8 71 broken = stdenv.isAarch64; 72 }; 73}