Change:
Project description Universal Scene Description (USD) is an efficient, scalable system for authoring, reading, and streaming time-sampled scene description for interchange between graphics applications. OpenUSD is AFAIK the library to work with the USD format. Metadata homepage URL: source URL: license: Modified Apache 2.0 License platforms: unix, linux, darwin
I've got a working derivation, but I'm not sure if this is already in a state that is good enough for a PR. In particular, packaging the pyside tools properly didn't seem straightforward to me. AFAICT, it just copies some binaries from other QT parts and wraps them with extra arguments, so that's what I'm doing here. While the python package seems to be working properly, I ran into an issue before when trying to include the headers into a C++ project, and I believe it failed to find some python headers? Maybe that needs some extra buildInput? I haven't investigated more. Locally, I've just been using a version compiled with for that. The binaries, such as , are working by my testing, besides requiring on wayland. I'd be happy to make a PR for this if this is a good-enough state.

Discussion:
githubId = 543055; name = "Shadaj Laddad"; }; <ins> shaddydc = { email = "nixpkgs@shaddy.dev"; github = "ShaddyDC"; githubId = 18403034; name = "Shaddy"; }; </ins> shadowrz = { email = "shadowrz+nixpkgs@disroot.org"; matrix = "@ShadowRZ:matrixim.cc";

<ins> { 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 , openexr , flex , bison , qt6 , python }: 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 pyside-tools-uic = writeShellScriptBin "pyside6-uic" '' exec ${qt6.qtbase}/libexec/uic -g python "$@" ''; in buildPythonPackage rec { pname = "OpenUSD"; version = "23.11"; src = fetchFromGitHub { owner = "PixarAnimationStudios"; repo = pname; rev = "refs/tags/v${version}"; hash = "sha256-5zQrfB14kXs75WbL3s4eyhxELglhLNxU2L2aVXiyVjg="; }; outputs = ["out" "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_ENABLE_OSL_SUPPORT=ON" "-DPXR_BUILD_DRACO_PLUGIN=ON" "-DPXR_BUILD_MONOLITHIC=ON" # Seems to be commonly linked to monolithically ]; nativeBuildInputs = [ cmake ninja git qt6.wrapQtAppsHook doxygen graphviz-nox ]; buildInputs = [ tbb opensubdiv openimageio opencolorio osl ptex embree alembic.dev openexr flex bison boost draco qt6.qtbase qt6.qtwayland ]; pythonImportsCheck = [ "pxr" "pxr.Usd" ]; postInstall = '' # Make python lib properly accessible target_dir=$out/${python.sitePackages} mkdir -p $(dirname $target_dir) mv $out/lib/python $target_dir mv $out/docs $doc rm $out/share -r # only examples rm $out/tests -r ''; meta = { description = "Universal Scene Description"; longDescription = '' Universal Scene Description (USD) is an efficient, scalable system for authoring, reading, and streaming time-sampled scene description for interchange between graphics applications. ''; homepage = "https://openusd.org/"; license = lib.licenses.asl20; maintainers = with lib.maintainers; [ shaddydc ]; }; } </ins>

openapi-core = callPackage ../development/python-modules/openapi-core { }; <ins> openusd = callPackage ../development/python-modules/openusd { alembic = pkgs.alembic; }; </ins> overly = callPackage ../development/python-modules/overly { }; overpy = callPackage ../development/python-modules/overpy { };