python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / applications / misc / emojipick / default.nix
blob9c28c98bf0473634486310f0de29cf972d8e6245
1 { stdenvNoCC
2 , fetchFromGitHub
3 , lib
4 , python3
5 , xclip
6 , libnotify
7 , dmenu
8 , rofi
9 , emojipick-use-rofi ? false
10 , emojipick-copy-to-clipboard ? true
11 , emojipick-show-notifications ? true
12 , emojipick-print-emoji ? true
13 , emojipick-font-family ? "Noto Color Emoji"
14 , emojipick-font-size ? "18"
17 let
18   boolToInt = b: if b then "1" else "0"; # Convert boolean to integer string
20 stdenvNoCC.mkDerivation {
21   pname = "emojipick";
22   version = "2021-01-27";
24   src = fetchFromGitHub {
25     owner = "thingsiplay";
26     repo = "emojipick";
27     rev = "20210127";
28     sha256 = "1kib3cyx6z9v9qw6yrfx5sklanpk5jbxjc317wi7i7ljrg0vdazp";
29   };
31   dontConfigure = true;
32   dontBuild = true;
34   # Patch configuration
35   # notify-send has to be patched in a bash file
36   postPatch = ''
37     substituteInPlace emojipick \
38       --replace "use_rofi=0" "use_rofi=${boolToInt emojipick-use-rofi}" \
39       --replace "copy_to_clipboard=1" "copy_to_clipboard=${boolToInt emojipick-copy-to-clipboard}" \
40       --replace "show_notification=1" "show_notification=${boolToInt emojipick-show-notifications}" \
41       --replace "print_emoji=1" "print_emoji=${boolToInt emojipick-print-emoji}" \
42       --replace "font_family='\"Noto Color Emoji\"'" "font_family='\"${emojipick-font-family}\"'" \
43       --replace 'font_size="18"' 'font_size="${emojipick-font-size}"' \
44       ${lib.optionalString emojipick-use-rofi "--replace 'rofi ' '${rofi}/bin/rofi '"} \
45       --replace notify-send ${libnotify}/bin/notify-send
46   '';
48   buildInputs = [
49     python3
50     xclip
51     libnotify
52   ] ++ (if emojipick-use-rofi then [rofi] else [dmenu]);
54   installPhase = ''
55     runHook preInstall
57     mkdir -p $out/bin
58     cp ./emojipick $out/bin
59     cp ./emojiget.py $out/bin
61     runHook postInstall
62   '';
64   meta = with lib; {
65     description = "Get a selection of emojis with dmenu or rofi";
66     homepage = "https://github.com/thingsiplay/emojipick";
67     license = licenses.mit;
68     maintainers = with maintainers; [ alexnortung ];
69     platforms = platforms.linux;
70   };