{ lib , stdenv , fetchurl , coreutils , libffi }: stdenv.mkDerivation (finalAttrs: { pname = "txr"; version = "289"; src = fetchurl { url = "https://www.kylheku.com/cgit/txr/snapshot/txr-${finalAttrs.version}.tar.bz2"; hash = "sha256-1m3QXY1qlVMFpehAYifHkDNQ4hAlO45/6+bbpbMAo3M="; }; buildInputs = [ libffi ]; enableParallelBuilding = true; doCheck = true; checkTarget = "tests"; postPatch = '' substituteInPlace tests/017/realpath.tl --replace /usr/bin /bin substituteInPlace tests/017/realpath.expected --replace /usr/bin /bin substituteInPlace tests/018/process.tl --replace /usr/bin/env ${lib.getBin coreutils}/bin/env ''; preCheck = let disabledTests = lib.concatStringsSep " " [ # - tries to set sticky bits "tests/018/chmod.tl" # - warning: unbound function crypt "tests/018/crypt.tl" ]; in '' rm ${disabledTests} ''; postInstall = '' mkdir -p $out/share/vim-plugins/txr/{syntax,ftdetect} cp {tl,txr}.vim $out/share/vim-plugins/txr/syntax/ cat > $out/share/vim-plugins/txr/ftdetect/txr.vim <