about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/openturns
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2023-06-16 06:56:35 +0000
committerAlyssa Ross <hi@alyssa.is>2023-06-16 06:56:35 +0000
commit99fcaeccb89621dd492203ce1f2d551c06f228ed (patch)
tree41cb730ae07383004789779b0f6e11cb3f4642a3 /nixpkgs/pkgs/development/libraries/openturns
parent59c5f5ac8682acc13bb22bc29c7cf02f7d75f01f (diff)
parent75a5ebf473cd60148ba9aec0d219f72e5cf52519 (diff)
downloadnixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.gz
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.bz2
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.lz
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.xz
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.tar.zst
nixlib-99fcaeccb89621dd492203ce1f2d551c06f228ed.zip
Merge branch 'nixos-unstable' of https://github.com/NixOS/nixpkgs
Conflicts:
	nixpkgs/nixos/modules/config/console.nix
	nixpkgs/nixos/modules/services/mail/mailman.nix
	nixpkgs/nixos/modules/services/mail/public-inbox.nix
	nixpkgs/nixos/modules/services/mail/rss2email.nix
	nixpkgs/nixos/modules/services/networking/ssh/sshd.nix
	nixpkgs/pkgs/applications/networking/instant-messengers/dino/default.nix
	nixpkgs/pkgs/applications/networking/irc/weechat/default.nix
	nixpkgs/pkgs/applications/window-managers/sway/default.nix
	nixpkgs/pkgs/build-support/go/module.nix
	nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix
	nixpkgs/pkgs/development/interpreters/python/default.nix
	nixpkgs/pkgs/development/node-packages/overrides.nix
	nixpkgs/pkgs/development/tools/b4/default.nix
	nixpkgs/pkgs/servers/dict/dictd-db.nix
	nixpkgs/pkgs/servers/mail/public-inbox/default.nix
	nixpkgs/pkgs/tools/security/pinentry/default.nix
	nixpkgs/pkgs/tools/text/unoconv/default.nix
	nixpkgs/pkgs/top-level/all-packages.nix
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/openturns')
-rw-r--r--nixpkgs/pkgs/development/libraries/openturns/default.nix90
1 files changed, 90 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..4c80c4b9ac81
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/openturns/default.nix
@@ -0,0 +1,90 @@
+{ 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.20";
+
+  src = fetchFromGitHub {
+    owner = "openturns";
+    repo = "openturns";
+    rev = "v${version}";
+    sha256 = "sha256-QeapH937yGnK6oD+rgIERePxz6ooxGpOx6x9LyFDt2A=";
+  };
+
+  patches = [
+    # Fix build with primesieve 11, https://github.com/openturns/openturns/pull/2187
+    # Remove with next version update.
+    (fetchpatch {
+      url = "https://github.com/openturns/openturns/commit/a85061f89a5763061467beac516c1355fe81b9be.patch";
+      hash = "sha256-z28ipBuX3b5UFEnKuDfp+kMI5cUcwXVz/8WZHlICnvE=";
+    })
+  ];
+
+  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/";
+    maintainers = with maintainers; [ gdinh ];
+    platforms = platforms.unix;
+  };
+}