1{
2 lib,
3 stdenv,
4 buildDunePackage,
5 fetchFromGitHub,
6 ctypes,
7 dune-configurator,
8}:
9
10buildDunePackage rec {
11 pname = "eigen";
12 version = "0.3.3";
13
14 src = fetchFromGitHub {
15 owner = "owlbarn";
16 repo = pname;
17 tag = version;
18 hash = "sha256-8V4DQ+b2rzy58NTenK1BsJEJiJKYV6hIp2fJWqczHRY=";
19 };
20
21 minimalOCamlVersion = "4.02";
22
23 env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.hostPlatform.isDarwin "-I${lib.getInclude stdenv.cc.libcxx}/include/c++/v1";
24
25 propagatedBuildInputs = [ ctypes ];
26
27 buildInputs = [ dune-configurator ];
28
29 meta = {
30 inherit (src.meta) homepage;
31 description = "Minimal/incomplete Ocaml interface to Eigen3, mostly for Owl";
32 platforms = lib.platforms.x86_64;
33 maintainers = with lib.maintainers; [ bcdarwin ];
34 license = lib.licenses.mit;
35 };
36}