{ lib
, mkDerivation
, cmake
, extra-cmake-modules
, applet-window-buttons
, karchive
, kcoreaddons
, ki18n
, kio
, kirigami2
, mauikit
, mauikit-accounts
, mauikit-filebrowsing
, mauikit-texteditor
, qtmultimedia
, qtquickcontrols2
, kpeople
, kcontacts
}:

mkDerivation {
  pname = "communicator";

  nativeBuildInputs = [
    cmake
    extra-cmake-modules
  ];

  postPatch = ''
    substituteInPlace CMakeLists.txt \
      --replace "/usr/share/maui-accounts/manifests" "$out/usr/share/maui-accounts/manifests"
  '';

  buildInputs = [
    applet-window-buttons
    karchive
    kcoreaddons
    ki18n
    kio
    kirigami2
    mauikit
    mauikit-accounts
    mauikit-filebrowsing
    mauikit-texteditor
    qtmultimedia
    qtquickcontrols2
    kpeople
    kcontacts
  ];

  meta = with lib; {
    description = "Contacts and dialer application";
    mainProgram = "communicator";
    homepage = "https://invent.kde.org/maui/communicator";
    license = licenses.gpl3Plus;
    maintainers = with maintainers; [ onny ];
  };
}