1{ lib
2, buildPythonPackage
3, fetchPypi
4, fetchpatch
5, distro
6, packaging
7, setuptools
8, wheel
9# Test Inputs
10, cmake
11, codecov
12, coverage
13, cython
14, flake8
15, ninja
16, pathpy
17, pytest
18, pytestcov
19, pytest-mock
20, pytestrunner
21, pytest-virtualenv
22, requests
23, six
24, virtualenv
25}:
26
27buildPythonPackage rec {
28 pname = "scikit-build";
29 version = "0.11.1";
30
31 src = fetchPypi {
32 inherit pname version;
33 sha256 = "0p4smkl2rbpl00m5va5qa8hp2hqb3284p2cs6k8zlmi4kgbdyh6s";
34 };
35
36 propagatedBuildInputs = [
37 distro
38 packaging
39 setuptools
40 wheel
41 ];
42 checkInputs = [
43 cmake
44 codecov
45 coverage
46 cython
47 flake8
48 ninja
49 pathpy
50 pytest
51 pytestcov
52 pytest-mock
53 pytestrunner
54 pytest-virtualenv
55 requests
56 six
57 virtualenv
58 ];
59
60 dontUseCmakeConfigure = true;
61
62 disabledTests = lib.concatMapStringsSep " and " (s: "not " + s) ([
63 "test_hello_develop" # tries setuptools develop install
64 "test_source_distribution" # pip has no way to install missing dependencies
65 "test_wheel" # pip has no way to install missing dependencies
66 "test_fortran_compiler" # passes if gfortran is available
67 "test_install_command" # tries to alter out path
68 "test_test_command" # tries to alter out path
69 "test_setup" # tries to install using distutils
70 ]);
71
72 checkPhase = ''
73 py.test -k '${disabledTests}'
74 '';
75
76 meta = with lib; {
77 description = "Improved build system generator for CPython C/C++/Fortran/Cython extensions";
78 homepage = "http://scikit-build.org/";
79 license = with licenses; [ mit bsd2 ]; # BSD due to reuses of PyNE code
80 maintainers = with maintainers; [ FlorianFranzen ];
81 };
82}