nixpkgs/pkgs/tools/misc/expect/default.nix
2020-01-14 08:52:25 +00:00

48 lines
1.3 KiB
Nix

{ stdenv, fetchurl, tcl, makeWrapper, autoreconfHook }:
stdenv.mkDerivation rec {
version = "5.45.4";
pname = "expect";
src = fetchurl {
url = "mirror://sourceforge/expect/Expect/${version}/expect${version}.tar.gz";
sha256 = "0d1cp5hggjl93xwc8h1y6adbnrvpkk0ywkd00inz9ndxn21xm9s9";
};
buildInputs = [ tcl ];
nativeBuildInputs = [ makeWrapper autoreconfHook ];
hardeningDisable = [ "format" ];
postPatch = ''
sed -i "s,/bin/stty,$(type -p stty),g" configure
'';
configureFlags = [
"--with-tcl=${tcl}/lib"
"--with-tclinclude=${tcl}/include"
"--exec-prefix=\${out}"
] ++ (stdenv.lib.optionals stdenv.isAarch64 [
# FIXME(ma27) not entirely sure why this breaks now,
# we should at least find the cause before merging the glibc 2.30
# update.
"--build=aarch64-unknown-linux-gnu"
]);
postInstall = ''
for i in $out/bin/*; do
wrapProgram $i \
--prefix PATH : "${tcl}/bin" \
--prefix TCLLIBPATH ' ' $out/lib/* \
${stdenv.lib.optionalString stdenv.isDarwin "--prefix DYLD_LIBRARY_PATH : $out/lib/expect${version}"}
done
'';
meta = with stdenv.lib; {
description = "A tool for automating interactive applications";
homepage = http://expect.sourceforge.net/;
license = "Expect";
platforms = platforms.unix;
};
}