Files
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

82 lines
1.6 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
meson,
ninja,
cmake,
pkg-config,
liblxi,
readline,
lua,
bash-completion,
wrapGAppsHook4,
glib,
gtk4,
gtksourceview5,
libadwaita,
json-glib,
desktop-file-utils,
appstream-glib,
gsettings-desktop-schemas,
withGui ? false,
}:
stdenv.mkDerivation rec {
pname = "lxi-tools";
version = "2.8";
src = fetchFromGitHub {
owner = "lxi-tools";
repo = "lxi-tools";
rev = "v${version}";
sha256 = "sha256-lmWZpKI3TXwF76LDFfZcOGUtPeBmBu+0Lu/3eCMMb3Y=";
};
nativeBuildInputs = [
meson
ninja
cmake
pkg-config
]
++ lib.optional withGui wrapGAppsHook4;
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";
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;
platforms = platforms.unix;
maintainers = [ maintainers.vq ];
mainProgram = "lxi";
};
}