summary refs log tree commit diff
path: root/pkgs/tools/security/qdigidoc/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/security/qdigidoc/default.nix')
-rw-r--r--pkgs/tools/security/qdigidoc/default.nix61
1 files changed, 36 insertions, 25 deletions
diff --git a/pkgs/tools/security/qdigidoc/default.nix b/pkgs/tools/security/qdigidoc/default.nix
index 8d520f90c652..398f88ccfb6b 100644
--- a/pkgs/tools/security/qdigidoc/default.nix
+++ b/pkgs/tools/security/qdigidoc/default.nix
@@ -1,43 +1,54 @@
-{ stdenv, fetchurl, cmake, ccid, qttools, qttranslations, pkgconfig, pcsclite
-, hicolor-icon-theme, libdigidocpp, opensc, shared-mime-info, openldap
-, gettext, desktop-file-utils, makeWrapper }:
+{ stdenv, fetchgit, fetchurl, cmake, darkhttpd, gettext, makeWrapper, pkgconfig
+, libdigidocpp, opensc, openldap, openssl, pcsclite, qtbase, qttranslations }:
 
 stdenv.mkDerivation rec {
-
-  version = "3.12.0.1442";
   name = "qdigidoc-${version}";
+  version = "3.13.6";
+
+  src = fetchgit {
+    url = "https://github.com/open-eid/qdigidoc";
+    rev = "v${version}";
+    sha256 = "1qq9fgvkc7fi37ly3kgxksrm4m5rxk9k5s5cig8z0cszsfk6h9lx";
+    fetchSubmodules = true;
+  };
 
-  src = fetchurl {
-    url = "https://installer.id.ee/media/ubuntu/pool/main/q/qdigidoc/qdigidoc_3.12.0.1442.orig.tar.xz";
-    sha256 = "1a7nsi28q57ic99hrb6x83qlvpqvzvk6acbfl6ncny2j4yaxa4jl";
+  tsl = fetchurl {
+    url = "https://ec.europa.eu/information_society/policy/esignature/trusted-list/tl-mp.xml";
+    sha256 = "0llr2fj8vd097hcr1d0xmzdy4jydv0b5j5qlksbjffs22rqgal14";
   };
 
-  patches = [ ./certs.patch ./glibc-2_26.patch ];
+  nativeBuildInputs = [ cmake darkhttpd gettext makeWrapper pkgconfig ];
 
-  unpackPhase = ''
-    mkdir src
-    tar xf $src -C src
-    cd src
+  postPatch = ''
+    substituteInPlace client/CMakeLists.txt \
+      --replace $\{TSL_URL} file://${tsl}
   '';
 
+  patches = [
+    # https://github.com/open-eid/qdigidoc/pull/163
+    ./qt511.patch
+  ];
+
+  buildInputs = [
+    libdigidocpp
+    opensc
+    openldap
+    openssl
+    pcsclite
+    qtbase
+    qttranslations
+  ];
+
   postInstall = ''
     wrapProgram $out/bin/qdigidocclient \
       --prefix LD_LIBRARY_PATH : ${opensc}/lib/pkcs11/
   '';
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake ccid qttools pcsclite qttranslations
-                  hicolor-icon-theme libdigidocpp opensc shared-mime-info
-                  openldap gettext desktop-file-utils makeWrapper
-                ];
-
-  enableParallelBuilding = true;
-
   meta = with stdenv.lib; {
-    description = "Qt based UI application for verifying and signing digital signatures";
-    homepage = http://www.id.ee/;
-    license = licenses.lgpl2;
+    description = "Qt-based UI for signing and verifying DigiDoc documents";
+    homepage = https://www.id.ee/;
+    license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    maintainers = [ maintainers.jagajaga ];
+    maintainers = with maintainers; [ yegortimoshenko ];
   };
 }