Merge pull request #270344 from hexclover/bump-mininet

mininet: 2.3.0 -> 2.3.1b4, make `mn` start again
This commit is contained in:
Emily Trau
2023-11-29 18:24:33 +11:00
committed by GitHub
2 changed files with 26 additions and 15 deletions
+23 -10
View File
@@ -5,26 +5,39 @@
with lib;
let
cfg = config.programs.mininet;
cfg = config.programs.mininet;
generatedPath = with pkgs; makeSearchPath "bin" [
iperf ethtool iproute2 socat
telnet = pkgs.runCommand "inetutils-telnet"
{ }
''
mkdir -p $out/bin
ln -s ${pkgs.inetutils}/bin/telnet $out/bin
'';
generatedPath = with pkgs; makeSearchPath "bin" [
iperf
ethtool
iproute2
socat
# mn errors out without a telnet binary
# pkgs.inetutils brings an undesired ifconfig into PATH see #43105
nettools
telnet
];
pyEnv = pkgs.python.withPackages(ps: [ ps.mininet-python ]);
pyEnv = pkgs.python3.withPackages (ps: [ ps.mininet-python ]);
mnexecWrapped = pkgs.runCommand "mnexec-wrapper"
{ nativeBuildInputs = [ pkgs.makeWrapper pkgs.pythonPackages.wrapPython ]; }
{ nativeBuildInputs = [ pkgs.makeWrapper pkgs.python3Packages.wrapPython ]; }
''
makeWrapper ${pkgs.mininet}/bin/mnexec \
$out/bin/mnexec \
--prefix PATH : "${generatedPath}"
ln -s ${pyEnv}/bin/mn $out/bin/mn
# mn errors out without a telnet binary
# pkgs.inetutils brings an undesired ifconfig into PATH see #43105
ln -s ${pkgs.inetutils}/bin/telnet $out/bin/telnet
makeWrapper ${pyEnv}/bin/mn \
$out/bin/mn \
--prefix PYTHONPATH : "${pyEnv}/${pyEnv.sitePackages}" \
--prefix PATH : "${generatedPath}"
'';
in
{
@@ -9,7 +9,7 @@ let
in
stdenv.mkDerivation rec {
pname = "mininet";
version = "2.3.0";
version = "2.3.1b4";
outputs = [ "out" "py" ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
owner = "mininet";
repo = "mininet";
rev = version;
sha256 = "sha256-bCppmeB+zQMKTptnzhsXtl72XJXU3USo7cQgP1Z6SrY=";
hash = "sha256-Z7Vbfu0EJ4+rCpckXrt3hgxeB9N2nnyPIXgPBnpV4uw=";
};
buildFlags = [ "mnexec" ];
@@ -41,9 +41,7 @@ stdenv.mkDerivation rec {
meta = with lib; {
description = "Emulator for rapid prototyping of Software Defined Networks";
license = {
fullName = "Mininet 2.3.0 License";
};
license = licenses.bsd3;
platforms = platforms.linux;
homepage = "https://github.com/mininet/mininet";
maintainers = with maintainers; [ teto ];