From 4b601cc332c61f5e783e174bdd12e1b1928fbce3 Mon Sep 17 00:00:00 2001 From: Gaetan Lepage Date: Mon, 15 Sep 2025 15:28:18 +0200 Subject: [PATCH] python3Packages.ncclient: cleanup, make src reproducible --- .../python-modules/ncclient/default.nix | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/pkgs/development/python-modules/ncclient/default.nix b/pkgs/development/python-modules/ncclient/default.nix index c73a68a1f5a1..cad5d2ee997a 100644 --- a/pkgs/development/python-modules/ncclient/default.nix +++ b/pkgs/development/python-modules/ncclient/default.nix @@ -6,7 +6,6 @@ paramiko, setuptools, pytestCheckHook, - pythonOlder, }: buildPythonPackage rec { @@ -14,13 +13,19 @@ buildPythonPackage rec { version = "0.7.0"; pyproject = true; - disabled = pythonOlder "3.7"; - src = fetchFromGitHub { owner = "ncclient"; repo = "ncclient"; tag = "v${version}"; - hash = "sha256-GSa7UkBwbwggFqwNFTg2KNqGV5412EE41ma/dzPIEuU="; + # Upstream uses .gitattributes to inject information about the revision + # hash and the refname into `ncclient/_version.py`, see: + # + # - https://git-scm.com/docs/gitattributes#_export_subst and + # - https://github.com/ncclient/ncclient/blob/e056e38af2843de0608da58e2f4662465c96d587/ncclient/_version.py#L25-L28 + postFetch = '' + sed -i 's/git_refnames = "[^"]*"/git_refnames = " (tag: ${src.tag})"/' $out/ncclient/_version.py + ''; + hash = "sha256-vSX+9nTl4r6vnP/vmavdmdChzOC8P2G093/DQNMQwS4="; }; build-system = [ @@ -36,11 +41,11 @@ buildPythonPackage rec { pythonImportsCheck = [ "ncclient" ]; - meta = with lib; { + meta = { description = "Python library for NETCONF clients"; homepage = "https://github.com/ncclient/ncclient"; changelog = "https://github.com/ncclient/ncclient/releases/tag/${src.tag}"; - license = licenses.asl20; - maintainers = with maintainers; [ xnaveira ]; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ xnaveira ]; }; }