53 lines
1.5 KiB
Nix
53 lines
1.5 KiB
Nix
{ stdenv, buildPythonPackage, fetchFromGitHub, pythonOlder
|
|
, pytest, mock, pytestcov, coverage
|
|
, future, futures, ujson, isPy38
|
|
, fetchpatch
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "python-jsonrpc-server";
|
|
version = "0.3.4";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "palantir";
|
|
repo = "python-jsonrpc-server";
|
|
rev = version;
|
|
sha256 = "027sx5pv4i9a192kr00bjjcxxprh2xyr8q5372q8ghff3xryk9dd";
|
|
};
|
|
|
|
postPatch = ''
|
|
sed -i 's/version=versioneer.get_version(),/version="${version}",/g' setup.py
|
|
# https://github.com/palantir/python-jsonrpc-server/issues/36
|
|
sed -iEe "s!'ujson.*\$!'ujson',!" setup.py
|
|
'';
|
|
|
|
checkInputs = [
|
|
pytest mock pytestcov coverage
|
|
];
|
|
|
|
checkPhase = ''
|
|
pytest
|
|
'';
|
|
|
|
patches = [
|
|
(fetchpatch {
|
|
url = "https://github.com/palantir/python-jsonrpc-server/commit/0a04cc4e9d44233b1038b12d63cd3bd437c2374e.patch";
|
|
sha256 = "177zdnp1808r2pg189bvzab44l8i2alsgv04kmrlhhnv40h66qyg";
|
|
})
|
|
(fetchpatch {
|
|
url = "https://github.com/palantir/python-jsonrpc-server/commit/5af6e43d0c1fb9a6a29b96d38cfd6dbeec85d0ea.patch";
|
|
sha256 = "1gx7lc1jxar1ngqqfkdn21s46y1mfnjf7ky2886ydk53nkaba91m";
|
|
})
|
|
];
|
|
|
|
propagatedBuildInputs = [ future ujson ]
|
|
++ stdenv.lib.optional (pythonOlder "3.2") futures;
|
|
|
|
meta = with stdenv.lib; {
|
|
homepage = "https://github.com/palantir/python-jsonrpc-server";
|
|
description = "A Python 2 and 3 asynchronous JSON RPC server";
|
|
license = licenses.mit;
|
|
maintainers = [ maintainers.mic92 ];
|
|
};
|
|
}
|