1{
2 stdenv,
3 lib,
4 fetchFromGitHub,
5 cmake,
6 pkg-config,
7 obs-studio,
8 libuiohook,
9 qtbase,
10 xorg,
11 libxkbcommon,
12 libxkbfile,
13 SDL2,
14}:
15
16stdenv.mkDerivation rec {
17 pname = "obs-input-overlay";
18 version = "5.0.6";
19
20 src = fetchFromGitHub {
21 owner = "univrsal";
22 repo = "input-overlay";
23 rev = "refs/tags/${version}";
24 hash = "sha256-ju4u7hhx+hTuq7Oh0DBPV8RRM8zqyyvYV74KymU0+2c=";
25 fetchSubmodules = true;
26 };
27
28 nativeBuildInputs = [
29 cmake
30 pkg-config
31 ];
32
33 buildInputs = [
34 obs-studio
35 libuiohook
36 qtbase
37 SDL2
38 xorg.libX11
39 xorg.libXau
40 xorg.libXdmcp
41 xorg.libXtst
42 xorg.libXext
43 xorg.libXi
44 xorg.libXt
45 xorg.libXinerama
46 libxkbcommon
47 libxkbfile
48 ];
49
50 cmakeFlags = [
51 "-DCMAKE_CXX_FLAGS=-msse4.1"
52 ];
53
54 postUnpack = ''
55 sed -i '/set(CMAKE_CXX_FLAGS "-march=native")/d' 'source/CMakeLists.txt'
56 '';
57
58 dontWrapQtApps = true;
59
60 meta = {
61 description = "Show keyboard, gamepad and mouse input on stream";
62 homepage = "https://github.com/univrsal/input-overlay";
63 maintainers = with lib.maintainers; [ glittershark ];
64 license = lib.licenses.gpl2;
65 platforms = lib.platforms.linux;
66 # never built on aarch64-linux since first introduction in nixpkgs
67 broken = stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64;
68 };
69}