emacsPackages.lsp-bridge: 0-unstable-2025-01-11 -> 0-unstable-2025-01-22 (#376531)
[NixPkgs.git] / pkgs / development / python-modules / pywebview / default.nix
blobe6148c3a5b47046bf9e86f4cae23fc1f652e5d49
2   lib,
3   buildPythonPackage,
4   fetchFromGitHub,
5   setuptools-scm,
6   bottle,
7   importlib-resources,
8   proxy-tools,
9   pygobject3,
10   pyqtwebengine,
11   pytest,
12   pythonOlder,
13   qt5,
14   qtpy,
15   six,
16   xvfb-run,
19 buildPythonPackage rec {
20   pname = "pywebview";
21   version = "5.3.2";
22   pyproject = true;
24   disabled = pythonOlder "3.5";
26   src = fetchFromGitHub {
27     owner = "r0x0r";
28     repo = "pywebview";
29     tag = version;
30     hash = "sha256-/jKauq+G3Nz91n/keTZGNDTaW5EhdyCx4c2Nylxqc+0=";
31   };
33   nativeBuildInputs = [
34     setuptools-scm
35     qt5.wrapQtAppsHook
36   ];
38   propagatedBuildInputs = [
39     bottle
40     pyqtwebengine
41     proxy-tools
42     six
43   ] ++ lib.optionals (pythonOlder "3.7") [ importlib-resources ];
45   nativeCheckInputs = [
46     pygobject3
47     pytest
48     qtpy
49     xvfb-run
50   ];
52   checkPhase = ''
53     # a Qt wrapper is required to run the Qt backend
54     # since the upstream script does not have a way to disable tests individually pytest is used directly instead
55     makeQtWrapper "$(command -v pytest)" tests/run.sh \
56       --set PYWEBVIEW_LOG debug \
57       --add-flags "--deselect tests/test_js_api.py::test_concurrent"
59     # HOME and XDG directories are required for the tests
60     env \
61       HOME=$TMPDIR \
62       XDG_RUNTIME_DIR=$TMPDIR/xdg-runtime-dir \
63       xvfb-run -s '-screen 0 800x600x24' tests/run.sh
64   '';
66   pythonImportsCheck = [ "webview" ];
68   meta = with lib; {
69     description = "Lightweight cross-platform wrapper around a webview";
70     homepage = "https://github.com/r0x0r/pywebview";
71     license = licenses.bsd3;
72     maintainers = with maintainers; [ jojosch ];
73   };