From ed971d0d90bc3db8cf6a32a47705889d94692cf2 Mon Sep 17 00:00:00 2001 From: Thiago Kenji Okada Date: Wed, 1 May 2019 19:04:38 -0300 Subject: [PATCH] bemenu: init at 0.1.0 Bemenu is a dynamic menu library and client program inspired by dmenu with support for wayland compositors (and also X11 and ncurses). Build and tested in NixOS 19.03.172392.6d7ed96429 in X11 (i3wm), wayland (sway) and ncurses (kitty). --- pkgs/applications/misc/bemenu/default.nix | 45 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 47 insertions(+) create mode 100644 pkgs/applications/misc/bemenu/default.nix diff --git a/pkgs/applications/misc/bemenu/default.nix b/pkgs/applications/misc/bemenu/default.nix new file mode 100644 index 000000000000..89c32668be9c --- /dev/null +++ b/pkgs/applications/misc/bemenu/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchFromGitHub, cairo, cmake, libxkbcommon +, pango, fribidi, harfbuzz, pcre, pkgconfig +, ncursesSupport ? true, ncurses ? null +, waylandSupport ? true, wayland ? null +, x11Support ? true, xlibs ? null, xorg ? null +}: + +assert ncursesSupport -> ncurses != null; +assert waylandSupport -> wayland != null; +assert x11Support -> xlibs != null && xorg != null; + +stdenv.mkDerivation rec { + pname = "bemenu"; + version = "0.1.0"; + + src = fetchFromGitHub { + owner = "Cloudef"; + repo = "bemenu"; + rev = "33e540a2b04ce78f5c7ab4a60b899c67f586cc32"; + sha256 = "11h55m9dx6ai12pqij52ydjm36dvrcc856pa834njihrp626pl4w"; + }; + + nativeBuildInputs = [ cmake pkgconfig pcre ]; + + buildInputs = with stdenv.lib; [ + cairo + fribidi + harfbuzz + libxkbcommon + pango + ] ++ optionals ncursesSupport [ ncurses ] + ++ optionals waylandSupport [ wayland ] + ++ optionals x11Support [ + xlibs.libX11 xlibs.libXinerama xlibs.libXft + xorg.libXdmcp xorg.libpthreadstubs xorg.libxcb + ]; + + meta = with stdenv.lib; { + homepage = "https://github.com/Cloudef/bemenu"; + description = "Dynamic menu library and client program inspired by dmenu"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ thiagokokada ]; + platforms = with platforms; linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 34a811c96d3e..a6f22ae1a5cd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23877,4 +23877,6 @@ in wasmtime = callPackage ../development/interpreters/wasmtime {}; + bemenu = callPackage ../applications/misc/bemenu { }; + }