1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pip,
6 pytestCheckHook,
7 pythonOlder,
8 setuptools-scm,
9 setuptools,
10 tomli,
11}:
12
13buildPythonPackage rec {
14 pname = "extension-helpers";
15 version = "1.2.0";
16 pyproject = true;
17
18 disabled = pythonOlder "3.8";
19
20 src = fetchFromGitHub {
21 owner = "astropy";
22 repo = "extension-helpers";
23 tag = "v${version}";
24 hash = "sha256-qneulhSYB2gYiCdgoU7Dqg1luLWhVouFVihcKeOA37E=";
25 };
26
27 build-system = [
28 setuptools
29 setuptools-scm
30 ];
31
32 dependencies = [ setuptools ] ++ lib.optionals (pythonOlder "3.11") [ tomli ];
33
34 nativeCheckInputs = [
35 pytestCheckHook
36 pip
37 ];
38
39 pythonImportsCheck = [ "extension_helpers" ];
40
41 pytestFlagsArray = [ "extension_helpers/tests" ];
42
43 disabledTests = [
44 # Test require network access
45 "test_only_pyproject"
46 ];
47
48 meta = with lib; {
49 description = "Helpers to assist with building Python packages with compiled C/Cython extensions";
50 homepage = "https://github.com/astropy/extension-helpers";
51 changelog = "https://github.com/astropy/extension-helpers/blob/${version}/CHANGES.md";
52 license = licenses.bsd3;
53 maintainers = with maintainers; [ fab ];
54 };
55}