diff options
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix')
-rw-r--r-- | pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix | 44 |
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 ''; |