summary refs log tree commit diff
path: root/pkgs/tools/security/monkeysphere/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/tools/security/monkeysphere/default.nix')
-rw-r--r--pkgs/tools/security/monkeysphere/default.nix23
1 files changed, 20 insertions, 3 deletions
diff --git a/pkgs/tools/security/monkeysphere/default.nix b/pkgs/tools/security/monkeysphere/default.nix
index f4def72b728c..228695878dcc 100644
--- a/pkgs/tools/security/monkeysphere/default.nix
+++ b/pkgs/tools/security/monkeysphere/default.nix
@@ -1,27 +1,44 @@
 { stdenv, fetchurl, makeWrapper
 , perl, libassuan, libgcrypt
 , perlPackages, lockfileProgs, gnupg
+# For the tests:
+, bash, openssh, which, socat, cpio, hexdump
 }:
 
 stdenv.mkDerivation rec {
   name = "monkeysphere-${version}";
-  version = "0.41";
+  version = "0.42";
 
   src = fetchurl {
     url = "http://archive.monkeysphere.info/debian/pool/monkeysphere/m/monkeysphere/monkeysphere_${version}.orig.tar.gz";
-    sha256 = "0jz7kwkwgylqprnl8bwvl084s5gjrilza77ln18i3f6x48b2y6li";
+    sha256 = "1haqgjxm8v2xnhc652lx79p2cqggb9gxgaf19w9l9akar2qmdjf1";
   };
 
   patches = [ ./monkeysphere.patch ];
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ perl libassuan libgcrypt ];
+  buildInputs = [ perl libassuan libgcrypt ]
+    ++ stdenv.lib.optional doCheck
+      ([ gnupg openssh which socat cpio hexdump ] ++
+      (with perlPackages; [ CryptOpenSSLRSA CryptOpenSSLBignum ]));
 
   makeFlags = ''
     PREFIX=/
     DESTDIR=$(out)
   '';
 
+  # Not all checks pass yet (NixOS specific problems) and the tests "drain"
+  # entropy (apparently GnuPG still uses /dev/random).
+  doCheck = false;
+  preCheck = ''
+    patchShebangs tests/keytrans
+    patchShebangs src/share/keytrans
+    patchShebangs src/share/checkperms
+    sed -i "s,/usr/bin/env\ bash,${bash}/bin/bash," tests/basic
+    sed -i "s,/usr/sbin/sshd,${openssh}/bin/sshd," tests/basic
+    sed -i "s/<(hd/<(hexdump/" tests/keytrans
+  '';
+
   postFixup =
     let wrapperArgs = runtimeDeps:
           "--prefix PERL5LIB : "