Skip to content

Commit e08c704

Browse files
committed
nix: patch eigen
Nixpkgs uses eigen v3.4.0-unstable-2022-04-19, aka https://gitlab.com/libeigen/eigen/-/merge_requests/974, because that is required by onnxruntime. Ref. NixOS/nixpkgs#364362 But that fix actually break other things, which are then fixed in https://gitlab.com/libeigen/eigen/-/merge_requests/977 So we need to apply that here, and hope for the next eigen version
1 parent 4dbdc9b commit e08c704

File tree

1 file changed

+23
-14
lines changed

1 file changed

+23
-14
lines changed

flake.nix

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,29 @@
2020
devShells.default = pkgs.mkShell { inputsFrom = [ self'.packages.default ]; };
2121
packages = {
2222
default = self'.packages.eigenpy;
23-
eigenpy = pkgs.python3Packages.eigenpy.overrideAttrs (_: {
24-
src = pkgs.lib.fileset.toSource {
25-
root = ./.;
26-
fileset = pkgs.lib.fileset.unions [
27-
./CMakeLists.txt
28-
./doc
29-
./include
30-
./package.xml
31-
./python
32-
./src
33-
./unittest
34-
];
35-
};
36-
});
23+
eigen = pkgs.eigen.overrideAttrs {
24+
# Apply https://gitlab.com/libeigen/eigen/-/merge_requests/977
25+
postPatch = ''
26+
substituteInPlace Eigen/src/SVD/BDCSVD.h \
27+
--replace-fail "if (l == 0) {" "if (i >= k && l == 0) {"
28+
'';
29+
};
30+
eigenpy =
31+
(pkgs.python3Packages.eigenpy.override { inherit (self'.packages) eigen; }).overrideAttrs
32+
(_: {
33+
src = pkgs.lib.fileset.toSource {
34+
root = ./.;
35+
fileset = pkgs.lib.fileset.unions [
36+
./CMakeLists.txt
37+
./doc
38+
./include
39+
./package.xml
40+
./python
41+
./src
42+
./unittest
43+
];
44+
};
45+
});
3746
};
3847
};
3948
};

0 commit comments

Comments
 (0)