nixpkgs/pkgs/by-name/ly/lynis/package.nix
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00

40 lines
1.1 KiB
Nix

{ lib, stdenv, makeWrapper, fetchFromGitHub, gawk, installShellFiles }:
stdenv.mkDerivation rec {
pname = "lynis";
version = "3.1.2";
src = fetchFromGitHub {
owner = "CISOfy";
repo = pname;
rev = version;
sha256 = "sha256-K3+E3ODXti88wGE3trxZYTKPe7tYfPI85C/5jXea2uw=";
};
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 ];
};
}