about summary refs log tree commit diff
path: root/pkgs/tools/networking/lxi-tools/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/networking/lxi-tools/default.nix')
-rw-r--r--pkgs/tools/networking/lxi-tools/default.nix32
1 files changed, 26 insertions, 6 deletions
diff --git a/pkgs/tools/networking/lxi-tools/default.nix b/pkgs/tools/networking/lxi-tools/default.nix
index 92ef7f688a5a1..c71376a5021b9 100644
--- a/pkgs/tools/networking/lxi-tools/default.nix
+++ b/pkgs/tools/networking/lxi-tools/default.nix
@@ -1,22 +1,42 @@
 { lib, stdenv, fetchFromGitHub
-, autoreconfHook, pkg-config
-, liblxi, readline, lua
+, meson, ninja, cmake, pkg-config
+, liblxi, readline, lua, bash-completion
+, wrapGAppsHook
+, glib, gtk4, gtksourceview5, libadwaita, json-glib
+, desktop-file-utils, appstream-glib
+, gsettings-desktop-schemas
+, withGui ? false
 }:
 
 stdenv.mkDerivation rec {
   pname = "lxi-tools";
-  version = "1.21";
+  version = "2.3";
 
   src = fetchFromGitHub {
     owner = "lxi-tools";
     repo = "lxi-tools";
     rev = "v${version}";
-    sha256 = "0rkp6ywsw2zv7hpbr12kba79wkcwqin7xagxxhd968rbfkfdxlwc";
+    sha256 = "sha256-c53Jn/9xKsxQDsRWU2LKtNWs28AuG4t5OwYOAMxpcPA=";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config ];
+  nativeBuildInputs = [
+    meson ninja cmake pkg-config
+  ] ++ lib.optional withGui wrapGAppsHook;
 
-  buildInputs = [ liblxi readline lua ];
+  buildInputs = [
+    liblxi readline lua bash-completion
+  ] ++ lib.optionals withGui [
+    glib gtk4 gtksourceview5 libadwaita json-glib
+    desktop-file-utils appstream-glib
+    gsettings-desktop-schemas
+  ];
+
+  postUnpack = "sed -i '/meson.add_install.*$/d' source/meson.build";
+
+  mesonFlags = lib.optional (!withGui) "-Dgui=false";
+
+  postInstall = lib.optionalString withGui
+    "glib-compile-schemas $out/share/glib-2.0/schemas";
 
   meta = with lib; {
     description = "Tool for communicating with LXI compatible instruments";