Merge pull request #329823 from ExpidusOS/fix/pkgsllvm/elfutils
[NixPkgs.git] / pkgs / by-name / op / openturns / package.nix
blob58ca6a4139b59573ecca7371947c212ef1d41270
2   lib,
3   boost,
4   ceres-solver,
5   cmake,
6   cminpack,
7   darwin,
8   dlib,
9   fetchFromGitHub,
10   hdf5,
11   hmat-oss,
12   ipopt,
13   libxml2,
14   nlopt,
15   pagmo2,
16   primesieve,
17   python3Packages,
18   spectra,
19   stdenv,
20   swig,
21   tbb,
22   # Boolean flags
23   runTests ? false, # tests take an hour to build on a 48-core machine
24   enablePython ? false,
27 let
28   inherit (darwin.apple_sdk.frameworks) Accelerate;
30 stdenv.mkDerivation (finalAttrs: {
31   pname = "openturns";
32   version = "1.23";
34   src = fetchFromGitHub {
35     owner = "openturns";
36     repo = "openturns";
37     rev = "v${finalAttrs.version}";
38     hash = "sha256-csl5cZvxU8fdLKvh04ZWKizClrHqF79c7tAMSejo2lk=";
39   };
41   nativeBuildInputs = [
42     cmake
43   ]
44   ++ lib.optionals enablePython [ python3Packages.sphinx ];
46   buildInputs = [
47     (lib.getLib primesieve)
48     boost
49     ceres-solver
50     cminpack
51     dlib
52     hdf5
53     hmat-oss
54     ipopt
55     libxml2
56     nlopt
57     pagmo2
58     spectra
59     swig
60     tbb
61   ]
62   ++ lib.optionals enablePython [
63     python3Packages.dill
64     python3Packages.matplotlib
65     python3Packages.psutil
66     python3Packages.python
67   ]
68   ++ lib.optionals stdenv.isDarwin [
69     Accelerate
70   ];
72   cmakeFlags = [
73     (lib.cmakeBool "BUILD_PYTHON" enablePython)
74     (lib.cmakeBool "CMAKE_UNITY_BUILD" true)
75     (lib.cmakeBool "USE_SPHINX" enablePython)
76     (lib.cmakeFeature "CMAKE_UNITY_BUILD_BATCH_SIZE" "32")
77     (lib.cmakeFeature "SWIG_COMPILE_FLAGS" "-O1")
78     (lib.cmakeOptionType "PATH" "OPENTURNS_SYSCONFIG_PATH" "${placeholder "out"}/etc")
79   ];
81   checkTarget = lib.concatStringsSep " " [
82     "tests"
83     "check"
84   ];
86   strictDeps = true;
88   doCheck = runTests;
90   meta = {
91     homepage = "https://openturns.github.io/www/";
92     description = "Multivariate probabilistic modeling and uncertainty treatment library";
93     changelog = "https://github.com/openturns/openturns/raw/v${finalAttrs.version}/ChangeLog";
94     license = with lib.licenses; [ lgpl3Plus gpl3Plus ];
95     maintainers = with lib.maintainers; [ gdinh ];
96     platforms = lib.platforms.unix;
97   };