1{ lib
2, stdenv
3, buildPythonPackage
4, fetchFromGitHub
5, jwcrypto
6, numpy
7, pytestCheckHook
8, pythonOlder
9, redis
10, requests
11, simplejson
12}:
13
14buildPythonPackage rec {
15 pname = "websockify";
16 version = "0.11.0";
17 format = "setuptools";
18
19 disabled = pythonOlder "3.7";
20
21 src = fetchFromGitHub {
22 owner = "novnc";
23 repo = pname;
24 rev = "refs/tags/v${version}";
25 hash = "sha256-82Fk9qbiiCD5Rts1d14sK/njeN7DcjKMKPqE7S/1WHs=";
26 };
27
28 propagatedBuildInputs = [
29 jwcrypto
30 numpy
31 redis
32 requests
33 simplejson
34 ];
35
36 nativeCheckInputs = [
37 pytestCheckHook
38 ];
39
40 disabledTests = lib.optionals stdenv.isDarwin [
41 # this test failed on macos
42 # https://github.com/novnc/websockify/issues/552
43 "test_socket_set_keepalive_options"
44 ];
45
46 pythonImportsCheck = [
47 "websockify"
48 ];
49
50 meta = with lib; {
51 description = "WebSockets support for any application/server";
52 homepage = "https://github.com/kanaka/websockify";
53 changelog = "https://github.com/novnc/websockify/releases/tag/v${version}";
54 license = licenses.lgpl3Only;
55 maintainers = with maintainers; [ ];
56 };
57}