at 23.05-pre 1.3 kB view raw
1{ lib 2, stdenv 3, fetchFromGitHub 4, buildPythonPackage 5, rustPlatform 6, pkg-config 7, rustfmt 8, setuptools-rust 9, openssl 10, Security 11, msgpack 12}: 13 14buildPythonPackage rec { 15 pname = "etebase"; 16 version = "0.31.5"; 17 18 src = fetchFromGitHub { 19 owner = "etesync"; 20 repo = "etebase-py"; 21 rev = "v${version}"; 22 hash = "sha256-87t3toMaApnOSPBKfTGGLo2VRLqU8irFac9lg3kA1eE="; 23 }; 24 25 cargoDeps = rustPlatform.fetchCargoTarball { 26 inherit src; 27 name = "${pname}-${version}"; 28 hash = "sha256-Qg0aJ6CZaPxGneIs4o402A+fhI/nlJ9X/XdMFqkD/YY="; 29 }; 30 31 format = "pyproject"; 32 33 nativeBuildInputs = [ 34 pkg-config 35 rustfmt 36 setuptools-rust 37 ] ++ (with rustPlatform; [ 38 cargoSetupHook 39 rust.cargo 40 rust.rustc 41 ]); 42 43 buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security ]; 44 45 propagatedBuildInputs = [ 46 msgpack 47 ]; 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 58 meta = with lib; { 59 broken = stdenv.isDarwin; 60 homepage = "https://www.etebase.com/"; 61 description = "A Python client library for Etebase"; 62 license = licenses.bsd3; 63 maintainers = with maintainers; [ _3699n ]; 64 }; 65}