From e2a6e8b8ffe78d908a65c15a559f9d172b891c80 Mon Sep 17 00:00:00 2001 From: Maximilian Bosch Date: Wed, 28 Nov 2018 16:25:56 +0100 Subject: [PATCH] pythonPackages.pyres: ensure that redis 2.10.6 is used Upstream's requirements.txt wrongly suggests that redis==3.x is support (missing upper-bound constraint), but the tests break due to API incompatibilities. --- .../python-modules/pyres/default.nix | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/pyres/default.nix b/pkgs/development/python-modules/pyres/default.nix index 111e05066d6..2ea6043c427 100644 --- a/pkgs/development/python-modules/pyres/default.nix +++ b/pkgs/development/python-modules/pyres/default.nix @@ -1,11 +1,26 @@ -{ stdenv, buildPythonPackage, fetchFromGitHub, simplejson, redis, setproctitle, nose, pkgs }: +{ stdenv, fetchPypi, buildPythonPackage, fetchFromGitHub, simplejson, redis, setproctitle, nose, pkgs }: + +let + + # the requirements of `pyres` support Redis 3.x (due to a missing upper-bound), + # but it doesn't support Redis 3.x. + redis' = redis.overridePythonAttrs (old: rec { + pname = "redis"; + version = "2.10.6"; + src = fetchPypi { + inherit pname version; + sha256 = "03vcgklykny0g0wpvqmy8p6azi2s078317wgb2xjv5m2rs9sjb52"; + }; + }); + +in buildPythonPackage rec { pname = "pyres"; version = "1.5"; # ps is used in Worker.worker_pids method - propagatedBuildInputs = [ simplejson setproctitle redis pkgs.ps ]; + propagatedBuildInputs = [ simplejson setproctitle redis' pkgs.ps ]; checkInputs = [ nose pkgs.redis ]; # PyPI tarball doesn't contain tests so let's use GitHub