1{ 2 lib, 3 pkgs, 4 fetchFromGitHub, 5 rustPlatform, 6 pythonImportsCheckHook, 7 buildPythonPackage, 8 9 cargo, 10 rustc, 11 pkg-config, 12 sccache, 13 setuptools, 14 setuptools-rust, 15 setuptools-scm, 16}: 17 18buildPythonPackage rec { 19 pname = "python-kadmin-rs"; 20 version = "0.6.2"; 21 pyproject = true; 22 23 src = fetchFromGitHub { 24 owner = "authentik-community"; 25 repo = "kadmin-rs"; 26 rev = "kadmin/version/${version}"; 27 hash = "sha256-0YE9LGrc0qUhbNBEXqiaPZM5kwW1JkL+RHkDi16msog="; 28 }; 29 30 cargoDeps = rustPlatform.fetchCargoVendor { 31 inherit src; 32 hash = "sha256-Cnn8C3Wdwl4ZS7mDKRxuK30lr2ympOcmqKPIL59RKxk="; 33 }; 34 35 buildInputs = [ 36 pkgs.krb5 37 ]; 38 39 nativeBuildInputs = [ 40 sccache 41 pkg-config 42 pythonImportsCheckHook 43 rustPlatform.bindgenHook 44 rustPlatform.cargoSetupHook 45 cargo 46 rustc 47 ]; 48 49 build-system = [ 50 setuptools 51 setuptools-rust 52 setuptools-scm 53 ]; 54 55 pythonImportsCheck = [ 56 "kadmin" 57 "kadmin_local" 58 ]; 59 60 meta = { 61 description = "Rust and Python interfaces to the Kerberos administration interface (kadm5)"; 62 homepage = "https://github.com/authentik-community/kadmin-rs"; 63 changelog = "https://github.com/authentik-community/kadmin-rs/releases/tag/kadmin%2Fversion%2F${version}"; 64 license = lib.licenses.mit; 65 maintainers = with lib.maintainers; [ 66 jvanbruegge 67 risson 68 ]; 69 }; 70}