1{ lib, stdenv
2, fetchFromGitHub
3, cmake
4}:
5
6stdenv.mkDerivation rec {
7 pname = "muparserx";
8 version = "4.0.12";
9
10 src = fetchFromGitHub {
11 owner = "beltoforion";
12 repo = "muparserx";
13 rev = "v${version}";
14 sha256 = "sha256-rekPXmncNdVX6LvPQP1M2Pzs3pyiCCcLPLnPFiyWJ4s=";
15 };
16
17 nativeBuildInputs = [ cmake ];
18
19 cmakeFlags = [
20 "-DCMAKE_BUILD_TYPE=Release"
21 ];
22
23 doCheck = true;
24 checkPhase = ''
25 echo "***Muparserx self-test***"
26 echo "quit" | ./example > test_result.log
27 cat test_result.log
28 if grep -Fqi "failed" test_result.log; then
29 echo ">=1 muparserx tests failed"
30 exit 1
31 else
32 echo -e "\nmuparserx tests succeeded"
33 fi
34 '';
35
36 meta = with lib; {
37 description = "A C++ Library for Parsing Expressions with Strings, Complex Numbers, Vectors, Matrices and more";
38 homepage = "https://beltoforion.de/en/muparserx/";
39 license = licenses.bsd2;
40 maintainers = with maintainers; [ drewrisinger ];
41 };
42}