python312Packages.comicon: 1.2.0 -> 1.2.1 (#361860)
[NixPkgs.git] / pkgs / by-name / pm / pmenu / package.nix
blob5fbcff2b291153a27d40b3c673070a0d90c66bb7
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , writeText
5 , fontconfig
6 , imlib2
7 , libX11
8 , libXext
9 , libXft
10 , libXinerama
11 , libXrender
12 , conf ? null
15 stdenv.mkDerivation (finalAttrs: {
16   pname = "pmenu";
17   version = "3.1.1";
19   src = fetchFromGitHub {
20     owner = "phillbush";
21     repo = "pmenu";
22     rev = "v${finalAttrs.version}";
23     hash = "sha256-7NI5az3LxOYEnsts8Qqi3gvO3dXpNjPDOTW2c5Y25Lc=";
24   };
26   buildInputs = [
27     fontconfig
28     imlib2
29     libX11
30     libXext
31     libXft
32     libXinerama
33     libXrender
34   ];
36   postPatch = let
37       configFile =
38         if lib.isDerivation conf || builtins.isPath conf
39         then conf else writeText "config.h" conf;
40     in
41     lib.optionalString (conf != null) "mv ${configFile} config.h";
43   makeFlags = [
44     "INSTALL=install"
45     "PREFIX=\${out}"
46   ];
48   meta = {
49     description = "Pie-menu tool";
50     homepage = "https://github.com/phillbush/pmenu";
51     changelog = "https://github.com/phillbush/pmenu/releases/tag/v${finalAttrs.version}";
52     license = lib.licenses.mit;
53     longDescription = ''
54       πmenu is a pie menu utility for X. πmenu receives a menu specification in
55       stdin, shows a menu for the user to select one of the options, and outputs
56       the option selected to stdout.
57     '';
58     maintainers = [ lib.maintainers.azahi ];
59     platforms = lib.platforms.unix;
60     mainProgram = "pmenu";
61   };