From 1c3aae62fe7e5367fc8176d99063beccbff2a787 Mon Sep 17 00:00:00 2001 From: Grace Dinh Date: Wed, 24 Aug 2022 15:06:18 -0700 Subject: [PATCH 1/2] pagmo2: add platforms and unbreak on darwin --- pkgs/development/libraries/pagmo2/default.nix | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/pagmo2/default.nix b/pkgs/development/libraries/pagmo2/default.nix index dfb70ab624e1..7e30b0593b21 100644 --- a/pkgs/development/libraries/pagmo2/default.nix +++ b/pkgs/development/libraries/pagmo2/default.nix @@ -6,6 +6,8 @@ , ipopt , boost , tbb + # tests pass but take 30+ minutes +, runTests ? false }: stdenv.mkDerivation rec { @@ -20,24 +22,29 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ cmake ]; - buildInputs = [ eigen nlopt ipopt boost tbb ]; + buildInputs = [ eigen nlopt boost tbb ] ++ lib.optional (!stdenv.isDarwin) ipopt; cmakeFlags = [ - "-DPAGMO_BUILD_TESTS=no" + "-DPAGMO_BUILD_TESTS=${if runTests then "ON" else "OFF"}" "-DPAGMO_WITH_EIGEN3=yes" "-DPAGMO_WITH_NLOPT=yes" - "-DNLOPT_LIBRARY=${nlopt}/lib/libnlopt.so" + "-DNLOPT_LIBRARY=${nlopt}/lib/libnlopt${stdenv.hostPlatform.extensions.sharedLibrary}" + ] ++ lib.optionals stdenv.isLinux [ "-DPAGMO_WITH_IPOPT=yes" "-DCMAKE_CXX_FLAGS='-fuse-ld=gold'" + ] ++ lib.optionals stdenv.isDarwin [ + # FIXME: fails ipopt test with Invalid_Option on darwin, so disable. + "-DPAGMO_WITH_IPOPT=no" + "-DLLVM_USE_LINKER=gold" ]; - # tests pass but take 30+ minutes - doCheck = false; + doCheck = runTests; meta = with lib; { homepage = "https://esa.github.io/pagmo2/"; description = "Scientific library for massively parallel optimization"; license = licenses.gpl3Plus; + platforms = platforms.unix; maintainers = [ maintainers.costrouc ]; }; } From 29608b72419d737edf8d45f1baa8c88c8757c8f5 Mon Sep 17 00:00:00 2001 From: Grace Dinh Date: Wed, 24 Aug 2022 20:54:35 -0700 Subject: [PATCH 2/2] openturns: init at 1.19 --- pkgs/development/libraries/dlib/default.nix | 2 +- .../libraries/openturns/default.nix | 80 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 + pkgs/top-level/python-packages.nix | 5 ++ 4 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/libraries/openturns/default.nix diff --git a/pkgs/development/libraries/dlib/default.nix b/pkgs/development/libraries/dlib/default.nix index 11a80987dcab..7245dbfe32f8 100644 --- a/pkgs/development/libraries/dlib/default.nix +++ b/pkgs/development/libraries/dlib/default.nix @@ -35,6 +35,6 @@ stdenv.mkDerivation rec { homepage = "http://www.dlib.net"; license = licenses.boost; maintainers = with maintainers; [ christopherpoole ma27 ]; - platforms = platforms.linux; + platforms = platforms.unix; }; } diff --git a/pkgs/development/libraries/openturns/default.nix b/pkgs/development/libraries/openturns/default.nix new file mode 100644 index 000000000000..d5988ace408a --- /dev/null +++ b/pkgs/development/libraries/openturns/default.nix @@ -0,0 +1,80 @@ +{ lib +, stdenv +, fetchFromGitHub +, 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.19"; + + src = fetchFromGitHub { + owner = "openturns"; + repo = "openturns"; + rev = "v${version}"; + sha256 = "sha256-hSvhKx7Ke5PXPYGcn9OJvq7YooAbHrbP6TdLZBotriE="; + }; + + 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; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7c60683d5eba..c5f2f358ef36 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -20762,6 +20762,10 @@ with pkgs; opensupaplex = callPackage ../games/opensupaplex { }; + openturns = callPackage ../development/libraries/openturns { + inherit (darwin.apple_sdk.frameworks) Accelerate; + }; + open-wbo = callPackage ../applications/science/logic/open-wbo {}; openwsman = callPackage ../development/libraries/openwsman {}; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e9c527bf12f2..bdb7da734d64 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6351,6 +6351,11 @@ in { opentimestamps = callPackage ../development/python-modules/opentimestamps { }; + openturns = toPythonModule (pkgs.openturns.override { + python3Packages = self; + enablePython = true; + }); + opentracing = callPackage ../development/python-modules/opentracing { }; openvino = toPythonModule (pkgs.openvino.override {