summary refs log tree commit diff
path: root/pkgs/tools/networking/openssh
diff options
context:
space:
mode:
authorWilliam A. Kennington III <william@wkennington.com>2015-07-06 19:29:45 -0700
committerWilliam A. Kennington III <william@wkennington.com>2015-07-06 19:29:45 -0700
commit81ace52e890655248e654093088fc339758cde75 (patch)
tree6e28bf1097508b8a8b101b82542182b5dd40568d /pkgs/tools/networking/openssh
parent3cfc6fa38a1976b43f50b2956e27b454d2775149 (diff)
downloadnixlib-81ace52e890655248e654093088fc339758cde75.tar
nixlib-81ace52e890655248e654093088fc339758cde75.tar.gz
nixlib-81ace52e890655248e654093088fc339758cde75.tar.bz2
nixlib-81ace52e890655248e654093088fc339758cde75.tar.lz
nixlib-81ace52e890655248e654093088fc339758cde75.tar.xz
nixlib-81ace52e890655248e654093088fc339758cde75.tar.zst
nixlib-81ace52e890655248e654093088fc339758cde75.zip
openssh: Refactor and install sample config files
Diffstat (limited to 'pkgs/tools/networking/openssh')
-rw-r--r--pkgs/tools/networking/openssh/default.nix59
1 files changed, 27 insertions, 32 deletions
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index 15c84a79a870..e0f1e3fc48bc 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -13,10 +13,9 @@ let
     url = mirror://sourceforge/hpnssh/openssh-6.6p1-hpnssh14v5.diff.gz;
     sha256 = "682b4a6880d224ee0b7447241b684330b731018585f1ba519f46660c10d63950";
   };
-  optionalString = stdenv.lib.optionalString;
 
 in
-
+with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "openssh-6.8p1";
 
@@ -25,7 +24,7 @@ stdenv.mkDerivation rec {
     sha256 = "03hnrqvjq6ghg1mp3gkarfxh6g3x1n1vjrzpbc5lh9717vklrxiz";
   };
 
-  prePatch = stdenv.lib.optionalString hpnSupport
+  prePatch = optionalString hpnSupport
     ''
       gunzip -c ${hpnSrc} | patch -p1
       export NIX_LDFLAGS="$NIX_LDFLAGS -lgcc_s"
@@ -34,43 +33,39 @@ stdenv.mkDerivation rec {
   patches = [ ./locale_archive.patch ];
 
   buildInputs = [ zlib openssl libedit pkgconfig pam ]
-    ++ stdenv.lib.optional withKerberos [ kerberos ];
+    ++ optional withKerberos [ kerberos ];
 
   # I set --disable-strip because later we strip anyway. And it fails to strip
   # properly when cross building.
-  configureFlags =
-    ''
-      --with-mantype=man
-      --with-libedit=yes
-      --disable-strip
-      ${if pam != null then "--with-pam" else "--without-pam"}
-      ${optionalString (etcDir != null) "--sysconfdir=${etcDir}"}
-      ${optionalString withKerberos "--with-kerberos5=${kerberos}"}
-      ${optionalString stdenv.isDarwin "--disable-libutil"}
-    '';
-
-  preConfigure =
-    ''
-      configureFlags="$configureFlags --with-privsep-path=$out/empty"
-      mkdir -p $out/empty
-    '';
+  configureFlags = [
+    "--localstatedir=/var"
+    "--with-mantype=man"
+    "--with-libedit=yes"
+    "--disable-strip"
+    (if pam != null then "--with-pam" else "--without-pam")
+  ] ++ optional (etcDir != null) "--sysconfdir=${etcDir}"
+    ++ optional withKerberos "--with-kerberos5=${kerberos}"
+    ++ optional stdenv.isDarwin "--disable-libutil";
+
+  preConfigure = ''
+    configureFlagsArray+=("--with-privsep-path=$out/empty")
+    mkdir -p $out/empty
+  '';
 
   enableParallelBuilding = true;
 
-  postInstall =
-    ''
-      # Install ssh-copy-id, it's very useful.
-      cp contrib/ssh-copy-id $out/bin/
-      chmod +x $out/bin/ssh-copy-id
-      cp contrib/ssh-copy-id.1 $out/share/man/man1/
-
-      mkdir -p $out/etc/ssh
-      cp moduli $out/etc/ssh/
-    '';
+  postInstall = ''
+    # Install ssh-copy-id, it's very useful.
+    cp contrib/ssh-copy-id $out/bin/
+    chmod +x $out/bin/ssh-copy-id
+    cp contrib/ssh-copy-id.1 $out/share/man/man1/
+  '';
 
-  installTargets = "install-nosysconf";
+  installFlags = [
+    "sysconfdir=\${out}/etc/ssh"
+  ];
 
-  meta = with stdenv.lib; {
+  meta = {
     homepage = "http://www.openssh.org/";
     description = "An implementation of the SSH protocol";
     license = stdenv.lib.licenses.bsd2;