Skip to content

Commit 623f336

Browse files
authored
Merge pull request #614 from nim65s/eigen_5
flake: use eigen 5.0.1 from nixpkgs
2 parents 53d726d + d9cffcf commit 623f336

File tree

3 files changed

+62
-49
lines changed

3 files changed

+62
-49
lines changed

.github/workflows/nix.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@ jobs:
1616
fail-fast: false
1717
matrix:
1818
os: [ubuntu, macos]
19-
eigen: [3, 5]
19+
eigen: ["", "-eigen_5"]
2020
steps:
2121
- uses: actions/checkout@v6
2222
- uses: cachix/install-nix-action@v31
2323
- uses: cachix/cachix-action@v16
2424
with:
2525
name: gepetto
2626
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
27-
- run: nix build -L ".#eigenpy-eigen${{ matrix.eigen }}"
27+
- run: nix build -L ".#eigenpy${{ matrix.eigen }}"
2828

2929
check:
3030
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: 51 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -8,42 +8,18 @@
88

99
outputs =
1010
inputs:
11-
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
12-
systems = inputs.nixpkgs.lib.systems.flakeExposed;
13-
perSystem =
14-
{ pkgs, self', ... }:
15-
{
16-
apps.default = {
17-
type = "app";
18-
program = pkgs.python3.withPackages (_: [ self'.packages.default ]);
19-
};
20-
devShells.default = pkgs.mkShell { inputsFrom = [ self'.packages.default ]; };
21-
packages = {
22-
default = self'.packages.eigenpy-eigen5;
23-
eigen3 = pkgs.eigen.overrideAttrs (super: rec {
24-
version = "3.4.1";
25-
src = pkgs.fetchFromGitLab {
26-
inherit (super.src) owner repo;
27-
tag = version;
28-
hash = "sha256-NSq1tUfy2thz5gtsyASsKeYE4vMf71aSG4uXfrX86rk=";
29-
};
30-
patches = [ ];
31-
postPatch = "";
32-
});
33-
eigen5 = self'.packages.eigen3.overrideAttrs (super: rec {
34-
version = "5.0.0";
35-
src = pkgs.fetchFromGitLab {
36-
inherit (super.src) owner repo;
37-
tag = version;
38-
hash = "sha256-L1KUFZsaibC/FD6abTXrT3pvaFhbYnw+GaWsxM2gaxM=";
39-
};
40-
});
41-
eigenpy-eigen3 =
42-
(pkgs.python3Packages.eigenpy.override { eigen = self'.packages.eigen3; }).overrideAttrs
43-
(_: {
44-
src = pkgs.lib.fileset.toSource {
11+
inputs.flake-parts.lib.mkFlake { inherit inputs; } (
12+
{ self, lib, ... }:
13+
{
14+
systems = inputs.nixpkgs.lib.systems.flakeExposed;
15+
flake.overlays = {
16+
default = final: prev: {
17+
pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [
18+
(python-final: python-prev: {
19+
eigenpy = python-prev.eigenpy.overrideAttrs {
20+
src = lib.fileset.toSource {
4521
root = ./.;
46-
fileset = pkgs.lib.fileset.unions [
22+
fileset = lib.fileset.unions [
4723
./CMakeLists.txt
4824
./doc
4925
./include
@@ -53,9 +29,46 @@
5329
./unittest
5430
];
5531
};
56-
});
57-
eigenpy-eigen5 = self'.packages.eigenpy-eigen3.override { eigen = self'.packages.eigen5; };
32+
};
33+
})
34+
];
35+
};
36+
eigen_5 = final: _prev: {
37+
eigen = final.eigen_5;
5838
};
5939
};
60-
};
40+
perSystem =
41+
{
42+
pkgs,
43+
pkgs-eigen_5,
44+
self',
45+
system,
46+
...
47+
}:
48+
{
49+
_module.args = {
50+
pkgs = import inputs.nixpkgs {
51+
inherit system;
52+
overlays = [ self.overlays.default ];
53+
};
54+
pkgs-eigen_5 = import inputs.nixpkgs {
55+
inherit system;
56+
overlays = [
57+
self.overlays.eigen_5
58+
self.overlays.default
59+
];
60+
};
61+
};
62+
apps.default = {
63+
type = "app";
64+
program = pkgs.python3.withPackages (_: [ self'.packages.default ]);
65+
};
66+
packages = {
67+
default = self'.packages.eigenpy;
68+
eigenpy = pkgs.python3Packages.eigenpy;
69+
eigenpy-eigen_5 = pkgs-eigen_5.python3Packages.eigenpy;
70+
};
71+
};
72+
}
73+
);
6174
}

0 commit comments

Comments
 (0)