Commit 4e6fc83b authored by hexclover's avatar hexclover
Browse files

nixos/mininet: wrap with mininet in PYTHONPATH and ifconfig in PATH

parent 49670519
Loading
Loading
Loading
Loading
+23 −10
Original line number Diff line number Diff line
@@ -7,24 +7,37 @@ with lib;
let
  cfg = config.programs.mininet;

  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
    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
{