at 24.11-pre 1.3 kB view raw
1{ 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 buildPythonPackage, 6 rustPlatform, 7 cargo, 8 pkg-config, 9 rustc, 10 rustfmt, 11 setuptools-rust, 12 openssl, 13 Security, 14 msgpack, 15}: 16 17buildPythonPackage rec { 18 pname = "etebase"; 19 version = "0.31.6"; 20 21 src = fetchFromGitHub { 22 owner = "etesync"; 23 repo = "etebase-py"; 24 rev = "v${version}"; 25 hash = "sha256-T61nPW3wjBRjmJ81w59T1b/Kxrwwqvyj3gILE9OF/5Q="; 26 }; 27 28 cargoDeps = rustPlatform.fetchCargoTarball { 29 inherit src; 30 name = "${pname}-${version}"; 31 hash = "sha256-wrMNtcaLAsWBVeJbYbYo+Xmobl01lnUbR9NUqqUzUgU="; 32 }; 33 34 format = "pyproject"; 35 36 nativeBuildInputs = [ 37 pkg-config 38 rustfmt 39 setuptools-rust 40 rustPlatform.cargoSetupHook 41 cargo 42 rustc 43 ]; 44 45 buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ]; 46 47 propagatedBuildInputs = [ msgpack ]; 48 49 postPatch = '' 50 # Use system OpenSSL, which gets security updates. 51 substituteInPlace Cargo.toml \ 52 --replace ', features = ["vendored"]' "" 53 ''; 54 55 pythonImportsCheck = [ "etebase" ]; 56 57 meta = with lib; { 58 broken = stdenv.isDarwin; 59 homepage = "https://www.etebase.com/"; 60 description = "A Python client library for Etebase"; 61 license = licenses.bsd3; 62 maintainers = with maintainers; [ _3699n ]; 63 }; 64}