Merge pull request #208364 from atorres1985-contrib/txr

txr: 280 -> 283
This commit is contained in:
Anderson Torres 2022-12-30 12:26:12 -03:00 committed by GitHub
commit b2a2029a27
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 66 additions and 50 deletions

View file

@ -1,49 +0,0 @@
{ lib, stdenv, fetchurl, libffi, coreutils }:
stdenv.mkDerivation rec {
pname = "txr";
version = "280";
src = fetchurl {
url = "http://www.kylheku.com/cgit/txr/snapshot/${pname}-${version}.tar.bz2";
sha256 = "sha256-1iqWerUehLFPM63ZjJYY6xo9oHoNK7ne/a6M3+4L4so=";
};
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;
};
}

View file

@ -0,0 +1,65 @@
{ lib,
stdenv,
fetchurl,
coreutils,
libffi,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "txr";
version = "283";
src = fetchurl {
url = "http://www.kylheku.com/cgit/txr/snapshot/txr-${finalAttrs.version}.tar.bz2";
hash = "sha256-2TnwxHAiiWEytHpKXrEwQ+ajq19f0lv7ss842kkPs4Y=";
};
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
'';
# Remove failing tests -- 018/chmod tries setting sticky bit
preCheck = ''
rm -rf tests/018/chmod*
'';
# TODO: ship vim plugin separately?
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 <<EOF
au BufRead,BufNewFile *.txr set filetype=txr | set lisp
au BufRead,BufNewFile *.tl,*.tlo set filetype=tl | set lisp
EOF
'';
meta = with lib; {
homepage = "http://nongnu.org/txr";
description = "An Original, New Programming Language for Convenient Data Munging";
longDescription = ''
TXR is a general-purpose, multi-paradigm programming language. It
comprises two languages integrated into a single tool: a text scanning and
extraction language referred to as the TXR Pattern Language (sometimes
just "TXR"), and a general-purpose dialect of Lisp called TXR Lisp.
TXR can be used for everything from "one liner" data transformation tasks
at the command line, to data scanning and extracting scripts, to full
application development in a wide range of areas.
'';
license = licenses.bsd2;
maintainers = with lib.maintainers; [ AndersonTorres dtzWill ];
platforms = platforms.all;
};
})

View file

@ -12540,7 +12540,7 @@ with pkgs;
twurl = callPackage ../tools/misc/twurl { }; twurl = callPackage ../tools/misc/twurl { };
txr = callPackage ../tools/misc/txr { inherit (llvmPackages_latest) stdenv; }; txr = callPackage ../tools/text/txr { };
txt2man = callPackage ../tools/misc/txt2man { }; txt2man = callPackage ../tools/misc/txt2man { };