@@ -1,6 +1,10 @@
11{ config, lib, stdenv, fetchFromGitHub, cmake, pkg-config, xorg, libGLU
22, libGL, glew, ocl-icd, python3
33, cudaSupport ? config.cudaSupport or false, cudatoolkit
4+ # For visibility mostly. The whole approach to cuda architectures and capabilities
5+ # will be reworked soon.
6+, cudaArch ? "compute_37"
7+, openclSupport ? !cudaSupport
48, darwin
59}:
610
@@ -24,7 +28,7 @@ stdenv.mkDerivation rec {
2428 glew xorg.libX11 xorg.libXrandr xorg.libXxf86vm xorg.libXcursor
2529 xorg.libXinerama xorg.libXi
2630 ]
27− ++ lib.optional (!stdenv.isDarwin) ocl-icd
31+ ++ lib.optional (openclSupport && !stdenv.isDarwin) ocl-icd
2832 ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [OpenCL Cocoa CoreVideo IOKit AppKit AGL ])
2933 ++ lib.optional cudaSupport cudatoolkit;
3034
@@ -37,8 +41,10 @@ stdenv.mkDerivation rec {
3741 "-DGLEW_INCLUDE_DIR=${glew.dev}/include"
3842 "-DGLEW_LIBRARY=${glew.dev}/lib"
3943 ] ++ lib.optionals cudaSupport [
40− "-DOSD_CUDA_NVCC_FLAGS=--gpu-architecture=compute_30"
44+ "-DOSD_CUDA_NVCC_FLAGS=--gpu-architecture=${cudaArch}"
4145 "-DCUDA_HOST_COMPILER=${cudatoolkit.cc}/bin/cc"
46+ ] ++ lib.optionals (!openclSupport) [
47+ "-DNO_OPENCL=1"
4248 ];
4349
4450 postInstall = "rm $out/lib/*.a";
@@ -46,6 +52,7 @@ stdenv.mkDerivation rec {
4652 meta = {
4753 description = "An Open-Source subdivision surface library";
4854 homepage = "http://graphics.pixar.com/opensubdiv";
55+ broken = openclSupport && cudaSupport;
4956 platforms = lib.platforms.unix;
5057 maintainers = [ lib.maintainers.eelco ];
5158 license = lib.licenses.asl20;