git.iko.soy/typeable/nixpkgs
on master help sign in
Merge pull request #146201 from dotlambda/libdeltachat-1.65.0

libdeltachat: 1.64.0 -> 1.65.0

commit8607c563a2d00630e5f665554449699bb36ff0bb authorRobert Schütz <nix@dotlambda.de> dateWed 17 Nov 2021, 10:04 (5 years ago) parent92377ca83e069f
4 files changed+79−9
pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix+29−1 pkgs/applications/networking/instant-messengers/deltachat-desktop/no-static-lib.patch+39 pkgs/applications/networking/instant-messengers/deltachat-desktop/update.sh+8−5 pkgs/development/libraries/libdeltachat/default.nix+3−3
pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix+29−1
@@ -3,6 +3,7 @@
33, electron
44, esbuild
55, fetchFromGitHub
6+, fetchpatch
67, libdeltachat
78, makeDesktopItem
89, makeWrapper
@@ -14,6 +15,33 @@
1415}:
1516
1617let
18+ libdeltachat' = libdeltachat.overrideAttrs (old: rec {
19+ version = "1.60.0";
20+ src = fetchFromGitHub {
21+ owner = "deltachat";
22+ repo = "deltachat-core-rust";
23+ rev = version;
24+ sha256 = "1agm5xyaib4ynmw4mhgmkhh4lnxs91wv0q9i1zfihv2vkckfm2s2";
25+ };
26+ cargoDeps = rustPlatform.fetchCargoTarball {
27+ inherit src;
28+ name = "${old.pname}-${version}";
29+ sha256 = "09d3mw2hb1gmqg7smaqwnfm7izw40znl0h1dz7s2imms2cnkjws1";
30+ };
31+ patches = [
32+ # https://github.com/deltachat/deltachat-core-rust/pull/2589
33+ (fetchpatch {
34+ url = "https://github.com/deltachat/deltachat-core-rust/commit/408467e85d04fbbfd6bed5908d84d9e995943487.patch";
35+ sha256 = "1j2ywaazglgl6370js34acrg0wrh0b7krqg05dfjf65n527lzn59";
36+ })
37+ ./no-static-lib.patch
38+ # https://github.com/deltachat/deltachat-core-rust/pull/2660
39+ (fetchpatch {
40+ url = "https://github.com/deltachat/deltachat-core-rust/commit/8fb5e038a97d8ae68564c885d61b93127a68366d.patch";
41+ sha256 = "088pzfrrkgfi4646dc72404s3kykcpni7hgkppalwlzg0p4is41x";
42+ })
43+ ];
44+ });
1745 electronExec = if stdenv.isDarwin then
1846 "${electron}/Applications/Electron.app/Contents/MacOS/Electron"
1947 else
@@ -38,7 +66,7 @@ in nodePackages.deltachat-desktop.override rec {
3866 ];
3967
4068 buildInputs = [
41− libdeltachat
69+ libdeltachat'
4270 ] ++ lib.optionals stdenv.isDarwin [
4371 CoreServices
4472 ];
pkgs/applications/networking/instant-messengers/deltachat-desktop/no-static-lib.patchnew file+39
@@ -0,0 +1,39 @@
1+diff --git a/CMakeLists.txt b/CMakeLists.txt
2+index fe7abe08..acdbe0d6 100644
3+--- a/CMakeLists.txt
4++++ b/CMakeLists.txt
5+@@ -13,7 +13,6 @@ find_program(CARGO cargo)
6+
7+ add_custom_command(
8+ OUTPUT
9+- "target/release/libdeltachat.a"
10+ "target/release/libdeltachat.${DYNAMIC_EXT}"
11+ "target/release/pkgconfig/deltachat.pc"
12+ COMMAND
13+@@ -38,13 +37,11 @@ add_custom_target(
14+ lib_deltachat
15+ ALL
16+ DEPENDS
17+- "target/release/libdeltachat.a"
18+ "target/release/libdeltachat.${DYNAMIC_EXT}"
19+ "target/release/pkgconfig/deltachat.pc"
20+ )
21+
22+ include(GNUInstallDirs)
23+ install(FILES "deltachat-ffi/deltachat.h" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
24+-install(FILES "target/release/libdeltachat.a" DESTINATION ${CMAKE_INSTALL_LIBDIR})
25+ install(FILES "target/release/libdeltachat.${DYNAMIC_EXT}" DESTINATION ${CMAKE_INSTALL_LIBDIR})
26+ install(FILES "target/release/pkgconfig/deltachat.pc" DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
27+diff --git a/deltachat-ffi/Cargo.toml b/deltachat-ffi/Cargo.toml
28+index a34a27ba..cf354abb 100644
29+--- a/deltachat-ffi/Cargo.toml
30++++ b/deltachat-ffi/Cargo.toml
31+@@ -12,7 +12,7 @@ categories = ["cryptography", "std", "email"]
32+
33+ [lib]
34+ name = "deltachat"
35+-crate-type = ["cdylib", "staticlib"]
36++crate-type = ["cdylib"]
37+
38+ [dependencies]
39+ deltachat = { path = "../", default-features = false }
pkgs/applications/networking/instant-messengers/deltachat-desktop/update.sh+8−5
@@ -1,5 +1,5 @@
11#! /usr/bin/env nix-shell
2−#! nix-shell -i bash -p curl jq nix-prefetch
2+#! nix-shell -i bash -p coreutils curl gnused jq moreutils nix-prefetch
33
44set -euo pipefail
55cd "$(dirname "$0")"
@@ -13,7 +13,7 @@ rev=$(
1313 jq 'map(select(.prerelease | not)) | .[0].tag_name' --raw-output
1414)
1515ver=$(echo "$rev" | sed 's/^v//')
16−old_ver=$(sed -n 's/.*\bversion = "\(.*\)".*/\1/p' default.nix)
16+old_ver=$(tac default.nix | sed -n 's/.*\bversion = "\(.*\)".*/\1/p' | head -1)
1717if [ "$ver" = "$old_ver" ]; then
1818 echo "Up to date: $ver"
1919 exit
@@ -21,9 +21,12 @@ fi
2121echo "$old_ver -> $ver"
2222
2323sha256=$(nix-prefetch -f "$nixpkgs" deltachat-desktop --rev "$rev")
24−sed -e "s#\\bversion = \".*\"#version = \"$ver\"#" \
25− -e "s#\\bsha256 = \".*\"#sha256 = \"$sha256\"#" \
26− -i default.nix
24+tac default.nix \
25+ | sed -e "0,/version = \".*\"/s//version = \"$ver\"/" \
26+ -e "0,/sha256 = \".*\"/s//sha256 = \"$sha256\"/" \
27+ | tac \
28+ | sponge default.nix
29+
2730src=$(nix-build "$nixpkgs" -A deltachat-desktop.src --no-out-link)
2831
2932jq '{ name, version, dependencies: (.dependencies + (.devDependencies | del(.["@typescript-eslint/eslint-plugin","@typescript-eslint/parser","esbuild","electron-builder","electron-devtools-installer","electron-notarize","esbuild","eslint","eslint-config-prettier","eslint-plugin-react-hooks","hallmark","prettier","tape","testcafe","testcafe-browser-provider-electron","testcafe-react-selectors","walk"]))) }' \
pkgs/development/libraries/libdeltachat/default.nix+3−3
@@ -15,13 +15,13 @@
1515
1616stdenv.mkDerivation rec {
1717 pname = "libdeltachat";
18− version = "1.64.0";
18+ version = "1.65.0";
1919
2020 src = fetchFromGitHub {
2121 owner = "deltachat";
2222 repo = "deltachat-core-rust";
2323 rev = version;
24− sha256 = "04a1ncikapx53jjrx0ac1qi907wlj6javylz4aksg4nfbph6y9j4";
24+ sha256 = "1k906pll4k8bc2xc9qd9g7q10rikbij2sy0w2wg9mf335rfym6z4";
2525 };
2626
2727 patches = [
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
3333 cargoDeps = rustPlatform.fetchCargoTarball {
3434 inherit src;
3535 name = "${pname}-${version}";
36− sha256 = "0skrzxn99c1gqil7z0dv0xhg883k98v6mh96nycf7whl2d25965x";
36+ sha256 = "0jc9kyn5h3cn2ni5h3km47sfprpxr7hc96ca01yal2zyksm7zqxn";
3737 };
3838
3939 nativeBuildInputs = [