2023-09-23 17:33:17 +08:00
|
|
|
{
|
2023-10-07 22:11:22 +08:00
|
|
|
stdenv, fetchFromGitHub, cmake, pkg-config, substituteAll,
|
|
|
|
gnuplot, libjpeg, libtiff, zlib, libpng, lapack, blas, fftw, opencv, nodesoup, cimg, glfw, libGL, python3
|
|
|
|
}:
|
|
|
|
let
|
|
|
|
glad = fetchFromGitHub
|
|
|
|
{
|
|
|
|
owner = "Dav1dde";
|
|
|
|
repo = "glad";
|
|
|
|
rev = "v0.1.36";
|
|
|
|
sha256 = "FtkPz0xchwmqE+QgS+nSJVYaAfJSTUmZsObV/IPypVQ=";
|
|
|
|
};
|
|
|
|
python = python3.withPackages (pythonPackages: with pythonPackages; [ glad ]);
|
|
|
|
in stdenv.mkDerivation rec
|
2023-09-23 17:33:17 +08:00
|
|
|
{
|
|
|
|
pname = "matplotplusplus";
|
|
|
|
version = "1.2.0";
|
|
|
|
src = fetchFromGitHub
|
|
|
|
{
|
|
|
|
owner = "alandefreitas";
|
|
|
|
repo = "matplotplusplus";
|
2023-10-07 22:11:22 +08:00
|
|
|
rev = "a40344efa9dc5ea0c312e6e9ef4eb7238d98dc12";
|
|
|
|
sha256 = "6/dH/Rl2aAb8b+Ji5LwzkC+GWPOCBnYCrjy0qk8u/+I=";
|
2023-09-23 17:33:17 +08:00
|
|
|
};
|
2023-09-23 18:44:19 +08:00
|
|
|
cmakeFlags =
|
|
|
|
[
|
|
|
|
"-DBUILD_SHARED_LIBS=ON" "-DMATPLOTPP_BUILD_SHARED_LIBS=ON" "-DMATPLOTPP_BUILD_EXAMPLES=OFF"
|
|
|
|
"-DMATPLOTPP_WITH_SYSTEM_NODESOUP=ON" "-DMATPLOTPP_WITH_SYSTEM_CIMG=ON"
|
2023-10-07 22:11:22 +08:00
|
|
|
"-DMATPLOTPP_BUILD_EXPERIMENTAL_OPENGL_BACKEND=ON" "-DGLAD_REPRODUCIBLE=ON"
|
2023-09-23 18:44:19 +08:00
|
|
|
];
|
2023-10-07 22:11:22 +08:00
|
|
|
patches = [(substituteAll { src = ./add-glad.patch; inherit glad; })];
|
|
|
|
buildInputs = [ gnuplot libjpeg libtiff zlib libpng lapack blas fftw opencv nodesoup cimg glfw libGL python ];
|
|
|
|
nativeBuildInputs = [ cmake pkg-config python ];
|
2023-09-23 17:33:17 +08:00
|
|
|
}
|