summary refs log tree commit diff
path: root/pkgs/development/libraries/ndn-cxx/default.nix
blob: 7f08d0a753513dd22d07ee35a9cc354c1678852e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
{ stdenv, fetchFromGitHub, openssl, doxygen
, boost, sqlite, pkgconfig, python, pythonPackages, wafHook }:
let
  version = "0.6.3";
in
stdenv.mkDerivation {
  pname = "ndn-cxx";
  inherit version;
  src = fetchFromGitHub {
    owner = "named-data";
    repo = "ndn-cxx";
    rev = "a3bf4319ed483a4a6fe2c96b79ec4491d7217f00";
    sha256 = "076jhrjigisqz5n8dgxwd5fhimg69zhm834m7w9yvf9afgzrr50h";
  };
  nativeBuildInputs = [ pkgconfig wafHook ];
  buildInputs = [ openssl doxygen boost sqlite python pythonPackages.sphinx];
  wafConfigureFlags = [
    "--with-openssl=${openssl.dev}"
    "--boost-includes=${boost.dev}/include"
    "--boost-libs=${boost.out}/lib"
  ];
  meta = with stdenv.lib; {
    homepage = http://named-data.net/;
    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;
    platforms = stdenv.lib.platforms.unix;
    maintainers = [ maintainers.sjmackenzie ];
  };
}