diff --git a/pkgs/applications/graphics/renderdoc/custom_swig.patch b/pkgs/applications/graphics/renderdoc/custom_swig.patch deleted file mode 100644 index e6ed05ea97a5..000000000000 --- a/pkgs/applications/graphics/renderdoc/custom_swig.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/qrenderdoc/CMakeLists.txt b/qrenderdoc/CMakeLists.txt -index 2df9ffa5..66bafaba 100644 ---- a/qrenderdoc/CMakeLists.txt -+++ b/qrenderdoc/CMakeLists.txt -@@ -65,16 +65,6 @@ include(ExternalProject) - # Need bison for swig - find_package(BISON) - --# Compile our custom SWIG that will do scoped/strong enum classes --ExternalProject_Add(custom_swig -- # using an URL to a zip directly so we don't clone the history etc -- URL ${RENDERDOC_SWIG_PACKAGE} -- BUILD_IN_SOURCE 1 -- CONFIGURE_COMMAND ./autogen.sh > /dev/null 2>&1 -- COMMAND CC=${CMAKE_C_COMPILER} CXX=${CMAKE_CXX_COMPILER} ./configure --with-pcre=yes --prefix=${CMAKE_BINARY_DIR} > /dev/null -- BUILD_COMMAND $(MAKE) > /dev/null 2>&1 -- INSTALL_COMMAND $(MAKE) install > /dev/null 2>&1) -- - # Lastly find PySide 2, optionally, for Qt5 Python bindings - list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}") - -@@ -186,9 +176,8 @@ foreach(in ${swig_interfaces}) - get_filename_component(swig_file ${in} NAME_WE) - - add_custom_command(OUTPUT ${swig_file}_python.cxx ${swig_file}.py -- COMMAND ${CMAKE_BINARY_DIR}/bin/swig -v -Wextra -Werror -O -c++ -python -modern -modernargs -enumclass -fastunpack -py3 -builtin -I${CMAKE_CURRENT_SOURCE_DIR} -I${CMAKE_SOURCE_DIR}/renderdoc/api/replay -outdir ${CMAKE_CURRENT_BINARY_DIR} -o ${CMAKE_CURRENT_BINARY_DIR}/${swig_file}_python.cxx ${CMAKE_CURRENT_SOURCE_DIR}/${in} -+ COMMAND $ENV{NIXOS_CUSTOM_SWIG} -v -Wextra -Werror -O -c++ -python -modern -modernargs -enumclass -fastunpack -py3 -builtin -I${CMAKE_CURRENT_SOURCE_DIR} -I${CMAKE_SOURCE_DIR}/renderdoc/api/replay -outdir ${CMAKE_CURRENT_BINARY_DIR} -o ${CMAKE_CURRENT_BINARY_DIR}/${swig_file}_python.cxx ${CMAKE_CURRENT_SOURCE_DIR}/${in} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${in} -- DEPENDS custom_swig - DEPENDS ${RDOC_REPLAY_FILES} - DEPENDS ${QRD_INTERFACE_FILES}) - diff --git a/pkgs/applications/graphics/renderdoc/default.nix b/pkgs/applications/graphics/renderdoc/default.nix index 2bd3ab89161f..9a21d457a83f 100644 --- a/pkgs/applications/graphics/renderdoc/default.nix +++ b/pkgs/applications/graphics/renderdoc/default.nix @@ -1,74 +1,62 @@ { stdenv, fetchFromGitHub, cmake, pkgconfig -, qtbase, qtx11extras, qtsvg, makeWrapper, python3, bison -, pcre, vulkan-loader, xorg, autoreconfHook +, qtbase, qtx11extras, qtsvg, makeWrapper +, vulkan-loader, xorg +, python36, bison, pcre, automake, autoconf }: - let - custom_swig = stdenv.mkDerivation { - name = "renderdoc-custom-swig"; - src = fetchFromGitHub { - owner = "baldurk"; - repo = "swig"; - rev = "renderdoc-modified-1"; - sha256 = "1whymd3vamwnp4jqfc9asls3dw9wsdi21xhm1d2a4vx9nql8if1x"; - }; - - nativeBuildInputs = [ autoreconfHook pcre ]; - - autoreconfPhase = '' - patchShebangs autogen.sh - ./autogen.sh - ''; + custom_swig = fetchFromGitHub { + owner = "baldurk"; + repo = "swig"; + rev = "renderdoc-modified-5"; + sha256 = "0ihrxbx56p5wn589fbbsns93fp91sypqdzfxdy7l7v9sf69a41mw"; }; in stdenv.mkDerivation rec { + version = "1.0"; name = "renderdoc-${version}"; - version = "0.91"; src = fetchFromGitHub { owner = "baldurk"; repo = "renderdoc"; - rev = "2d8b2cf818746b6a2add54e2fef449398816a40c"; - sha256 = "07yc3fk7j2nqmrhc4dm3v2pgbc37scd7d28nlzk6v0hw99zck8k0"; + rev = "v${version}"; + sha256 = "0l7pjxfrly4llryjnwk42dzx65n78wc98h56qm4yh04ja8fdbx2y"; }; buildInputs = [ - qtbase qtsvg xorg.libpthreadstubs xorg.libXdmcp qtx11extras vulkan-loader + qtbase qtsvg xorg.libpthreadstubs xorg.libXdmcp qtx11extras vulkan-loader python36 ]; - nativeBuildInputs = [ cmake makeWrapper pkgconfig python3 bison ]; + nativeBuildInputs = [ cmake makeWrapper pkgconfig bison pcre automake autoconf ]; + + postUnpack = '' + cp -r ${custom_swig} swig + chmod -R +w swig + patchShebangs swig/autogen.sh + ''; cmakeFlags = [ "-DBUILD_VERSION_HASH=${src.rev}" "-DBUILD_VERSION_DIST_NAME=NixOS" - "-DBUILD_VERSION_DIST_VER=0.91" + "-DBUILD_VERSION_DIST_VER=${version}" "-DBUILD_VERSION_DIST_CONTACT=https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/graphics/renderdoc" - "-DBUILD_VERSION_DIST_STABLE=ON" - # TODO: use this instead of preConfigure once placeholders land - #"-DVULKAN_LAYER_FOLDER=${placeholder out}/share/vulkan/implicit_layer.d/" + "-DBUILD_VERSION_STABLE=ON" + # TODO: add once pyside2 is in nixpkgs + #"-DPYSIDE2_PACKAGE_DIR=${python36Packages.pyside2}" ]; + # Future work: define these in the above array via placeholders preConfigure = '' cmakeFlags+=" -DVULKAN_LAYER_FOLDER=$out/share/vulkan/implicit_layer.d/" + cmakeFlags+=" -DRENDERDOC_SWIG_PACKAGE=$PWD/../swig" ''; preFixup = '' - mkdir $out/bin/.bin - mv $out/bin/qrenderdoc $out/bin/.bin/qrenderdoc - ln -s $out/bin/.bin/qrenderdoc $out/bin/qrenderdoc wrapProgram $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 ''; - # Set path to custom swig binary - NIXOS_CUSTOM_SWIG = "${custom_swig}/bin/swig"; - enableParallelBuilding = true; - patches = [ ./custom_swig.patch ]; - meta = with stdenv.lib; { description = "A single-frame graphics debugger"; homepage = https://renderdoc.org/;