diff --git a/pkgs/development/python-modules/netifaces2/default.nix b/pkgs/development/python-modules/netifaces2/default.nix new file mode 100644 index 000000000000..379e1efc14dd --- /dev/null +++ b/pkgs/development/python-modules/netifaces2/default.nix @@ -0,0 +1,46 @@ +{ + lib, + buildPythonPackage, + rustPlatform, + fetchFromGitHub, + pythonOlder, + pytestCheckHook, +}: +let + pname = "netifaces2"; + version = "0.0.22"; + + src = fetchFromGitHub { + owner = "SamuelYvon"; + repo = "netifaces-2"; + rev = "refs/tags/V${version}"; + hash = "sha256-XO3HWq8FOVzvpbK8mIBOup6hFMnhDpqOK/5bPziPZQ8="; + }; +in +buildPythonPackage { + inherit pname version src; + pyproject = true; + + disabled = pythonOlder "3.7"; + + cargoDeps = rustPlatform.fetchCargoTarball { + inherit pname version src; + hash = "sha256-dkqI0P61ciGqPtBc/6my7osaxxO9pEgovZhlpo1HdkU="; + }; + + nativeBuildInputs = with rustPlatform; [ + cargoSetupHook + maturinBuildHook + ]; + + nativeCheckInputs = [ pytestCheckHook ]; + pythonImportsCheck = [ "netifaces" ]; + + meta = { + description = "Portable network interface information"; + homepage = "https://github.com/SamuelYvon/netifaces-2"; + license = with lib.licenses; [ mit ]; + platforms = with lib.platforms; unix ++ windows; + maintainers = with lib.maintainers; [ pluiedev ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 87a0435c5ba6..9999d745e3ac 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9001,6 +9001,8 @@ self: super: with self; { netifaces = callPackage ../development/python-modules/netifaces { }; + netifaces2 = callPackage ../development/python-modules/netifaces2 { }; + netmiko = callPackage ../development/python-modules/netmiko { }; netio = callPackage ../development/python-modules/netio { };