package.nix (997B)
1 { 2 lib, 3 stdenv, 4 fetchFromGitHub, 5 cmake, 6 lib60870, 7 }: 8 9 stdenv.mkDerivation (finalAttrs: { 10 pname = "iec104_client_control"; 11 version = "1.0.1"; 12 13 src = fetchFromGitHub { 14 owner = "PVKonovalov"; 15 repo = "iec104_client_control"; 16 tag = "v${finalAttrs.version}"; 17 hash = "sha256-RrQtDehRxQFNbXelIE2KwLH6iMj29CuMmnEjjgHX+hM="; 18 }; 19 20 postPatch = '' 21 sed -i '/LIB_60870/d' CMakeLists.txt 22 sed -i '27i #include <chrono>' main.cpp 23 ''; 24 25 nativeBuildInputs = [ cmake ]; 26 27 buildInputs = [ lib60870 ]; 28 29 env.NIX_CFLAGS_COMPILE = "-I${lib.getDev lib60870}/include/lib60870"; 30 31 installPhase = '' 32 runHook preInstall 33 install -Dm755 iec104_client_control -t $out/bin 34 runHook postInstall 35 ''; 36 37 meta = { 38 description = "IEC-60870-5-104 Client Control Program"; 39 homepage = "https://github.com/PVKonovalov/iec104_client_control"; 40 license = lib.licenses.mit; 41 maintainers = [ lib.maintainers.sikmir ]; 42 mainProgram = "iec104_client_control"; 43 }; 44 })
