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
8 stdenv.mkDerivation (finalAttrs: {
12 src = fetchFromGitHub {
14 repo = finalAttrs.pname;
15 rev = finalAttrs.version;
16 sha256 = "sha256-K9a9BUodpKwvEOhnF2/TGo5zLm7F9RzqSCcWzuhKcWA=";
20 nativeBuildInputs = [ pkg-config scdoc ]
21 ++ lib.optionals waylandSupport [ wayland-scanner ];
23 buildInputs = with lib; [
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
36 makeFlags = ["PREFIX=$(out)"];
38 buildFlags = ["clients"]
39 ++ lib.optional ncursesSupport "curses"
40 ++ lib.optional waylandSupport "wayland"
41 ++ lib.optional x11Support "x11";
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;