python3Packages.nmcli: init at 1.5.0

Changed files
+55
pkgs
development
python-modules
top-level
+42
pkgs/development/python-modules/nmcli/default.nix
···
···
+
{
+
lib,
+
buildPythonPackage,
+
fetchFromGitHub,
+
replaceVars,
+
setuptools,
+
wheel,
+
networkmanager,
+
}:
+
+
buildPythonPackage rec {
+
pname = "nmcli";
+
version = "1.5.0";
+
pyproject = true;
+
+
src = fetchFromGitHub {
+
owner = "ushiboy";
+
repo = "nmcli";
+
tag = "v${version}";
+
hash = "sha256-1gVj4WfTx1NcoyWA9OK5EyGze9hmrXV0Mq50C1S3bfM=";
+
};
+
+
build-system = [
+
setuptools
+
wheel
+
];
+
+
patches = [
+
(replaceVars ./nmcli-path.patch {
+
nmcli = lib.getExe' networkmanager "nmcli";
+
})
+
];
+
+
meta = {
+
description = "Python library for interacting with NetworkManager CLI";
+
homepage = "https://github.com/ushiboy/nmcli";
+
license = lib.licenses.mit;
+
maintainers = with lib.maintainers; [ ktechmidas ];
+
inherit (networkmanager.meta) platforms;
+
changelog = "https://github.com/ushiboy/nmcli/releases/tag/v${version}";
+
};
+
}
+11
pkgs/development/python-modules/nmcli/nmcli-path.patch
···
···
+
--- a/nmcli/_system.py
+
+++ b/nmcli/_system.py
+
@@ -43,7 +43,7 @@ class System:
+
def nmcli(self, parameters: CommandParameter) -> str:
+
if isinstance(parameters, str):
+
parameters = [parameters]
+
- c = ['sudo', 'nmcli'] if self._use_sudo else ['nmcli']
+
+ c = ['sudo', '@nmcli@'] if self._use_sudo else ['@nmcli@']
+
commands = c + parameters
+
try:
+
env = dict(os.environ, **{'LANG': self._lang})
+2
pkgs/top-level/python-packages.nix
···
nmapthon2 = callPackage ../development/python-modules/nmapthon2 { };
nnpdf = toPythonModule (pkgs.nnpdf.override { python3 = python; });
noaa-coops = callPackage ../development/python-modules/noaa-coops { };
···
nmapthon2 = callPackage ../development/python-modules/nmapthon2 { };
+
nmcli = callPackage ../development/python-modules/nmcli { };
+
nnpdf = toPythonModule (pkgs.nnpdf.override { python3 = python; });
noaa-coops = callPackage ../development/python-modules/noaa-coops { };