diff --git a/pkgs/by-name/gi/ginac/ginac-example-test.nix b/pkgs/by-name/gi/ginac/ginac-example-test.nix new file mode 100644 index 000000000000..501beb499683 --- /dev/null +++ b/pkgs/by-name/gi/ginac/ginac-example-test.nix @@ -0,0 +1,36 @@ +{ + runCommand, + gccStdenv, + cln, + ginac, +}: +runCommand "ginac-example-test" + { + nativeBuildInputs = [ + gccStdenv.cc + ginac + cln + ]; + } + '' + echo " + #include + #include + 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 + '' diff --git a/pkgs/by-name/gi/ginac/package.nix b/pkgs/by-name/gi/ginac/package.nix index 87406bb062c0..1937b6577fa4 100644 --- a/pkgs/by-name/gi/ginac/package.nix +++ b/pkgs/by-name/gi/ginac/package.nix @@ -1,6 +1,8 @@ { lib, stdenv, + gccStdenv, + callPackage, fetchurl, cln, pkg-config, @@ -9,7 +11,7 @@ python3, }: -stdenv.mkDerivation (finalAttrs: { +gccStdenv.mkDerivation (finalAttrs: { pname = "ginac"; version = "1.8.10"; @@ -35,6 +37,8 @@ stdenv.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/";