1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 setuptools,
6 autobahn,
7 mock,
8 twisted,
9 pythonOlder,
10 pythonAtLeast,
11 pytestCheckHook,
12}:
13
14buildPythonPackage rec {
15 pname = "magic-wormhole-transit-relay";
16 version = "0.2.1";
17 pyproject = true;
18
19 src = fetchPypi {
20 inherit pname version;
21 hash = "sha256-y0gBtGiQ6v+XKG4OP+xi0dUv/jF9FACDtjNqH7To+l4=";
22 };
23
24 build-system = [ setuptools ];
25
26 dependencies = [
27 autobahn
28 setuptools # pkg_resources is referenced at runtime
29 twisted
30 ];
31
32 pythonImportsCheck = [ "wormhole_transit_relay" ];
33
34 nativeCheckInputs = [
35 pytestCheckHook
36 mock
37 twisted
38 ];
39
40 __darwinAllowLocalNetworking = true;
41
42 meta = {
43 description = "Transit Relay server for Magic-Wormhole";
44 homepage = "https://github.com/magic-wormhole/magic-wormhole-transit-relay";
45 changelog = "https://github.com/magic-wormhole/magic-wormhole-transit-relay/blob/${version}/NEWS.md";
46 license = lib.licenses.mit;
47 maintainers = [ lib.maintainers.mjoerg ];
48 # Python 3.12 support: https://github.com/magic-wormhole/magic-wormhole-transit-relay/issues/35
49 broken = pythonOlder "3.7" || pythonAtLeast "3.12";
50 };
51}