1{
2 mkDerivation,
3 lib,
4 cmake,
5 extra-cmake-modules,
6 pkg-config,
7 SDL2,
8 qttools,
9 xorg,
10 fetchFromGitHub,
11 itstool,
12 udevCheckHook,
13}:
14
15mkDerivation rec {
16 pname = "antimicrox";
17 version = "3.5.1";
18
19 src = fetchFromGitHub {
20 owner = "AntiMicroX";
21 repo = pname;
22 rev = version;
23 sha256 = "sha256-ZIHhgyOpabWkdFZoha/Hj/1d8/b6qVolE6dn0xAFZVw=";
24 };
25
26 nativeBuildInputs = [
27 cmake
28 extra-cmake-modules
29 pkg-config
30 itstool
31 udevCheckHook
32 ];
33 buildInputs = [
34 SDL2
35 qttools
36 xorg.libXtst
37 ];
38
39 postPatch = ''
40 substituteInPlace CMakeLists.txt \
41 --replace "/usr/lib/udev/rules.d/" "$out/lib/udev/rules.d/"
42 '';
43
44 doInstallCheck = true;
45
46 meta = with lib; {
47 description = "GUI for mapping keyboard and mouse controls to a gamepad";
48 inherit (src.meta) homepage;
49 maintainers = with maintainers; [ sbruder ];
50 license = licenses.gpl3Plus;
51 platforms = with platforms; linux;
52 mainProgram = "antimicrox";
53 };
54}