about summary refs log tree commit diff
path: root/pkgs/tools/networking/openssh
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@viric.name>2013-02-19 10:50:21 +0100
committerLluís Batlle i Rossell <viric@viric.name>2013-02-19 10:50:50 +0100
commitcde20d69515e38b2fd45f4aa1387f52edb02885c (patch)
treefdecbf28fbf49750cc3b439acacc8c722d126b4a /pkgs/tools/networking/openssh
parente7f1aeb2c53ebe967d1cf243c4749029d2c20538 (diff)
downloadnixlib-cde20d69515e38b2fd45f4aa1387f52edb02885c.tar
nixlib-cde20d69515e38b2fd45f4aa1387f52edb02885c.tar.gz
nixlib-cde20d69515e38b2fd45f4aa1387f52edb02885c.tar.bz2
nixlib-cde20d69515e38b2fd45f4aa1387f52edb02885c.tar.lz
nixlib-cde20d69515e38b2fd45f4aa1387f52edb02885c.tar.xz
nixlib-cde20d69515e38b2fd45f4aa1387f52edb02885c.tar.zst
nixlib-cde20d69515e38b2fd45f4aa1387f52edb02885c.zip
Fixing openssh hpn support for 6.1p1
I had to write a weird download derivation to overcome their download procedure.
Diffstat (limited to 'pkgs/tools/networking/openssh')
-rw-r--r--pkgs/tools/networking/openssh/default.nix25
1 files changed, 21 insertions, 4 deletions
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index c1504697a186..78294d529a7c 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -1,13 +1,30 @@
-{ stdenv, fetchurl, zlib, openssl, perl, libedit, pkgconfig, pam
+{ stdenv, fetchurl, zlib, openssl, perl, libedit, pkgconfig, pam, curl
 , etcDir ? null
 , hpnSupport ? false
 }:
 
 let
 
-  hpnSrc = fetchurl {
-    url = http://www.psc.edu/networking/projects/hpn-ssh/openssh-5.9p1-hpn13v12.diff.gz;
-    sha256 = "0h1h45vic4zks5bc5mvkc50rlgy2c219vn3rmpmalgm5hws9qjbl";
+  # Ugly download
+  hpnSrc = stdenv.mkDerivation {
+    name = "openssh-6.1p1-hpn13v14.diff.gz";
+
+    buildInputs = [ curl ];
+
+    url = "http://www.psc.edu/index.php/component/remository/HPN-SSH/OpenSSH-6.1-Patches/HPN-SSH-Kitchen-Sink-Patch-for-OpenSSH-6.1/";
+
+    phases = [ "installPhase" ];
+
+    installPhase = ''
+      URL2=$(curl -c cookies.jar "$url" | grep "window.location" |
+        sed 's,.*\(http:/.*\)'"'"'},\1,')
+      URL3=$(curl -b cookies.jar -c cookies.jar "$URL2" | grep "window.location" |
+        sed 's,.*\(http:/.*\)'"'"'},\1,')
+      curl -b cookies.jar "$URL3" > $out
+    '';
+
+    outputHashAlgo = "sha256";
+    outputHash = "14das6lim6fxxnx887ssw76ywsbvx3s4q3n43afgh5rgvs4xmnnq";
   };
 
 in