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