summary refs log tree commit diff
path: root/pkgs/applications/graphics/renderdoc
diff options
context:
space:
mode:
authorBenjamin Saunders <ben.e.saunders@gmail.com>2018-07-14 13:00:27 -0700
committerxeji <36407913+xeji@users.noreply.github.com>2018-07-14 22:00:27 +0200
commit3ee321df4ea87e5f25dde417c1649a2b5cd324a2 (patch)
tree167fdbc21987ead20f885ff09eedaf93ace830db /pkgs/applications/graphics/renderdoc
parente458e1307c5b00178c32c8d4817f9c17634dabd4 (diff)
downloadnixpkgs-3ee321df4ea87e5f25dde417c1649a2b5cd324a2.tar
nixpkgs-3ee321df4ea87e5f25dde417c1649a2b5cd324a2.tar.gz
nixpkgs-3ee321df4ea87e5f25dde417c1649a2b5cd324a2.tar.bz2
nixpkgs-3ee321df4ea87e5f25dde417c1649a2b5cd324a2.tar.lz
nixpkgs-3ee321df4ea87e5f25dde417c1649a2b5cd324a2.tar.xz
nixpkgs-3ee321df4ea87e5f25dde417c1649a2b5cd324a2.tar.zst
nixpkgs-3ee321df4ea87e5f25dde417c1649a2b5cd324a2.zip
renderdoc: 0.91 -> 1.0 (#43159)
Diffstat (limited to 'pkgs/applications/graphics/renderdoc')
-rw-r--r--pkgs/applications/graphics/renderdoc/custom_swig.patch32
-rw-r--r--pkgs/applications/graphics/renderdoc/default.nix62
2 files changed, 25 insertions, 69 deletions
diff --git a/pkgs/applications/graphics/renderdoc/custom_swig.patch b/pkgs/applications/graphics/renderdoc/custom_swig.patch
deleted file mode 100644
index e6ed05ea97a..00000000000
--- 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 2bd3ab89161..9a21d457a83 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/;