depot/third_party/nixpkgs/pkgs/tools/misc/txr/default.nix
Default email 02cf88bb76 Project import generated by Copybara.
GitOrigin-RevId: c4a0efdd5a728e20791b8d8d2f26f90ac228ee8d
2022-08-12 15:06:08 +03:00

49 lines
1.3 KiB
Nix

{ lib, stdenv, fetchurl, libffi, coreutils }:
stdenv.mkDerivation rec {
pname = "txr";
version = "278";
src = fetchurl {
url = "http://www.kylheku.com/cgit/txr/snapshot/${pname}-${version}.tar.bz2";
sha256 = "sha256-RwPdDQGFL851eegQfMb8xHxC8AP39heSIALXjp/5/cw=";
};
buildInputs = [ libffi ];
enableParallelBuilding = true;
doCheck = true;
checkTarget = "tests";
postPatch = ''
# Fixup references to /usr/bin in tests
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
'';
# Remove failing tests -- 018/chmod tries setting sticky bit
preCheck = "rm -rf tests/018/chmod*";
postInstall = ''
d=$out/share/vim-plugins/txr
mkdir -p $d/{syntax,ftdetect}
cp {tl,txr}.vim $d/syntax/
cat > $d/ftdetect/txr.vim <<EOF
au BufRead,BufNewFile *.txr set filetype=txr | set lisp
au BufRead,BufNewFile *.tl,*.tlo set filetype=tl | set lisp
EOF
'';
meta = with lib; {
description = "Programming language for convenient data munging";
license = licenses.bsd2;
homepage = "http://nongnu.org/txr";
maintainers = with lib.maintainers; [ dtzWill ];
platforms = platforms.all;
};
}