Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / applications / misc / bemenu / default.nix
blob57d87d906e82ebc1ee81377e48f6997b8a44aaa6
1 { stdenv, lib, fetchFromGitHub, fetchpatch, cairo, libxkbcommon
2 , pango, fribidi, harfbuzz, pcre, pkg-config, scdoc
3 , ncursesSupport ? true, ncurses
4 , waylandSupport ? true, wayland, wayland-protocols, wayland-scanner
5 , x11Support ? true, xorg
6 }:
8 stdenv.mkDerivation (finalAttrs: {
9   pname = "bemenu";
10   version = "0.6.16";
12   src = fetchFromGitHub {
13     owner = "Cloudef";
14     repo = finalAttrs.pname;
15     rev = finalAttrs.version;
16     sha256 = "sha256-K9a9BUodpKwvEOhnF2/TGo5zLm7F9RzqSCcWzuhKcWA=";
17   };
19   strictDeps = true;
20   nativeBuildInputs = [ pkg-config scdoc ]
21     ++ lib.optionals waylandSupport [ wayland-scanner ];
23   buildInputs = with lib; [
24     cairo
25     fribidi
26     harfbuzz
27     libxkbcommon
28     pango
29   ] ++ optional ncursesSupport ncurses
30     ++ optionals waylandSupport [ wayland wayland-protocols ]
31     ++ optionals x11Support [
32       xorg.libX11 xorg.libXinerama xorg.libXft
33       xorg.libXdmcp xorg.libpthreadstubs xorg.libxcb
34     ];
36   makeFlags = ["PREFIX=$(out)"];
38   buildFlags = ["clients"]
39     ++ lib.optional ncursesSupport "curses"
40     ++ lib.optional waylandSupport "wayland"
41     ++ lib.optional x11Support "x11";
43   meta = with lib; {
44     homepage = "https://github.com/Cloudef/bemenu";
45     description = "Dynamic menu library and client program inspired by dmenu";
46     license = licenses.gpl3Plus;
47     maintainers = with maintainers; [ lheckemann ];
48     mainProgram = "bemenu";
49     platforms = with platforms; linux;
50   };