summary refs log tree commit diff
path: root/pkgs/applications/misc/todoist-electron
diff options
context:
space:
mode:
authorImran Hossain <contact@imranhossa.in>2020-02-03 19:08:59 -0500
committerJon <jonringer@users.noreply.github.com>2020-02-17 15:44:48 -0800
commit2599fd06a2b4fc370baab140776c9d39896560a9 (patch)
tree41cd12652b112d16a5fd588f8f7718fae4face6a /pkgs/applications/misc/todoist-electron
parentd7c7b4890e83198a3741d9038d450d6bbdaaca3c (diff)
downloadnixpkgs-2599fd06a2b4fc370baab140776c9d39896560a9.tar
nixpkgs-2599fd06a2b4fc370baab140776c9d39896560a9.tar.gz
nixpkgs-2599fd06a2b4fc370baab140776c9d39896560a9.tar.bz2
nixpkgs-2599fd06a2b4fc370baab140776c9d39896560a9.tar.lz
nixpkgs-2599fd06a2b4fc370baab140776c9d39896560a9.tar.xz
nixpkgs-2599fd06a2b4fc370baab140776c9d39896560a9.tar.zst
nixpkgs-2599fd06a2b4fc370baab140776c9d39896560a9.zip
todoist-electron: init at 1.19
Diffstat (limited to 'pkgs/applications/misc/todoist-electron')
-rw-r--r--pkgs/applications/misc/todoist-electron/default.nix61
1 files changed, 61 insertions, 0 deletions
diff --git a/pkgs/applications/misc/todoist-electron/default.nix b/pkgs/applications/misc/todoist-electron/default.nix
new file mode 100644
index 00000000000..cb0ee20f555
--- /dev/null
+++ b/pkgs/applications/misc/todoist-electron/default.nix
@@ -0,0 +1,61 @@
+{ stdenv, lib, fetchurl, makeDesktopItem, dpkg, atk, at-spi2-atk, glib, pango, gdk-pixbuf
+, gtk3, cairo, freetype, fontconfig, dbus, xorg, nss, nspr, alsaLib, cups, expat
+, udev, libpulseaudio, utillinux, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  pname = "todoist-electron";
+  version = "1.19";
+
+  src = fetchurl {
+    url = "https://github.com/KryDos/todoist-linux/releases/download/${version}/Todoist_${version}.0_amd64.deb";
+    sha256 = "1w0l7k7wmbhwzv71cffsir0q7zg9m0617fmyvd4a01b6flpxrpfx";
+  };
+
+  desktopItem = makeDesktopItem {
+    name = "Todoist";
+    exec = "todoist";
+    desktopName = "Todoist";
+    categories = "Utility;Productivity";
+  };
+
+  nativeBuildInputs = [ makeWrapper dpkg ];
+  unpackPhase = ''
+    mkdir pkg
+    dpkg-deb -x $src pkg
+    sourceRoot=pkg
+  '';
+  installPhase = let
+    libPath = lib.makeLibraryPath ([
+      stdenv.cc.cc gtk3 atk at-spi2-atk glib pango gdk-pixbuf cairo freetype fontconfig dbus
+      nss nspr alsaLib libpulseaudio cups expat udev utillinux
+    ] ++ (with xorg; [
+      libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes libxcb
+      libXrender libX11 libXtst libXScrnSaver
+    ]));
+  in ''
+    mkdir -p "$out/bin"
+    mv opt "$out/"
+
+    # Patch binary
+    patchelf \
+      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+      --set-rpath "${libPath}:\$ORIGIN" \
+      $out/opt/Todoist/todoist
+
+    # Hacky workaround for RPATH problems
+    makeWrapper $out/opt/Todoist/todoist $out/bin/todoist \
+      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ libpulseaudio udev ]}
+
+    # Desktop item
+    mkdir -p "$out/share"
+    ln -s "${desktopItem}/share/applications" "$out/share/applications"
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/KryDos/todoist-linux";
+    description = "The Linux wrapper for Todoist web version";
+    platforms = [ "x86_64-linux" ];
+    license = licenses.isc;
+    maintainers = with maintainers; [ i077 ];
+  };
+}