11 python = python3.override {
12 packageOverrides = self: super: {
13 pydantic = super.pydantic_1;
17 python.pkgs.buildPythonApplication rec {
18 pname = "etebase-server";
21 src = fetchFromGitHub {
24 rev = "refs/tags/v${version}";
25 hash = "sha256-GEieXue3Kvc4zZjfypKLmTmhNPbn/GR8g0qEqkl+wkw=";
28 patches = [ ./secret.patch ];
32 propagatedBuildInputs = with python.pkgs; [
47 ] ++ lib.optional withLdap python-ldap
48 ++ lib.optional withPostgres psycopg2;
51 mkdir -p $out/bin $out/lib
52 cp manage.py $out/bin/etebase-server
53 wrapProgram $out/bin/etebase-server --prefix PYTHONPATH : "$PYTHONPATH"
54 chmod +x $out/bin/etebase-server
57 passthru.updateScript = nix-update-script {};
58 passthru.python = python;
59 # PYTHONPATH of all dependencies used by the package
60 passthru.pythonPath = python.pkgs.makePythonPath propagatedBuildInputs;
62 nixosTest = nixosTests.etebase-server;
66 homepage = "https://github.com/etesync/server";
67 description = "Etebase (EteSync 2.0) server so you can run your own";
68 mainProgram = "etebase-server";
69 changelog = "https://github.com/etesync/server/blob/${version}/ChangeLog.md";
70 license = licenses.agpl3Only;
71 maintainers = with maintainers; [ felschr phaer ];