From 674c7ae9b02296819aaec5c1cd8e79579e455eea Mon Sep 17 00:00:00 2001 From: Gregor Kleen Date: Thu, 5 Jan 2023 22:35:36 +0100 Subject: etesync-dav --- overlays/etesync-dav/etebase.nix | 64 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 overlays/etesync-dav/etebase.nix (limited to 'overlays/etesync-dav/etebase.nix') diff --git a/overlays/etesync-dav/etebase.nix b/overlays/etesync-dav/etebase.nix new file mode 100644 index 00000000..8711725c --- /dev/null +++ b/overlays/etesync-dav/etebase.nix @@ -0,0 +1,64 @@ +{ lib +, stdenv +, fetchFromGitHub +, python39 +, rustPlatform +, pkg-config +, rustfmt +, setuptools-rust +, openssl +, msgpack +}: + +python39.pkgs.buildPythonPackage rec { + pname = "etebase"; + version = "0.31.6"; + + src = fetchFromGitHub { + owner = "etesync"; + repo = "etebase-py"; + rev = "v${version}"; + hash = "sha256-T61nPW3wjBRjmJ81w59T1b/Kxrwwqvyj3gILE9OF/5Q="; + }; + + cargoDeps = rustPlatform.fetchCargoTarball { + inherit src; + name = "${pname}-${version}"; + hash = "sha256-wrMNtcaLAsWBVeJbYbYo+Xmobl01lnUbR9NUqqUzUgU="; + }; + + format = "pyproject"; + + nativeBuildInputs = [ + pkg-config + rustfmt + setuptools-rust + ] ++ (with rustPlatform; [ + cargoSetupHook + rust.cargo + rust.rustc + ]); + + buildInputs = [ openssl ]; + + propagatedBuildInputs = [ + msgpack + ]; + + postPatch = '' + # Use system OpenSSL, which gets security updates. + substituteInPlace Cargo.toml \ + --replace ', features = ["vendored"]' "" + ''; + + pythonImportsCheck = [ "etebase" ]; + + + meta = with lib; { + broken = stdenv.isDarwin; + homepage = "https://www.etebase.com/"; + description = "A Python client library for Etebase"; + license = licenses.bsd3; + maintainers = with maintainers; [ _3699n thyol ]; + }; +} -- cgit v1.2.3