pkgs/top-level/all-packages.nix, pkgs/tools/networking/openssh: prefer makeOverridable over getPkgConfig to customize openssh

Changed 'openssh' expression to allow for argument overriding instead of
relying on getPkgConfig. While I was at it, I also simplified the build
expression a bit.

svn path=/nixpkgs/trunk/; revision=21868
This commit is contained in:
Peter Simons 2010-05-19 12:26:06 +00:00
parent 3104ba89de
commit 3353ed9c88
2 changed files with 7 additions and 13 deletions

View File

@ -1,11 +1,8 @@
{ stdenv, fetchurl, zlib, openssl, perl, libedit, pkgconfig { stdenv, fetchurl, zlib, openssl, perl, libedit, pkgconfig, pam
, pamSupport ? false, pam ? null
, etcDir ? null , etcDir ? null
, hpnSupport ? false , hpnSupport ? false
}: }:
assert pamSupport -> pam != null;
let let
hpnSrc = fetchurl { hpnSrc = fetchurl {
@ -28,16 +25,14 @@ stdenv.mkDerivation rec {
gunzip -c ${hpnSrc} | patch -p1 gunzip -c ${hpnSrc} | patch -p1
''; '';
patches = [ ./locale_archive.patch ]; patches = [ ./locale_archive.patch ];
buildInputs = buildInputs = [ zlib openssl perl libedit pkgconfig pam ];
[ zlib openssl perl libedit pkgconfig ]
++ stdenv.lib.optional pamSupport pam;
configureFlags = configureFlags =
'' ''
--with-mantype=man --with-mantype=man
--with-libedit=yes --with-libedit=yes
${if pamSupport then "--with-pam" else "--without-pam"} ${if pam != null then "--with-pam" else "--without-pam"}
${if etcDir != null then "--sysconfdir=${etcDir}" else ""} ${if etcDir != null then "--sysconfdir=${etcDir}" else ""}
''; '';

View File

@ -1285,11 +1285,10 @@ let
inherit stdenv makeWrapper ed libopensc_dnie; inherit stdenv makeWrapper ed libopensc_dnie;
}; };
openssh = import ../tools/networking/openssh { openssh = makeOverridable (import ../tools/networking/openssh) {
inherit fetchurl stdenv zlib openssl pam perl libedit pkgconfig; inherit fetchurl stdenv zlib openssl pam perl libedit pkgconfig;
pamSupport = getPkgConfig "openssh" "pam" true; hpnSupport = false;
hpnSupport = getPkgConfig "openssh" "hpn" false; etcDir = "/etc/ssh";
etcDir = getPkgConfig "openssh" "etcDir" "/etc/ssh";
}; };
opensp = import ../tools/text/sgml/opensp { opensp = import ../tools/text/sgml/opensp {