{
  lib,
  stdenv,
  fetchFromGitHub,
  meson,
  ninja,
  pkg-config,
  openssl,
  cmake,
  libusb1,
  libcap,
  libseccomp,
  glib,
  dbus,
  libfprint-tod,
  gusb,
  perl,
  wget,
  innoextract,
  fetchurl,
}:

stdenv.mkDerivation rec {
  pname = "syna-tudor";
  version = "unstable-2024-08-07";

  src = fetchFromGitHub {
    owner = "Popax21";
    repo = "synaTudor";
    rev = "5e4df4061ef1cc67b504085806db35932a642aca";
    hash = "sha256-YNcPJ+Zot5M9BmrNx/6lMYPAmUKQa6Y13IyZSGKh0hc=";
  };

  r19fp02w = fetchurl {
    url = "https://download.lenovo.com/pccbbs/mobiles/r19fp02w.exe";
    hash = "sha256-CfBurJRksBhsGxyN7Xlppik3Lh14nPxsi9d3xydbaY8=";
  };

  patches = [
    ./00-dont-use-network.patch
  ];

  nativeBuildInputs = [
    meson
    ninja
    pkg-config
    cmake
    ninja
    wget
    perl
    innoextract
  ];

  buildInputs = [
		openssl
    libusb1
    libcap
    libseccomp
    glib
    dbus
    libfprint-tod
    gusb
  ];

  meta = {
    description = "";
    homepage = "https://github.com/Popax21/synaTudor.git";
    license = lib.licenses.lgpl21Only;
    mainProgram = "syna-tudor";
    platforms = lib.platforms.all;
  };
}
