mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-28 09:53:10 +00:00
openscap: init at 1.3.10
This commit is contained in:
parent
e8f58650ae
commit
d5d24af2e0
160
pkgs/by-name/op/openscap/package.nix
Executable file
160
pkgs/by-name/op/openscap/package.nix
Executable file
@ -0,0 +1,160 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
libsepol,
|
||||
popt,
|
||||
libxml2,
|
||||
libxslt,
|
||||
openssl,
|
||||
util-linux,
|
||||
pcre2,
|
||||
pcre,
|
||||
libselinux,
|
||||
graphviz,
|
||||
glib,
|
||||
python3,
|
||||
swig,
|
||||
libgcrypt,
|
||||
opendbx,
|
||||
xmlbird,
|
||||
haskellPackages,
|
||||
libyaml,
|
||||
yaml-filter,
|
||||
xmlsec,
|
||||
bzip2,
|
||||
valgrind,
|
||||
asciidoc,
|
||||
installShellFiles,
|
||||
rpm,
|
||||
system-sendmail,
|
||||
hyperscan,
|
||||
gnome2,
|
||||
curl,
|
||||
procps,
|
||||
systemd,
|
||||
perl,
|
||||
doxygen,
|
||||
pkg-config,
|
||||
perl538Packages,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "openscap";
|
||||
version = "1.3.10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OpenSCAP";
|
||||
repo = "openscap";
|
||||
rev = version;
|
||||
hash = "sha256-P7k+Ygz/XmpTSKBEqbyJsd1bIDVJ1HA/RJdrEtjYD5g=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
asciidoc
|
||||
doxygen
|
||||
rpm
|
||||
swig
|
||||
util-linux
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs =
|
||||
with perl538Packages;
|
||||
[
|
||||
XMLXPath
|
||||
LinuxACL
|
||||
XMLTokeParser
|
||||
]
|
||||
++ [
|
||||
perl
|
||||
popt
|
||||
openssl
|
||||
valgrind
|
||||
pcre2
|
||||
pcre
|
||||
libxslt
|
||||
xmlsec
|
||||
hyperscan
|
||||
libselinux
|
||||
libyaml
|
||||
xmlbird
|
||||
installShellFiles
|
||||
bzip2
|
||||
yaml-filter
|
||||
python3
|
||||
libgcrypt
|
||||
libxml2
|
||||
systemd
|
||||
haskellPackages.pthread
|
||||
graphviz
|
||||
system-sendmail
|
||||
procps
|
||||
libsepol
|
||||
curl
|
||||
glib
|
||||
gnome2.ORBit2
|
||||
opendbx
|
||||
];
|
||||
|
||||
prePatch = ''
|
||||
export SWIG_PERL_DIR=lib/perl
|
||||
substituteInPlace swig/perl/CMakeLists.txt \
|
||||
--replace-fail "DESTINATION ''${PERL_VENDORLIB}" "DESTINATION ''${SWIG_PERL_DIR}''${PERL_VERSION}" \
|
||||
--replace-fail "DESTINATION ''${PERL_VENDORARCH}" "DESTINATION ''${SWIG_PERL_DIR}"
|
||||
substituteInPlace src/common/oscap_pcre.c \
|
||||
--replace-fail "#include <pcre2.h>" "#include <${pcre2.dev}/include/pcre2.h>" \
|
||||
--replace-fail "#include <pcre.h>" "#include <${pcre.dev}/include/pcre.h>"
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DPCRE2_INCLUDE_DIRS=${pcre2.dev}/include"
|
||||
"-DPCRE2_LIBRARIES=${pcre2.out}/lib"
|
||||
"-DENABLE_DOCS=TRUE"
|
||||
"-DENABLE_TESTS=TRUE"
|
||||
"-DENABLE_OSCAP_UTIL=TRUE"
|
||||
"-DENABLE_OSCAP_UTIL_CHROOT=TRUE"
|
||||
"-DENABLE_OSCAP_UTIL_SSH=TRUE"
|
||||
"-DENABLE_OSCAP_UTIL_DOCKER=TRUE"
|
||||
"-DENABLE_OSCAP_REMEDIATE_SERVICE=TRUE"
|
||||
"-DOPENSCAP_PROBE_INDEPENDENT_YAMLFILECONTENT=TRUE"
|
||||
"-DSYSTEMD_UNITDIR=lib/systemd/system"
|
||||
"-DENABLE_VALGRIND=TRUE"
|
||||
"-DENABLE_OSCAP_REMEDIATE_SERVICE=TRUE"
|
||||
"-DPYTHON_SITE_PACKAGES_INSTALL_DIR=${python3.pkgs.python.sitePackages}"
|
||||
"-DOPENSCAP_INSTALL_DESTINATION=bin"
|
||||
"-DCMAKE_INSTALL_BINDIR=bin"
|
||||
"-DCMAKE_INSTALL_MANDIR=share"
|
||||
"-DENABLE_MITRE=TRUE"
|
||||
"-DCMAKE_INSTALL_LIBDIR=lib"
|
||||
"-DCMAKE_INSTALL_INCLUDEDIR=include"
|
||||
"-DCMAKE_INSTALL_DATADIR=share"
|
||||
"-DBUILD_TESTING=ON"
|
||||
"-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON"
|
||||
"-DCMAKE_POLICY_DEFAULT_CMP0025=NEW"
|
||||
];
|
||||
|
||||
postBuild = ''
|
||||
make docs
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
make install
|
||||
installManPage $out/share/man8/*.8
|
||||
rm -rf $out/share/man8
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "NIST Certified SCAP 1.2 toolkit";
|
||||
homepage = "https://github.com/OpenSCAP/openscap";
|
||||
changelog = "https://github.com/OpenSCAP/openscap/blob/${src.rev}/NEWS";
|
||||
license = lib.licenses.lgpl21Only;
|
||||
maintainers = with lib.maintainers; [ tochiaha ];
|
||||
mainProgram = "oscap";
|
||||
platforms = [ "x86_64-linux" ];
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue
Block a user