nixpkgs/pkgs/tools/networking/lxi-tools/default.nix

55 lines
1.5 KiB
Nix
Raw Normal View History

2021-01-24 01:40:18 +01:00
{ lib, stdenv, fetchFromGitHub
2022-11-19 20:09:28 +01:00
, 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
2022-11-19 20:22:09 +01:00
, withGui ? false
}:
stdenv.mkDerivation rec {
pname = "lxi-tools";
2023-08-30 01:30:28 +02:00
version = "2.7";
src = fetchFromGitHub {
owner = "lxi-tools";
repo = "lxi-tools";
rev = "v${version}";
2023-08-30 01:30:28 +02:00
sha256 = "sha256-69B3wW4lg6GxSpEKhuFYKTuAyd+QYb4WNbNVdZnRUt8=";
};
2022-11-19 20:09:28 +01:00
nativeBuildInputs = [
meson ninja cmake pkg-config
2022-11-19 20:22:09 +01:00
] ++ lib.optional withGui wrapGAppsHook;
2022-11-19 20:09:28 +01:00
buildInputs = [
liblxi readline lua bash-completion
2022-11-19 20:22:09 +01:00
] ++ lib.optionals withGui [
2022-11-19 20:09:28 +01:00
glib gtk4 gtksourceview5 libadwaita json-glib
desktop-file-utils appstream-glib
gsettings-desktop-schemas
];
postUnpack = "sed -i '/meson.add_install.*$/d' source/meson.build";
2022-11-19 20:22:09 +01:00
mesonFlags = lib.optional (!withGui) "-Dgui=false";
postInstall = lib.optionalString withGui
"glib-compile-schemas $out/share/glib-2.0/schemas";
2021-01-24 01:40:18 +01:00
meta = with lib; {
description = "Tool for communicating with LXI compatible instruments";
longDescription = ''
lxi-tools is a collection of open source software tools
that enables control of LXI compatible instruments such
as modern oscilloscopes, power supplies,
spectrum analyzers etc.
'';
homepage = "https://lxi-tools.github.io/";
license = licenses.bsd3;
2023-05-24 22:13:04 +02:00
platforms = platforms.unix;
maintainers = [ maintainers.vq ];
};
}