nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchpatch,
5 fetchPypi,
6 attrs,
7 freezegun,
8 numpy,
9 py,
10 pytestCheckHook,
11 pythonAtLeast,
12 setuptools,
13}:
14
15buildPythonPackage rec {
16 pname = "pypytools";
17 version = "0.6.2";
18 pyproject = true;
19
20 src = fetchPypi {
21 inherit pname version;
22 hash = "sha256-oUDAU+TRwLroNfQGYusAQKdRkHcazysqiDLfp77v5Sk=";
23 };
24
25 nativeBuildInputs = [ setuptools ];
26
27 propagatedBuildInputs = [
28 # attrs is an implicit dependency
29 attrs
30 py
31 ];
32
33 nativeCheckInputs = [
34 freezegun
35 numpy
36 py
37 pytestCheckHook
38 ];
39
40 patches = [
41 # Support for later Python releases, https://github.com/antocuni/pypytools/pull/2
42 (fetchpatch {
43 name = "support-later-python.patch";
44 url = "https://github.com/antocuni/pypytools/commit/c6aed496ec35a6ef7ce9e95084849eebc16bafef.patch";
45 hash = "sha256-YoYRZmgueQmxRtGaeP4zEVxuA0U7TB0PmoYHHVI7ICQ=";
46 })
47 # Fix ast.Num/ast.Index removal in Python 3.14, https://github.com/antocuni/pypytools/pull/5
48 ./fix-ast-314.patch
49 ];
50
51 pythonImportsCheck = [ "pypytools" ];
52
53 disabledTests = lib.optionals (pythonAtLeast "3.11") [
54 # https://github.com/antocuni/pypytools/issues/4
55 "test_clonefunc"
56 ];
57
58 meta = {
59 description = "Collection of tools to use PyPy-specific features";
60 homepage = "https://github.com/antocuni/pypytools";
61 license = lib.licenses.mit;
62 maintainers = with lib.maintainers; [ fab ];
63 };
64}