1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pythonOlder,
6
7 # build-system
8 setuptools,
9 setuptools-scm,
10
11 # dependencies
12 redis,
13
14 # tests
15 pygments,
16 pytestCheckHook,
17}:
18
19buildPythonPackage rec {
20 pname = "portalocker";
21 version = "2.8.2";
22 pyproject = true;
23
24 disabled = pythonOlder "3.7";
25
26 src = fetchPypi {
27 inherit pname version;
28 hash = "sha256-KwNap4KORsWOmzE5DuHxabmOEGarELmmqGH+fiXuTzM=";
29 };
30
31 postPatch = ''
32 sed -i "/--cov/d" pytest.ini
33 '';
34
35 nativeBuildInputs = [
36 setuptools
37 setuptools-scm
38 ];
39
40 propagatedBuildInputs = [ redis ];
41
42 nativeCheckInputs = [
43 pygments
44 pytestCheckHook
45 ];
46
47 pythonImportsCheck = [ "portalocker" ];
48
49 meta = with lib; {
50 changelog = "https://github.com/wolph/portalocker/releases/tag/v${version}";
51 description = "A library to provide an easy API to file locking";
52 homepage = "https://github.com/WoLpH/portalocker";
53 license = licenses.psfl;
54 maintainers = with maintainers; [ jonringer ];
55 };
56}