about summary refs log tree commit diff
path: root/pkgs/tools/networking/openssh
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2006-12-11 03:24:35 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2006-12-11 03:24:35 +0000
commite09f8061b78ba4276de1b5f07825b44ac70fda3f (patch)
treed38cba445e426e1fde7600653bafdce19f69c5f6 /pkgs/tools/networking/openssh
parent5b262e235e0eaceadbd69b0dec4c87c452deda3f (diff)
downloadnixlib-e09f8061b78ba4276de1b5f07825b44ac70fda3f.tar
nixlib-e09f8061b78ba4276de1b5f07825b44ac70fda3f.tar.gz
nixlib-e09f8061b78ba4276de1b5f07825b44ac70fda3f.tar.bz2
nixlib-e09f8061b78ba4276de1b5f07825b44ac70fda3f.tar.lz
nixlib-e09f8061b78ba4276de1b5f07825b44ac70fda3f.tar.xz
nixlib-e09f8061b78ba4276de1b5f07825b44ac70fda3f.tar.zst
nixlib-e09f8061b78ba4276de1b5f07825b44ac70fda3f.zip
* OpenSSH: optionally use PAM.
* Some purity fixes in OpenSSH: it needs Perl, and we now specify a
  location for the empty privsep directory.

svn path=/nixpkgs/trunk/; revision=7310
Diffstat (limited to 'pkgs/tools/networking/openssh')
-rw-r--r--pkgs/tools/networking/openssh/builder.sh13
-rw-r--r--pkgs/tools/networking/openssh/default.nix25
2 files changed, 21 insertions, 17 deletions
diff --git a/pkgs/tools/networking/openssh/builder.sh b/pkgs/tools/networking/openssh/builder.sh
deleted file mode 100644
index e89334f1c5ac..000000000000
--- a/pkgs/tools/networking/openssh/builder.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-source $stdenv/setup
-
-
-if test -n "$xauth"; then
-   configureFlags="--with-xauth=$xauth"
-fi
-
-installPhase() {
-   make install-nokeys
-}
-installPhase=installPhase
-
-genericBuild
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index 5f53b793afd0..7fddc2899404 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -1,17 +1,34 @@
-{stdenv, fetchurl, zlib, openssl, xforwarding ? false, xauth ? null}:
+{ stdenv, fetchurl, zlib, openssl, perl
+, pamSupport ? false, pam ? null
+, xforwarding ? false, xauth ? null
+}:
 
+assert pamSupport -> pam != null;
 assert xforwarding -> xauth != null;
  
 stdenv.mkDerivation {
   name = "openssh-3.8.1p1";
  
-  builder = ./builder.sh;
+  #builder = ./builder.sh;
   src = fetchurl {
     url = http://nix.cs.uu.nl/dist/tarballs/openssh-3.8.1p1.tar.gz;
     md5 = "1dbfd40ae683f822ae917eebf171ca42";
   };
  
-  buildInputs = [zlib openssl
-  (if xforwarding then xauth else null)
+  buildInputs = [zlib openssl perl
+    (if pamSupport then pam else null)
+    (if xforwarding then xauth else null)
   ];
+
+  configureFlags = "
+    ${if xforwarding then "--with-xauth=${xauth}/bin/xauth" else ""}
+    ${if pamSupport then "--with-pam" else ""}
+  ";
+
+  preConfigure = "
+    configureFlags=\"$configureFlags --with-privsep-path=$out/empty\"
+    ensureDir $out/empty
+  ";
+
+  installPhase = "make install-nokeys"; # !!! patchelf etc.
 }