9 stdenv.mkDerivation (finalAttrs: {
14 url = "https://www.kylheku.com/cgit/txr/snapshot/txr-${finalAttrs.version}.tar.bz2";
15 hash = "sha256-ScDxAfPuVJFZw72Q7gxDTOHFc+T+I+12T4LnMHWjECM=";
18 buildInputs = [ libffi ];
20 enableParallelBuilding = true;
23 checkTarget = "tests";
26 substituteInPlace tests/017/realpath.tl --replace /usr/bin /bin
27 substituteInPlace tests/017/realpath.expected --replace /usr/bin /bin
29 substituteInPlace tests/018/process.tl --replace /usr/bin/env ${lib.getBin coreutils}/bin/env
34 disabledTests = lib.concatStringsSep " " [
35 # - tries to set sticky bits
37 # - warning: unbound function crypt
46 mkdir -p $out/share/vim-plugins/txr/{syntax,ftdetect}
48 cp {tl,txr}.vim $out/share/vim-plugins/txr/syntax/
50 cat > $out/share/vim-plugins/txr/ftdetect/txr.vim <<EOF
51 au BufRead,BufNewFile *.txr set filetype=txr | set lisp
52 au BufRead,BufNewFile *.tl,*.tlo set filetype=tl | set lisp
54 mkdir -p $out/share/nvim
55 ln -s $out/share/vim-plugins/txr $out/share/nvim/site
59 homepage = "https://nongnu.org/txr";
60 description = "Original, New Programming Language for Convenient Data Munging";
62 TXR is a general-purpose, multi-paradigm programming language. It
63 comprises two languages integrated into a single tool: a text scanning and
64 extraction language referred to as the TXR Pattern Language (sometimes
65 just "TXR"), and a general-purpose dialect of Lisp called TXR Lisp.
67 TXR can be used for everything from "one liner" data transformation tasks
68 at the command line, to data scanning and extracting scripts, to full
69 application development in a wide range of areas.
71 changelog = "https://www.kylheku.com/cgit/txr/tree/RELNOTES?h=txr-${finalAttrs.version}";
72 license = lib.licenses.bsd2;
73 maintainers = with lib.maintainers; [
77 platforms = lib.platforms.all;