nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 cython,
5 expandvars,
6 fetchFromGitHub,
7 pytest-codspeed,
8 pytest-cov-stub,
9 pytest-xdist,
10 pytestCheckHook,
11 pythonOlder,
12 setuptools,
13 tomli,
14}:
15
16buildPythonPackage rec {
17 pname = "propcache";
18 version = "0.4.1";
19 pyproject = true;
20
21 disabled = pythonOlder "3.11";
22
23 src = fetchFromGitHub {
24 owner = "aio-libs";
25 repo = "propcache";
26 tag = "v${version}";
27 hash = "sha256-7HQUOggbFC7kWcXqatLeCTNJqo0fW9FRCy8UkYL6wvM=";
28 };
29
30 postPatch = ''
31 substituteInPlace packaging/pep517_backend/_backend.py \
32 --replace "Cython ~=" "Cython >="
33 '';
34
35 build-system = [
36 cython
37 expandvars
38 setuptools
39 ]
40 ++ lib.optionals (pythonOlder "3.11") [
41 tomli
42 ];
43
44 nativeCheckInputs = [
45 pytest-codspeed
46 pytest-cov-stub
47 pytest-xdist
48 pytestCheckHook
49 ];
50
51 pythonImportsCheck = [ "propcache" ];
52
53 meta = {
54 description = "Fast property caching";
55 homepage = "https://github.com/aio-libs/propcache";
56 changelog = "https://github.com/aio-libs/propcache/blob/${src.tag}/CHANGES.rst";
57 license = lib.licenses.asl20;
58 maintainers = with lib.maintainers; [ fab ];
59 };
60}