nixpkgs/pkgs/tools/security/lynis/default.nix
stuebinm ff1a94e523 treewide: add meta.mainProgram to packages with a single binary
The nixpkgs-unstable channel's programs.sqlite was used to identify
packages producing exactly one binary, and these automatically added
to their package definitions wherever possible.
2024-03-19 03:14:51 +01:00

40 lines
1.1 KiB
Nix

{ lib, stdenv, makeWrapper, fetchFromGitHub, gawk, installShellFiles }:
stdenv.mkDerivation rec {
pname = "lynis";
version = "3.1.1";
src = fetchFromGitHub {
owner = "CISOfy";
repo = pname;
rev = version;
sha256 = "sha256-DdsBGISKZuqDwSeuy8/73qskP3XoO3QRT7+bkKIJcBU=";
};
nativeBuildInputs = [ installShellFiles makeWrapper ];
postPatch = ''
grep -rl '/usr/local/lynis' ./ | xargs sed -i "s@/usr/local/lynis@$out/share/lynis@g"
'';
installPhase = ''
install -d $out/bin $out/share/lynis/plugins
cp -r include db default.prf $out/share/lynis/
cp -a lynis $out/bin
wrapProgram "$out/bin/lynis" --prefix PATH : ${lib.makeBinPath [ gawk ]}
installManPage lynis.8
installShellCompletion --bash --name lynis.bash \
extras/bash_completion.d/lynis
'';
meta = with lib; {
description = "Security auditing tool for Linux, macOS, and UNIX-based systems";
mainProgram = "lynis";
homepage = "https://cisofy.com/lynis/";
license = licenses.gpl3Only;
platforms = platforms.unix;
maintainers = [ maintainers.ryneeverett ];
};
}