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