nixpkgs/pkgs/tools/misc/getoptions/default.nix
Ryan Schlesinger c05657e608
getoptions: Don't require busybox on macOS
The busybox package is not available on macOS.
getoptions runs checks on installation that (by default) require
busybox. The busybox specific checks are now only run on other
platforms.
2023-05-09 17:06:55 -03:00

37 lines
1.0 KiB
Nix

{ lib, stdenvNoCC, fetchFromGitHub, shellspec, busybox-sandbox-shell, ksh, mksh, yash, zsh }:
stdenvNoCC.mkDerivation rec {
pname = "getoptions";
version = "3.3.0";
src = fetchFromGitHub {
owner = "ko1nksm";
repo = "getoptions";
rev = "v${version}";
hash = "sha256-kUQ0dPjPr/A/btgFQu13ZLklnI284Ij74hCYbGgzF3A=";
};
makeFlags = [ "PREFIX=${placeholder "out"}" ];
doCheck = true;
nativeCheckInputs = [ shellspec ksh mksh yash zsh ]
++ lib.lists.optional (!stdenvNoCC.isDarwin) busybox-sandbox-shell;
preCheck = ''
sed -i '/shellspec -s posh/d' Makefile
'' + lib.strings.optionalString stdenvNoCC.isDarwin ''
sed -i "/shellspec -s 'busybox ash'/d" Makefile
'';
checkTarget = "testall";
meta = with lib; {
description = "An elegant option/argument parser for shell scripts (full support for bash and all POSIX shells)";
homepage = "https://github.com/ko1nksm/getoptions";
license = licenses.cc0;
platforms = platforms.all;
maintainers = with maintainers; [ matrss ];
};
}