This commit is contained in:
陈浩南 2023-10-08 13:33:32 +08:00
parent be54e681c3
commit e20527b4cd
4 changed files with 20 additions and 29 deletions

View File

@ -28,9 +28,10 @@
concurrencpp = callPackage ./concurrencpp { stdenv = gcc13Stdenv; };
eigengdb = python3Packages.callPackage ./eigengdb {};
nodesoup = callPackage ./nodesoup {};
matplotplusplus = callPackage ./matplotplusplus { inherit nodesoup; };
matplotplusplus = callPackage ./matplotplusplus { inherit nodesoup glad; };
zpp-bits = callPackage ./zpp-bits {};
eigen = callPackage ./eigen {};
nameof = callPackage ./nameof {};
pslist = callPackage ./pslist {};
glad = callPackage ./glad {};
}

View File

@ -0,0 +1,14 @@
{ lib, stdenv, fetchFromGitHub, cmake, python3 }: stdenv.mkDerivation rec
{
pname = "glad";
version = "0.1.36";
src = fetchFromGitHub
{
owner = "Dav1dde";
repo = "glad";
rev = "v${version}";
sha256 = "FtkPz0xchwmqE+QgS+nSJVYaAfJSTUmZsObV/IPypVQ=";
};
cmakeFlags = [ "-DGLAD_REPRODUCIBLE=ON" "-DGLAD_INSTALL=ON" ];
nativeBuildInputs = [ cmake python3 ];
}

View File

@ -1,13 +0,0 @@
diff --git a/source/matplot/CMakeLists.txt b/source/matplot/CMakeLists.txt
index fe9ad53..4007fae 100644
--- a/source/matplot/CMakeLists.txt
+++ b/source/matplot/CMakeLists.txt
@@ -221,7 +221,7 @@ if (MATPLOTPP_BUILD_EXPERIMENTAL_OPENGL_BACKEND)
if (NOT GLAD_FOUND AND NOT TARGET glad)
# Use CPM only if not found, to avoid ODR violations
# find_package(GLAD REQUIRE) would suffice if it worked well
- FetchContent_Declare(glad GIT_REPOSITORY https://github.com/Dav1dde/glad.git GIT_TAG v0.1.36)
+ FetchContent_Declare(glad SOURCE_DIR @glad@)
FetchContent_MakeAvailable(glad)
else ()
# FindGLAD does not usually create a target, so we create an interface target

View File

@ -1,17 +1,7 @@
{
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
gnuplot, libjpeg, libtiff, zlib, libpng, lapack, blas, fftw, opencv, nodesoup, cimg, glfw, libGL, python3, glad
}: stdenv.mkDerivation
{
pname = "matplotplusplus";
version = "1.2.0";
@ -28,7 +18,6 @@ in stdenv.mkDerivation rec
"-DMATPLOTPP_WITH_SYSTEM_NODESOUP=ON" "-DMATPLOTPP_WITH_SYSTEM_CIMG=ON"
"-DMATPLOTPP_BUILD_EXPERIMENTAL_OPENGL_BACKEND=ON" "-DGLAD_REPRODUCIBLE=ON"
];
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 ];
buildInputs = [ gnuplot libjpeg libtiff zlib libpng lapack blas fftw opencv nodesoup cimg glfw libGL glad ];
nativeBuildInputs = [ cmake pkg-config python3 ];
}