xcursor-pro: init at 2.0.2 (#335188)
[NixPkgs.git] / pkgs / by-name / tr / trigger-control / package.nix
blobae189e2ca50583d1bf031774fb09e8d16d10ec41
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   fetchpatch,
6   cmake,
7   makeWrapper,
8   pkg-config,
9   SDL2,
10   dbus,
11   libdecor,
12   libnotify,
13   dejavu_fonts,
14   zenity,
17 stdenv.mkDerivation (finalAttrs: {
18   pname = "trigger-control";
19   version = "1.5.1";
21   src = fetchFromGitHub {
22     owner = "Etaash-mathamsetty";
23     repo = "trigger-control";
24     # upstream does not use consistant tags pattern, so we use git commit hash
25     # https://github.com/Etaash-mathamsetty/trigger-control/tags
26     rev = "7b46e743227830d3a97720067d0a6cf20133af90";
27     hash = "sha256-nWSvsgksZ4Cxy1+i0xy8pNalgsiAuaqxNVwT/CThaBI=";
28   };
30   nativeBuildInputs = [
31     cmake
32     makeWrapper
33     pkg-config
34   ];
36   buildInputs =
37     [
38       SDL2
39       dbus
40       libnotify
41     ]
42     ++ lib.optionals stdenv.hostPlatform.isLinux [
43       libdecor
44     ];
46   patches = [
47     # Fix build on clang https://github.com/Etaash-mathamsetty/trigger-control/pull/23
48     (fetchpatch {
49       name = "clang.patch";
50       url = "https://github.com/Etaash-mathamsetty/trigger-control/commit/bbec33296fdac7e2ca0398ae19ca8de8ad883407.patch";
51       hash = "sha256-x6RymdzBlzAJ8O8QGqXQtvkZkjdTaC5X8syFPunqZik=";
52     })
53   ];
55   # The app crashes without a changed fontdir and upstream recommends dejavu as font
56   postPatch = ''
57     substituteInPlace trigger-control.cpp --replace "/usr/share/fonts/" "${dejavu_fonts}/share/fonts/"
58   '';
60   installPhase = ''
61     runHook preInstall
63     install -D trigger-control $out/bin/trigger-control
65     runHook postInstall
66   '';
68   postInstall = lib.optionalString stdenv.hostPlatform.isLinux ''
69     wrapProgram $out/bin/trigger-control \
70       --prefix PATH : ${lib.makeBinPath [ zenity ]}
71   '';
73   meta = with lib; {
74     description = "Control the dualsense's triggers on Linux (and Windows) with a gui and C++ api";
75     homepage = "https://github.com/Etaash-mathamsetty/trigger-control";
76     license = licenses.mit;
77     mainProgram = "trigger-control";
78     maintainers = with maintainers; [ azuwis ];
79     platforms = platforms.all;
80   };