about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/tools/security/thc-hydra/default.nix39
1 files changed, 23 insertions, 16 deletions
diff --git a/pkgs/tools/security/thc-hydra/default.nix b/pkgs/tools/security/thc-hydra/default.nix
index 252d73b479b6..14fc89e91708 100644
--- a/pkgs/tools/security/thc-hydra/default.nix
+++ b/pkgs/tools/security/thc-hydra/default.nix
@@ -1,30 +1,37 @@
-{ stdenv, lib, fetchurl, zlib, openssl, ncurses, libidn, pcre, libssh, mysql, postgresql
+{ stdenv, lib, fetchFromGitHub, zlib, openssl, ncurses, libidn, pcre, libssh, mysql, postgresql
 , withGUI ? false, makeWrapper, pkgconfig, gtk2 }:
 
-let
-  makeDirs = output: subDir: pkgs: lib.concatStringsSep " " (map (path: lib.getOutput output path + "/" + subDir) pkgs);
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "thc-hydra";
-  version = "8.5";
+  version = "9.0";
 
-  src = fetchurl {
-    url = "http://www.thc.org/releases/hydra-${version}.tar.gz";
-    sha256 = "0vfx6xwmw0r7nd0s232y7rckcj58fc1iqjgp4s56rakpz22b4yjm";
+  src = fetchFromGitHub {
+    owner = "vanhauser-thc";
+    repo = "thc-hydra";
+    rev = "v${version}";
+    sha256 = "09d2f55wky1iabnl871d4r6dyyvr8zhp47d9j1p6d0pvdv93kl4z";
   };
 
-  preConfigure = ''
+  postPatch = let
+    makeDirs = output: subDir: lib.concatStringsSep " " (map (path: lib.getOutput output path + "/" + subDir) buildInputs);
+  in ''
     substituteInPlace configure \
-      --replace "\$LIBDIRS" "${makeDirs "lib" "lib" buildInputs}" \
-      --replace "\$INCDIRS" "${makeDirs "dev" "include" buildInputs}" \
+      --replace '$LIBDIRS' "${makeDirs "lib" "lib"}" \
+      --replace '$INCDIRS' "${makeDirs "dev" "include"}" \
       --replace "/usr/include/math.h" "${lib.getDev stdenv.cc.libc}/include/math.h" \
       --replace "libcurses.so" "libncurses.so" \
       --replace "-lcurses" "-lncurses"
   '';
 
   nativeBuildInputs = lib.optionals withGUI [ pkgconfig makeWrapper ];
-  buildInputs = [ zlib openssl ncurses libidn pcre libssh mysql.connector-c postgresql ]
-                ++ lib.optional withGUI gtk2;
+
+  buildInputs = [
+    zlib openssl ncurses libidn pcre libssh mysql.connector-c postgresql
+  ] ++ lib.optional withGUI gtk2;
+
+  enableParallelBuilding = true;
+
+  DATADIR = "/share/${pname}";
 
   postInstall = lib.optionalString withGUI ''
     wrapProgram $out/bin/xhydra \
@@ -33,9 +40,9 @@ in stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A very fast network logon cracker which support many different services";
+    homepage = "https://www.thc.org/thc-hydra/";
     license = licenses.agpl3;
-    homepage = https://www.thc.org/thc-hydra/;
-    maintainers = with maintainers; [offline];
+    maintainers = with maintainers; [ offline ];
     platforms = platforms.linux;
   };
 }