From d794669e128db518d2ea24dc3ea1d82cae16dafe Mon Sep 17 00:00:00 2001 From: hacker1024 Date: Thu, 29 Aug 2024 15:10:35 +1000 Subject: [PATCH] python312Packages.dlib: Inherit build environment from dlib and fix tests --- .../python-modules/dlib/default.nix | 31 ++++++++++++++----- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/pkgs/development/python-modules/dlib/default.nix b/pkgs/development/python-modules/dlib/default.nix index 5faf143daab5..d8b863ade3f8 100644 --- a/pkgs/development/python-modules/dlib/default.nix +++ b/pkgs/development/python-modules/dlib/default.nix @@ -1,21 +1,20 @@ { - stdenv, buildPythonPackage, dlib, - python, pytestCheckHook, more-itertools, - sse4Support ? stdenv.hostPlatform.sse4_1Support, - avxSupport ? stdenv.hostPlatform.avxSupport, }: buildPythonPackage { inherit (dlib) + stdenv pname version src nativeBuildInputs buildInputs + cmakeFlags + passthru meta ; @@ -34,10 +33,26 @@ buildPythonPackage { --replace "pytest==3.8" "pytest" ''; - setupPyBuildFlags = [ - "--set USE_SSE4_INSTRUCTIONS=${if sse4Support then "yes" else "no"}" - "--set USE_AVX_INSTRUCTIONS=${if avxSupport then "yes" else "no"}" - ]; + # Pass CMake flags through to the build script + preConfigure = '' + for flag in $cmakeFlags; do + if [[ "$flag" == -D* ]]; then + setupPyBuildFlags+=" --set ''${flag#-D}" + fi + done + ''; dontUseCmakeConfigure = true; + + doCheck = + !( + # The tests attempt to use CUDA on the build platform. + # https://github.com/NixOS/nixpkgs/issues/225912 + dlib.cudaSupport + + # although AVX can be enabled, we never test with it. Some Hydra machines + # fail because of this, however their build results are probably used on hardware + # with AVX support. + || dlib.avxSupport + ); }