biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / applications / graphics / weylus / default.nix
blob61b40006b3865ab0fd9a774aa65c1d62ce3da688
1 { lib
2 , stdenv
3 , rustPlatform
4 , fetchFromGitHub
5 , makeWrapper
6 , dbus
7 , ffmpeg
8 , x264
9 , libva
10 , gst_all_1
11 , xorg
12 , libdrm
13 , pkg-config
14 , pango
15 , pipewire
16 , cmake
17 , git
18 , autoconf
19 , libtool
20 , typescript
21 , ApplicationServices
22 , Carbon
23 , Cocoa
24 , VideoToolbox
27 rustPlatform.buildRustPackage rec {
28   pname = "weylus";
29   version = "unstable-2022-06-07";
31   src = fetchFromGitHub {
32     owner = "H-M-H";
33     repo = pname;
34     rev = "b169a6be2bf3e8d105273d92f032cca5438de53a";
35     sha256 = "sha256-J9eVFIfmyBviVuT1MYKb5yoacbPqOAT3A8jahWv5qw8=";
36   };
38   buildInputs = [
39     ffmpeg
40     x264
41   ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
42     ApplicationServices
43     Carbon
44     Cocoa
45     VideoToolbox
46   ] ++ lib.optionals stdenv.hostPlatform.isLinux [
47     dbus
48     libva
49     gst_all_1.gst-plugins-base
50     xorg.libXext
51     xorg.libXft
52     xorg.libXinerama
53     xorg.libXcursor
54     xorg.libXrender
55     xorg.libXfixes
56     xorg.libXtst
57     xorg.libXrandr
58     xorg.libXcomposite
59     xorg.libXi
60     xorg.libXv
61     pango
62     libdrm
63   ];
65   nativeBuildInputs = [
66     cmake
67     git
68     typescript
69     makeWrapper
70   ] ++ lib.optionals stdenv.hostPlatform.isLinux [
71     pkg-config
72     autoconf
73     libtool
74   ];
76   cargoLock = {
77     lockFile = ./Cargo.lock;
78     outputHashes = {
79       "autopilot-0.4.0" = "sha256-1DRuhAAXaIADUmXlDVr8UNbI/Ab2PYdrx9Qh0j9rTX8=";
80     };
81   };
83   cargoBuildFlags = [ "--features=ffmpeg-system" ];
84   cargoTestFlags = [ "--features=ffmpeg-system" ];
86   postFixup = let
87     GST_PLUGIN_PATH = lib.makeSearchPathOutput  "lib" "lib/gstreamer-1.0" [
88       gst_all_1.gst-plugins-base
89       pipewire
90     ];
91   in lib.optionalString stdenv.hostPlatform.isLinux ''
92     wrapProgram $out/bin/weylus --prefix GST_PLUGIN_PATH : ${GST_PLUGIN_PATH}
93   '';
95   postInstall = ''
96     install -vDm755 weylus.desktop $out/share/applications/weylus.desktop
97   '';
99   meta = with lib; {
100     broken = stdenv.hostPlatform.isDarwin;
101     description = "Use your tablet as graphic tablet/touch screen on your computer";
102     mainProgram = "weylus";
103     homepage = "https://github.com/H-M-H/Weylus";
104     license = with licenses; [ agpl3Only ];
105     maintainers = with maintainers; [ lom ];
106   };