1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 aiohttp,
7 msgpack,
8 cryptography,
9}:
10
11buildPythonPackage rec {
12 pname = "wslink";
13 version = "2.4.0";
14 pyproject = true;
15
16 src = fetchFromGitHub {
17 owner = "kitware";
18 repo = "wslink";
19 tag = "v${version}";
20 hash = "sha256-IFXxMN+OXJ/J2BSegxOBjE4iSA27pLyCpyyx4hmo9NU=";
21 };
22
23 sourceRoot = "${src.name}/python";
24
25 # add missing version string to dist-info
26 postPatch = ''
27 sed -i "/name *= */a\ version='${version}'," setup.py
28 '';
29
30 build-system = [ setuptools ];
31
32 dependencies = [
33 aiohttp
34 msgpack
35 ];
36
37 optional-dependencies = {
38 ssl = [ cryptography ];
39 };
40
41 pythonImportsCheck = [ "wslink" ];
42
43 # doCheck need interacting with the http server
44 doCheck = false;
45
46 meta = {
47 description = "Python/JavaScript library for communicating over WebSocket";
48 homepage = "https://github.com/Kitware/wslink";
49 changelog = "https://github.com/Kitware/wslink/releases/tag/${src.tag}";
50 license = lib.licenses.bsd3;
51 maintainers = with lib.maintainers; [ qbisi ];
52 };
53}