summary refs log tree commit diff
path: root/pkgs/applications/misc/dmenu/wayland.nix
blob: 08e9d9422459bf2eaf181579f5216babcdd945ac (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
{ lib, stdenv, fetchFromGitHub, meson, ninja, cairo, pango, pkg-config, wayland-protocols
, glib, wayland, libxkbcommon, makeWrapper, wayland-scanner
, fetchpatch
}:

stdenv.mkDerivation rec {
  pname = "dmenu-wayland";
  version = "unstable-2023-05-18";

  src = fetchFromGitHub {
    owner = "nyyManni";
    repo = "dmenu-wayland";
    rev = "a380201dff5bfac2dace553d7eaedb6cea6855f9";
    hash = "sha256-dqFvU2mRYEw7n8Fmbudwi5XMLQ7mQXFkug9D9j4FIrU=";
  };

  outputs = [ "out" "man" ];

  depsBuildBuild = [ pkg-config ];
  nativeBuildInputs = [ meson ninja pkg-config makeWrapper wayland-scanner ];
  buildInputs = [ cairo pango wayland-protocols glib wayland libxkbcommon ];

  patches = [
    # can be removed when https://github.com/nyyManni/dmenu-wayland/pull/23 is included
    (fetchpatch {
      name = "support-cross-compilation.patch";
      url = "https://github.com/nyyManni/dmenu-wayland/commit/3434410de5dcb007539495395f7dc5421923dd3a.patch";
      sha256 = "sha256-im16kU8RWrCY0btYOYjDp8XtfGEivemIPlhwPX0C77o=";
    })
  ];

  postInstall = ''
    wrapProgram $out/bin/dmenu-wl_run \
      --prefix PATH : $out/bin
  '';

  meta = with lib; {
    license = licenses.mit;
    platforms = platforms.linux;
    description = "An efficient dynamic menu for wayland (wlroots)";
    homepage = "https://github.com/nyyManni/dmenu-wayland";
    maintainers = with maintainers; [ rewine ];
  };
}