1{ stdenv, fetchurl, openssl, expat, libpcap }:
2let
3 version = "0.8.2";
4in
5stdenv.mkDerivation {
6 name = "ccnx-${version}";
7 src = fetchurl {
8 url = "https://github.com/ProjectCCNx/ccnx/archive/ccnx-${version}.tar.gz";
9 sha256 = "1jyk7i8529821aassxbvzlxnvl5ly0na1qcn3v1jpxhdd0qqpg00";
10 };
11 buildInputs = [ openssl expat libpcap ];
12 preConfigure = ''
13 mkdir -p $out/include
14 mkdir -p $out/lib
15 mkdir -p $out/bin
16 substituteInPlace csrc/configure --replace "/usr/local" $out --replace "/usr/bin/env sh" "/bin/sh"
17 '';
18 meta = with stdenv.lib; {
19 homepage = "http://www.ccnx.org/";
20 description = "A Named Data Neworking (NDN) or Content Centric Networking (CCN) abstraction";
21 longDescription = ''
22 To address the Internet’s modern-day requirements with a better
23 fitting model, PARC has created a new networking architecture
24 called Content-Centric Networking (CCN), which operates by addressing
25 and delivering Content Objects directly by Name instead of merely
26 addressing network end-points. In addition, the CCN security model
27 explicitly secures individual Content Objects rather than securing
28 the connection or “pipe”. Named and secured content resides in
29 distributed caches automatically populated on demand or selectively
30 pre-populated. When requested by name, CCN delivers named content to
31 the user from the nearest cache, thereby traversing fewer network hops,
32 eliminating redundant requests, and consuming less resources overall.
33 '';
34 license = licenses.gpl2;
35 platforms = stdenv.lib.platforms.unix;
36 maintainers = [ maintainers.sjmackenzie ];
37 };
38}