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