From eb64f95d201badf76e4d4745747ad5346ed4d472 Mon Sep 17 00:00:00 2001 From: connordennyomalley Date: Tue, 28 Apr 2026 12:44:30 +0100 Subject: [PATCH] ginac: Test using example Build and run an example program from the ginac documentation. --- pkgs/by-name/gi/ginac/ginac-example-test.nix | 36 ++++++++++++++++++++ pkgs/by-name/gi/ginac/package.nix | 3 ++ 2 files changed, 39 insertions(+) create mode 100644 pkgs/by-name/gi/ginac/ginac-example-test.nix 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 046ff433ed28..1937b6577fa4 100644 --- a/pkgs/by-name/gi/ginac/package.nix +++ b/pkgs/by-name/gi/ginac/package.nix @@ -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/";