Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ lib 2, stdenv 3, fetchFromGitHub 4, doxygen 5, pkg-config 6, python3 7, python3Packages 8, wafHook 9, boost 10, openssl 11, sqlite 12}: 13 14stdenv.mkDerivation rec { 15 pname = "ndn-cxx"; 16 version = "0.8.1"; 17 18 src = fetchFromGitHub { 19 owner = "named-data"; 20 repo = "ndn-cxx"; 21 rev = "${pname}-${version}"; 22 sha256 = "sha256-nnnxlkYVTSRB6ZcuIUDFol999+amGtqegHXK+06ITK8="; 23 }; 24 25 nativeBuildInputs = [ doxygen pkg-config python3 python3Packages.sphinx wafHook ]; 26 27 buildInputs = [ boost openssl sqlite ]; 28 29 wafConfigureFlags = [ 30 "--with-openssl=${openssl.dev}" 31 "--boost-includes=${boost.dev}/include" 32 "--boost-libs=${boost.out}/lib" 33 "--with-tests" 34 ]; 35 36 doCheck = false; # some tests fail in upstream, some fail because of the sandbox environment 37 checkPhase = '' 38 runHook preCheck 39 LD_PRELOAD=build/libndn-cxx.so build/unit-tests 40 runHook postCheck 41 ''; 42 43 meta = with lib; { 44 homepage = "https://named-data.net/"; 45 description = "A Named Data Networking (NDN) or Content Centric Networking (CCN) abstraction"; 46 longDescription = '' 47 ndn-cxx is a C++ library, implementing Named Data Networking (NDN) 48 primitives that can be used to implement various NDN applications. 49 NDN operates by addressing and delivering Content Objects directly 50 by Name instead of merely addressing network end-points. In addition, 51 the NDN security model explicitly secures individual Content Objects 52 rather than securing the connection or pipe. Named and secured 53 content resides in distributed caches automatically populated on 54 demand or selectively pre-populated. When requested by name, NDN 55 delivers named content to the user from the nearest cache, thereby 56 traversing fewer network hops, eliminating redundant requests, 57 and consuming less resources overall. 58 ''; 59 license = licenses.lgpl3; 60 platforms = platforms.unix; 61 maintainers = with maintainers; [ sjmackenzie bertof ]; 62 }; 63}