43 # Matches the pyside6-uic implementation
44 # https://code.qt.io/cgit/pyside/pyside-setup.git/tree/sources/pyside-tools/pyside_tool.py?id=e501cad66146a49c7a259579c7bb94bc93a67a08#n82
45 pyside-tools-uic = writeShellScriptBin "pyside6-uic" ''
46 exec ${qt6.qtbase}/libexec/uic -g python "$@"
50 buildPythonPackage rec {
54 src = fetchFromGitHub {
55 owner = "PixarAnimationStudios";
57 rev = "refs/tags/v${version}";
58 hash = "sha256-EYf8GhXhsAx0Wxz9ibDZEV4E5scL3GPiu3Nje7N5C/I=";
61 stdenv = if python.stdenv.isDarwin then darwin.apple_sdk_11_0.stdenv else python.stdenv;
63 outputs = [ "out" ] ++ lib.optional withDocs "doc";
69 name = "port-to-embree-4.patch";
70 url = "https://github.com/PixarAnimationStudios/OpenUSD/pull/2266/commits/4b6c23d459c602fdac5e0ebc9b7722cbd5475e86.patch";
71 hash = "sha256-yjqdGAVqfEsOX1W/tG6c+GgQLYya5U9xgUe/sNIuDbw=";
76 "-DPXR_BUILD_ALEMBIC_PLUGIN=ON"
77 "-DPXR_BUILD_DRACO_PLUGIN=ON"
78 "-DPXR_BUILD_EMBREE_PLUGIN=ON"
79 "-DPXR_BUILD_EXAMPLES=OFF"
80 "-DPXR_BUILD_IMAGING=ON"
81 "-DPXR_BUILD_MONOLITHIC=ON" # Seems to be commonly linked to monolithically
82 "-DPXR_BUILD_TESTS=OFF"
83 "-DPXR_BUILD_TUTORIALS=OFF"
84 "-DPXR_BUILD_USD_IMAGING=ON"
85 (lib.cmakeBool "PXR_BUILD_DOCUMENTATION" withDocs)
86 (lib.cmakeBool "PXR_BUILD_PYTHON_DOCUMENTATION" withDocs)
87 (lib.cmakeBool "PXR_BUILD_USDVIEW" withUsdView)
88 (lib.cmakeBool "PXR_BUILD_USD_TOOLS" withTools)
89 (lib.cmakeBool "PXR_ENABLE_OSL_SUPPORT" (!stdenv.isDarwin && withOsl))
98 ++ lib.optionals withDocs [
103 ++ lib.optionals withUsdView [ qt6.wrapQtAppsHook ];
120 ++ lib.optionals stdenv.isLinux [
124 ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks; [ Cocoa ])
125 ++ lib.optionals withOsl [ osl ]
126 ++ lib.optionals withUsdView [ qt6.qtbase ]
127 ++ lib.optionals (withUsdView && stdenv.isLinux) [
132 propagatedBuildInputs =
139 ++ lib.optionals (withTools || withUsdView) [
143 ++ lib.optionals withUsdView [ pyqt6 ];
145 pythonImportsCheck = [
152 # Make python lib properly accessible
153 target_dir=$out/${python.sitePackages}
154 mkdir -p $(dirname $target_dir)
155 mv $out/lib/python $target_dir
157 + lib.optionalString withDocs ''
162 description = "Universal Scene Description";
164 Universal Scene Description (USD) is an efficient, scalable system
165 for authoring, reading, and streaming time-sampled scene description
166 for interchange between graphics applications.
168 homepage = "https://openusd.org/";
169 license = lib.licenses.asl20;
170 maintainers = with lib.maintainers; [ shaddydc ];