at 18.09-beta 1.2 kB view raw
1{ lib 2, fetchFromGitHub 3, buildPythonPackage 4, cmake 5, eigen 6, nlopt 7, ipopt 8, boost 9, pagmo2 10, numpy 11, cloudpickle 12, ipyparallel 13, numba 14}: 15 16buildPythonPackage rec { 17 pname = "pygmo"; 18 version = "2.8"; 19 20 src = fetchFromGitHub { 21 owner = "esa"; 22 repo = "pagmo2"; 23 rev = "v${version}"; 24 sha256 = "1xwxamcn3fkwr62jn6bkanrwy0cvsksf75hfwx4fvl56awnbz41z"; 25 }; 26 27 buildInputs = [ cmake eigen nlopt ipopt boost pagmo2 ]; 28 propagatedBuildInputs = [ numpy cloudpickle ipyparallel numba ]; 29 30 preBuild = '' 31 cp -v -r $src/* . 32 cmake -DCMAKE_INSTALL_PREFIX=$out -DPAGMO_BUILD_TESTS=no -DCMAKE_SYSTEM_NAME=Linux -DPagmo_DIR=${pagmo2} -DPAGMO_BUILD_PYGMO=yes -DPAGMO_BUILD_PAGMO=no -DPAGMO_WITH_EIGEN3=yes -DPAGMO_WITH_NLOPT=yes -DNLOPT_LIBRARY=${nlopt}/lib/libnlopt_cxx.so -DPAGMO_WITH_IPOPT=yes -DIPOPT=${ipopt} 33 34 make install 35 mv $out/lib/python*/site-packages/pygmo wheel 36 cd wheel 37 ''; 38 39 # dont do tests 40 doCheck = false; 41 42 meta = { 43 description = "Parallel optimisation for Python"; 44 homepage = https://esa.github.io/pagmo2/; 45 license = lib.licenses.gpl3Plus; 46 maintainers = with lib.maintainers; [ costrouc ]; 47 }; 48}