From 32ba4a3f5a7fbf9f1af96e1eaf2b82401c151198 Mon Sep 17 00:00:00 2001 From: Graham Bennett Date: Tue, 16 Feb 2021 00:14:34 +0000 Subject: [PATCH 1/4] maintainers: add graham33 --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index f46e36c9899e..498fc61878c0 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -3499,6 +3499,12 @@ githubId = 6893840; name = "Yacine Hmito"; }; + graham33 = { + email = "graham@grahambennett.org"; + github = "graham33"; + githubId = 10908649; + name = "Graham Bennett"; + }; grahamc = { email = "graham@grahamc.com"; github = "grahamc"; From 50ad4a8c8936f1c3e1ec7e7e32cf52771fe904df Mon Sep 17 00:00:00 2001 From: Graham Bennett Date: Tue, 16 Feb 2021 00:23:54 +0000 Subject: [PATCH 2/4] python-engineio_3: init at 3.14.2 Socket.IO and Engine.IO protocols are not backwards-compatible and major versions of the client and server need to be coordinated. It's therefore useful to have python-engineio 3.x available for use with python-socketio 4.x. --- .../python-modules/python-engineio/3.nix | 67 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 69 insertions(+) create mode 100644 pkgs/development/python-modules/python-engineio/3.nix diff --git a/pkgs/development/python-modules/python-engineio/3.nix b/pkgs/development/python-modules/python-engineio/3.nix new file mode 100644 index 000000000000..e4c71782f990 --- /dev/null +++ b/pkgs/development/python-modules/python-engineio/3.nix @@ -0,0 +1,67 @@ +{ lib +, stdenv +, buildPythonPackage +, fetchFromGitHub +, aiohttp +, eventlet +, iana-etc +, libredirect +, mock +, requests +, six +, tornado +, websocket_client +, websockets +, pytestCheckHook +}: + +buildPythonPackage rec { + pname = "python-engineio"; + version = "3.14.2"; + + src = fetchFromGitHub { + owner = "miguelgrinberg"; + repo = "python-engineio"; + rev = "v${version}"; + sha256 = "1r3gvizrknbv036pvxid1l726wkb0l43bdaz5y879s7j3ipyb464"; + }; + + propagatedBuildInputs = [ + six + ]; + + checkInputs = [ + aiohttp + eventlet + mock + requests + tornado + websocket_client + websockets + pytestCheckHook + ]; + + preCheck = lib.optionalString stdenv.isLinux '' + echo "nameserver 127.0.0.1" > resolv.conf + export NIX_REDIRECTS=/etc/protocols=${iana-etc}/etc/protocols:/etc/resolv.conf=$(realpath resolv.conf) \ + LD_PRELOAD=${libredirect}/lib/libredirect.so + ''; + postCheck = '' + unset NIX_REDIRECTS LD_PRELOAD + ''; + + # somehow effective log level does not change? + disabledTests = [ "test_logger" ]; + pythonImportsCheck = [ "engineio" ]; + + meta = with lib; { + description = "Python based Engine.IO client and server v3.x"; + longDescription = '' + Engine.IO is a lightweight transport protocol that enables real-time + bidirectional event-based communication between clients and a server. + ''; + homepage = "https://github.com/miguelgrinberg/python-engineio/"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ graham33 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 276dc923acc6..b37c12ba1ec9 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6307,6 +6307,8 @@ in { python-engineio = callPackage ../development/python-modules/python-engineio { }; + python-engineio_3 = callPackage ../development/python-modules/python-engineio/3.nix { }; + python-etcd = callPackage ../development/python-modules/python-etcd { }; python_fedora = callPackage ../development/python-modules/python_fedora { }; From 32f67cd3e4991f5666103b954059bdf80cc52116 Mon Sep 17 00:00:00 2001 From: Graham Bennett Date: Tue, 16 Feb 2021 01:04:07 +0000 Subject: [PATCH 3/4] python-socketio_4: init at 4.6.1 Socket.IO and Engine.IO protocols are not backwards-compatible and major versions of the client and server need to be coordinated. It's therefore useful to have python-socketio 4.x available. --- .../python-modules/python-socketio/4.nix | 47 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 49 insertions(+) create mode 100644 pkgs/development/python-modules/python-socketio/4.nix diff --git a/pkgs/development/python-modules/python-socketio/4.nix b/pkgs/development/python-modules/python-socketio/4.nix new file mode 100644 index 000000000000..3a6f5d87fdd4 --- /dev/null +++ b/pkgs/development/python-modules/python-socketio/4.nix @@ -0,0 +1,47 @@ +{ lib +, bidict +, buildPythonPackage +, fetchFromGitHub +, mock +, pytestCheckHook +, python-engineio_3 +}: + +buildPythonPackage rec { + pname = "python-socketio"; + version = "4.6.1"; + + src = fetchFromGitHub { + owner = "miguelgrinberg"; + repo = "python-socketio"; + rev = "v${version}"; + sha256 = "14dijag17v84v0pp9qi89h5awb4h4i9rj0ppkixqv6is9z9lflw5"; + }; + + propagatedBuildInputs = [ + bidict + python-engineio_3 + ]; + + checkInputs = [ + mock + pytestCheckHook + ]; + + pythonImportsCheck = [ "socketio" ]; + + # pytestCheckHook seems to change the default log level to WARNING, but the + # tests assert it is ERROR + disabledTests = [ "test_logger" ]; + + meta = with lib; { + description = "Python Socket.IO server and client 4.x"; + longDescription = '' + Socket.IO is a lightweight transport protocol that enables real-time + bidirectional event-based communication between clients and a server. + ''; + homepage = "https://github.com/miguelgrinberg/python-socketio/"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ graham33 ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index b37c12ba1ec9..a8358e9f327b 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6449,6 +6449,8 @@ in { python-socketio = callPackage ../development/python-modules/python-socketio { }; + python-socketio_4 = callPackage ../development/python-modules/python-socketio/4.nix { }; + python-sql = callPackage ../development/python-modules/python-sql { }; python_statsd = callPackage ../development/python-modules/python_statsd { }; From c771807306a89ffc65cebc1eaddc289c85f84b35 Mon Sep 17 00:00:00 2001 From: Graham Bennett Date: Tue, 16 Feb 2021 00:35:10 +0000 Subject: [PATCH 4/4] python-socketio: Fix homepage URL --- pkgs/development/python-modules/python-socketio/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/python-modules/python-socketio/default.nix b/pkgs/development/python-modules/python-socketio/default.nix index e9c2ae146b09..8eb58b244e14 100644 --- a/pkgs/development/python-modules/python-socketio/default.nix +++ b/pkgs/development/python-modules/python-socketio/default.nix @@ -36,7 +36,7 @@ buildPythonPackage rec { Socket.IO is a lightweight transport protocol that enables real-time bidirectional event-based communication between clients and a server. ''; - homepage = "https://github.com/miguelgrinberg/python-engineio/"; + homepage = "https://github.com/miguelgrinberg/python-socketio/"; license = with licenses; [ mit ]; maintainers = with maintainers; [ mic92 ]; };