1{ 2 lib, 3 stdenv, 4 toPythonModule, 5 fetchFromGitHub, 6 cmake, 7 gtest, 8 xtensor, 9 pybind11, 10 numpy, 11}: 12 13toPythonModule ( 14 stdenv.mkDerivation (finalAttrs: { 15 pname = "xtensor-python"; 16 version = "0.28.0"; 17 18 src = fetchFromGitHub { 19 owner = "xtensor-stack"; 20 repo = "xtensor-python"; 21 tag = finalAttrs.version; 22 hash = "sha256-xByqAYtSRKOnllMUFdRM25bXGft/43EEpEMIlcjdrgE="; 23 }; 24 25 nativeBuildInputs = [ cmake ]; 26 buildInputs = [ pybind11 ]; 27 nativeCheckInputs = [ gtest ]; 28 doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform; 29 cmakeFlags = [ 30 # Always build the tests, even if not running them, because testing whether 31 # they can be built is a test in itself. 32 (lib.cmakeBool "BUILD_TESTS" true) 33 ]; 34 35 propagatedBuildInputs = [ 36 xtensor 37 numpy 38 ]; 39 40 checkTarget = "xtest"; 41 42 meta = { 43 homepage = "https://github.com/xtensor-stack/xtensor-python"; 44 description = "Python bindings for the xtensor C++ multi-dimensional array library"; 45 license = lib.licenses.bsd3; 46 maintainers = with lib.maintainers; [ lsix ]; 47 }; 48 }) 49)