about summary refs log tree commit diff
diff options
context:
space:
mode:
authorNikolay Korotkiy <sikmir@disroot.org>2024-03-23 17:26:12 +0400
committerGitHub <noreply@github.com>2024-03-23 17:26:12 +0400
commitfb0e9b4183eb45f65d3ed14ba5d82b2b24daaadf (patch)
treed682636053bfe5b487e5fb0d33fa3d86cf425064
parentb28819dd201630b1ccfff7bb7b07bba6746de0c8 (diff)
parent4eea91bac0d43f5ca11916b46f78c46e50fc32ac (diff)
downloadnixlib-fb0e9b4183eb45f65d3ed14ba5d82b2b24daaadf.tar
nixlib-fb0e9b4183eb45f65d3ed14ba5d82b2b24daaadf.tar.gz
nixlib-fb0e9b4183eb45f65d3ed14ba5d82b2b24daaadf.tar.bz2
nixlib-fb0e9b4183eb45f65d3ed14ba5d82b2b24daaadf.tar.lz
nixlib-fb0e9b4183eb45f65d3ed14ba5d82b2b24daaadf.tar.xz
nixlib-fb0e9b4183eb45f65d3ed14ba5d82b2b24daaadf.tar.zst
nixlib-fb0e9b4183eb45f65d3ed14ba5d82b2b24daaadf.zip
Merge pull request #298088 from jonboh/opcua-commander
opcua-commander: init at 0.37.0
-rw-r--r--maintainers/maintainer-list.nix6
-rw-r--r--pkgs/by-name/op/opcua-commander/package.nix44
2 files changed, 50 insertions, 0 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 307c33318bc9..fdf3e6057106 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -9524,6 +9524,12 @@
     githubId = 1843676;
     name = "Jonathan Reeve";
   };
+  jonboh = {
+    email = "jon.bosque.hernando@gmail.com";
+    github = "jonboh";
+    githubId = 31407988;
+    name = "Jon Bosque";
+  };
   jonnybolton = {
     email = "jonnybolton@gmail.com";
     github = "jonnynightingale";
diff --git a/pkgs/by-name/op/opcua-commander/package.nix b/pkgs/by-name/op/opcua-commander/package.nix
new file mode 100644
index 000000000000..aecae5070ed8
--- /dev/null
+++ b/pkgs/by-name/op/opcua-commander/package.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildNpmPackage
+, fetchFromGitHub
+, typescript
+, esbuild
+, makeWrapper
+, nodejs
+}:
+buildNpmPackage rec {
+  pname = "opcua-commander";
+  version = "0.37.0";
+
+  src = fetchFromGitHub {
+    owner = "node-opcua";
+    repo = "opcua-commander";
+    rev = version;
+    hash = "sha256-wQXSSNinY85Ti+D/zklYP2N8IP3OsN9xQNJuuQr4kVU=";
+  };
+
+  npmDepsHash = "sha256-Ux1X/3sam9WHrTfqoWv1r9p3pJOs6BaeFsxHizAvjXA=";
+  nativeBuildInputs = [ esbuild typescript makeWrapper ];
+
+  postPatch = ''
+    substituteInPlace package.json \
+      --replace-warn "npx -y esbuild" "esbuild"
+  '';
+
+  # We need to add `nodejs` to PATH for `opcua-commander` to properly work
+  # when connected to an OPC-UA server.
+  # Test it with:
+  # ./opcua-commander -e opc.tcp://opcuademo.sterfive.com:26543
+  postFixup = ''
+    wrapProgram $out/bin/opcua-commander \
+      --prefix PATH : "${lib.makeBinPath [nodejs]}"
+  '';
+
+  meta = with lib; {
+    description = "A opcua client with blessed (ncurses)";
+    homepage = "https://github.com/node-opcua/opcua-commander";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonboh ];
+    mainProgram = "opcua-commander";
+  };
+}