diff options
Diffstat (limited to 'nixpkgs/pkgs/development/python-modules/openusd/default.nix')
-rw-r--r-- | nixpkgs/pkgs/development/python-modules/openusd/default.nix | 221 |
1 files changed, 123 insertions, 98 deletions
diff --git a/nixpkgs/pkgs/development/python-modules/openusd/default.nix b/nixpkgs/pkgs/development/python-modules/openusd/default.nix index 590bae1823c9..4b323b25669d 100644 --- a/nixpkgs/pkgs/development/python-modules/openusd/default.nix +++ b/nixpkgs/pkgs/development/python-modules/openusd/default.nix @@ -1,35 +1,43 @@ -{ buildPythonPackage -, fetchFromGitHub -, lib -, writeShellScriptBin -, cmake -, doxygen -, draco -, graphviz-nox -, ninja -, setuptools -, pyqt6 -, pyopengl -, jinja2 -, pyside6 -, boost -, numpy -, git -, tbb -, opensubdiv -, openimageio -, opencolorio -, osl -, ptex -, embree -, alembic -, imath -, flex -, bison -, qt6 -, python -, darwin +{ + alembic, + bison, + boost, + buildPythonPackage, + cmake, + darwin, + doxygen, + draco, + embree, + fetchFromGitHub, + flex, + git, + graphviz-nox, + imath, + jinja2, + lib, + libGL, + libX11, + ninja, + numpy, + opencolorio, + openimageio, + opensubdiv, + osl, + ptex, + pyopengl, + pyqt6, + pyside6, + python, + qt6, + setuptools, + tbb, + withDocs ? false, + withOsl ? true, + withTools ? false, + withUsdView ? false, + writeShellScriptBin, }: + let # Matches the pyside6-uic implementation # https://code.qt.io/cgit/pyside/pyside-setup.git/tree/sources/pyside-tools/pyside_tool.py?id=e501cad66146a49c7a259579c7bb94bc93a67a08#n82 @@ -37,95 +45,112 @@ let exec ${qt6.qtbase}/libexec/uic -g python "$@" ''; in + buildPythonPackage rec { - pname = "OpenUSD"; + pname = "openusd"; version = "23.11"; + src = fetchFromGitHub { owner = "PixarAnimationStudios"; - repo = pname; + repo = "OpenUSD"; rev = "refs/tags/v${version}"; hash = "sha256-5zQrfB14kXs75WbL3s4eyhxELglhLNxU2L2aVXiyVjg="; }; - stdenv = if python.stdenv.isDarwin then - darwin.apple_sdk_11_0.stdenv - else - python.stdenv; + stdenv = if python.stdenv.isDarwin then darwin.apple_sdk_11_0.stdenv else python.stdenv; - outputs = ["out" "doc"]; + outputs = [ "out" ] ++ lib.optional withDocs "doc"; format = "other"; - propagatedBuildInputs = [ - setuptools - pyqt6 - pyopengl - jinja2 - pyside6 - pyside-tools-uic - boost - numpy - ]; - cmakeFlags = [ - "-DPXR_BUILD_EXAMPLES=OFF" - "-DPXR_BUILD_TUTORIALS=OFF" - "-DPXR_BUILD_USD_TOOLS=ON" - "-DPXR_BUILD_IMAGING=ON" - "-DPXR_BUILD_USD_IMAGING=ON" - "-DPXR_BUILD_USDVIEW=ON" - "-DPXR_BUILD_DOCUMENTATION=ON" - "-DPXR_BUILD_PYTHON_DOCUMENTATION=ON" - "-DPXR_BUILD_EMBREE_PLUGIN=ON" "-DPXR_BUILD_ALEMBIC_PLUGIN=ON" "-DPXR_BUILD_DRACO_PLUGIN=ON" + "-DPXR_BUILD_EMBREE_PLUGIN=ON" + "-DPXR_BUILD_EXAMPLES=OFF" + "-DPXR_BUILD_IMAGING=ON" "-DPXR_BUILD_MONOLITHIC=ON" # Seems to be commonly linked to monolithically - (lib.cmakeBool "PXR_ENABLE_OSL_SUPPORT" (!stdenv.isDarwin)) + "-DPXR_BUILD_TESTS=OFF" + "-DPXR_BUILD_TUTORIALS=OFF" + "-DPXR_BUILD_USD_IMAGING=ON" + (lib.cmakeBool "PXR_BUILD_DOCUMENTATION" withDocs) + (lib.cmakeBool "PXR_BUILD_PYTHON_DOCUMENTATION" withDocs) + (lib.cmakeBool "PXR_BUILD_USDVIEW" withUsdView) + (lib.cmakeBool "PXR_BUILD_USD_TOOLS" withTools) + (lib.cmakeBool "PXR_ENABLE_OSL_SUPPORT" (!stdenv.isDarwin && withOsl)) ]; - nativeBuildInputs = [ - cmake - ninja - git - qt6.wrapQtAppsHook - doxygen - graphviz-nox - ]; - buildInputs = [ - tbb - opensubdiv - openimageio - opencolorio - osl - ptex - embree - alembic.dev - imath - flex - bison - boost - draco - qt6.qtbase - ] - ++ lib.optionals stdenv.isLinux [ qt6.qtwayland ] - ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks; [ - Cocoa - ]) - ; + nativeBuildInputs = + [ + cmake + ninja + setuptools + ] + ++ lib.optionals withDocs [ + git + graphviz-nox + doxygen + ] + ++ lib.optionals withUsdView [ qt6.wrapQtAppsHook ]; - pythonImportsCheck = [ "pxr" "pxr.Usd" ]; + buildInputs = + [ + alembic.dev + bison + boost + draco + embree + flex + imath + opencolorio + openimageio + opensubdiv + ptex + tbb + ] + ++ lib.optionals stdenv.isLinux [ + libGL + libX11 + ] + ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk_11_0.frameworks; [ Cocoa ]) + ++ lib.optionals withOsl [ osl ] + ++ lib.optionals withUsdView [ qt6.qtbase ] + ++ lib.optionals (withUsdView && stdenv.isLinux) [ + qt6.qtbase + qt6.qtwayland + ]; - postInstall = '' - # Make python lib properly accessible - target_dir=$out/${python.sitePackages} - mkdir -p $(dirname $target_dir) - mv $out/lib/python $target_dir + propagatedBuildInputs = + [ + boost + jinja2 + numpy + pyopengl + ] + ++ lib.optionals (withTools || withUsdView) [ + pyside-tools-uic + pyside6 + ] + ++ lib.optionals withUsdView [ pyqt6 ]; - mv $out/docs $doc + pythonImportsCheck = [ + "pxr" + "pxr.Usd" + ]; - rm $out/share -r # only examples - rm $out/tests -r - ''; + postInstall = + '' + # Make python lib properly accessible + target_dir=$out/${python.sitePackages} + mkdir -p $(dirname $target_dir) + mv $out/lib/python $target_dir + '' + + lib.optionalString withDocs '' + mv $out/docs $doc + '' + + '' + rm $out/share -r # only examples + ''; meta = { description = "Universal Scene Description"; |