ginac: Test using example
Build and run an example program from the ginac documentation.
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
{
|
||||
runCommand,
|
||||
gccStdenv,
|
||||
cln,
|
||||
ginac,
|
||||
}:
|
||||
runCommand "ginac-example-test"
|
||||
{
|
||||
nativeBuildInputs = [
|
||||
gccStdenv.cc
|
||||
ginac
|
||||
cln
|
||||
];
|
||||
}
|
||||
''
|
||||
echo "
|
||||
#include <iostream>
|
||||
#include <ginac/ginac.h>
|
||||
using namespace std;
|
||||
using namespace GiNaC;
|
||||
|
||||
int main() {
|
||||
symbol x(\"x\"), y(\"y\");
|
||||
ex poly;
|
||||
|
||||
for (int i=0; i<3; ++i) {
|
||||
poly += factorial(i+16)*pow(x,i)*pow(y,2-i);
|
||||
}
|
||||
|
||||
cout << poly << endl;
|
||||
return 0;
|
||||
}" > hello.cc
|
||||
c++ -lginac -lcln hello.cc -o hello
|
||||
./hello
|
||||
mkdir $out
|
||||
''
|
||||
@@ -2,6 +2,7 @@
|
||||
lib,
|
||||
stdenv,
|
||||
gccStdenv,
|
||||
callPackage,
|
||||
fetchurl,
|
||||
cln,
|
||||
pkg-config,
|
||||
@@ -36,6 +37,8 @@ gccStdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
configureFlags = [ "--disable-rpath" ];
|
||||
|
||||
passthru.tests.example = callPackage ./ginac-example-test.nix { ginac = finalAttrs.finalPackage; };
|
||||
|
||||
meta = {
|
||||
description = "GiNaC C++ library for symbolic manipulations";
|
||||
homepage = "https://www.ginac.de/";
|
||||
|
||||
Reference in New Issue
Block a user