nixpkgs/pkgs/shells/rc/default.nix
Dmitry Bogatov 2ac93b0fe8 rc: fix static build
Upstream source still uses old name of SIGCLD instead of SIGCHLD, and
musl libc does not provide shim. This is probably upstream bug.
2022-08-29 19:12:36 -04:00

50 lines
1.5 KiB
Nix

{ lib, stdenv, fetchFromGitHub, autoreconfHook, byacc
, ncurses, readline, pkgsStatic
, historySupport ? false, readlineSupport ? true }:
stdenv.mkDerivation rec {
pname = "rc";
version = "unstable-2021-08-03";
src = fetchFromGitHub {
owner = "rakitzis";
repo = "rc";
rev = "8ca9ab1305c3e30cd064290081d6e5a1fa841d26";
sha256 = "0744ars6y9zzsjr9xazms91qy6bi7msg2gg87526waziahfh4s4z";
};
strictDeps = true;
nativeBuildInputs = [ autoreconfHook byacc ];
# acinclude.m4 wants headers for tgetent().
buildInputs = [ ncurses ]
++ lib.optionals readlineSupport [ readline ];
CPPFLAGS = ["-DSIGCLD=SIGCHLD"];
configureFlags = [
"--enable-def-interp=${stdenv.shell}" #183
] ++ lib.optionals historySupport [ "--with-history" ]
++ lib.optionals readlineSupport [ "--with-edit=readline" ];
#reproducible-build
postPatch = ''
substituteInPlace configure.ac \
--replace "$(git describe || echo '(git description unavailable)')" "${builtins.substring 0 7 src.rev}"
'';
passthru = {
shellPath = "/bin/rc";
tests.static = pkgsStatic.rc;
};
meta = with lib; {
description = "The Plan 9 shell";
longDescription = "Byron Rakitzis' UNIX reimplementation of Tom Duff's Plan 9 shell";
homepage = "https://web.archive.org/web/20180820053030/tobold.org/article/rc";
license = with licenses; zlib;
maintainers = with maintainers; [ ramkromberg ];
mainProgram = "rc";
platforms = with platforms; all;
};
}