diff --git a/pkgs/development/python-modules/mmcv/default.nix b/pkgs/development/python-modules/mmcv/default.nix index 8a0821999811..2f1984589ca5 100644 --- a/pkgs/development/python-modules/mmcv/default.nix +++ b/pkgs/development/python-modules/mmcv/default.nix @@ -36,7 +36,7 @@ let inherit (torch) cudaCapabilities cudaPackages cudaSupport; inherit (cudaPackages) backendStdenv; in -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "mmcv"; version = "2.2.0"; pyproject = true; @@ -44,7 +44,7 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "open-mmlab"; repo = "mmcv"; - tag = "v${version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-NNF9sLJWV1q6uBE73LUW4UWwYm4TBMTBJjJkFArBmsc="; }; @@ -57,7 +57,7 @@ buildPythonPackage rec { '' substituteInPlace setup.py \ --replace-fail "cpu_use = 4" "cpu_use = $NIX_BUILD_CORES" \ - --replace-fail "return locals()['__version__']" "return '${version}'" + --replace-fail "return locals()['__version__']" "return '${finalAttrs.version}'" ''; nativeBuildInputs = [ @@ -93,17 +93,16 @@ buildPythonPackage rec { # torch ]; - env.CUDA_HOME = lib.optionalString cudaSupport (lib.getDev cudaPackages.cuda_nvcc); - - preConfigure = '' - export MMCV_WITH_OPS=1 - '' - + lib.optionalString cudaSupport '' - export CC=${lib.getExe' backendStdenv.cc "cc"} - export CXX=${lib.getExe' backendStdenv.cc "c++"} - export TORCH_CUDA_ARCH_LIST="${lib.concatStringsSep ";" cudaCapabilities}" - export FORCE_CUDA=1 - ''; + env = { + CUDA_HOME = lib.optionalString cudaSupport (lib.getDev cudaPackages.cuda_nvcc); + MMCV_WITH_OPS = 1; + } + // lib.optionalAttrs cudaSupport { + CC = lib.getExe' backendStdenv.cc "cc"; + CXX = lib.getExe' backendStdenv.cc "c++"; + TORCH_CUDA_ARCH_LIST = lib.concatStringsSep ";" cudaCapabilities; + FORCE_CUDA = 1; + }; pythonImportsCheck = [ "mmcv" ]; @@ -141,13 +140,17 @@ buildPythonPackage rec { "test_ycbcr2rgb" "test_ycbcr2bgr" "test_tensor2imgs" + ] + ++ lib.optionals (stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64) [ + # Fatal Python error: Segmentation fault + "test_transform" ]; meta = { description = "Foundational Library for Computer Vision Research"; homepage = "https://github.com/open-mmlab/mmcv"; - changelog = "https://github.com/open-mmlab/mmcv/releases/tag/v${version}"; + changelog = "https://github.com/open-mmlab/mmcv/releases/tag/${finalAttrs.src.tag}"; license = with lib.licenses; [ asl20 ]; maintainers = with lib.maintainers; [ rxiao ]; }; -} +})