nixpkgs/pkgs/development/libraries/libyang/default.nix

62 lines
1.3 KiB
Nix
Raw Normal View History

2021-06-08 22:32:14 +03:00
{ stdenv
, lib
, fetchFromGitHub
2021-12-22 21:31:51 +03:00
# build time
2021-06-08 22:32:14 +03:00
, cmake
, pkg-config
2021-12-22 21:31:51 +03:00
# run time
, pcre2
# update script
2021-06-08 22:32:14 +03:00
, genericUpdater
, common-updater-scripts
}:
stdenv.mkDerivation rec {
pname = "libyang";
2021-12-22 21:31:51 +03:00
version = "2.0.112";
2021-06-08 22:32:14 +03:00
src = fetchFromGitHub {
owner = "CESNET";
repo = "libyang";
rev = "v${version}";
2021-12-22 21:31:51 +03:00
sha256 = "sha256-f8x0tC3XcQ9fnUE987GYw8qEo/B+J759vpCImqG3QWs=";
2021-06-08 22:32:14 +03:00
};
2021-12-22 21:31:51 +03:00
nativeBuildInputs = [
cmake
pkg-config
];
buildInputs = [
pcre2
];
cmakeFlags = [
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DCMAKE_INSTALL_INCLUDEDIR=include"
"-DCMAKE_BUILD_TYPE:String=Release"
];
2021-06-08 22:32:14 +03:00
passthru.updateScript = genericUpdater {
inherit pname version;
versionLister = "${common-updater-scripts}/bin/list-git-tags ${src.meta.homepage}";
rev-prefix = "v";
};
meta = with lib; {
description = "YANG data modelling language parser and toolkit";
longDescription = ''
libyang is a YANG data modelling language parser and toolkit written (and
providing API) in C. The library is used e.g. in libnetconf2, Netopeer2,
sysrepo or FRRouting projects.
'';
homepage = "https://github.com/CESNET/libyang";
license = with licenses; [ bsd3 ];
platforms = platforms.unix;
maintainers = with maintainers; [ woffs ];
};
}