commit facbf27cf3f17e17f29592b2d3f3a0690776f670
parent 47ebb891b4ee445dd51b031c5968921ae2adfa3d
Author: Nikolay Korotkiy <sikmir@disroot.org>
Date: Fri, 20 Feb 2026 19:50:44 +0400
Add iec104_client_control
Diffstat:
1 file changed, 44 insertions(+), 0 deletions(-)
diff --git a/pkgs/by-name/ie/iec104_client_control/package.nix b/pkgs/by-name/ie/iec104_client_control/package.nix
@@ -0,0 +1,44 @@
+{
+ lib,
+ stdenv,
+ fetchFromGitHub,
+ cmake,
+ lib60870,
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+ pname = "iec104_client_control";
+ version = "1.0.1";
+
+ src = fetchFromGitHub {
+ owner = "PVKonovalov";
+ repo = "iec104_client_control";
+ tag = "v${finalAttrs.version}";
+ hash = "sha256-RrQtDehRxQFNbXelIE2KwLH6iMj29CuMmnEjjgHX+hM=";
+ };
+
+ postPatch = ''
+ sed -i '/LIB_60870/d' CMakeLists.txt
+ sed -i '27i #include <chrono>' main.cpp
+ '';
+
+ nativeBuildInputs = [ cmake ];
+
+ buildInputs = [ lib60870 ];
+
+ env.NIX_CFLAGS_COMPILE = "-I${lib.getDev lib60870}/include/lib60870";
+
+ installPhase = ''
+ runHook preInstall
+ install -Dm755 iec104_client_control -t $out/bin
+ runHook postInstall
+ '';
+
+ meta = {
+ description = "IEC-60870-5-104 Client Control Program";
+ homepage = "https://github.com/PVKonovalov/iec104_client_control";
+ license = lib.licenses.mit;
+ maintainers = [ lib.maintainers.sikmir ];
+ mainProgram = "iec104_client_control";
+ };
+})