1 { lib, stdenv, fetchFromGitHub
2 , meson, ninja, cmake, pkg-config
3 , liblxi, readline, lua, bash-completion
5 , glib, gtk4, gtksourceview5, libadwaita, json-glib
6 , desktop-file-utils, appstream-glib
7 , gsettings-desktop-schemas
11 stdenv.mkDerivation rec {
15 src = fetchFromGitHub {
19 sha256 = "sha256-69B3wW4lg6GxSpEKhuFYKTuAyd+QYb4WNbNVdZnRUt8=";
23 meson ninja cmake pkg-config
24 ] ++ lib.optional withGui wrapGAppsHook4;
27 liblxi readline lua bash-completion
28 ] ++ lib.optionals withGui [
29 glib gtk4 gtksourceview5 libadwaita json-glib
30 desktop-file-utils appstream-glib
31 gsettings-desktop-schemas
34 postUnpack = "sed -i '/meson.add_install.*$/d' source/meson.build";
36 mesonFlags = lib.optional (!withGui) "-Dgui=false";
38 postInstall = lib.optionalString withGui
39 "glib-compile-schemas $out/share/glib-2.0/schemas";
42 description = "Tool for communicating with LXI compatible instruments";
44 lxi-tools is a collection of open source software tools
45 that enables control of LXI compatible instruments such
46 as modern oscilloscopes, power supplies,
47 spectrum analyzers etc.
49 homepage = "https://lxi-tools.github.io/";
50 license = licenses.bsd3;
51 platforms = platforms.unix;
52 maintainers = [ maintainers.vq ];