about summary refs log tree commit diff
path: root/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix')
-rw-r--r--pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix44
1 files changed, 24 insertions, 20 deletions
diff --git a/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix b/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
index 9e245b46d0615..e4d6f71be7ac4 100644
--- a/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
@@ -1,38 +1,41 @@
 { lib
 , copyDesktopItems
-, electron
+, electron_14
 , esbuild
 , fetchFromGitHub
 , fetchpatch
 , libdeltachat
 , makeDesktopItem
 , makeWrapper
-, nodePackages
+, nodejs-14_x
+, noto-fonts-emoji
 , pkg-config
+, roboto
 , rustPlatform
+, sqlcipher
 , stdenv
 , CoreServices
 }:
 
 let
   libdeltachat' = libdeltachat.overrideAttrs (old: rec {
-    version = "1.70.0";
+    version = "1.76.0";
     src = fetchFromGitHub {
       owner = "deltachat";
       repo = "deltachat-core-rust";
       rev = version;
-      hash = "sha256-702XhFWvFG+g++3X97sy6C5DMNWogv1Xbr8QPR8QyLo=";
+      hash = "sha256-aeYOszOFyLaC1xKswYZLzqoWSFFWOOeOkc+WrtqU0jo=";
     };
     cargoDeps = rustPlatform.fetchCargoTarball {
       inherit src;
       name = "${old.pname}-${version}";
-      hash = "sha256-MiSGJMXe8vouv4XEHXq274FHEvBMtd7IX6DyNJIWYeU=";
+      hash = "sha256-sBFXcLXpAkX+HzRKrLKaHhi5ieS8Yc/Uf30WcXyWrok=";
     };
   });
   electronExec = if stdenv.isDarwin then
-    "${electron}/Applications/Electron.app/Contents/MacOS/Electron"
+    "${electron_14}/Applications/Electron.app/Contents/MacOS/Electron"
   else
-    "${electron}/bin/electron";
+    "${electron_14}/bin/electron";
   esbuild' = esbuild.overrideAttrs (old: rec {
     version = "0.12.29";
     src = fetchFromGitHub {
@@ -42,19 +45,18 @@ let
       hash = "sha256-oU++9E3StUoyrMVRMZz8/1ntgPI62M1NoNz9sH/N5Bg=";
     };
   });
-in nodePackages.deltachat-desktop.override rec {
+in nodejs-14_x.pkgs.deltachat-desktop.override rec {
   pname = "deltachat-desktop";
-  version = "1.26.0";
+  version = "1.28.0";
 
   src = fetchFromGitHub {
     owner = "deltachat";
     repo = "deltachat-desktop";
     rev = "v${version}";
-    hash = "sha256-IDyGV2+/+wHp5N4G10y5OHvw2yoyVxWx394xszIYoj4=";
+    hash = "sha256-Ur0UxaKEWp+y7lGz2Khsg4npOf+gjCiOoijkSbnp0hg=";
   };
 
   nativeBuildInputs = [
-    esbuild
     makeWrapper
     pkg-config
   ] ++ lib.optionals stdenv.isLinux [
@@ -72,27 +74,29 @@ in nodePackages.deltachat-desktop.override rec {
   USE_SYSTEM_LIBDELTACHAT = "true";
   VERSION_INFO_GIT_REF = src.rev;
 
-  postInstall = let
-    keep = lib.concatMapStringsSep " " (file: "! -name ${file}") [
-      "_locales" "build" "html-dist" "images" "index.js"
-      "node_modules" "themes" "tsc-dist"
-    ];
-  in ''
+  postInstall = ''
     rm -r node_modules/deltachat-node/{deltachat-core-rust,prebuilds,src}
 
-    patchShebangs node_modules/sass/sass.js
-
     npm run build
 
     npm prune --production
 
-    find . -mindepth 1 -maxdepth 1 ${keep} -print0 | xargs -0 rm -r
+    awk '!/^#/ && NF' build/packageignore_list \
+      | xargs -I {} sh -c "rm -rf {}" || true
+
+    ln -sf ${noto-fonts-emoji}/share/fonts/noto/NotoColorEmoji.ttf \
+      $out/lib/node_modules/deltachat-desktop/html-dist/fonts/noto/emoji
+    for font in $out/lib/node_modules/deltachat-desktop/html-dist/fonts/Roboto-*.ttf; do
+      ln -sf ${roboto}/share/fonts/truetype/$(basename $font) \
+        $out/lib/node_modules/deltachat-desktop/html-dist/fonts
+    done
 
     mkdir -p $out/share/icons/hicolor/scalable/apps
     ln -s $out/lib/node_modules/deltachat-desktop/build/icon.png \
       $out/share/icons/hicolor/scalable/apps/deltachat.png
 
     makeWrapper ${electronExec} $out/bin/deltachat \
+      --set LD_PRELOAD ${sqlcipher}/lib/libsqlcipher${stdenv.hostPlatform.extensions.sharedLibrary} \
       --add-flags $out/lib/node_modules/deltachat-desktop
   '';