{ lib, stdenv, buildPackages, fetchurl, tcl, makeWrapper, autoreconfHook, fetchpatch }: stdenv.mkDerivation rec { pname = "expect"; version = "5.45.4"; src = fetchurl { url = "mirror://sourceforge/expect/Expect/${version}/expect${version}.tar.gz"; sha256 = "0d1cp5hggjl93xwc8h1y6adbnrvpkk0ywkd00inz9ndxn21xm9s9"; }; patches = [ (fetchpatch { url = "https://raw.githubusercontent.com/buildroot/buildroot/c05e6aa361a4049eabd8b21eb64a34899ef83fc7/package/expect/0001-enable-cross-compilation.patch"; sha256 = "1jwx2l1slidvcpahxbyqs942l81jd62rzbxliyd9lwysk38c8b6b"; }) ]; postPatch = '' sed -i "s,/bin/stty,$(type -p stty),g" configure.in ''; nativeBuildInputs = [ autoreconfHook makeWrapper tcl ]; buildInputs = [ tcl ]; strictDeps = true; hardeningDisable = [ "format" ]; configureFlags = [ "--with-tcl=${buildPackages.tcl}/lib" "--with-tclinclude=${tcl}/include" "--exec-prefix=${placeholder "out"}" ]; postInstall = '' for i in $out/bin/*; do wrapProgram $i \ --prefix PATH : "${tcl}/bin" \ --prefix TCLLIBPATH ' ' $out/lib/* \ ${lib.optionalString stdenv.isDarwin "--prefix DYLD_LIBRARY_PATH : $out/lib/expect${version}"} done ''; outputs = [ "out" "dev" ]; meta = with lib; { description = "A tool for automating interactive applications"; homepage = "http://expect.sourceforge.net/"; license = licenses.publicDomain; platforms = platforms.unix; maintainers = with maintainers; [ SuperSandro2000 ]; }; }