nixpkgs/pkgs/servers/dante/default.nix
Adam Joseph 17ceaffab1 dante: disable getaddrinfo() checks if cross
Prior to this commit, dante's configure-time getaddrinfo() checks
were disabled only if stdenv.hostPlatform.isMips64.

These checks must also be disabled if the buildPlatform cannot
execute hostPlatform binaries.  This commit factors out the control
of this disablement as a flag and adds an additional situation in
which that flag is enabled.
2023-04-22 16:16:02 +03:00

43 lines
1.6 KiB
Nix

{ lib, stdenv, fetchurl, fetchpatch, autoreconfHook
, pam, libkrb5, cyrus_sasl, miniupnpc, libxcrypt }:
let
remove_getaddrinfo_checks = stdenv.hostPlatform.isMips64 || !(stdenv.buildPlatform.canExecute stdenv.hostPlatform);
in
stdenv.mkDerivation rec {
pname = "dante";
version = "1.4.3";
src = fetchurl {
url = "https://www.inet.no/dante/files/${pname}-${version}.tar.gz";
sha256 = "0pbahkj43rx7rmv2x40mf5p3g3x9d6i2sz7pzglarf54w5ghd2j1";
};
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ pam libkrb5 cyrus_sasl miniupnpc libxcrypt ];
configureFlags = if !stdenv.isDarwin
then [ "--with-libc=libc.so.6" ]
else [ "--with-libc=libc${stdenv.targetPlatform.extensions.sharedLibrary}" ];
dontAddDisableDepTrack = stdenv.isDarwin;
patches = lib.optionals remove_getaddrinfo_checks [
(fetchpatch {
name = "0002-osdep-m4-Remove-getaddrinfo-too-low-checks.patch";
url = "https://raw.githubusercontent.com/buildroot/buildroot/master/package/dante/0002-osdep-m4-Remove-getaddrinfo-too-low-checks.patch";
sha256 = "sha256-e+qF8lB5tkiA7RlJ+tX5O6KxQrQp33RSPdP1TxU961Y=";
}) ];
postPatch = ''
substituteInPlace include/redefgen.sh --replace 'PATH=/bin:/usr/bin:/sbin:/usr/sbin' ""
'';
meta = with lib; {
description = "A circuit-level SOCKS client/server that can be used to provide convenient and secure network connectivity";
homepage = "https://www.inet.no/dante/";
maintainers = [ maintainers.arobyn ];
license = licenses.bsdOriginal;
platforms = platforms.linux ++ platforms.darwin;
};
}