chromium,chromedriver: 129.0.6668.91 -> 129.0.6668.100
[NixPkgs.git] / pkgs / by-name / to / tomato-c / package.nix
blob243b21b574efad8f8fa1128d5ec9fb1edbd837e5
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , fetchpatch
5 , libnotify
6 , makeWrapper
7 , mpv
8 , ncurses
9 , pkg-config
12 stdenv.mkDerivation (finalAttrs: {
13   pname = "tomato-c";
14   version = "unstable-2023-08-21";
16   src = fetchFromGitHub {
17     owner = "gabrielzschmitz";
18     repo = "Tomato.C";
19     rev = "6e43e85aa15f3d96811311a3950eba8ce9715634";
20     hash = "sha256-RpKkQ7xhM2XqfZdXra0ju0cTBL3Al9NMVQ/oleFydDs=";
21   };
23   patches = [
24     # Adds missing function declarations required by newer versions of clang.
25     (fetchpatch {
26       url = "https://github.com/gabrielzschmitz/Tomato.C/commit/ad6d4c385ae39d655a716850653cd92431c1f31e.patch";
27       hash = "sha256-3ormv59Ce4rOmeyL30QET3CCUIOrRYMquub+eIQsMW8=";
28     })
29   ];
31   postPatch = ''
32     substituteInPlace Makefile \
33       --replace-fail "sudo " ""
34     # Need to define _ISOC99_SOURCE to use `snprintf` on Darwin
35     substituteInPlace config.mk \
36       --replace-fail -D_POSIX_C_SOURCE -D_ISOC99_SOURCE
37     substituteInPlace notify.c \
38       --replace-fail "/usr/local" "${placeholder "out"}"
39     substituteInPlace util.c \
40       --replace-fail "/usr/local" "${placeholder "out"}"
41     substituteInPlace tomato.desktop \
42       --replace-fail "/usr/local" "${placeholder "out"}"
43   '';
45   nativeBuildInputs = [
46     makeWrapper
47     pkg-config
48   ];
50   buildInputs = [
51     libnotify
52     mpv
53     ncurses
54   ];
56   makeFlags = [
57     "PREFIX=${placeholder "out"}"
58   ];
60   installFlags = [
61     "CPPFLAGS=$NIX_CFLAGS_COMPILE"
62     "LDFLAGS=$NIX_LDFLAGS"
63   ];
65   postFixup = ''
66     for file in $out/bin/*; do
67       wrapProgram $file \
68         --prefix PATH : ${lib.makeBinPath [ libnotify mpv ]}
69     done
70   '';
72   strictDeps = true;
74   meta = {
75     homepage = "https://github.com/gabrielzschmitz/Tomato.C";
76     description = " A pomodoro timer written in pure C";
77     license = with lib.licenses; [ gpl3Plus ];
78     maintainers = with lib.maintainers; [ AndersonTorres ];
79     mainProgram = "tomato";
80     platforms = lib.platforms.unix;
81   };