1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 fetchpatch,
6 findutils,
7 pytestCheckHook,
8 pythonOlder,
9 pip,
10 setuptools,
11 setuptools-scm,
12 tomli,
13 wheel,
14}:
15
16buildPythonPackage rec {
17 pname = "extension-helpers";
18 version = "1.1.0";
19 pyproject = true;
20
21 disabled = pythonOlder "3.7";
22
23 src = fetchPypi {
24 inherit pname version;
25 hash = "sha256-SUYMeKP40fjOwXRHn16FrURZSMzEFgM8WqPm3fLFAik=";
26 };
27
28 patches = [
29 # Not needed to allow this package to build, but meant for it's dependent
30 # packages, like astropy. See explanation at:
31 # https://github.com/astropy/extension-helpers/pull/59
32 (fetchpatch {
33 url = "https://github.com/astropy/extension-helpers/commit/796f3e7831298df2d26b6d994b13fd57061a56d1.patch";
34 hash = "sha256-NnqK9HQq1hQ66RUJf9gTCuLyA0BVqVtL292mSXJ9860=";
35 })
36 ];
37
38 nativeBuildInputs = [
39 setuptools
40 setuptools-scm
41 wheel
42 ];
43
44 propagatedBuildInputs = [ tomli ];
45
46 nativeCheckInputs = [
47 findutils
48 pip
49 pytestCheckHook
50 ];
51
52 # avoid import mismatch errors, as conftest.py is copied to build dir
53 enabledTestPaths = [ "extension_helpers" ];
54
55 disabledTests = [
56 # https://github.com/astropy/extension-helpers/issues/43
57 "test_write_if_different"
58 ];
59
60 pythonImportsCheck = [ "extension_helpers" ];
61
62 meta = with lib; {
63 description = "Utilities for building and installing packages in the Astropy ecosystem";
64 homepage = "https://github.com/astropy/extension-helpers";
65 license = licenses.bsd3;
66 maintainers = with maintainers; [ rmcgibbo ];
67 };
68}