nixpkgs/pkgs/shells/tcsh/default.nix
Profpatsch 4a7f99d55d treewide: with stdenv.lib; in meta -> with lib;
Part of: https://github.com/NixOS/nixpkgs/issues/108938

meta = with stdenv.lib;

is a widely used pattern. We want to slowly remove
the `stdenv.lib` indirection and encourage people
to use `lib` directly. Thus let’s start with the meta
field.

This used a rewriting script to mostly automatically
replace all occurances of this pattern, and add the
`lib` argument to the package header if it doesn’t
exist yet.

The script in its current form is available at
https://cs.tvl.fyi/depot@2f807d7f141068d2d60676a89213eaa5353ca6e0/-/blob/users/Profpatsch/nixpkgs-rewriter/default.nix
2021-01-11 10:38:22 +01:00

51 lines
1.5 KiB
Nix

{ lib, stdenv, fetchurl, fetchpatch
, ncurses
}:
stdenv.mkDerivation rec {
pname = "tcsh";
version = "6.22.03";
src = fetchurl {
urls = [
"http://ftp.funet.fi/pub/mirrors/ftp.astron.com/pub/tcsh/${pname}-${version}.tar.gz"
"ftp://ftp.astron.com/pub/tcsh/${pname}-${version}.tar.gz"
"ftp://ftp.funet.fi/pub/unix/shells/tcsh/${pname}-${version}.tar.gz"
];
sha256 = "sha256-viz9ZT0qDH9QbS3RTBIyS6dJvUhAN75t9Eo5c/UiYrc=";
};
buildInputs = [ ncurses ];
patches = stdenv.lib.optional stdenv.hostPlatform.isMusl
(fetchpatch {
name = "sysmalloc.patch";
url = "https://git.alpinelinux.org/aports/plain/community/tcsh/001-sysmalloc.patch?id=184585c046cdd56512f1a76e426dd799b368f8cf";
sha256 = "1qc6ydxhdfizsbkaxhpn3wib8sfphrw10xnnsxx2prvzg9g2zp67";
});
meta = with lib; {
description = "An enhanced version of the Berkeley UNIX C shell (csh)";
longDescription = ''
tcsh is an enhanced but completely compatible version of the
Berkeley UNIX C shell, csh. It is a command language interpreter
usable both as an interactive login shell and a shell script
command processor.
It includes:
- command-line editor
- programmable word completion
- spelling correction
- history mechanism
- job control
'';
homepage = "https://www.tcsh.org/";
license = licenses.bsd2;
maintainers = with maintainers; [ AndersonTorres ];
platforms = platforms.linux ++ platforms.darwin;
};
passthru = {
shellPath = "/bin/tcsh";
};
}