biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / tools / wayland / wl-mirror / default.nix
blobe74f867a37ad9b8393e3686fb5b93df2df7b895c
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , cmake
5 , pkg-config
6 , wayland
7 , wayland-protocols
8 , wayland-scanner
9 , wlr-protocols
10 , libGL
11 , bash
12 , installExampleScripts ? true
13 , makeWrapper
14 , pipectl
15 , slurp
16 , rofi
17 , scdoc
20 let
21   wl-present-binpath = lib.makeBinPath [
22     pipectl
23     rofi
24     slurp
25     (placeholder "out")
26   ];
29 stdenv.mkDerivation rec {
30   pname = "wl-mirror";
31   version = "0.16.5";
33   src = fetchFromGitHub {
34     owner = "Ferdi265";
35     repo = "wl-mirror";
36     rev = "v${version}";
37     hash = "sha256-LafG2VEs7j4JwHayoT5euMp08RgSzk+HbfhCr6CX9OE=";
38   };
40   strictDeps = true;
41   depsBuildBuild = [ pkg-config ];
42   nativeBuildInputs = [ cmake pkg-config wayland-scanner scdoc makeWrapper ];
43   buildInputs = [ libGL wayland wayland-protocols wlr-protocols bash ];
45   postPatch = ''
46     echo 'v${version}' > version.txt
47     substituteInPlace CMakeLists.txt \
48       --replace 'WL_PROTOCOL_DIR "/usr' 'WL_PROTOCOL_DIR "${wayland-protocols}' \
49       --replace 'WLR_PROTOCOL_DIR "/usr' 'WLR_PROTOCOL_DIR "${wlr-protocols}'
50   '';
52   cmakeFlags = [
53     "-DINSTALL_EXAMPLE_SCRIPTS=${if installExampleScripts then "ON" else "OFF"}"
54     "-DINSTALL_DOCUMENTATION=ON"
55   ];
57   postInstall = lib.optionalString installExampleScripts ''
58     wrapProgram $out/bin/wl-present --prefix PATH ":" ${wl-present-binpath}
59   '';
61   meta = with lib; {
62     homepage = "https://github.com/Ferdi265/wl-mirror";
63     description = "Simple Wayland output mirror client";
64     license = licenses.gpl3;
65     maintainers = with maintainers; [ synthetica ];
66     platforms = platforms.linux;
67   };