1{ lib, stdenv, fetchFromGitHub
2, meson, ninja, pkg-config, cmake
3, libtirpc, rpcsvc-proto, avahi, libxml2
4}:
5
6stdenv.mkDerivation rec {
7 pname = "liblxi";
8 version = "1.20";
9
10 src = fetchFromGitHub {
11 owner = "lxi-tools";
12 repo = "liblxi";
13 rev = "v${version}";
14 hash = "sha256-jS0huNkbyKrsJ3NkenrYtjkzLakOsTJpwlgSo98ribE=";
15 };
16
17 nativeBuildInputs = [ meson ninja cmake pkg-config rpcsvc-proto ];
18
19 buildInputs = lib.optionals (!stdenv.isDarwin) [
20 libtirpc
21 avahi
22 ] ++ [
23 libxml2
24 ];
25
26 meta = with lib; {
27 description = "Library for communicating with LXI compatible instruments";
28 longDescription = ''
29 liblxi is an open source software library which offers a simple
30 API for communicating with LXI compatible instruments.
31 The API allows applications to easily discover instruments
32 on networks and communicate SCPI commands.
33 '';
34 homepage = "https://lxi-tools.github.io/";
35 license = licenses.bsd3;
36 platforms = platforms.unix;
37 maintainers = [ maintainers.vq ];
38 };
39}