{ stdenv, fetchurl , libgcrypt, libgpgerror, libtasn1 # Optional Dependencies , pam ? null, libidn ? null, gnutls ? null }: with stdenv; let optPam = shouldUsePkg pam; optLibidn = shouldUsePkg libidn; optGnutls = shouldUsePkg gnutls; in with stdenv.lib; stdenv.mkDerivation rec { name = "shishi-1.0.2"; src = fetchurl { url = "mirror://gnu/shishi/${name}.tar.gz"; sha256 = "032qf72cpjdfffq1yq54gz3ahgqf2ijca4vl31sfabmjzq9q370d"; }; # Fixes support for gcrypt 1.6+ patches = [ ./gcrypt-fix.patch ]; buildInputs = [ libgcrypt libgpgerror libtasn1 optPam optLibidn optGnutls ]; configureFlags = [ (mkOther "sysconfdir" "/etc") (mkOther "localstatedir" "/var") (mkEnable true "libgcrypt" null) (mkEnable (optPam != null) "pam" null) (mkEnable true "ipv6" null) (mkWith (optLibidn != null) "stringprep" null) (mkEnable (optGnutls != null) "starttls" null) (mkEnable true "des" null) (mkEnable true "3des" null) (mkEnable true "aes" null) (mkEnable true "md" null) (mkEnable false "null" null) (mkEnable true "arcfour" null) ]; NIX_CFLAGS_COMPILE = optionalString stdenv.isDarwin "-DBIND_8_COMPAT"; doCheck = true; installFlags = [ "sysconfdir=\${out}/etc" ]; # Fix *.la files postInstall = '' sed -i $out/lib/libshi{sa,shi}.la \ '' + optionalString (optLibidn != null) '' -e 's,\(-lidn\),-L${optLibidn}/lib \1,' \ '' + optionalString (optGnutls != null) '' -e 's,\(-lgnutls\),-L${optGnutls}/lib \1,' \ '' + '' -e 's,\(-lgcrypt\),-L${libgcrypt}/lib \1,' \ -e 's,\(-lgpg-error\),-L${libgpgerror}/lib \1,' \ -e 's,\(-ltasn1\),-L${libtasn1}/lib \1,' ''; meta = { homepage = http://www.gnu.org/software/shishi/; description = "An implementation of the Kerberos 5 network security system"; license = licenses.gpl3Plus; maintainers = with maintainers; [ bjg lovek323 wkennington ]; platforms = platforms.all; }; }