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.
44 lines
1.6 KiB
Nix
44 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;
|
|
};
|
|
}
|