summary refs log tree commit diff
path: root/pkgs/tools/networking/openssh
diff options
context:
space:
mode:
authorDmitry Kalinkin <dmitry.kalinkin@gmail.com>2022-01-17 13:16:53 -0500
committerDmitry Kalinkin <dmitry.kalinkin@gmail.com>2022-01-19 09:12:27 -0500
commitb7480c8674b437d80719046360be668084cfeddf (patch)
treeb90c391fc7c5d3518be36574945e8073d5aec234 /pkgs/tools/networking/openssh
parentbd05750ca6786ceae376a3e8d480c32c259d07e6 (diff)
downloadnixpkgs-b7480c8674b437d80719046360be668084cfeddf.tar
nixpkgs-b7480c8674b437d80719046360be668084cfeddf.tar.gz
nixpkgs-b7480c8674b437d80719046360be668084cfeddf.tar.bz2
nixpkgs-b7480c8674b437d80719046360be668084cfeddf.tar.lz
nixpkgs-b7480c8674b437d80719046360be668084cfeddf.tar.xz
nixpkgs-b7480c8674b437d80719046360be668084cfeddf.tar.zst
nixpkgs-b7480c8674b437d80719046360be668084cfeddf.zip
pkgsStatic.openssh: fix build
Remove reference to libredirect for cross builds, as for those the tests are disabled:
https://github.com/NixOS/nixpkgs/blob/4818f809a92b2ef8d8c002c10a29f1080106ee81/pkgs/stdenv/generic/make-derivation.nix#L103
Diffstat (limited to 'pkgs/tools/networking/openssh')
-rw-r--r--pkgs/tools/networking/openssh/common.nix20
1 files changed, 3 insertions, 17 deletions
diff --git a/pkgs/tools/networking/openssh/common.nix b/pkgs/tools/networking/openssh/common.nix
index 229edd37eee..bd127b9092c 100644
--- a/pkgs/tools/networking/openssh/common.nix
+++ b/pkgs/tools/networking/openssh/common.nix
@@ -63,22 +63,6 @@ stdenv.mkDerivation rec {
     # Setting LD causes `configure' and `make' to disagree about which linker
     # to use: `configure' wants `gcc', but `make' wants `ld'.
     unset LD
-  ''
-  # Upstream build system does not support static build, so we fall back
-  # on fragile patching of configure script.
-  #
-  # libedit is found by pkg-config, but without --static flag, required
-  # to get also transitive dependencies for static linkage, hence sed
-  # expression.
-  #
-  # Kerberos can be found either by krb5-config or by fall-back shell
-  # code in openssh's configure.ac. Neither of them support static
-  # build, but patching code for krb5-config is simpler, so to get it
-  # into PATH, libkrb5.dev is added into buildInputs.
-  + optionalString stdenv.hostPlatform.isStatic ''
-    sed -i "s,PKGCONFIG --libs,PKGCONFIG --libs --static,g" configure
-    sed -i 's#KRB5CONF --libs`#KRB5CONF --libs` -lkrb5support -lkeyutils#g' configure
-    sed -i 's#KRB5CONF --libs gssapi`#KRB5CONF --libs gssapi` -lkrb5support -lkeyutils#g' configure
   '';
 
   # I set --disable-strip because later we strip anyway. And it fails to strip
@@ -98,6 +82,8 @@ stdenv.mkDerivation rec {
     ++ optional (!linkOpenssl) "--without-openssl"
     ++ extraConfigureFlags;
 
+  ${if stdenv.hostPlatform.isStatic then "NIX_LDFLAGS" else null}= [ "-laudit" ] ++ lib.optionals withKerberos [ "-lkeyutils" ];
+
   buildFlags = [ "SSH_KEYSIGN=ssh-keysign" ];
 
   enableParallelBuilding = true;
@@ -107,7 +93,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
   enableParallelChecking = false;
   checkInputs = optional (!stdenv.isDarwin) hostname;
-  preCheck = ''
+  preCheck = lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
     # construct a dummy HOME
     export HOME=$(realpath ../dummy-home)
     mkdir -p ~/.ssh