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