diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 8eb30c9884c8..0a3d3ff55f88 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -217,6 +217,7 @@ ivan-tkatchev = "Ivan Tkatchev "; j-keck = "Jürgen Keck "; jagajaga = "Arseniy Seroka "; + jansol = "Jan Solanti "; javaguirre = "Javier Aguirre "; jb55 = "William Casarin "; jbedo = "Justin Bedő "; diff --git a/pkgs/applications/graphics/renderdoc/default.nix b/pkgs/applications/graphics/renderdoc/default.nix new file mode 100644 index 000000000000..be4457c932fa --- /dev/null +++ b/pkgs/applications/graphics/renderdoc/default.nix @@ -0,0 +1,53 @@ +{ stdenv, fetchFromGitHub, cmake, qtbase, qtx11extras +, pkgconfig, xorg, makeQtWrapper, vulkan-loader +}: + +stdenv.mkDerivation rec { + name = "renderdoc-${version}"; + version = "0.34pre"; + + src = fetchFromGitHub { + owner = "baldurk"; + repo = "renderdoc"; + rev = "5e2717daec53e5b51517d3231fb6120bebbe6b7a"; + sha256 = "1zpvjvsj5c441kyjpmd2d2r0ykb190rbq474nkmp1jk72cggnpq0"; + }; + + buildInputs = [ + qtbase xorg.libpthreadstubs xorg.libXdmcp qtx11extras vulkan-loader + ]; + nativeBuildInputs = [ cmake makeQtWrapper pkgconfig ]; + + cmakeFlags = [ + "-DBUILD_VERSION_HASH=${src.rev}-distro-nix" + # TODO: use this instead of preConfigure once placeholders land + #"-DVULKAN_LAYER_FOLDER=${placeholder out}/share/vulkan/implicit_layer.d/" + ]; + preConfigure = '' + cmakeFlags+=" -DVULKAN_LAYER_FOLDER=$out/share/vulkan/implicit_layer.d/" + ''; + preFixup = '' + mkdir $out/bin/.bin + mv $out/bin/qrenderdoc $out/bin/.bin/qrenderdoc + ln -s $out/bin/.bin/qrenderdoc $out/bin/qrenderdoc + wrapQtProgram $out/bin/qrenderdoc --suffix LD_LIBRARY_PATH : $out/lib --suffix LD_LIBRARY_PATH : ${vulkan-loader}/lib + mv $out/bin/renderdoccmd $out/bin/.bin/renderdoccmd + ln -s $out/bin/.bin/renderdoccmd $out/bin/renderdoccmd + wrapProgram $out/bin/renderdoccmd --suffix LD_LIBRARY_PATH : $out/lib --suffix LD_LIBRARY_PATH : ${vulkan-loader}/lib + ''; + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "A single-frame graphics debugger"; + homepage = https://renderdoc.org/; + license = licenses.mit; + longDescription = '' + RenderDoc is a free MIT licensed stand-alone graphics debugger that + allows quick and easy single-frame capture and detailed introspection + of any application using Vulkan, D3D11, OpenGL or D3D12 across + Windows 7 - 10, Linux or Android. + ''; + maintainers = [maintainers.jansol]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8c7dbab71a88..ee3ede2c8efb 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3720,6 +3720,8 @@ with pkgs; renameutils = callPackage ../tools/misc/renameutils { }; + renderdoc = libsForQt5.callPackage ../applications/graphics/renderdoc { }; + replace = callPackage ../tools/text/replace { }; reckon = callPackage ../tools/text/reckon { };