python3Packages.ncclient: cleanup, make src reproducible

Changed files
+12 -7
pkgs
development
python-modules
ncclient
+12 -7
pkgs/development/python-modules/ncclient/default.nix
···
paramiko,
setuptools,
pytestCheckHook,
-
pythonOlder,
}:
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 = [
···
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 ];
};
}