nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 build,
6 cython,
7 findutils,
8 pip,
9 pytestCheckHook,
10 pythonOlder,
11 setuptools-scm,
12 setuptools,
13 tomli,
14 wheel,
15}:
16
17buildPythonPackage rec {
18 pname = "extension-helpers";
19 version = "1.4.0";
20 pyproject = true;
21
22 src = fetchFromGitHub {
23 owner = "astropy";
24 repo = "extension-helpers";
25 tag = "v${version}";
26 hash = "sha256-coSgaPoz93CqJRb65xYs1sNOwoGhcxWGJF7Jc9N2W1I=";
27 };
28
29 build-system = [
30 setuptools
31 setuptools-scm
32 ];
33
34 dependencies = [ setuptools ] ++ lib.optionals (pythonOlder "3.11") [ tomli ];
35
36 nativeCheckInputs = [
37 build
38 cython
39 findutils
40 pip
41 pytestCheckHook
42 wheel
43 ];
44
45 pythonImportsCheck = [ "extension_helpers" ];
46
47 enabledTestPaths = [ "extension_helpers/tests" ];
48
49 disabledTests = [
50 # https://github.com/astropy/extension-helpers/issues/43
51 "test_write_if_different"
52 # ValueError: Unrecognized abi version for limited API: invalid
53 "test_limited_api_invalid_abi"
54 ];
55
56 meta = {
57 description = "Helpers to assist with building Python packages with compiled C/Cython extensions";
58 homepage = "https://github.com/astropy/extension-helpers";
59 changelog = "https://github.com/astropy/extension-helpers/blob/${src.tag}/CHANGES.md";
60 license = lib.licenses.bsd3;
61 maintainers = with lib.maintainers; [ fab ];
62 };
63}