{ lib , stdenv , fetchurl , fetchpatch , autoreconfHook , yodl , perl , groff , util-linux , texinfo , ncurses , pcre , buildPackages }: let version = "5.9"; in stdenv.mkDerivation { pname = "zsh"; inherit version; outputs = [ "out" "doc" "info" "man" ]; src = fetchurl { url = "mirror://sourceforge/zsh/zsh-${version}.tar.xz"; sha256 = "sha256-m40ezt1bXoH78ZGOh2dSp92UjgXBoNuhCrhjhC1FrNU="; }; patches = [ # fix location of timezone data for TZ= completion ./tz_completion.patch ]; strictDeps = true; nativeBuildInputs = [ autoreconfHook perl groff texinfo pcre] ++ lib.optionals stdenv.isLinux [ util-linux yodl ]; buildInputs = [ ncurses pcre ]; configureFlags = [ "--enable-maildir-support" "--enable-multibyte" "--with-tcsetpgrp" "--enable-pcre" "--enable-zprofile=${placeholder "out"}/etc/zprofile" "--disable-site-fndir" ]; # the zsh/zpty module is not available on hydra # so skip groups Y Z checkFlags = map (T: "TESTNUM=${T}") (lib.stringToCharacters "ABCDEVW"); # XXX: think/discuss about this, also with respect to nixos vs nix-on-X postInstall = '' make install.info install.html mkdir -p $out/etc/ cat > $out/etc/zprofile <