python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / tools / inputmethods / keyd / default.nix
blob4da42e52eaa6b3fb1e13c36bd83adb807b0e728f
1 { stdenv
2 , lib
3 , fetchFromGitHub
4 , cmake
5 , pkg-config
6 , systemd
7 , runtimeShell
8 , python3
9 }:
11 let
12   version = "2.4.2";
14   src = fetchFromGitHub {
15     owner = "rvaiya";
16     repo = "keyd";
17     rev = "v" + version;
18     hash = "sha256-QWr+xog16MmybhQlEWbskYa/dypb9Ld54MOdobTbyMo=";
19   };
21   pypkgs = python3.pkgs;
23   appMap = pypkgs.buildPythonApplication rec {
24     pname = "keyd-application-mapper";
25     inherit version src;
26     format = "other";
28     postPatch = ''
29       substituteInPlace scripts/${pname} \
30         --replace /bin/sh ${runtimeShell}
31     '';
33     propagatedBuildInputs = with pypkgs; [ xlib ];
35     dontBuild = true;
37     installPhase = ''
38       install -Dm555 -t $out/bin scripts/${pname}
39     '';
41     meta.mainProgram = pname;
42   };
45 stdenv.mkDerivation rec {
46   pname = "keyd";
47   inherit version src;
49   postPatch = ''
50     substituteInPlace Makefile \
51       --replace DESTDIR= DESTDIR=${placeholder "out"} \
52       --replace /usr ""
54     substituteInPlace keyd.service \
55       --replace /usr/bin $out/bin
56   '';
58   buildInputs = [ systemd ];
60   enableParallelBuilding = true;
62   postInstall = ''
63     ln -sf ${lib.getExe appMap} $out/bin/${appMap.pname}
64     rm -rf $out/etc
65   '';
67   meta = with lib; {
68     description = "A key remapping daemon for linux.";
69     license = licenses.mit;
70     maintainers = with maintainers; [ peterhoeg ];
71     platforms = platforms.linux;
72   };