about summary refs log tree commit diff
path: root/pkgs/applications/networking/mailreaders
diff options
context:
space:
mode:
authorNikolay Korotkiy <sikmir@gmail.com>2020-04-15 02:08:48 +0300
committerehmry <ehmry@posteo.net>2020-09-12 11:13:25 +0200
commitffdb3d65e475f96dc7f60d367e44a94174c60c7a (patch)
treecea6b241add43c24e66fa7df735424d5ef0cf7dd /pkgs/applications/networking/mailreaders
parente30fea932c8929e8d69f4d97578640f1efbfe89a (diff)
trojita: enable localization
Diffstat (limited to 'pkgs/applications/networking/mailreaders')
-rw-r--r--pkgs/applications/networking/mailreaders/trojita/default.nix26
-rw-r--r--pkgs/applications/networking/mailreaders/trojita/fix-qttranslations-path.patch13
2 files changed, 38 insertions, 1 deletions
diff --git a/pkgs/applications/networking/mailreaders/trojita/default.nix b/pkgs/applications/networking/mailreaders/trojita/default.nix
index 6f885dd18beb4..52d4d77a40091 100644
--- a/pkgs/applications/networking/mailreaders/trojita/default.nix
+++ b/pkgs/applications/networking/mailreaders/trojita/default.nix
@@ -1,6 +1,7 @@
 { akonadi-contacts
 , cmake
 , fetchgit
+, fetchsvn
 , gnupg
 , gpgme
 , kcontacts
@@ -15,11 +16,14 @@
 , qtkeychain
 , qttools
 , qtwebkit
+, qttranslations
+, substituteAll
+, withI18n ? true
 }:
 
 mkDerivation rec {
   pname = "trojita";
-  version = "0.7.20200706";
+  version = "unstable-2020-07-06";
 
   src = fetchgit {
     url = "https://anongit.kde.org/trojita.git";
@@ -27,6 +31,18 @@ mkDerivation rec {
     sha256 = "0r8nmlqwgsqkk0k8xh32fkwvv6iylj35xq2h8b7l3g03yc342kbn";
   };
 
+  l10n = fetchsvn {
+    url = "svn://anonsvn.kde.org/home/kde/trunk/l10n-kf5";
+    rev = "1566642";
+    sha256 = "0y45fjib153za085la3hqpryycx33dkj3cz8kwzn2w31kvldfl1q";
+  };
+
+  patches = (substituteAll {
+    # See https://github.com/NixOS/nixpkgs/issues/86054
+    src = ./fix-qttranslations-path.patch;
+    inherit qttranslations;
+  });
+
   buildInputs = [
     akonadi-contacts
     gpgme
@@ -48,6 +64,14 @@ mkDerivation rec {
     gnupg
   ];
 
+  postPatch = "echo ${version} > src/trojita-version"
+    + lib.optionalString withI18n ''
+    mkdir -p po
+    for f in `find ${l10n} -name "trojita_common.po"`; do
+      cp $f po/trojita_common_$(echo $f | cut -d/ -f5).po
+    done
+  '';
+
   meta = with lib; {
     description = "A Qt IMAP e-mail client";
     homepage = "http://trojita.flaska.net/";
diff --git a/pkgs/applications/networking/mailreaders/trojita/fix-qttranslations-path.patch b/pkgs/applications/networking/mailreaders/trojita/fix-qttranslations-path.patch
new file mode 100644
index 0000000000000..c4eac3956508d
--- /dev/null
+++ b/pkgs/applications/networking/mailreaders/trojita/fix-qttranslations-path.patch
@@ -0,0 +1,13 @@
+diff --git i/src/Gui/main.cpp w/src/Gui/main.cpp
+index 851db4f1..e997f46e 100644
+--- i/src/Gui/main.cpp
++++ w/src/Gui/main.cpp
+@@ -52,7 +52,7 @@ int main(int argc, char **argv)
+ 
+     QTranslator qtTranslator;
+     qtTranslator.load(QLatin1String("qt_") + QLocale::system().name(),
+-                      QLibraryInfo::location(QLibraryInfo::TranslationsPath));
++                      QLatin1String("@qttranslations@/translations"));
+     app.installTranslator(&qtTranslator);
+ 
+     QLatin1String localeSuffix("/locale");