etebase-server: init at 0.7.0

+86
+56
pkgs/servers/etebase/default.nix
··· 1 + { lib, python3, fetchFromGitHub }: 2 + 3 + let 4 + py = python3.override { 5 + packageOverrides = self: super: { 6 + django = super.django_3; 7 + }; 8 + }; 9 + in 10 + with py.pkgs; 11 + 12 + buildPythonPackage rec { 13 + pname = "etebase-server"; 14 + version = "0.7.0"; 15 + format = "pyproject"; 16 + 17 + src = fetchFromGitHub { 18 + owner = "etesync"; 19 + repo = "server"; 20 + rev = "v${version}"; 21 + sha256 = "1r2a7ki9w2h3l6rwqa3fzxjlqfj2lbgfrm8lynjhvcdv02s5abbi"; 22 + }; 23 + 24 + patches = [ ./secret.patch ]; 25 + 26 + propagatedBuildInputs = with pythonPackages; [ 27 + asgiref 28 + cffi 29 + django 30 + django-cors-headers 31 + djangorestframework 32 + drf-nested-routers 33 + msgpack 34 + psycopg2 35 + pycparser 36 + pynacl 37 + pytz 38 + six 39 + sqlparse 40 + ]; 41 + 42 + installPhase = '' 43 + mkdir -p $out/bin $out/lib 44 + cp -r . $out/lib/etebase-server 45 + ln -s $out/lib/etebase-server/manage.py $out/bin/etebase-server 46 + wrapProgram $out/bin/etebase-server --prefix PYTHONPATH : "$PYTHONPATH" 47 + chmod +x $out/bin/etebase-server 48 + ''; 49 + 50 + meta = with lib; { 51 + homepage = "https://github.com/etesync/server"; 52 + description = "An Etebase (EteSync 2.0) server so you can run your own."; 53 + license = licenses.agpl3Only; 54 + maintainers = with maintainers; [ felschr ]; 55 + }; 56 + }
+26
pkgs/servers/etebase/secret.patch
··· 1 + diff --git a/etebase_server/settings.py b/etebase_server/settings.py 2 + index 9baf8d3..501d9f6 100644 3 + --- a/etebase_server/settings.py 4 + +++ b/etebase_server/settings.py 5 + @@ -23,11 +22,6 @@ 6 + # Quick-start development settings - unsuitable for production 7 + # See https://docs.djangoproject.com/en/3.0/howto/deployment/checklist/ 8 + 9 + -# SECURITY WARNING: keep the secret key used in production secret! 10 + -# See secret.py for how this is generated; uses a file 'secret.txt' in the root 11 + -# directory 12 + -SECRET_FILE = os.path.join(BASE_DIR, "secret.txt") 13 + - 14 + # SECURITY WARNING: don't run with debug turned on in production! 15 + DEBUG = True 16 + 17 + @@ -143,7 +137,7 @@ 18 + 19 + section = config["global"] 20 + 21 + - SECRET_FILE = section.get("secret_file", SECRET_FILE) 22 + + SECRET_FILE = section.get("secret_file", None) 23 + STATIC_ROOT = section.get("static_root", STATIC_ROOT) 24 + STATIC_URL = section.get("static_url", STATIC_URL) 25 + MEDIA_ROOT = section.get("media_root", MEDIA_ROOT) 26 +
+2
pkgs/top-level/all-packages.nix
··· 21634 21634 21635 21635 eteroj.lv2 = libsForQt5.callPackage ../applications/audio/eteroj.lv2 { }; 21636 21636 21637 + etebase-server = with python3Packages; toPythonApplication etebase-server; 21638 + 21637 21639 etesync-dav = callPackage ../applications/misc/etesync-dav {}; 21638 21640 21639 21641 etherape = callPackage ../applications/networking/sniffers/etherape { };
+2
pkgs/top-level/python-packages.nix
··· 2060 2060 inherit (pkgs.darwin.apple_sdk.frameworks) Security; 2061 2061 }; 2062 2062 2063 + etebase-server = callPackage ../servers/etebase { }; 2064 + 2063 2065 etesync = callPackage ../development/python-modules/etesync { }; 2064 2066 2065 2067 eth-hash = callPackage ../development/python-modules/eth-hash { };