From 03170e3f52ca9c87dba791935985392e02dab302 Mon Sep 17 00:00:00 2001 From: Chris Marchesi Date: Wed, 25 Oct 2023 20:10:05 -0700 Subject: [PATCH] python311Packages.keyutils: fix build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fixes the build for keyutils on Python 3.11 and higher. It appears this package is affected by changes that were made to CPython that were causing code generated by certain earlier versions of Cython to fail. This update simply re-generates the relevant code with the up-to-date Cython 0.29.x series during the pre-build phase, allowing the build to succeed. Fixes #263482. Fixes #263506. Co-authored-by: Robert Schütz Co-authored-by: Martin Weinelt --- .../python-modules/keyutils/default.nix | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/pkgs/development/python-modules/keyutils/default.nix b/pkgs/development/python-modules/keyutils/default.nix index 031ae5a65c39..c387c10ebc34 100644 --- a/pkgs/development/python-modules/keyutils/default.nix +++ b/pkgs/development/python-modules/keyutils/default.nix @@ -1,4 +1,10 @@ -{ lib, buildPythonPackage, fetchFromGitHub, keyutils, pytest-runner, pytest }: +{ lib +, buildPythonPackage +, cython +, fetchFromGitHub +, keyutils +, pytestCheckHook +}: buildPythonPackage rec { pname = "keyutils"; @@ -16,8 +22,19 @@ buildPythonPackage rec { substituteInPlace setup.py --replace '"pytest-runner"' "" ''; + preBuild = '' + cython keyutils/_keyutils.pyx + ''; + + preCheck = '' + rm -rf keyutils + ''; + buildInputs = [ keyutils ]; - nativeCheckInputs = [ pytest pytest-runner ]; + nativeBuildInputs = [ cython ]; + nativeCheckInputs = [ + pytestCheckHook + ]; meta = { description = "A set of python bindings for keyutils";