diff options
Diffstat (limited to 'nixpkgs/pkgs/servers/etebase/default.nix')
-rw-r--r-- | nixpkgs/pkgs/servers/etebase/default.nix | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/servers/etebase/default.nix b/nixpkgs/pkgs/servers/etebase/default.nix new file mode 100644 index 000000000000..3c111c0070cd --- /dev/null +++ b/nixpkgs/pkgs/servers/etebase/default.nix @@ -0,0 +1,73 @@ +{ lib +, fetchFromGitHub +, withLdap ? true +, python3 +, withPostgres ? true +, nix-update-script +, nixosTests +}: + +let + python = python3.override { + packageOverrides = self: super: { + pydantic = super.pydantic_1; + }; + }; +in +python.pkgs.buildPythonPackage rec { + pname = "etebase-server"; + version = "0.11.0"; + + src = fetchFromGitHub { + owner = "etesync"; + repo = "server"; + rev = "refs/tags/${version}"; + hash = "sha256-+MSNX+CFmIQII+SFjM2TQKCgRMOTdsOIVAP8ur4WjQY="; + }; + + patches = [ ./secret.patch ]; + + doCheck = false; + + propagatedBuildInputs = with python.pkgs; [ + aiofiles + django_3 + fastapi + msgpack + pynacl + redis + uvicorn + websockets + watchfiles + uvloop + pyyaml + python-dotenv + httptools + typing-extensions + ] ++ lib.optional withLdap python-ldap + ++ lib.optional withPostgres psycopg2; + + postInstall = '' + mkdir -p $out/bin $out/lib + cp manage.py $out/bin/etebase-server + wrapProgram $out/bin/etebase-server --prefix PYTHONPATH : "$PYTHONPATH" + chmod +x $out/bin/etebase-server + ''; + + passthru.updateScript = nix-update-script {}; + passthru.python = python; + # PYTHONPATH of all dependencies used by the package + passthru.pythonPath = python.pkgs.makePythonPath propagatedBuildInputs; + passthru.tests = { + nixosTest = nixosTests.etebase-server; + }; + + meta = with lib; { + homepage = "https://github.com/etesync/server"; + description = "An Etebase (EteSync 2.0) server so you can run your own"; + mainProgram = "etebase-server"; + changelog = "https://github.com/etesync/server/blob/${version}/ChangeLog.md"; + license = licenses.agpl3Only; + maintainers = with maintainers; [ felschr phaer ]; + }; +} |