1{ lib, buildPythonPackage, fetchPypi, wheel, setuptools, packaging
2, cmake, ninja, cython, codecov, coverage, six, virtualenv, pathpy
3, pytest, pytestcov, pytest-virtualenv, pytest-mock, pytestrunner
4, requests, flake8 }:
5
6buildPythonPackage rec {
7 pname = "scikit-build";
8 version = "0.8.1";
9
10 src = fetchPypi {
11 inherit pname version;
12 sha256 = "1hh275lj98wgwi53mr9fqk8wh1dajjksch52xjax6a79gld4391a";
13 };
14
15 # Fixes incorrect specified requirement (part of next release)
16 patches = [ ./fix_pytestrunner_req.patch ];
17
18 propagatedBuildInputs = [ wheel setuptools packaging ];
19 checkInputs = [
20 cmake ninja cython codecov coverage six pathpy
21 pytest pytestcov pytest-mock pytest-virtualenv pytestrunner
22 requests flake8
23 ];
24
25 dontUseCmakeConfigure = true;
26
27 disabledTests = lib.concatMapStringsSep " and " (s: "not " + s) ([
28 "test_hello_develop" # tries setuptools develop install
29 "test_source_distribution" # pip has no way to install missing dependencies
30 "test_wheel" # pip has no way to install missing dependencies
31 "test_fortran_compiler" # passes if gfortran is available
32 "test_install_command" # tries to alter out path
33 "test_test_command" # tries to alter out path
34 ]);
35
36 checkPhase = ''
37 py.test -k '${disabledTests}'
38 '';
39
40 meta = with lib; {
41 homepage = http://scikit-build.org/;
42 description = "Improved build system generator for CPython C/C++/Fortran/Cython extensions";
43 license = with licenses; [ mit bsd2 ]; # BSD due to reuses of PyNE code
44 maintainers = [ maintainers.FlorianFranzen ];
45 };
46}