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