Skip to content

Commit

Permalink
Merge pull request #200981 from dotlambda/deltachat-desktop-1.34
Browse files Browse the repository at this point in the history
deltachat-desktop: 1.30.1 -> 1.34.0
  • Loading branch information
dotlambda committed Nov 28, 2022
2 parents 7fba00d + 6d43ede commit 2eb0a97
Show file tree
Hide file tree
Showing 4 changed files with 37 additions and 98 deletions.
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{ lib
, buildNpmPackage
, copyDesktopItems
, electron_18
, buildGoModule
Expand All @@ -8,9 +9,9 @@
, libdeltachat
, makeDesktopItem
, makeWrapper
, nodePackages
, noto-fonts-emoji
, pkg-config
, python3
, roboto
, rustPlatform
, sqlcipher
Expand All @@ -20,52 +21,48 @@

let
libdeltachat' = libdeltachat.overrideAttrs (old: rec {
version = "1.86.0";
version = "1.102.0";
src = fetchFromGitHub {
owner = "deltachat";
repo = "deltachat-core-rust";
rev = version;
hash = "sha256-VLS93Ffeit2rVmXxYkXcnf8eDA3DC2/wKYZTh56QCk0=";
hash = "sha256-xw/lUNs39nkBrydpcgUBL3j6XrZFafKslxx6zUiElWw=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${old.pname}-${version}";
hash = "sha256-4rpoDQ3o0WdWg/TmazTI+J0hL/MxwHcNMXWMq7GE7Tk=";
hash = "sha256-CiqYKFABHcFSjYUH/qop1xWCoygQJajI7nhv04ElD10=";
};
patches = [
(fetchpatch {
name = "turn-off-hard-errors-for-lints.patch";
url = "https://github.com/deltachat/deltachat-core-rust/commit/7598c50dbaa2abcbd417d96a02743269f666597b.patch";
hash = "sha256-Xss44v6Wf6mL3FK9hH+oFYZ0fBA9rSh4wDrr7nSUibQ=";
})
];
});
esbuild' = esbuild.override {
buildGoModule = args: buildGoModule (args // rec {
version = "0.12.29";
version = "0.14.54";
src = fetchFromGitHub {
owner = "evanw";
repo = "esbuild";
rev = "v${version}";
hash = "sha256-oU++9E3StUoyrMVRMZz8/1ntgPI62M1NoNz9sH/N5Bg=";
hash = "sha256-qCtpy69ROCspRgPKmCV0YY/EOSWiNU/xwDblU0bQp4w=";
};
vendorSha256 = "sha256-QPkBR+FscUc3jOvH7olcGUhM6OW4vxawmNJuRQxPuGs=";
vendorSha256 = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
});
};
in nodePackages.deltachat-desktop.override rec {
in buildNpmPackage rec {
pname = "deltachat-desktop";
version = "1.30.1";
version = "1.34.0";

src = fetchFromGitHub {
owner = "deltachat";
repo = "deltachat-desktop";
rev = "v${version}";
hash = "sha256-gZjZbXiqhFVfThZOsvL/nKkf6MX+E3KB5ldEAIuzBYA=";
hash = "sha256-M2ZLWaxVq9PvxJemwv+7jd0cXKQb6T5VCyLvIRF+9d0=";
};

npmDepsHash = "sha256-wCsPKEgRpPsNmM0HzvS5QjlPnw8COPrOhQRIf+vYeig=";

nativeBuildInputs = [
makeWrapper
pkg-config
python3
] ++ lib.optionals stdenv.isLinux [
copyDesktopItems
];
Expand All @@ -81,20 +78,25 @@ in nodePackages.deltachat-desktop.override rec {
USE_SYSTEM_LIBDELTACHAT = "true";
VERSION_INFO_GIT_REF = src.rev;

postRebuild = ''
preBuild = ''
rm -r node_modules/deltachat-node/node/prebuilds
npm run build4production
'';

postInstall = ''
npmBuildScript = "build4production";

installPhase = ''
runHook preInstall
npm prune --production
install -D $out/lib/node_modules/deltachat-desktop/build/icon.png \
$out/share/icons/hicolor/scalable/apps/deltachat.png
mkdir -p $out/lib/node_modules/deltachat-desktop
cp -r . $out/lib/node_modules/deltachat-desktop
awk '!/^#/ && NF' build/packageignore_list \
| xargs -I {} sh -c "rm -rf {}" || true
| xargs -I {} sh -c "rm -rf $out/lib/node_modules/deltachat-desktop/{}" || true
install -D build/icon.png \
$out/share/icons/hicolor/scalable/apps/deltachat.png
ln -sf ${noto-fonts-emoji}/share/fonts/noto/NotoColorEmoji.ttf \
$out/lib/node_modules/deltachat-desktop/html-dist/fonts/noto/emoji
Expand All @@ -106,6 +108,8 @@ in nodePackages.deltachat-desktop.override rec {
makeWrapper ${electron_18}/bin/electron $out/bin/deltachat \
--set LD_PRELOAD ${sqlcipher}/lib/libsqlcipher${stdenv.hostPlatform.extensions.sharedLibrary} \
--add-flags $out/lib/node_modules/deltachat-desktop
runHook postInstall
'';

desktopItems = lib.singleton (makeDesktopItem {
Expand All @@ -117,7 +121,12 @@ in nodePackages.deltachat-desktop.override rec {
comment = meta.description;
categories = [ "Network" "InstantMessaging" "Chat" ];
startupWMClass = "DeltaChat";
mimeTypes = [ "x-scheme-handler/openpgp4fpr" "x-scheme-handler/mailto" ];
mimeTypes = [
"x-scheme-handler/openpgp4fpr"
"x-scheme-handler/dcaccount"
"x-scheme-handler/dclogin"
"x-scheme-handler/mailto"
];
});

passthru.updateScript = ./update.sh;
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#! /usr/bin/env nix-shell
#! nix-shell -i bash -p coreutils curl gnused jq moreutils nix-prefetch
#! nix-shell -i bash -p coreutils curl gnused jq moreutils nix-prefetch prefetch-npm-deps

set -euo pipefail
cd "$(dirname "$0")"
Expand Down Expand Up @@ -28,18 +28,5 @@ tac default.nix \
| sponge default.nix

src=$(nix-build "$nixpkgs" -A deltachat-desktop.src --no-out-link)

jq '{ name, version, dependencies: (.dependencies + (.devDependencies | del(.["@types/chai","@types/mocha","@types/node-fetch","@typescript-eslint/eslint-plugin","@typescript-eslint/parser","chai","electron-builder","electron-devtools-installer","electron-notarize","eslint","eslint-config-prettier","eslint-plugin-react-hooks","hallmark","mocha","node-fetch","prettier","testcafe","testcafe-browser-provider-electron","testcafe-react-selectors","ts-node","walk"]))) }' \
"$src/package.json" > package.json.new

if cmp --quiet package.json{.new,}; then
echo "package.json not changed, skip updating nodePackages"
rm package.json.new
else
echo "package.json changed, updating nodePackages"
mv package.json{.new,}

pushd ../../../../development/node-packages
./generate.sh
popd
fi
hash=$(prefetch-npm-deps $src/package-lock.json)
sed -i "s,npmDepsHash = \".*\",npmDepsHash = \"$hash\"," default.nix
1 change: 0 additions & 1 deletion pkgs/development/node-packages/node-packages.json
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,6 @@
, "csslint"
, "dat"
, "degit"
, {"deltachat-desktop": "../../applications/networking/instant-messengers/deltachat-desktop"}
, "dhcp"
, "diagnostic-languageserver"
, "dockerfile-language-server-nodejs"
Expand Down

0 comments on commit 2eb0a97

Please sign in to comment.