chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / by-name / pr / proxsuite-nlp / package.nix
blob194ff2fe967d80d95849c7a1976f90c135902a29
2   cmake,
3   doxygen,
4   eigenrand,
5   example-robot-data,
6   fetchFromGitHub,
7   fetchpatch,
8   fmt,
9   fontconfig,
10   graphviz,
11   lib,
12   stdenv,
13   pinocchio,
14   pkg-config,
15   proxsuite,
16   python3Packages,
17   pythonSupport ? false,
20 stdenv.mkDerivation (finalAttrs: {
21   pname = "proxsuite-nlp";
22   version = "0.8.0";
24   src = fetchFromGitHub {
25     owner = "Simple-Robotics";
26     repo = "proxsuite-nlp";
27     rev = "v${finalAttrs.version}";
28     hash = "sha256-Dy8+pPTv/B6vVdpGndVOV16WSLiENJfaIrn1+FYwcI0=";
29   };
31   outputs = [
32     "out"
33     "doc"
34   ];
36   patches = [
37     # Fix use of system jrl-cmakemodules
38     # This patch was merged upstream and can be removed on next release
39     (fetchpatch {
40       url = "https://github.com/Simple-Robotics/proxsuite-nlp/pull/109/commits/9bf741ce6010052a773071472891f42adc6cbbea.patch";
41       hash = "sha256-sluMVrTw7EXLFa0dqkoZTkpGjKe7zODqIqbJxCdfSwY=";
42     })
43   ];
45   nativeBuildInputs = [
46     cmake
47     doxygen
48     graphviz
49     pkg-config
50   ] ++ lib.optional pythonSupport python3Packages.pythonImportsCheckHook;
51   checkInputs = [ eigenrand ] ++ lib.optional pythonSupport python3Packages.pytest;
52   propagatedBuildInputs =
53     [
54       example-robot-data
55       fmt
56     ]
57     ++ lib.optionals pythonSupport [
58       python3Packages.pinocchio
59       python3Packages.proxsuite
60     ]
61     ++ lib.optionals (!pythonSupport) [
62       pinocchio
63       proxsuite
64     ];
66   cmakeFlags = [
67     (lib.cmakeBool "BUILD_PYTHON_INTERFACE" pythonSupport)
68     (lib.cmakeBool "BUILD_WITH_PINOCCHIO_SUPPORT" true)
69     (lib.cmakeBool "BUILD_WITH_PROXSUITE_SUPPORT" true)
70   ];
72   # Fontconfig error: Cannot load default config file: No such file: (null)
73   env.FONTCONFIG_FILE = "${fontconfig.out}/etc/fonts/fonts.conf";
75   # Fontconfig error: No writable cache directories
76   preBuild = "export XDG_CACHE_HOME=$(mktemp -d)";
78   doCheck = true;
79   pythonImportsCheck = [ "proxsuite_nlp" ];
81   meta = {
82     description = "Primal-dual augmented Lagrangian solver for nonlinear programming on manifolds";
83     homepage = "https://github.com/Simple-Robotics/proxsuite-nlp";
84     changelog = "https://github.com/Simple-Robotics/proxsuite-nlp/blob/v${finalAttrs.version}/CHANGELOG.md";
85     license = lib.licenses.bsd2;
86     maintainers = with lib.maintainers; [ nim65s ];
87     platforms = lib.platforms.unix;
88   };