Files
nixpkgs/pkgs/by-name/nd/ndn-cxx/package.nix
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

78 lines
2.0 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
doxygen,
pkg-config,
python3,
python3Packages,
wafHook,
boost,
openssl,
sqlite,
}:
stdenv.mkDerivation rec {
pname = "ndn-cxx";
version = "0.9.0";
src = fetchFromGitHub {
owner = "named-data";
repo = "ndn-cxx";
rev = "ndn-cxx-${version}";
sha256 = "sha256-u9+QxqdCET1f5B54HF+Jk/YuQvhcYWsPNIVHi5l0XTM=";
};
nativeBuildInputs = [
doxygen
pkg-config
python3
python3Packages.sphinx
wafHook
];
buildInputs = [
boost
openssl
sqlite
];
wafConfigureFlags = [
"--with-openssl=${openssl.dev}"
"--boost-includes=${boost.dev}/include"
"--boost-libs=${boost.out}/lib"
"--with-tests"
];
doCheck = false; # some tests fail in upstream, some fail because of the sandbox environment
checkPhase = ''
runHook preCheck
LD_PRELOAD=build/libndn-cxx.so build/unit-tests
runHook postCheck
'';
meta = with lib; {
homepage = "https://named-data.net/";
description = "Named Data Networking (NDN) or Content Centric Networking (CCN) abstraction";
longDescription = ''
ndn-cxx is a C++ library, implementing Named Data Networking (NDN)
primitives that can be used to implement various NDN applications.
NDN operates by addressing and delivering Content Objects directly
by Name instead of merely addressing network end-points. In addition,
the NDN security model explicitly secures individual Content Objects
rather than securing the connection or pipe. Named and secured
content resides in distributed caches automatically populated on
demand or selectively pre-populated. When requested by name, NDN
delivers named content to the user from the nearest cache, thereby
traversing fewer network hops, eliminating redundant requests,
and consuming less resources overall.
'';
license = licenses.lgpl3;
platforms = platforms.unix;
maintainers = with maintainers; [
sjmackenzie
bertof
];
};
}