nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 ansible-lint,
3 bats,
4 cmake-lint,
5 cmake,
6 fetchFromGitHub,
7 lib,
8 libxml2,
9 libxslt,
10 linkchecker,
11 openscap,
12 python3Packages,
13 stdenv,
14 shellcheck,
15 yamllint,
16}:
17
18stdenv.mkDerivation (finalAttrs: {
19 pname = "scap-security-guide";
20 version = "0.1.78";
21
22 src = fetchFromGitHub {
23 owner = "ComplianceAsCode";
24 repo = "content";
25 tag = "v${finalAttrs.version}";
26 hash = "sha256-4A/nM2aJcmWMxvK8/3isyDn/wPS9V+1CHO6Pfy+0FTc=";
27 };
28
29 postPatch = ''
30 substituteInPlace build-scripts/generate_guides.py \
31 --replace-fail "XCCDF_GUIDE_XSL = None" "XCCDF_GUIDE_XSL = \"${openscap}/share/openscap/xsl/xccdf-guide.xsl\""
32 '';
33
34 nativeBuildInputs =
35 with python3Packages;
36 [
37 setuptools
38 sphinx
39 sphinxcontrib-jinjadomain
40 sphinx-rtd-theme
41 sphinx-jinja
42 ]
43 ++ [
44 cmake-lint
45 cmake
46 ];
47
48 buildInputs =
49 with python3Packages;
50 [
51 ansible
52 jinja2
53 json2html
54 myst-parser
55 mypy
56 openpyxl
57 pygithub
58 pyyaml
59 pandas
60 pycompliance
61 prometheus-async
62 ruamel-yaml
63 voluptuous-stubs
64 yamllint
65 ]
66 ++ [
67 ansible-lint
68 bats
69 libxslt
70 libxml2
71 linkchecker
72 openscap
73 shellcheck
74 yamllint
75 ];
76
77 meta = {
78 description = "Security automation content in SCAP, Bash, Ansible, and other formats";
79 homepage = "https://github.com/ComplianceAsCode/content";
80 license = lib.licenses.bsd3;
81 maintainers = with lib.maintainers; [ tochiaha ];
82 platforms = lib.platforms.all;
83 };
84})