about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/misc/tomato-c/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/misc/tomato-c/default.nix')
-rw-r--r--nixpkgs/pkgs/applications/misc/tomato-c/default.nix67
1 files changed, 67 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/applications/misc/tomato-c/default.nix b/nixpkgs/pkgs/applications/misc/tomato-c/default.nix
new file mode 100644
index 000000000000..9f87712399f2
--- /dev/null
+++ b/nixpkgs/pkgs/applications/misc/tomato-c/default.nix
@@ -0,0 +1,67 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, libnotify
+, makeWrapper
+, mpv
+, ncurses
+, pkg-config
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "tomato-c";
+  version = "unstable-2023-08-21";
+
+  src = fetchFromGitHub {
+    owner = "gabrielzschmitz";
+    repo = "Tomato.C";
+    rev = "6e43e85aa15f3d96811311a3950eba8ce9715634";
+    hash = "sha256-RpKkQ7xhM2XqfZdXra0ju0cTBL3Al9NMVQ/oleFydDs=";
+  };
+
+  postPatch = ''
+    substituteInPlace Makefile \
+      --replace "sudo " ""
+    substituteInPlace notify.c \
+      --replace "/usr/local" "${placeholder "out"}"
+    substituteInPlace util.c \
+      --replace "/usr/local" "${placeholder "out"}"
+    substituteInPlace tomato.desktop \
+      --replace "/usr/local" "${placeholder "out"}"
+  '';
+
+  nativeBuildInputs = [
+    makeWrapper
+    pkg-config
+  ];
+
+  buildInputs = [
+    libnotify
+    mpv
+    ncurses
+  ];
+
+  installFlags = [
+    "PREFIX=${placeholder "out"}"
+    "CPPFLAGS=$NIX_CFLAGS_COMPILE"
+    "LDFLAGS=$NIX_LDFLAGS"
+  ];
+
+  postFixup = ''
+    for file in $out/bin/*; do
+      wrapProgram $file \
+        --prefix PATH : ${lib.makeBinPath [ libnotify mpv ]}
+    done
+  '';
+
+  strictDeps = true;
+
+  meta = {
+    homepage = "https://github.com/gabrielzschmitz/Tomato.C";
+    description = " A pomodoro timer written in pure C";
+    license = with lib.licenses; [ gpl3Plus ];
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    mainProgram = "tomato";
+    platforms = lib.platforms.unix;
+  };
+})