Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / development / libraries / sdbus-cpp / default.nix
blob4d820c0e36dc19fe0dd714e00de0eba363ede963
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , cmake
5 , expat
6 , pkg-config
7 , systemd
8 }:
10 stdenv.mkDerivation rec {
11   pname = "sdbus-cpp";
12   version = "1.4.0";
14   src = fetchFromGitHub {
15     owner = "kistler-group";
16     repo = "sdbus-cpp";
17     rev = "v${version}";
18     hash = "sha256-AOqwC7CABvQsG9P1PnUg2DIhNmHqYpgbKzm9C2gWNIQ=";
19   };
21   nativeBuildInputs = [
22     cmake
23     pkg-config
24   ];
26   buildInputs = [
27     expat
28     systemd
29   ];
31   cmakeFlags = [
32     "-DBUILD_CODE_GEN=ON"
33   ];
35   meta = {
36     homepage = "https://github.com/Kistler-Group/sdbus-cpp";
37     changelog = "https://github.com/Kistler-Group/sdbus-cpp/blob/v${version}/ChangeLog";
38     description = "High-level C++ D-Bus library designed to provide easy-to-use yet powerful API";
39     longDescription = ''
40       sdbus-c++ is a high-level C++ D-Bus library for Linux designed to provide
41       expressive, easy-to-use API in modern C++.
42       It adds another layer of abstraction on top of sd-bus, a nice, fresh C
43       D-Bus implementation by systemd.
44       It's been written primarily as a replacement of dbus-c++, which currently
45       suffers from a number of (unresolved) bugs, concurrency issues and
46       inherent design complexities and limitations.
47     '';
48     license = lib.licenses.lgpl2Only;
49     maintainers = [ lib.maintainers.ivar ];
50     platforms = lib.platforms.linux;
51     mainProgram = "sdbus-c++-xml2cpp";
52   };