Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{ stdenv, lib, fetchFromGitHub 2, which 3, python3 4, help2man 5}: 6 7let 8 pyEnv = python3.withPackages(ps: [ ps.setuptools ]); 9in 10stdenv.mkDerivation rec { 11 pname = "mininet"; 12 version = "2.3.0"; 13 14 outputs = [ "out" "py" ]; 15 16 src = fetchFromGitHub { 17 owner = "mininet"; 18 repo = "mininet"; 19 rev = version; 20 sha256 = "sha256-bCppmeB+zQMKTptnzhsXtl72XJXU3USo7cQgP1Z6SrY="; 21 }; 22 23 buildFlags = [ "mnexec" ]; 24 makeFlags = [ "PREFIX=$(out)" ]; 25 26 pythonPath = [ python3.pkgs.setuptools ]; 27 nativeBuildInputs = [ help2man ]; 28 29 propagatedBuildInputs = [ python3 which ]; 30 31 installTargets = [ "install-mnexec" "install-manpages" ]; 32 33 preInstall = '' 34 mkdir -p $out $py 35 # without --root, install fails 36 ${pyEnv.interpreter} setup.py install --root="/" --prefix=$py 37 ''; 38 39 doCheck = false; 40 41 42 meta = with lib; { 43 description = "Emulator for rapid prototyping of Software Defined Networks"; 44 license = { 45 fullName = "Mininet 2.3.0 License"; 46 }; 47 platforms = platforms.linux; 48 homepage = "https://github.com/mininet/mininet"; 49 maintainers = with maintainers; [ teto ]; 50 }; 51}