Skip to content

Commit 14d1945

Browse files
authored
Merge pull request #35 from nim65s/eigen_5
Nix: Eigen 5
2 parents 8db1404 + 06e1330 commit 14d1945

File tree

3 files changed

+69
-29
lines changed

3 files changed

+69
-29
lines changed

.github/workflows/nix.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,15 @@ jobs:
1414
strategy:
1515
matrix:
1616
os: [ubuntu, macos]
17+
eigen: ["", "-eigen_5"]
1718
steps:
1819
- uses: actions/checkout@v6
1920
- uses: cachix/install-nix-action@v31
2021
- uses: cachix/cachix-action@v16
2122
with:
2223
name: gepetto
2324
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
24-
- run: nix build -L
25+
- run: nix build -L ".#nanoeigenpy${{ matrix.eigen }}"
2526

2627
check:
2728
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: 58 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,65 @@
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-
packages = {
17-
default = self'.packages.nanoeigenpy;
18-
nanoeigenpy = pkgs.python3Packages.nanoeigenpy.overrideAttrs (_: {
19-
src = pkgs.lib.fileset.toSource {
20-
root = ./.;
21-
fileset = pkgs.lib.fileset.unions [
22-
./CMakeLists.txt
23-
./include
24-
./package.xml
25-
./src
26-
./tests
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+
nanoeigenpy = python-prev.nanoeigenpy.overrideAttrs {
20+
src = lib.fileset.toSource {
21+
root = ./.;
22+
fileset = lib.fileset.unions [
23+
./CMakeLists.txt
24+
./include
25+
./package.xml
26+
./src
27+
./tests
28+
];
29+
};
30+
};
31+
})
32+
];
33+
};
34+
eigen_5 = final: _prev: {
35+
eigen = final.eigen_5;
36+
};
37+
};
38+
perSystem =
39+
{
40+
pkgs,
41+
pkgs-eigen_5,
42+
self',
43+
system,
44+
...
45+
}:
46+
{
47+
_module.args = {
48+
pkgs = import inputs.nixpkgs {
49+
inherit system;
50+
overlays = [ self.overlays.default ];
51+
};
52+
pkgs-eigen_5 = import inputs.nixpkgs {
53+
inherit system;
54+
overlays = [
55+
self.overlays.eigen_5
56+
self.overlays.default
2757
];
2858
};
29-
});
59+
};
60+
apps.default = {
61+
type = "app";
62+
program = pkgs.python3.withPackages (_: [ self'.packages.default ]);
63+
};
64+
packages = {
65+
default = self'.packages.nanoeigenpy;
66+
nanoeigenpy = pkgs.python3Packages.nanoeigenpy;
67+
nanoeigenpy-eigen_5 = pkgs-eigen_5.python3Packages.nanoeigenpy;
68+
};
3069
};
31-
};
32-
};
70+
}
71+
);
3372
}

0 commit comments

Comments
 (0)