17 stdenv.mkDerivation rec {
21 src = fetchFromGitHub {
22 owner = "linux-surface";
24 rev = "refs/tags/v${version}";
25 hash = "sha256-3z3A9qywmsSW1tlJ6LePC5wudM/FITTAFyuPkbHlid0=";
35 dontUseCmakeConfigure = true;
47 # Original installs udev rules and service config into global paths
49 substituteInPlace etc/meson.build \
50 --replace-fail "install_dir: unitdir" "install_dir: '$out/etc/systemd/system'" \
51 --replace-fail "install_dir: rulesdir" "install_dir: '$out/etc/udev/rules.d'"
52 substituteInPlace etc/scripts/iptsd-find-service \
53 --replace-fail "systemd-escape" "${lib.getExe' systemd "systemd-escape"}"
54 substituteInPlace etc/udev/50-iptsd.rules.in \
55 --replace-fail "/bin/systemd-escape" "${lib.getExe' systemd "systemd-escape"}"
59 "-Dservice_manager=systemd"
60 "-Dsample_config=false"
62 "-Db_lto=false" # plugin needed to handle lto object -> undefined reference to ...
66 changelog = "https://github.com/linux-surface/iptsd/releases/tag/${lib.removePrefix "refs/tags/" src.rev}";
67 description = "Userspace daemon for Intel Precise Touch & Stylus";
68 homepage = "https://github.com/linux-surface/iptsd";
69 license = licenses.gpl2Plus;
70 mainProgram = "iptsd";
71 maintainers = with maintainers; [ tomberek dotlambda ];
72 platforms = platforms.linux;