diff --git a/default.nix b/default.nix index 10aa1f5..a2fafdc 100644 --- a/default.nix +++ b/default.nix @@ -34,4 +34,8 @@ self: super: rec { nixpkgs = pkgs; pythonPkgs = pythonPackages; }; + selfprivacy-graphql-api = super.callPackage ./pkgs/selfprivacy-graphql-api { + nixpkgs = pkgs; + pythonPkgs = pythonPackages; + }; } diff --git a/pkgs/selfprivacy-graphql-api/default.nix b/pkgs/selfprivacy-graphql-api/default.nix new file mode 100644 index 0000000..db0995e --- /dev/null +++ b/pkgs/selfprivacy-graphql-api/default.nix @@ -0,0 +1,59 @@ +{ nixpkgs ? import { }, pythonPkgs ? nixpkgs.pkgs.python39Packages }: + +let + inherit (nixpkgs) pkgs; + inherit pythonPkgs; + + selfprivacy-graphql-api = + { buildPythonPackage + , fetchPypi + , setuptools + , portalocker + , pytz + , pytest + , pytest-mock + , pytest-datadir + , huey + , gevent + , mnemonic + , pydantic + , typing-extensions + , strawberry_graphql + , psutil + , fastapi + , uvicorn + }: + buildPythonPackage rec { + pname = "selfprivacy-graphql-api"; + version = "2.0.0"; + src = builtins.fetchGit { + url = "https://git.selfprivacy.org/SelfPrivacy/selfprivacy-rest-api.git"; + rev = "a96f6bd06733199cf4af3b05acdce1f1d43c85c2"; + ref = "graphql"; + }; + propagatedBuildInputs = [ + setuptools + portalocker + pytz + pytest + pytest-mock + pytest-datadir + huey + gevent + mnemonic + pydantic + typing-extensions + strawberry_graphql + psutil + fastapi + uvicorn + ]; + meta = { + description = '' + SelfPrivacy Server Management API + ''; + }; + }; + drv = pythonPkgs.callPackage selfprivacy-graphql-api { }; +in +if pkgs.lib.inNixShell then drv.env else drv