at master 1.6 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 6 fontconfig, 7 8 # nativeBuildInputs 9 cmake, 10 doxygen, 11 graphviz, 12 scipy, 13 14 # buildInputs 15 boost, 16 17 # propagatedBuildInputs 18 eigen, 19 jrl-cmakemodules, 20 numpy, 21 22}: 23 24buildPythonPackage rec { 25 pname = "eigenpy"; 26 version = "3.12.0"; 27 pyproject = false; # Built with cmake 28 29 src = fetchFromGitHub { 30 owner = "stack-of-tasks"; 31 repo = "eigenpy"; 32 tag = "v${version}"; 33 hash = "sha256-U4uL0knGJFpD14Gc32lgTZlw7QlXHMEqTnp0bmHJRU8="; 34 }; 35 36 outputs = [ 37 "dev" 38 "doc" 39 "out" 40 ]; 41 42 cmakeFlags = [ 43 "-DINSTALL_DOCUMENTATION=ON" 44 "-DBUILD_TESTING=ON" 45 "-DBUILD_TESTING_SCIPY=ON" 46 ]; 47 48 strictDeps = true; 49 50 # Fontconfig error: No writable cache directories 51 preBuild = "export XDG_CACHE_HOME=$(mktemp -d)"; 52 53 # Fontconfig error: Cannot load default config file: No such file: (null) 54 env.FONTCONFIG_FILE = "${fontconfig.out}/etc/fonts/fonts.conf"; 55 56 nativeBuildInputs = [ 57 cmake 58 doxygen 59 graphviz 60 scipy 61 ]; 62 63 buildInputs = [ boost ]; 64 65 propagatedBuildInputs = [ 66 eigen 67 jrl-cmakemodules 68 numpy 69 ]; 70 71 preInstallCheck = "make test"; 72 73 pythonImportsCheck = [ "eigenpy" ]; 74 75 meta = with lib; { 76 description = "Bindings between Numpy and Eigen using Boost.Python"; 77 homepage = "https://github.com/stack-of-tasks/eigenpy"; 78 changelog = "https://github.com/stack-of-tasks/eigenpy/releases/tag/${src.tag}"; 79 license = licenses.bsd2; 80 maintainers = with maintainers; [ 81 nim65s 82 wegank 83 ]; 84 platforms = platforms.unix; 85 }; 86}