anvil-editor: init at 0.4
[NixPkgs.git] / pkgs / applications / networking / instant-messengers / pantalaimon / default.nix
blob8a6391892ae400d2fed9839c753e2fecd0944d8b
1 { lib
2 , stdenv
3 , python3Packages
4 , fetchFromGitHub
5 , installShellFiles
6 , nixosTests
7 , enableDbusUi ? true
8 , wrapGAppsHook3
9 }:
11 python3Packages.buildPythonApplication rec {
12   pname = "pantalaimon";
13   version = "0.10.5";
14   pyproject = true;
16   # pypi tarball miss tests
17   src = fetchFromGitHub {
18     owner = "matrix-org";
19     repo = "pantalaimon";
20     rev = version;
21     hash = "sha256-yMhE3wKRbFHoL0vdFR8gMkNU7Su4FHbAwKQYADaaWpk=";
22   };
24   build-system = [
25     installShellFiles
26   ] ++ (with python3Packages; [
27     setuptools
28   ]);
30   pythonRelaxDeps = [
31     "matrix-nio"
32   ];
34   dependencies = with python3Packages; [
35     aiohttp
36     appdirs
37     attrs
38     cachetools
39     click
40     janus
41     keyring
42     logbook
43     (matrix-nio.override { withOlm = true; })
44     peewee
45     prompt-toolkit
46   ]
47   ++ lib.optionals enableDbusUi optional-dependencies.ui;
49   optional-dependencies.ui = with python3Packages; [
50     dbus-python
51     notify2
52     pygobject3
53     pydbus
54   ];
56   nativeCheckInputs = with python3Packages; [
57     aioresponses
58     faker
59     pytest-aiohttp
60     pytestCheckHook
61   ]
62   ++ lib.flatten (lib.attrValues optional-dependencies);
64   nativeBuildInputs = lib.optionals enableDbusUi [
65     wrapGAppsHook3
66   ];
68   dontWrapGApps = enableDbusUi;
69   makeWrapperArgs = lib.optionals enableDbusUi [
70     "\${gappsWrapperArgs[@]}"
71   ];
73   # darwin has difficulty communicating with server, fails some integration tests
74   doCheck = !stdenv.hostPlatform.isDarwin;
76   postInstall = ''
77     installManPage docs/man/*.[1-9]
78   '';
80   passthru.tests = {
81     inherit (nixosTests) pantalaimon;
82   };
84   meta = with lib; {
85     description = "End-to-end encryption aware Matrix reverse proxy daemon";
86     homepage = "https://github.com/matrix-org/pantalaimon";
87     license = licenses.asl20;
88     maintainers = with maintainers; [ valodim ];
89   };