python312Packages.skein: unbreak by patching distutils,

remove vendorized versioneer
This commit is contained in:
teutat3s 2024-05-09 00:24:17 +02:00
parent 623069cd15
commit e953f33121
No known key found for this signature in database
GPG key ID: 18DAE600A6BBE705

View file

@ -2,6 +2,7 @@
, callPackage
, fetchPypi
, isPy27
, pythonOlder
, lib
, cryptography
, grpcio
@ -10,6 +11,8 @@
, hadoop
, pytestCheckHook
, python
, setuptools
, versioneer
}:
buildPythonPackage rec {
@ -25,7 +28,8 @@ buildPythonPackage rec {
jarHash = "sha256-x2KH6tnoG7sogtjrJvUaxy0PCEA8q/zneuI969oBOKo=";
skeinJar = callPackage ./skeinjar.nix { inherit pname version jarHash; };
propagatedBuildInputs = [ cryptography grpcio pyyaml ];
propagatedBuildInputs = [ cryptography grpcio pyyaml ]
++ lib.optionals (!pythonOlder "3.12") [ setuptools ];
buildInputs = [ grpcio-tools ];
preBuild = ''
@ -37,8 +41,17 @@ buildPythonPackage rec {
postPatch = ''
substituteInPlace skein/core.py --replace "'yarn'" "'${hadoop}/bin/yarn'" \
--replace "else 'java'" "else '${hadoop.jdk}/bin/java'"
# Remove vendorized versioneer
rm versioneer.py
'' + lib.optionalString (!pythonOlder "3.12") ''
substituteInPlace skein/utils.py \
--replace-fail "distutils" "setuptools._distutils"
'';
build-system = [
versioneer
];
pythonImportsCheck = [ "skein" ];
nativeCheckInputs = [ pytestCheckHook ];