22 waylandSupport ? true,
26 custom_swig = fetchFromGitHub {
29 rev = "renderdoc-modified-7";
30 hash = "sha256-RsdvxBBQvwuE5wSwL8OBXg5KMSpcO6EuMS0CzWapIpc=";
33 stdenv.mkDerivation (finalAttrs: {
37 src = fetchFromGitHub {
40 rev = "v${finalAttrs.version}";
41 hash = "sha256-iBe3JNtG9P1IAd00s/fL2RcImMrTwruld98OFHrIhp4=";
54 python311Packages.pyside2
55 python311Packages.pyside2-tools
56 python311Packages.shiboken2
61 ++ lib.optionals waylandSupport [
74 python311Packages.python
80 (lib.cmakeFeature "BUILD_VERSION_HASH" finalAttrs.src.rev)
81 (lib.cmakeFeature "BUILD_VERSION_DIST_NAME" "NixOS")
82 (lib.cmakeFeature "BUILD_VERSION_DIST_VER" finalAttrs.version)
83 (lib.cmakeFeature "BUILD_VERSION_DIST_CONTACT" "https://github.com/NixOS/nixpkgs/")
84 (lib.cmakeBool "BUILD_VERSION_STABLE" true)
85 (lib.cmakeBool "ENABLE_WAYLAND" waylandSupport)
88 dontWrapQtApps = true;
93 cp -r ${custom_swig} swig
95 patchShebangs swig/autogen.sh
98 # TODO: define these in the above array via placeholders, once those are
102 "-DRENDERDOC_SWIG_PACKAGE=$PWD/../swig"
103 "-DVULKAN_LAYER_FOLDER=$out/share/vulkan/implicit_layer.d/"
109 libPath = lib.makeLibraryPath [
115 wrapQtApp $out/bin/qrenderdoc \
116 --suffix LD_LIBRARY_PATH : "$out/lib:${libPath}"
117 wrapProgram $out/bin/renderdoccmd \
118 --suffix LD_LIBRARY_PATH : "$out/lib:${libPath}"
121 # The only documentation for this so far is in the setup-hook.sh script from
124 addDriverRunpath $out/lib/librenderdoc.so
127 passthru.updateScript = nix-update-script { };
130 homepage = "https://renderdoc.org/";
131 description = "Single-frame graphics debugger";
133 RenderDoc is a free MIT licensed stand-alone graphics debugger that
134 allows quick and easy single-frame capture and detailed introspection
135 of any application using Vulkan, D3D11, OpenGL or D3D12 across
136 Windows 7 - 10, Linux or Android.
138 license = lib.licenses.mit;
139 mainProgram = "renderdoccmd";
140 maintainers = with lib.maintainers; [ AndersonTorres ];
141 platforms = lib.intersectLists lib.platforms.linux (lib.platforms.x86_64 ++ lib.platforms.i686);