nixpkgs/pkgs/development/python-modules/python-jsonrpc-server/default.nix
Profpatsch 4a7f99d55d treewide: with stdenv.lib; in meta -> with lib;
Part of: https://github.com/NixOS/nixpkgs/issues/108938

meta = with stdenv.lib;

is a widely used pattern. We want to slowly remove
the `stdenv.lib` indirection and encourage people
to use `lib` directly. Thus let’s start with the meta
field.

This used a rewriting script to mostly automatically
replace all occurances of this pattern, and add the
`lib` argument to the package header if it doesn’t
exist yet.

The script in its current form is available at
https://cs.tvl.fyi/depot@2f807d7f141068d2d60676a89213eaa5353ca6e0/-/blob/users/Profpatsch/nixpkgs-rewriter/default.nix
2021-01-11 10:38:22 +01:00

53 lines
1.5 KiB
Nix

{ lib, 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 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 ];
};
}