{ stdenv, fetchurl, ncurses, pcre, fetchpatch }: let version = "5.6.2"; documentation = fetchurl { url = "mirror://sourceforge/zsh/zsh-${version}-doc.tar.xz"; sha256 = "05014rg6hkwiv1p56iij8wn2rghmwjxs5qsj3d3xigbwaikk55wq"; }; in stdenv.mkDerivation { name = "zsh-${version}"; src = fetchurl { url = "mirror://sourceforge/zsh/zsh-${version}.tar.xz"; sha256 = "17iffliqcj4hv91g0bd2sxsyfcz51mfyh97sp2iyrs2p0mndc2x5"; }; patches = [ (fetchpatch { name = "search-xdg-data-dirs.patch"; url = https://github.com/zsh-users/zsh/commit/624219e0e4cbfdfb286e707bd2853f2d7b6a4a7d.patch; sha256 = "0i0g7dc0px57vpklm1f4w20vyc92nv15y09r5clvib2kjkxjy2cf"; excludes = [ "ChangeLog" ]; }) ]; buildInputs = [ ncurses pcre ]; configureFlags = [ "--enable-maildir-support" "--enable-multibyte" "--with-tcsetpgrp" "--enable-pcre" "--enable-zprofile=${placeholder "out"}/etc/zprofile" ]; # the zsh/zpty module is not available on hydra # so skip groups Y Z checkFlags = map (T: "TESTNUM=${T}") (stdenv.lib.stringToCharacters "ABCDEVW"); # XXX: think/discuss about this, also with respect to nixos vs nix-on-X postInstall = '' mkdir -p $out/share/info tar xf ${documentation} -C $out/share ln -s $out/share/zsh-*/Doc/zsh.info* $out/share/info/ mkdir -p $out/etc/ cat > $out/etc/zprofile <