diff --git a/pkgs/os-specific/linux/dbus-broker/default.nix b/pkgs/os-specific/linux/dbus-broker/default.nix new file mode 100644 index 000000000000..e55529608514 --- /dev/null +++ b/pkgs/os-specific/linux/dbus-broker/default.nix @@ -0,0 +1,48 @@ +{ stdenv, fetchgit, fetchFromGitHub, meson, ninja, pkgconfig +, dbus, glib, systemd }: + +stdenv.mkDerivation rec { + name = "dbus-broker-${version}"; + version = "3"; + + src = fetchFromGitHub { + owner = "bus1"; + repo = "dbus-broker"; + rev = "v${version}"; + sha256 = "1f2vw5b2cbdgd3g7vnzwr9lsw9v4xc5nc0nf9xc3qb5xqzsq7v7i"; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ meson ninja pkgconfig ]; + buildInputs = [ dbus glib systemd ]; + + prePatch = '' + substituteInPlace meson.build \ + --replace "dep_systemd.get_pkgconfig_variable('systemdsystemunitdir')" "'$out/lib/systemd/system'" \ + --replace "dep_systemd.get_pkgconfig_variable('systemduserunitdir')" "'$out/lib/systemd/user'" + ''; + + preConfigure = '' + mkdir build + meson --prefix "$out" --buildtype=release build/ + ''; + + buildPhase = "ninja -C build"; + + installPhase = '' + ninja -C build install + install -Dm644 README $out/share/doc/dbus-broker/README + ''; + + checkPhase = "ninja -C build test"; + + doCheck = true; + + meta = with stdenv.lib; { + description = "Linux D-Bus Message Broker"; + homepage = https://github.com/bus1/dbus-broker/wiki; + license = licenses.apache2; + platforms = platforms.linux; + maintainers = with maintainers; [ peterhoeg ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e8461b882995..37c7281b42a7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -926,6 +926,8 @@ with pkgs; devmem2 = callPackage ../os-specific/linux/devmem2 { }; + dbus-broker = callPackage ../os-specific/linux/dbus-broker {}; + ioport = callPackage ../os-specific/linux/ioport {}; diagrams-builder = callPackage ../tools/graphics/diagrams-builder {