Merge pull request #330488 from JohnRTitor/ananicy-cpp

ananicy-cpp: make bpfSupport optional
This commit is contained in:
Masum Reza 2024-07-28 20:07:23 +05:30 committed by GitHub
commit f29ac0b817
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,27 +1,29 @@
{ lib
, clangStdenv
, fetchFromGitLab
, fetchpatch
, cmake
, pkg-config
, spdlog
, nlohmann_json
, systemd
, libbpf
, elfutils
, bpftools
, pcre2
, zlib
{
lib,
clangStdenv,
fetchFromGitLab,
fetchpatch,
cmake,
pkg-config,
spdlog,
nlohmann_json,
systemd,
libbpf,
elfutils,
bpftools,
pcre2,
zlib,
withBpf ? true,
}:
clangStdenv.mkDerivation rec {
clangStdenv.mkDerivation (finalAttrs: {
pname = "ananicy-cpp";
version = "1.1.1";
src = fetchFromGitLab {
owner = "ananicy-cpp";
repo = "ananicy-cpp";
rev = "v${version}";
rev = "v${finalAttrs.version}";
fetchSubmodules = true;
hash = "sha256-oPinSc00+Z6SxjfTh7DttcXSjsLv1X0NI+O37C8M8GY=";
};
@ -41,6 +43,7 @@ clangStdenv.mkDerivation rec {
nativeBuildInputs = [
cmake
pkg-config
] ++ lib.optionals withBpf [
bpftools
];
@ -49,23 +52,29 @@ clangStdenv.mkDerivation rec {
spdlog
nlohmann_json
systemd
zlib
] ++ lib.optionals withBpf [
libbpf
elfutils
zlib
];
# BPF A call to built-in function '__stack_chk_fail' is not supported.
hardeningDisable = [ "stackprotector" "zerocallusedregs" ];
hardeningDisable = [
"stackprotector"
"zerocallusedregs"
];
cmakeFlags = [
"-DUSE_EXTERNAL_JSON=ON"
"-DUSE_EXTERNAL_SPDLOG=ON"
"-DUSE_EXTERNAL_FMTLIB=ON"
"-DUSE_BPF_PROC_IMPL=ON"
"-DBPF_BUILD_LIBBPF=OFF"
"-DENABLE_SYSTEMD=ON"
"-DENABLE_REGEX_SUPPORT=ON"
"-DVERSION=${version}"
(lib.mapAttrsToList lib.cmakeBool {
"USE_EXTERNAL_JSON" = true;
"USE_EXTERNAL_SPDLOG" = true;
"USE_EXTERNAL_FMTLIB" = true;
"USE_BPF_PROC_IMPL" = withBpf;
"BPF_BUILD_LIBBPF" = false;
"ENABLE_SYSTEMD" = true;
"ENABLE_REGEX_SUPPORT" = true;
})
(lib.cmakeFeature "VERSION" finalAttrs.version)
];
postInstall = ''
@ -85,4 +94,4 @@ clangStdenv.mkDerivation rec {
];
mainProgram = "ananicy-cpp";
};
}
})