about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/openturns
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/openturns')
-rw-r--r--nixpkgs/pkgs/development/libraries/openturns/default.nix82
1 files changed, 82 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/openturns/default.nix b/nixpkgs/pkgs/development/libraries/openturns/default.nix
new file mode 100644
index 000000000000..a2fa42caea60
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/openturns/default.nix
@@ -0,0 +1,82 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, swig
+, boost
+, spectra
+, libxml2
+, tbb
+, hmat-oss
+, nlopt
+, cminpack
+, ceres-solver
+, dlib
+, hdf5
+, primesieve
+, pagmo2
+, ipopt
+, Accelerate
+# tests take an hour to build on a 48-core machine
+, runTests ? false
+, enablePython ? false
+, python3Packages
+}:
+
+stdenv.mkDerivation rec {
+  pname = "openturns";
+  version = "1.22";
+
+  src = fetchFromGitHub {
+    owner = "openturns";
+    repo = "openturns";
+    rev = "v${version}";
+    sha256 = "sha256-ku3/mPoa1YJVJB99R/kWlOubIO+OZAiKfPqS/DrtJQk=";
+  };
+
+  nativeBuildInputs = [ cmake ] ++ lib.optional enablePython python3Packages.sphinx;
+  buildInputs = [
+    swig
+    boost
+    spectra
+    libxml2
+    tbb
+    hmat-oss
+    nlopt
+    cminpack
+    ceres-solver
+    dlib
+    hdf5
+    primesieve
+    pagmo2
+    ipopt
+  ] ++ lib.optionals enablePython [
+    python3Packages.python
+    python3Packages.matplotlib
+    python3Packages.psutil
+    python3Packages.dill
+  ] ++ lib.optional stdenv.isDarwin Accelerate;
+
+  cmakeFlags = [
+    "-DOPENTURNS_SYSCONFIG_PATH=$out/etc"
+    "-DCMAKE_UNITY_BUILD=ON"
+    "-DCMAKE_UNITY_BUILD_BATCH_SIZE=32"
+    "-DSWIG_COMPILE_FLAGS='-O1'"
+    "-DUSE_SPHINX=${if enablePython then "ON" else "OFF"}"
+    "-DBUILD_PYTHON=${if enablePython then "ON" else "OFF"}"
+  ];
+
+  doCheck = runTests;
+
+  checkTarget = "tests check";
+
+  meta = with lib; {
+    description = "Multivariate probabilistic modeling and uncertainty treatment library";
+    license = with licenses; [ lgpl3 gpl3 ];
+    homepage = "https://openturns.github.io/www/";
+    changelog = "https://github.com/openturns/openturns/raw/v${version}/ChangeLog";
+    maintainers = with maintainers; [ gdinh ];
+    platforms = platforms.unix;
+  };
+}