diff options
author | Michael Weiss <dev.primeos@gmail.com> | 2021-05-14 21:59:39 +0200 |
---|---|---|
committer | Michael Weiss <dev.primeos@gmail.com> | 2021-05-14 22:54:38 +0200 |
commit | 45bd7b39a444c904986324b5f7c46ba867612575 (patch) | |
tree | 87e8089f2f6236a4e67671a08ca46d52d6325027 /pkgs/applications/networking/instant-messengers/signal-desktop/default.nix | |
parent | 940dfa99401c04c78bc530c72ecba6f6ccee62e8 (diff) | |
download | nixpkgs-45bd7b39a444c904986324b5f7c46ba867612575.tar nixpkgs-45bd7b39a444c904986324b5f7c46ba867612575.tar.gz nixpkgs-45bd7b39a444c904986324b5f7c46ba867612575.tar.bz2 nixpkgs-45bd7b39a444c904986324b5f7c46ba867612575.tar.lz nixpkgs-45bd7b39a444c904986324b5f7c46ba867612575.tar.xz nixpkgs-45bd7b39a444c904986324b5f7c46ba867612575.tar.zst nixpkgs-45bd7b39a444c904986324b5f7c46ba867612575.zip |
signal-desktop: Add a Python wrapper to re-encrypt DBs
This is super hacky... :o But then again it should at least prevent data loss. Note: At least this isn't required for NixOS 21.05.
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/signal-desktop/default.nix')
-rw-r--r-- | pkgs/applications/networking/instant-messengers/signal-desktop/default.nix | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix index 38d52b26bff..e1ba5884de7 100644 --- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix @@ -10,6 +10,9 @@ , hunspellDicts, spellcheckerLanguage ? null # E.g. "de_DE" # For a full list of available languages: # $ cat pkgs/development/libraries/hunspell/dictionaries.nix | grep "dictFileName =" | awk '{ print $3 }' +, python3 +, gnome +, sqlcipher }: let @@ -112,7 +115,7 @@ in stdenv.mkDerivation rec { # Symlink to bin mkdir -p $out/bin - ln -s $out/lib/Signal/signal-desktop $out/bin/signal-desktop + ln -s $out/lib/Signal/signal-desktop $out/bin/signal-desktop-unwrapped runHook postInstall ''; @@ -137,6 +140,16 @@ in stdenv.mkDerivation rec { patchelf --add-needed ${libpulseaudio}/lib/libpulse.so $out/lib/Signal/resources/app.asar.unpacked/node_modules/ringrtc/build/linux/libringrtc.node ''; + postFixup = '' + # This hack is temporarily required to avoid data-loss for users: + cp ${./db-reencryption-wrapper.py} $out/bin/signal-desktop + substituteInPlace $out/bin/signal-desktop \ + --replace '@PYTHON@' '${python3}/bin/python3' \ + --replace '@ZENITY@' '${gnome.zenity}/bin/zenity' \ + --replace '@SQLCIPHER@' '${sqlcipher}/bin/sqlcipher' \ + --replace '@SIGNAL-DESKTOP@' "$out/bin/signal-desktop-unwrapped" + ''; + # Tests if the application launches and waits for "Link your phone to Signal Desktop": passthru.tests.application-launch = nixosTests.signal-desktop; |