Skip to content

Commit 3d21c36

Browse files
committed
nix: add build with eigen 5, ref #426
1 parent 7b1e4b9 commit 3d21c36

File tree

3 files changed

+66
-27
lines changed

3 files changed

+66
-27
lines changed

.github/workflows/nix.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
with:
2222
name: gepetto
2323
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
24-
- run: nix build -L
24+
- run: nix build -L .#proxsuite .#proxsuite-eigen_5
2525

2626
check:
2727
if: always()

flake.lock

Lines changed: 9 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

flake.nix

Lines changed: 56 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -11,30 +11,69 @@
1111
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
1212
systems = inputs.nixpkgs.lib.systems.flakeExposed;
1313
perSystem =
14-
{ pkgs, self', ... }:
1514
{
15+
pkgs,
16+
pkgs-eigen_5,
17+
self',
18+
system,
19+
...
20+
}:
21+
{
22+
_module.args =
23+
let
24+
proxsuiteOverlay = final: prev: {
25+
proxsuite = prev.proxsuite.overrideAttrs {
26+
src = final.lib.fileset.toSource {
27+
root = ./.;
28+
fileset = final.lib.fileset.unions [
29+
./benchmark
30+
./bindings
31+
./cmake-external
32+
./CMakeLists.txt
33+
./doc
34+
./examples
35+
./include
36+
./package.xml
37+
./test
38+
];
39+
};
40+
postPatch = "";
41+
};
42+
};
43+
eigen5Overlay = final: prev: {
44+
eigen = prev.eigen.overrideAttrs (super: rec {
45+
version = "5.0.0";
46+
src = final.fetchFromGitLab {
47+
inherit (super.src) owner repo;
48+
tag = version;
49+
hash = "sha256-L1KUFZsaibC/FD6abTXrT3pvaFhbYnw+GaWsxM2gaxM=";
50+
};
51+
patches = [ ];
52+
postPatch = "";
53+
});
54+
};
55+
in
56+
{
57+
pkgs = import inputs.nixpkgs {
58+
inherit system;
59+
overlays = [ proxsuiteOverlay ];
60+
};
61+
pkgs-eigen_5 = import inputs.nixpkgs {
62+
inherit system;
63+
overlays = [
64+
eigen5Overlay
65+
proxsuiteOverlay
66+
];
67+
};
68+
};
1669
apps.default = {
1770
type = "app";
1871
program = pkgs.python3.withPackages (_: [ self'.packages.default ]);
1972
};
2073
packages = {
2174
default = self'.packages.proxsuite;
22-
proxsuite = pkgs.python3Packages.proxsuite.overrideAttrs {
23-
src = pkgs.lib.fileset.toSource {
24-
root = ./.;
25-
fileset = pkgs.lib.fileset.unions [
26-
./benchmark
27-
./bindings
28-
./cmake-external
29-
./CMakeLists.txt
30-
./doc
31-
./examples
32-
./include
33-
./package.xml
34-
./test
35-
];
36-
};
37-
};
75+
proxsuite = pkgs.python3Packages.proxsuite;
76+
proxsuite-eigen_5 = pkgs-eigen_5.python3Packages.proxsuite;
3877
};
3978
};
4079
};

0 commit comments

Comments
 (0)