about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/sdbus-cpp
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/sdbus-cpp')
-rw-r--r--nixpkgs/pkgs/development/libraries/sdbus-cpp/default.nix53
1 files changed, 53 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/sdbus-cpp/default.nix b/nixpkgs/pkgs/development/libraries/sdbus-cpp/default.nix
new file mode 100644
index 000000000000..c7795c3c1c2c
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/sdbus-cpp/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, expat
+, pkg-config
+, systemd
+}:
+
+stdenv.mkDerivation rec {
+  pname = "sdbus-cpp";
+  version = "1.5.0";
+
+  src = fetchFromGitHub {
+    owner = "kistler-group";
+    repo = "sdbus-cpp";
+    rev = "v${version}";
+    hash = "sha256-oO8QNffwNI245AEPdutOGqxj4qyusZYK3bZWLh2Lcag=";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    expat
+    systemd
+  ];
+
+  cmakeFlags = [
+    "-DBUILD_CODE_GEN=ON"
+  ];
+
+  meta = {
+    homepage = "https://github.com/Kistler-Group/sdbus-cpp";
+    changelog = "https://github.com/Kistler-Group/sdbus-cpp/blob/v${version}/ChangeLog";
+    description = "High-level C++ D-Bus library designed to provide easy-to-use yet powerful API";
+    longDescription = ''
+      sdbus-c++ is a high-level C++ D-Bus library for Linux designed to provide
+      expressive, easy-to-use API in modern C++.
+      It adds another layer of abstraction on top of sd-bus, a nice, fresh C
+      D-Bus implementation by systemd.
+      It's been written primarily as a replacement of dbus-c++, which currently
+      suffers from a number of (unresolved) bugs, concurrency issues and
+      inherent design complexities and limitations.
+    '';
+    license = lib.licenses.lgpl2Only;
+    maintainers = [ lib.maintainers.ivar ];
+    platforms = lib.platforms.linux;
+    mainProgram = "sdbus-c++-xml2cpp";
+  };
+}