1{
2 lib,
3 stdenv,
4 toPythonModule,
5 fetchFromGitHub,
6 cmake,
7 boost,
8 eigen,
9 ipopt,
10 nlopt,
11 pagmo2,
12 python,
13 cloudpickle,
14 ipyparallel,
15 numba,
16 numpy,
17 pybind11,
18}:
19
20toPythonModule (
21 stdenv.mkDerivation rec {
22 pname = "pygmo";
23 version = "2.19.7";
24
25 src = fetchFromGitHub {
26 owner = "esa";
27 repo = "pygmo2";
28 tag = "v${version}";
29 hash = "sha256-279KNnP11f5ob2senIVmbnlmhRp2p3RoZLsQRE6yJ5Q=";
30 };
31
32 cmakeFlags = [ "-DPYGMO_INSTALL_PATH=${placeholder "out"}/${python.sitePackages}" ];
33
34 nativeBuildInputs = [ cmake ];
35
36 propagatedBuildInputs = [
37 cloudpickle
38 ipyparallel
39 numba
40 numpy
41 python
42 ];
43
44 buildInputs = [
45 boost
46 eigen
47 ipopt
48 nlopt
49 pagmo2
50 pybind11
51 ];
52
53 doCheck = true;
54
55 meta = with lib; {
56 description = "Parallel optimisation for Python";
57 homepage = "https://github.com/esa/pygmo2";
58 license = licenses.gpl3Plus;
59 maintainers = [ ];
60 };
61 }
62)