Merge pull request #329823 from ExpidusOS/fix/pkgsllvm/elfutils
[NixPkgs.git] / pkgs / by-name / op / opcua-commander / package.nix
blob9cbf043832bd7b843de31bedcf02a9b0647ae94a
1 { lib
2 , buildNpmPackage
3 , fetchFromGitHub
4 , typescript
5 , esbuild
6 , makeWrapper
7 , nodejs
8 }:
9 buildNpmPackage rec {
10   pname = "opcua-commander";
11   version = "0.37.0";
13   src = fetchFromGitHub {
14     owner = "node-opcua";
15     repo = "opcua-commander";
16     rev = version;
17     hash = "sha256-wQXSSNinY85Ti+D/zklYP2N8IP3OsN9xQNJuuQr4kVU=";
18   };
20   npmDepsHash = "sha256-Ux1X/3sam9WHrTfqoWv1r9p3pJOs6BaeFsxHizAvjXA=";
21   nativeBuildInputs = [ esbuild typescript makeWrapper ];
23   postPatch = ''
24     substituteInPlace package.json \
25       --replace-warn "npx -y esbuild" "esbuild"
26   '';
28   # We need to add `nodejs` to PATH for `opcua-commander` to properly work
29   # when connected to an OPC-UA server.
30   # Test it with:
31   # ./opcua-commander -e opc.tcp://opcuademo.sterfive.com:26543
32   postFixup = ''
33     wrapProgram $out/bin/opcua-commander \
34       --prefix PATH : "${lib.makeBinPath [nodejs]}"
35   '';
37   meta = with lib; {
38     description = "Opcua client with blessed (ncurses)";
39     homepage = "https://github.com/node-opcua/opcua-commander";
40     license = licenses.mit;
41     maintainers = with maintainers; [ jonboh ];
42     mainProgram = "opcua-commander";
43   };