python312Packages.types-aiobotocore: 2.15.2 -> 2.15.2.post3 (#361801)
[NixPkgs.git] / pkgs / by-name / pr / proxsuite-nlp / package.nix
blobf522a4c9618aaaf943988f70c35cf40f812d64cb
2   cmake,
3   doxygen,
4   eigenrand,
5   example-robot-data,
6   fetchFromGitHub,
7   fmt,
8   fontconfig,
9   graphviz,
10   lib,
11   stdenv,
12   pinocchio,
13   pkg-config,
14   proxsuite,
15   python3Packages,
16   pythonSupport ? false,
19 stdenv.mkDerivation (finalAttrs: {
20   pname = "proxsuite-nlp";
21   version = "0.10.0";
23   src = fetchFromGitHub {
24     owner = "Simple-Robotics";
25     repo = "proxsuite-nlp";
26     rev = "v${finalAttrs.version}";
27     hash = "sha256-JWMvPIxmZ5vSVS3nSlhFyNu8hLSVTc7Hdvd4YmE/pI8=";
28   };
30   outputs = [
31     "out"
32     "doc"
33   ];
35   nativeBuildInputs = [
36     cmake
37     doxygen
38     graphviz
39     pkg-config
40   ] ++ lib.optional pythonSupport python3Packages.pythonImportsCheckHook;
41   checkInputs = [ eigenrand ] ++ lib.optional pythonSupport python3Packages.pytest;
42   propagatedBuildInputs =
43     [
44       example-robot-data
45       fmt
46     ]
47     ++ lib.optionals pythonSupport [
48       python3Packages.pinocchio
49       python3Packages.proxsuite
50     ]
51     ++ lib.optionals (!pythonSupport) [
52       pinocchio
53       proxsuite
54     ];
56   cmakeFlags = [
57     (lib.cmakeBool "BUILD_PYTHON_INTERFACE" pythonSupport)
58     (lib.cmakeBool "BUILD_WITH_PINOCCHIO_SUPPORT" true)
59     (lib.cmakeBool "BUILD_WITH_PROXSUITE_SUPPORT" true)
60   ];
62   # Fontconfig error: Cannot load default config file: No such file: (null)
63   env.FONTCONFIG_FILE = "${fontconfig.out}/etc/fonts/fonts.conf";
65   # Fontconfig error: No writable cache directories
66   preBuild = "export XDG_CACHE_HOME=$(mktemp -d)";
68   doCheck = true;
69   pythonImportsCheck = [ "proxsuite_nlp" ];
71   meta = {
72     description = "Primal-dual augmented Lagrangian solver for nonlinear programming on manifolds";
73     homepage = "https://github.com/Simple-Robotics/proxsuite-nlp";
74     changelog = "https://github.com/Simple-Robotics/proxsuite-nlp/blob/v${finalAttrs.version}/CHANGELOG.md";
75     license = lib.licenses.bsd2;
76     maintainers = with lib.maintainers; [ nim65s ];
77     platforms = lib.platforms.unix;
78   };