Skip to content

Commit 864f8b5

Browse files
pjungkampstv0g
authored andcommitted
nix: Move library patches overlay to different file
Signed-off-by: Philipp Jungkamp <philipp.jungkamp@rwth-aachen.de>
1 parent d24d159 commit 864f8b5

File tree

2 files changed

+34
-19
lines changed

2 files changed

+34
-19
lines changed

flake.nix

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,10 @@
4040
system:
4141
import nixpkgs {
4242
inherit system;
43-
overlays = with self.overlays; [ default ];
43+
overlays = with self.overlays; [
44+
default
45+
patches
46+
];
4447
};
4548

4649
# Initialize development nixpkgs for the specified `system`
@@ -50,6 +53,7 @@
5053
inherit system;
5154
overlays = with self.overlays; [
5255
default
56+
patches
5357
debug
5458
];
5559
};
@@ -110,24 +114,9 @@
110114

111115
# Standard flake attribute allowing you to add the villas packages to your nixpkgs
112116
overlays = {
113-
default = final: prev: (packagesWith final) // {
114-
libiec61850 = prev.libiec61850.overrideAttrs {
115-
patches = [ ./packaging/nix/libiec61850_debug_r_session.patch ];
116-
cmakeFlags = (prev.cmakeFlags or []) ++ [
117-
"-DCONFIG_USE_EXTERNAL_MBEDTLS_DYNLIB=ON"
118-
"-DCONFIG_EXTERNAL_MBEDTLS_DYNLIB_PATH=${final.mbedtls}/lib"
119-
"-DCONFIG_EXTERNAL_MBEDTLS_INCLUDE_PATH=${final.mbedtls}/include"
120-
];
121-
nativeBuildInputs = (prev.nativeBuildInputs or []) ++ [ final.buildPackages.cmake ];
122-
buildInputs = [ final.mbedtls ];
123-
separateDebugInfo = true;
124-
};
117+
default = final: prev: packagesWith final;
125118

126-
lib60870 = prev.lib60870.overrideAttrs {
127-
buildInputs = [ final.mbedtls ];
128-
cmakeFlags = [ (lib.cmakeBool "WITH_MBEDTLS3" true) ];
129-
};
130-
};
119+
patches = import ./packaging/nix/patches.nix;
131120

132121
debug = final: prev: {
133122
jansson = addSeparateDebugInfo prev.jansson;
@@ -212,7 +201,7 @@
212201

213202
villas = {
214203
imports = [ (nixDir + "/module.nix") ];
215-
nixpkgs.overlays = [ self.overlays.default ];
204+
nixpkgs.overlays = [ self.overlays.default self.overlays.patches ];
216205
};
217206
};
218207
};

packaging/nix/patches.nix

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# SPDX-FileCopyrightText: 2025 Institute for Automation of Complex Power Systems, RWTH Aachen University#
2+
# SPDX-License-Identifier: Apache-2.0
3+
#
4+
# This overlay contains patches to dependencies of villas-node.
5+
# It is only guaranteed to work for the locked version of nixpkgs,
6+
# future updates to upstream nixpkgs may make these obsolete.
7+
final: prev: let
8+
inherit (final) lib;
9+
in {
10+
libiec61850 = prev.libiec61850.overrideAttrs {
11+
patches = [ ./libiec61850_debug_r_session.patch ];
12+
cmakeFlags = (prev.cmakeFlags or []) ++ [
13+
"-DCONFIG_USE_EXTERNAL_MBEDTLS_DYNLIB=ON"
14+
"-DCONFIG_EXTERNAL_MBEDTLS_DYNLIB_PATH=${final.mbedtls}/lib"
15+
"-DCONFIG_EXTERNAL_MBEDTLS_INCLUDE_PATH=${final.mbedtls}/include"
16+
];
17+
nativeBuildInputs = (prev.nativeBuildInputs or []) ++ [ final.buildPackages.cmake ];
18+
buildInputs = [ final.mbedtls ];
19+
separateDebugInfo = true;
20+
};
21+
22+
lib60870 = prev.lib60870.overrideAttrs {
23+
buildInputs = [ final.mbedtls ];
24+
cmakeFlags = [ (lib.cmakeBool "WITH_MBEDTLS3" true) ];
25+
};
26+
}

0 commit comments

Comments
 (0)