From 81ace52e890655248e654093088fc339758cde75 Mon Sep 17 00:00:00 2001 From: "William A. Kennington III" Date: Mon, 6 Jul 2015 19:29:45 -0700 Subject: [PATCH] openssh: Refactor and install sample config files --- pkgs/tools/networking/openssh/default.nix | 57 +++++++++++------------ 1 file changed, 26 insertions(+), 31 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"} - ''; + 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 = - '' - configureFlags="$configureFlags --with-privsep-path=$out/empty" - mkdir -p $out/empty - ''; + 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/ + 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/ - ''; + installFlags = [ + "sysconfdir=\${out}/etc/ssh" + ]; - installTargets = "install-nosysconf"; - - meta = with stdenv.lib; { + meta = { homepage = "http://www.openssh.org/"; description = "An implementation of the SSH protocol"; license = stdenv.lib.licenses.bsd2;