2021-01-21 17:00:13 +00:00
|
|
|
{ lib, stdenv
|
2020-10-31 17:02:42 +00:00
|
|
|
, fetchFromGitHub
|
|
|
|
, doxygen
|
|
|
|
, pkg-config
|
|
|
|
, python3
|
|
|
|
, python3Packages
|
|
|
|
, wafHook
|
|
|
|
, boost
|
|
|
|
, openssl
|
|
|
|
, sqlite
|
|
|
|
}:
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
2019-08-13 22:52:01 +01:00
|
|
|
pname = "ndn-cxx";
|
2020-10-31 17:02:42 +00:00
|
|
|
version = "0.7.1";
|
|
|
|
|
2018-10-20 20:16:26 +01:00
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "named-data";
|
|
|
|
repo = "ndn-cxx";
|
2020-10-31 17:02:42 +00:00
|
|
|
rev = "${pname}-${version}";
|
|
|
|
sha256 = "1lcaqc79n3d9sip7knddblba17sz18b0w7nlxmj3fz3lb3z9qd51";
|
2014-11-11 09:14:30 +00:00
|
|
|
};
|
2020-10-31 17:02:42 +00:00
|
|
|
|
|
|
|
nativeBuildInputs = [ doxygen pkg-config python3 python3Packages.sphinx wafHook ];
|
|
|
|
|
|
|
|
buildInputs = [ boost openssl sqlite ];
|
|
|
|
|
2019-04-10 04:44:37 +01:00
|
|
|
wafConfigureFlags = [
|
2018-11-11 21:20:41 +00:00
|
|
|
"--with-openssl=${openssl.dev}"
|
|
|
|
"--boost-includes=${boost.dev}/include"
|
|
|
|
"--boost-libs=${boost.out}/lib"
|
|
|
|
];
|
2020-10-31 17:02:42 +00:00
|
|
|
|
2021-01-21 17:00:13 +00:00
|
|
|
meta = with lib; {
|
2020-04-01 02:11:51 +01:00
|
|
|
homepage = "http://named-data.net/";
|
2014-11-11 09:14:30 +00:00
|
|
|
description = "A Named Data Neworking (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;
|
2020-10-31 17:02:42 +00:00
|
|
|
platforms = platforms.unix;
|
|
|
|
maintainers = with maintainers; [ sjmackenzie ];
|
2014-11-11 09:14:30 +00:00
|
|
|
};
|
|
|
|
}
|