lol

Merge pull request #307833 from gador/blender-darwin

Blender darwin

authored by

Dmitry Kalinkin and committed by
GitHub
7bfa0877 a8a3cf53

+217 -70
+28 -39
pkgs/applications/misc/blender/darwin.patch
··· 1 - diff --git a/CMakeLists.txt b/CMakeLists.txt 2 - --- a/CMakeLists.txt 3 - +++ b/CMakeLists.txt 4 - @@ -1894,7 +1894,7 @@ if(WITH_COMPILER_SHORT_FILE_MACRO) 5 - ADD_CHECK_CXX_COMPILER_FLAG(CXX_PREFIX_MAP_FLAGS CXX_MACRO_PREFIX_MAP -fmacro-prefix-map=foo=bar) 1 + --- a/CMakeLists.txt 2024-03-01 08:08:05 2 + +++ b/CMakeLists.txt 2024-04-24 15:45:30 3 + @@ -2134,7 +2134,7 @@ 4 + ) 6 5 if(C_MACRO_PREFIX_MAP AND CXX_MACRO_PREFIX_MAP) 7 6 if(APPLE) 8 7 - if(XCODE AND ${XCODE_VERSION} VERSION_LESS 12.0) 9 8 + if(FALSE) 10 9 # Developers may have say LLVM Clang-10.0.1 toolchain (which supports the flag) 11 10 # with Xcode-11 (the Clang of which doesn't support the flag). 12 - message(WARNING 13 - diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake 14 - --- a/build_files/cmake/platform/platform_apple.cmake 15 - +++ b/build_files/cmake/platform/platform_apple.cmake 16 - @@ -60,7 +60,6 @@ else() 17 - message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}") 11 + message( 12 + --- a/build_files/cmake/platform/platform_apple.cmake 2024-02-22 15:31:36 13 + +++ b/build_files/cmake/platform/platform_apple.cmake 2024-04-24 16:06:13 14 + @@ -55,7 +55,6 @@ 15 + endif() 18 16 endif() 19 - if(NOT EXISTS "${LIBDIR}/") 17 + if(NOT EXISTS "${LIBDIR}/.git") 20 18 - message(FATAL_ERROR "Mac OSX requires pre-compiled libs at: '${LIBDIR}'") 21 19 endif() 22 - 23 - # Prefer lib directory paths 24 - @@ -98,10 +97,6 @@ if(WITH_CODEC_SNDFILE) 20 + if(FIRST_RUN) 21 + message(STATUS "Using pre-compiled LIBDIR: ${LIBDIR}") 22 + @@ -115,10 +114,6 @@ 25 23 find_library(_sndfile_VORBIS_LIBRARY NAMES vorbis HINTS ${LIBDIR}/ffmpeg/lib) 26 24 find_library(_sndfile_VORBISENC_LIBRARY NAMES vorbisenc HINTS ${LIBDIR}/ffmpeg/lib) 27 25 list(APPEND LIBSNDFILE_LIBRARIES ··· 32 30 ) 33 31 34 32 print_found_status("SndFile libraries" "${LIBSNDFILE_LIBRARIES}") 35 - @@ -118,7 +113,7 @@ if(WITH_PYTHON) 36 - # Normally cached but not since we include them with blender. 37 - set(PYTHON_INCLUDE_DIR "${LIBDIR}/python/include/python${PYTHON_VERSION}") 38 - set(PYTHON_EXECUTABLE "${LIBDIR}/python/bin/python${PYTHON_VERSION}") 39 - - set(PYTHON_LIBRARY ${LIBDIR}/python/lib/libpython${PYTHON_VERSION}.a) 40 - + set(PYTHON_LIBRARY ${LIBDIR}/python/lib/libpython${PYTHON_VERSION}.dylib) 41 - set(PYTHON_LIBPATH "${LIBDIR}/python/lib/python${PYTHON_VERSION}") 42 - else() 43 - # Module must be compiled against Python framework. 44 - @@ -147,7 +142,7 @@ endif() 45 - 46 - # FreeType compiled with Brotli compression for woff2. 47 - find_package(Freetype REQUIRED) 48 - -list(APPEND FREETYPE_LIBRARIES 49 - +message(TRACE APPEND FREETYPE_LIBRARIES 50 - ${LIBDIR}/brotli/lib/libbrotlicommon-static.a 51 - ${LIBDIR}/brotli/lib/libbrotlidec-static.a) 52 - 53 - @@ -159,9 +154,7 @@ if(WITH_CODEC_FFMPEG) 33 + @@ -162,9 +157,7 @@ 54 34 set(FFMPEG_ROOT_DIR ${LIBDIR}/ffmpeg) 55 35 set(FFMPEG_FIND_COMPONENTS 56 36 avcodec avdevice avformat avutil 57 37 - mp3lame ogg opus swresample swscale 58 38 - theora theoradec theoraenc vorbis vorbisenc 59 - - vorbisfile vpx x264 xvidcore) 60 - + swresample swscale) 39 + - vorbisfile vpx x264) 40 + + swresample swscale) 61 41 if(EXISTS ${LIBDIR}/ffmpeg/lib/libaom.a) 62 42 list(APPEND FFMPEG_FIND_COMPONENTS aom) 63 43 endif() 64 - @@ -273,7 +266,6 @@ if(WITH_BOOST) 65 - endif() 44 + @@ -275,7 +268,6 @@ 45 + add_bundled_libraries(boost/lib) 66 46 67 47 if(WITH_INTERNATIONAL OR WITH_CODEC_FFMPEG) 68 48 - string(APPEND PLATFORM_LINKFLAGS " -liconv") # boost_locale and ffmpeg needs it ! 69 49 endif() 70 50 71 51 if(WITH_PUGIXML) 72 - @@ -402,7 +394,7 @@ endif() 52 + @@ -350,7 +342,7 @@ 73 53 74 54 # CMake FindOpenMP doesn't know about AppleClang before 3.12, so provide custom flags. 75 55 if(WITH_OPENMP) ··· 78 58 # Use OpenMP from our precompiled libraries. 79 59 message(STATUS "Using ${LIBDIR}/openmp for OpenMP") 80 60 set(OPENMP_CUSTOM ON) 61 + @@ -427,7 +419,7 @@ 62 + " -Wl,-unexported_symbols_list,'${PLATFORM_SYMBOLS_MAP}'" 63 + ) 64 + 65 + -if(${XCODE_VERSION} VERSION_GREATER_EQUAL 15.0) 66 + +if(FALSE) 67 + if("${CMAKE_OSX_ARCHITECTURES}" STREQUAL "x86_64") 68 + # Silence "no platform load command found in <static library>, assuming: macOS". 69 + string(APPEND PLATFORM_LINKFLAGS " -Wl,-ld_classic")
+39 -23
pkgs/applications/misc/blender/default.nix
··· 8 8 addOpenGLRunpath, 9 9 alembic, 10 10 boost, 11 + brotli, 11 12 callPackage, 12 13 cmake, 13 14 colladaSupport ? true, 14 15 config, 15 16 cudaPackages, 16 17 cudaSupport ? config.cudaSupport, 18 + darwin, 17 19 dbus, 18 20 embree, 19 21 fetchurl, ··· 51 53 libxkbcommon, 52 54 llvmPackages, 53 55 makeWrapper, 56 + materialx, 54 57 mesa, 55 58 ocl-icd, 56 59 openal, ··· 71 74 rocmPackages, # comes with a significantly larger closure size 72 75 runCommand, 73 76 spaceNavSupport ? stdenv.isLinux, 77 + sse2neon, 74 78 stdenv, 75 79 tbb, 76 80 wayland, ··· 114 118 '' 115 119 : > build_files/cmake/platform/platform_apple_xcode.cmake 116 120 substituteInPlace source/creator/CMakeLists.txt \ 117 - --replace '${"$"}{LIBDIR}/python' \ 118 - '${python3}' 119 - substituteInPlace build_files/cmake/platform/platform_apple.cmake \ 120 - --replace '${"$"}{LIBDIR}/python' \ 121 + --replace-fail '${"$"}{LIBDIR}/python' \ 121 122 '${python3}' \ 122 - --replace '${"$"}{LIBDIR}/opencollada' \ 123 - '${opencollada}' \ 124 - --replace '${"$"}{PYTHON_LIBPATH}/site-packages/numpy' \ 125 - '${python3Packages.numpy}/${python3.sitePackages}/numpy' 123 + --replace-fail '${"$"}{LIBDIR}/materialx/' '${materialx}/' 124 + substituteInPlace build_files/cmake/platform/platform_apple.cmake \ 125 + --replace-fail '${"$"}{LIBDIR}/brotli/lib/libbrotlicommon-static.a' \ 126 + '${lib.getLib brotli}/lib/libbrotlicommon.dylib' \ 127 + --replace-fail '${"$"}{LIBDIR}/brotli/lib/libbrotlidec-static.a' \ 128 + '${lib.getLib brotli}/lib/libbrotlidec.dylib' 126 129 '' 127 130 else 128 131 '' ··· 150 153 "-DWITH_FFTW3=ON" 151 154 "-DWITH_IMAGE_OPENJPEG=ON" 152 155 "-DWITH_INSTALL_PORTABLE=OFF" 156 + "-DMaterialX_DIR=${materialx}/lib/cmake/MaterialX" 153 157 "-DWITH_MOD_OCEANSIM=ON" 154 158 "-DWITH_OPENCOLLADA=${if colladaSupport then "ON" else "OFF"}" 155 159 "-DWITH_OPENCOLORIO=ON" ··· 164 168 165 169 # Blender supplies its own FindAlembic.cmake (incompatible with the Alembic-supplied config file) 166 170 "-DALEMBIC_INCLUDE_DIR=${lib.getDev alembic}/include" 167 - "-DALEMBIC_LIBRARY=${lib.getLib alembic}/lib/libAlembic.so" 171 + "-DALEMBIC_LIBRARY=${lib.getLib alembic}/lib/libAlembic${stdenv.hostPlatform.extensions.sharedLibrary}" 168 172 ] 169 173 ++ lib.optionals waylandSupport [ 170 174 "-DWITH_GHOST_WAYLAND=ON" ··· 172 176 "-DWITH_GHOST_WAYLAND_DYNLOAD=OFF" 173 177 "-DWITH_GHOST_WAYLAND_LIBDECOR=ON" 174 178 ] 175 - ++ lib.optionals stdenv.hostPlatform.isAarch64 [ "-DWITH_CYCLES_EMBREE=OFF" ] 179 + ++ lib.optionals (stdenv.hostPlatform.isAarch64 && stdenv.hostPlatform.isLinux) [ "-DWITH_CYCLES_EMBREE=OFF" ] 176 180 ++ lib.optionals stdenv.isDarwin [ 177 181 "-DLIBDIR=/does-not-exist" 178 - "-DWITH_CYCLES_OSL=OFF" # requires LLVM 179 - "-DWITH_OPENVDB=OFF" # OpenVDB currently doesn't build on darwin 182 + "-DWITH_CYCLES_OSL=OFF" # causes segfault on aarch64-darwin 183 + "-DSSE2NEON_INCLUDE_DIR=${sse2neon}/lib" 184 + "-DWITH_USD=OFF" # currently fails on darwin 180 185 ] 181 186 ++ lib.optional stdenv.cc.isClang "-DPYTHON_LINKFLAGS=" # Clang doesn't support "-export-dynamic" 182 187 ++ lib.optional jackaudioSupport "-DWITH_JACK=ON" ··· 219 224 libsndfile 220 225 libtiff 221 226 libwebp 227 + materialx 222 228 opencolorio 223 229 openexr 224 230 openimageio 225 231 openjpeg 226 232 openpgl 227 233 (opensubdiv.override { inherit cudaSupport; }) 234 + openvdb 228 235 potrace 229 236 pugixml 230 - pyPkgsOpenusd 231 237 python3 232 238 tbb 233 239 zlib 234 240 zstd 235 241 ] 236 - ++ lib.optionals (!stdenv.isAarch64) [ 242 + ++ lib.optionals (!stdenv.isAarch64 && stdenv.isLinux) [ 237 243 embree 238 244 (openimagedenoise.override { inherit cudaSupport; }) 239 245 ] ··· 248 254 libXrender 249 255 libXxf86vm 250 256 openal 251 - openvdb # OpenVDB currently doesn't build on darwin 252 257 openxr-loader 258 + pyPkgsOpenusd 253 259 ] 254 260 else 255 261 [ ··· 259 265 OpenAL 260 266 OpenGL 261 267 SDL 268 + brotli 269 + embree 262 270 llvmPackages.openmp 271 + (openimagedenoise.override { inherit cudaSupport; }) 272 + sse2neon 263 273 ] 264 274 ) 265 275 ++ lib.optionals cudaSupport [ cudaPackages.cuda_cudart ] ··· 280 290 ps = python3Packages; 281 291 in 282 292 [ 293 + materialx 283 294 ps.numpy 284 295 ps.requests 285 296 ps.zstandard 286 - pyPkgsOpenusd 287 - ]; 297 + ] 298 + ++ lib.optionals (!stdenv.isDarwin) [ pyPkgsOpenusd ]; 288 299 289 300 blenderExecutable = 290 301 placeholder "out" ··· 295 306 mkdir $out/Applications 296 307 mv $out/Blender.app $out/Applications 297 308 '' 309 + + lib.optionalString stdenv.isLinux '' 310 + mv $out/share/blender/${lib.versions.majorMinor finalAttrs.version}/python{,-ext} 311 + '' 298 312 + '' 299 - mv $out/share/blender/${lib.versions.majorMinor finalAttrs.version}/python{,-ext} 300 313 buildPythonPath "$pythonPath" 301 314 wrapProgram $blenderExecutable \ 302 315 --prefix PATH : $program_PATH \ ··· 311 324 isELF "$program" || continue 312 325 addOpenGLRunpath "$program" 313 326 done 327 + '' 328 + + lib.optionalString stdenv.isDarwin '' 329 + makeWrapper $out/Applications/Blender.app/Contents/MacOS/Blender $out/bin/blender 314 330 ''; 315 331 316 332 passthru = { ··· 327 343 tests = { 328 344 render = runCommand "${finalAttrs.pname}-test" { } '' 329 345 set -euo pipefail 330 - 331 346 export LIBGL_DRIVERS_PATH=${mesa.drivers}/lib/dri 332 347 export __EGL_VENDOR_LIBRARY_FILENAMES=${mesa.drivers}/share/glvnd/egl_vendor.d/50_mesa.json 333 - 334 348 cat <<'PYTHON' > scene-config.py 335 349 import bpy 336 350 bpy.context.scene.eevee.taa_render_samples = 32 337 351 bpy.context.scene.cycles.samples = 32 338 - if ${if stdenv.isAarch64 then "True" else "False"}: 352 + if ${if (stdenv.isAarch64 && stdenv.isLinux) then "True" else "False"}: 339 353 bpy.context.scene.cycles.use_denoising = False 340 354 bpy.context.scene.render.resolution_x = 100 341 355 bpy.context.scene.render.resolution_y = 100 ··· 347 361 for engine in BLENDER_EEVEE CYCLES; do 348 362 echo "Rendering with $engine..." 349 363 # Beware that argument order matters 350 - ${finalAttrs.finalPackage}/bin/blender \ 364 + ${lib.getExe finalAttrs.finalPackage} \ 351 365 --background \ 352 366 -noaudio \ 353 367 --factory-startup \ ··· 372 386 "aarch64-linux" 373 387 "x86_64-darwin" 374 388 "x86_64-linux" 389 + "aarch64-darwin" 375 390 ]; 376 - broken = stdenv.isDarwin; 391 + # the current apple sdk is too old (currently 11_0) and fails to build "metal" on x86_64-darwin 392 + broken = stdenv.hostPlatform.system == "x86_64-darwin"; 377 393 maintainers = with lib.maintainers; [ 378 394 goibhniu 379 395 veprbl
+76
pkgs/by-name/ma/materialx/package.nix
··· 1 + { 2 + lib, 3 + stdenv, 4 + fetchFromGitHub, 5 + cmake, 6 + darwin, 7 + libX11, 8 + libXt, 9 + libGL, 10 + openimageio, 11 + imath, 12 + python3Packages, 13 + python3 14 + }: 15 + 16 + python3Packages.buildPythonPackage rec { 17 + pname = "materialx"; 18 + version = "1.38.10"; 19 + 20 + src = fetchFromGitHub { 21 + owner = "AcademySoftwareFoundation"; 22 + repo = "MaterialX"; 23 + rev = "v${version}"; 24 + sha256 = "sha256-/kMHmW2dptZNtjuhE5s+jvPRIdtY+FRiVtMU+tiBgQo="; 25 + }; 26 + 27 + format = "other"; 28 + 29 + nativeBuildInputs = [ 30 + cmake 31 + python3Packages.setuptools 32 + ]; 33 + 34 + buildInputs = 35 + [ 36 + openimageio 37 + imath 38 + ] 39 + ++ lib.optionals stdenv.isDarwin ( 40 + with darwin.apple_sdk.frameworks; 41 + [ 42 + OpenGL 43 + Cocoa 44 + ] 45 + ) 46 + ++ lib.optionals (!stdenv.isDarwin) [ 47 + libX11 48 + libXt 49 + libGL 50 + ]; 51 + 52 + cmakeFlags = [ 53 + (lib.cmakeBool "MATERIALX_BUILD_OIIO" true) 54 + (lib.cmakeBool "MATERIALX_BUILD_PYTHON" true) 55 + # don't build MSL shader back-end on x86_x64-darwin, as it requires a newer SDK with metal support 56 + (lib.cmakeBool "MATERIALX_BUILD_GEN_MSL" (stdenv.isLinux || (stdenv.isAarch64 && stdenv.isDarwin))) 57 + ]; 58 + 59 + pythonImportsCheck = [ "MaterialX" ]; 60 + 61 + postInstall = '' 62 + # Make python lib properly accessible 63 + target_dir=$out/${python3.sitePackages} 64 + mkdir -p $(dirname $target_dir) 65 + # required for cmake to find the bindings, when included in other projects 66 + ln -s $out/python $target_dir 67 + ''; 68 + 69 + meta = { 70 + description = "Open standard for representing rich material and look-development content in computer graphics"; 71 + homepage = "https://materialx.org"; 72 + maintainers = [ lib.maintainers.gador ]; 73 + platforms = lib.platforms.unix; 74 + license = lib.licenses.mpl20; 75 + }; 76 + }
+3 -3
pkgs/by-name/op/openpgl/package.nix
··· 12 12 13 13 src = fetchFromGitHub { 14 14 owner = "OpenPathGuidingLibrary"; 15 - repo = finalAttrs.pname; 15 + repo = "openpgl"; 16 16 rev = "v${finalAttrs.version}"; 17 17 hash = "sha256-dbHmGGiHQkU0KPpQYpY/o0uCWdb3L5namETdOcOREgs="; 18 18 }; ··· 31 31 "-DTBB_ROOT=${tbb.out}" 32 32 ]; 33 33 34 - env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isAarch64 "-flax-vector-conversions"; 34 + env.NIX_CFLAGS_COMPILE = lib.optionalString (stdenv.isAarch64 && !stdenv.isDarwin) "-flax-vector-conversions"; 35 35 36 36 meta = { 37 37 description = "Intel Open Path Guiding Library"; 38 38 homepage = "https://github.com/OpenPathGuidingLibrary/openpgl"; 39 - platforms = lib.platforms.linux; 39 + platforms = lib.platforms.unix; 40 40 maintainers = [ lib.maintainers.amarshall ]; 41 41 license = lib.licenses.asl20; 42 42 };
+41
pkgs/by-name/ss/sse2neon/package.nix
··· 1 + { 2 + lib, 3 + fetchFromGitHub, 4 + pkg-config, 5 + stdenv, 6 + }: 7 + 8 + stdenv.mkDerivation (finalAttrs: { 9 + pname = "sse2neon"; 10 + version = "1.7.0"; 11 + 12 + src = fetchFromGitHub { 13 + owner = "DLTcollab"; 14 + repo = "sse2neon"; 15 + rev = "v${finalAttrs.version}"; 16 + hash = "sha256-riFFGIA0H7e5StYSjO0/JDrduzfwS+lOASzk5BRUyo4="; 17 + }; 18 + 19 + postPatch = '' 20 + # remove warning about gcc < 10 21 + substituteInPlace sse2neon.h --replace-fail "#warning \"GCC versions" "// " 22 + ''; 23 + 24 + nativeBuildInputs = [ pkg-config ]; 25 + 26 + dontInstall = true; 27 + # use postBuild instead of installPhase, because the build 28 + # in itself doesn't produce any ($out) output 29 + postBuild = '' 30 + mkdir -p $out/lib 31 + install -m444 sse2neon.h $out/lib/ 32 + ''; 33 + 34 + meta = { 35 + description = "Mono library that provides a GDI+-compatible API on non-Windows operating systems"; 36 + homepage = "https://www.mono-project.com/docs/gui/libgdiplus/"; 37 + platforms = lib.platforms.unix; 38 + license = lib.licenses.mit; 39 + maintainers = [ lib.maintainers.gador ]; 40 + }; 41 + })
+24 -4
pkgs/development/libraries/openimagedenoise/default.nix
··· 3 3 config, 4 4 cudaPackages, 5 5 cudaSupport ? config.cudaSupport, 6 + darwin, 6 7 fetchzip, 7 8 ispc, 8 9 lib, 9 10 python3, 10 11 stdenv, 11 12 tbb, 13 + xcodebuild, 12 14 }: 13 15 14 - stdenv.mkDerivation rec { 16 + let 17 + stdenv' = if stdenv.isDarwin then darwin.apple_sdk_11_0.stdenv else stdenv; 18 + in 19 + stdenv'.mkDerivation (finalAttrs: { 15 20 pname = "openimagedenoise"; 16 21 version = "2.2.2"; 17 22 18 23 # The release tarballs include pretrained weights, which would otherwise need to be fetched with git-lfs 19 24 src = fetchzip { 20 - url = "https://github.com/OpenImageDenoise/oidn/releases/download/v${version}/oidn-${version}.src.tar.gz"; 25 + url = "https://github.com/OpenImageDenoise/oidn/releases/download/v${finalAttrs.version}/oidn-${finalAttrs.version}.src.tar.gz"; 21 26 sha256 = "sha256-ZIrs4oEb+PzdMh2x2BUFXKyu/HBlFb3CJX24ciEHy3Q="; 22 27 }; 23 28 24 29 patches = lib.optional cudaSupport ./cuda.patch; 25 30 31 + postPatch = 32 + '' 33 + substituteInPlace devices/metal/CMakeLists.txt \ 34 + --replace-fail "AppleClang" "Clang" 35 + ''; 36 + 26 37 nativeBuildInputs = [ 27 38 cmake 28 39 python3 29 40 ispc 30 - ] ++ lib.optional cudaSupport cudaPackages.cuda_nvcc; 41 + ] ++ lib.optional cudaSupport cudaPackages.cuda_nvcc 42 + ++ lib.optionals stdenv.isDarwin [ xcodebuild ]; 31 43 32 44 buildInputs = 33 45 [ tbb ] 46 + ++ lib.optionals stdenv.isDarwin ( 47 + with darwin.apple_sdk_11_0.frameworks; 48 + [ 49 + Accelerate 50 + MetalKit 51 + MetalPerformanceShadersGraph 52 + ] 53 + ) 34 54 ++ lib.optionals cudaSupport [ 35 55 cudaPackages.cuda_cudart 36 56 cudaPackages.cuda_cccl ··· 50 70 platforms = platforms.unix; 51 71 changelog = "https://github.com/OpenImageDenoise/oidn/blob/v${version}/CHANGELOG.md"; 52 72 }; 53 - } 73 + })
+1 -1
pkgs/development/libraries/openvdb/default.nix
··· 18 18 19 19 buildInputs = [ boost tbb jemalloc c-blosc zlib ]; 20 20 21 - cmakeFlags = [ "-DOPENVDB_CORE_STATIC=OFF" ]; 21 + cmakeFlags = [ "-DOPENVDB_CORE_STATIC=OFF" "-DOPENVDB_BUILD_NANOVDB=ON"]; 22 22 23 23 # error: aligned deallocation function of type 'void (void *, std::align_val_t) noexcept' is only available on macOS 10.13 or newer 24 24 env = lib.optionalAttrs (stdenv.isDarwin && lib.versionOlder stdenv.hostPlatform.darwinMinVersion "10.13" && lib.versionAtLeast tbb.version "2021.8.0") {
+5
pkgs/development/python-modules/openusd/default.nix
··· 18 18 lib, 19 19 libGL, 20 20 libX11, 21 + libXt, 22 + materialx, 21 23 ninja, 22 24 numpy, 23 25 opencolorio, ··· 86 88 (lib.cmakeBool "PXR_BUILD_PYTHON_DOCUMENTATION" withDocs) 87 89 (lib.cmakeBool "PXR_BUILD_USDVIEW" withUsdView) 88 90 (lib.cmakeBool "PXR_BUILD_USD_TOOLS" withTools) 91 + (lib.cmakeBool "PXR_ENABLE_MATERIALX_SUPPORT" true) 89 92 (lib.cmakeBool "PXR_ENABLE_OSL_SUPPORT" (!stdenv.isDarwin && withOsl)) 90 93 ]; 91 94 ··· 111 114 embree 112 115 flex 113 116 imath 117 + materialx 114 118 opencolorio 115 119 openimageio 116 120 opensubdiv ··· 120 124 ++ lib.optionals stdenv.isLinux [ 121 125 libGL 122 126 libX11 127 + libXt 123 128 ] 124 129 ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks; [ Cocoa ]) 125 130 ++ lib.optionals withOsl [ osl ]